From 7fcf920d3ec30e6622b722faa836219bac82d1b1 Mon Sep 17 00:00:00 2001 From: Gary Scavone Date: Sun, 29 Sep 2013 23:48:48 +0200 Subject: [PATCH] Release 4.4.2 tarball --- configure | 9 +- doc/html/ADSR_8h-source.html | 4 +- doc/html/ADSR_8h_source.html | 152 ++++ doc/html/Asymp_8h-source.html | 2 +- doc/html/Asymp_8h_source.html | 122 +++ doc/html/BandedWG_8h-source.html | 2 +- doc/html/BandedWG_8h_source.html | 99 +++ doc/html/BeeThree_8h-source.html | 2 +- doc/html/BeeThree_8h_source.html | 77 ++ doc/html/BiQuad_8h-source.html | 2 +- doc/html/BiQuad_8h_source.html | 148 ++++ doc/html/BlitSaw_8h-source.html | 2 +- doc/html/BlitSaw_8h_source.html | 129 ++++ doc/html/BlitSquare_8h-source.html | 2 +- doc/html/BlitSquare_8h_source.html | 134 ++++ doc/html/Blit_8h-source.html | 2 +- doc/html/Blit_8h_source.html | 124 ++++ doc/html/BlowBotl_8h-source.html | 2 +- doc/html/BlowBotl_8h_source.html | 104 +++ doc/html/BlowHole_8h-source.html | 2 +- doc/html/BlowHole_8h_source.html | 127 ++++ doc/html/BowTable_8h-source.html | 2 +- doc/html/BowTable_8h_source.html | 128 ++++ doc/html/Bowed_8h-source.html | 2 +- doc/html/Bowed_8h_source.html | 105 +++ doc/html/Brass_8h-source.html | 2 +- doc/html/Brass_8h_source.html | 102 +++ doc/html/Chorus_8h-source.html | 2 +- doc/html/Chorus_8h_source.html | 145 ++++ doc/html/Clarinet_8h-source.html | 2 +- doc/html/Clarinet_8h_source.html | 107 +++ doc/html/DelayA_8h-source.html | 2 +- doc/html/DelayA_8h_source.html | 164 ++++ doc/html/DelayL_8h-source.html | 2 +- doc/html/DelayL_8h_source.html | 162 ++++ doc/html/Delay_8h-source.html | 2 +- doc/html/Delay_8h_source.html | 144 ++++ doc/html/Drummer_8h-source.html | 2 +- doc/html/Drummer_8h_source.html | 90 +++ doc/html/Echo_8h-source.html | 2 +- doc/html/Echo_8h_source.html | 113 +++ doc/html/Effect_8h-source.html | 2 +- doc/html/Effect_8h_source.html | 89 +++ doc/html/Envelope_8h-source.html | 2 +- doc/html/Envelope_8h_source.html | 157 ++++ doc/html/FMVoices_8h-source.html | 2 +- doc/html/FMVoices_8h_source.html | 85 +++ doc/html/FM_8h-source.html | 2 +- doc/html/FM_8h_source.html | 96 +++ doc/html/FileLoop_8h-source.html | 2 +- doc/html/FileLoop_8h_source.html | 95 +++ doc/html/FileRead_8h-source.html | 2 +- doc/html/FileRead_8h_source.html | 94 +++ doc/html/FileWrite_8h-source.html | 2 +- doc/html/FileWrite_8h_source.html | 105 +++ doc/html/FileWvIn_8h-source.html | 2 +- doc/html/FileWvIn_8h_source.html | 117 +++ doc/html/FileWvOut_8h-source.html | 2 +- doc/html/FileWvOut_8h_source.html | 80 ++ doc/html/Filter_8h-source.html | 2 +- doc/html/Filter_8h_source.html | 83 +++ doc/html/Fir_8h-source.html | 2 +- doc/html/Fir_8h_source.html | 131 ++++ doc/html/Flute_8h-source.html | 2 +- doc/html/Flute_8h_source.html | 117 +++ doc/html/FormSwep_8h-source.html | 2 +- doc/html/FormSwep_8h_source.html | 156 ++++ doc/html/Function_8h-source.html | 2 +- doc/html/Function_8h_source.html | 53 ++ doc/html/Generator_8h-source.html | 2 +- doc/html/Generator_8h_source.html | 55 ++ doc/html/Granulate_8h-source.html | 2 +- doc/html/Granulate_8h_source.html | 158 ++++ doc/html/HevyMetl_8h-source.html | 2 +- doc/html/HevyMetl_8h_source.html | 80 ++ doc/html/Iir_8h-source.html | 2 +- doc/html/Iir_8h_source.html | 156 ++++ doc/html/InetWvIn_8h-source.html | 2 +- doc/html/InetWvIn_8h_source.html | 115 +++ doc/html/InetWvOut_8h-source.html | 2 +- doc/html/InetWvOut_8h_source.html | 79 ++ doc/html/Instrmnt_8h-source.html | 2 +- doc/html/Instrmnt_8h_source.html | 120 +++ doc/html/JCRev_8h-source.html | 2 +- doc/html/JCRev_8h_source.html | 134 ++++ doc/html/JetTable_8h-source.html | 2 +- doc/html/JetTable_8h_source.html | 107 +++ doc/html/LentPitShift_8h_source.html | 259 +++++++ doc/html/Mandolin_8h-source.html | 2 +- doc/html/Mandolin_8h_source.html | 95 +++ doc/html/Mesh2D_8h-source.html | 2 +- doc/html/Mesh2D_8h_source.html | 95 +++ doc/html/Messager_8h-source.html | 2 +- doc/html/Messager_8h_source.html | 110 +++ doc/html/MidiFileIn_8h-source.html | 2 +- doc/html/MidiFileIn_8h_source.html | 100 +++ doc/html/ModalBar_8h-source.html | 2 +- doc/html/ModalBar_8h_source.html | 55 ++ doc/html/Modal_8h-source.html | 2 +- doc/html/Modal_8h_source.html | 115 +++ doc/html/Modulate_8h-source.html | 2 +- doc/html/Modulate_8h_source.html | 106 +++ doc/html/Moog_8h-source.html | 2 +- doc/html/Moog_8h_source.html | 85 +++ doc/html/Mutex_8h-source.html | 2 +- doc/html/Mutex_8h_source.html | 76 ++ doc/html/NRev_8h-source.html | 2 +- doc/html/NRev_8h_source.html | 135 ++++ doc/html/Noise_8h-source.html | 2 +- doc/html/Noise_8h_source.html | 81 ++ doc/html/OnePole_8h-source.html | 2 +- doc/html/OnePole_8h_source.html | 118 +++ doc/html/OneZero_8h-source.html | 2 +- doc/html/OneZero_8h_source.html | 119 +++ doc/html/PRCRev_8h-source.html | 2 +- doc/html/PRCRev_8h_source.html | 116 +++ doc/html/PercFlut_8h-source.html | 2 +- doc/html/PercFlut_8h_source.html | 82 ++ doc/html/Phonemes_8h-source.html | 2 +- doc/html/Phonemes_8h_source.html | 63 ++ doc/html/PitShift_8h-source.html | 2 +- doc/html/PitShift_8h_source.html | 102 +++ doc/html/PluckTwo_8h-source.html | 2 +- doc/html/PluckTwo_8h_source.html | 83 +++ doc/html/Plucked_8h-source.html | 2 +- doc/html/Plucked_8h_source.html | 78 ++ doc/html/PoleZero_8h-source.html | 2 +- doc/html/PoleZero_8h_source.html | 100 +++ doc/html/ReedTable_8h-source.html | 2 +- doc/html/ReedTable_8h_source.html | 123 +++ doc/html/Resonate_8h-source.html | 4 +- doc/html/Resonate_8h_source.html | 86 +++ doc/html/Rhodey_8h-source.html | 2 +- doc/html/Rhodey_8h_source.html | 79 ++ doc/html/RtAudio_8h-source.html | 2 +- doc/html/RtAudio_8h.html | 140 ++-- doc/html/RtAudio_8h_source.html | 645 ++++++++++++++++ doc/html/RtError_8h-source.html | 2 +- doc/html/RtError_8h_source.html | 69 ++ doc/html/RtMidi_8h-source.html | 2 +- doc/html/RtMidi_8h_source.html | 183 +++++ doc/html/RtWvIn_8h-source.html | 2 +- doc/html/RtWvIn_8h_source.html | 90 +++ doc/html/RtWvOut_8h-source.html | 2 +- doc/html/RtWvOut_8h_source.html | 77 ++ doc/html/Sampler_8h-source.html | 2 +- doc/html/Sampler_8h_source.html | 75 ++ doc/html/Saxofony_8h-source.html | 2 +- doc/html/Saxofony_8h_source.html | 106 +++ doc/html/Shakers_8h-source.html | 2 +- doc/html/Shakers_8h_source.html | 95 +++ doc/html/Simple_8h-source.html | 2 +- doc/html/Simple_8h_source.html | 88 +++ doc/html/SineWave_8h-source.html | 2 +- doc/html/SineWave_8h_source.html | 140 ++++ doc/html/SingWave_8h-source.html | 2 +- doc/html/SingWave_8h_source.html | 119 +++ doc/html/Sitar_8h-source.html | 2 +- doc/html/Sitar_8h_source.html | 92 +++ doc/html/Skini_8h-source.html | 2 +- doc/html/Skini_8h_source.html | 101 +++ doc/html/Socket_8h-source.html | 2 +- doc/html/Socket_8h_source.html | 92 +++ doc/html/Sphere_8h-source.html | 2 +- doc/html/Sphere_8h_source.html | 82 ++ doc/html/StifKarp_8h-source.html | 2 +- doc/html/StifKarp_8h_source.html | 105 +++ doc/html/Stk_8h-source.html | 2 +- doc/html/Stk_8h_source.html | 365 +++++++++ doc/html/TapDelay_8h-source.html | 2 +- doc/html/TapDelay_8h_source.html | 173 +++++ doc/html/TcpClient_8h-source.html | 2 +- doc/html/TcpClient_8h_source.html | 56 ++ doc/html/TcpServer_8h-source.html | 2 +- doc/html/TcpServer_8h_source.html | 56 ++ doc/html/Thread_8h-source.html | 2 +- doc/html/Thread_8h_source.html | 81 ++ doc/html/TubeBell_8h-source.html | 2 +- doc/html/TubeBell_8h_source.html | 77 ++ doc/html/TwoPole_8h-source.html | 2 +- doc/html/TwoPole_8h_source.html | 128 ++++ doc/html/TwoZero_8h-source.html | 2 +- doc/html/TwoZero_8h_source.html | 127 ++++ doc/html/UdpSocket_8h-source.html | 2 +- doc/html/UdpSocket_8h_source.html | 65 ++ doc/html/Vector3D_8h-source.html | 2 +- doc/html/Vector3D_8h_source.html | 76 ++ doc/html/VoicForm_8h-source.html | 2 +- doc/html/VoicForm_8h_source.html | 107 +++ doc/html/Voicer_8h-source.html | 2 +- doc/html/Voicer_8h_source.html | 160 ++++ doc/html/Whistle_8h-source.html | 2 +- doc/html/Whistle_8h_source.html | 88 +++ doc/html/Wurley_8h-source.html | 2 +- doc/html/Wurley_8h_source.html | 79 ++ doc/html/WvIn_8h-source.html | 2 +- doc/html/WvIn_8h_source.html | 56 ++ doc/html/WvOut_8h-source.html | 2 +- doc/html/WvOut_8h_source.html | 89 +++ doc/html/annotated.html | 13 +- doc/html/classRtAudio-members.html | 62 +- doc/html/classRtAudio.html | 493 ++++++------ doc/html/classRtError-members.html | 42 +- doc/html/classRtError.html | 181 ++--- doc/html/classRtMidi-members.html | 16 +- doc/html/classRtMidi.gif | Bin 0 -> 764 bytes doc/html/classRtMidi.html | 90 ++- doc/html/classRtMidi.png | Bin 412 -> 439 bytes doc/html/classRtMidiIn-members.html | 32 +- doc/html/classRtMidiIn.gif | Bin 0 -> 459 bytes doc/html/classRtMidiIn.html | 259 +++---- doc/html/classRtMidiIn.png | Bin 300 -> 317 bytes doc/html/classRtMidiOut-members.html | 22 +- doc/html/classRtMidiOut.gif | Bin 0 -> 496 bytes doc/html/classRtMidiOut.html | 172 ++--- doc/html/classRtMidiOut.png | Bin 317 -> 345 bytes doc/html/classes.html | 45 +- doc/html/classstk_1_1ADSR-members.html | 106 +-- doc/html/classstk_1_1ADSR.gif | Bin 0 -> 793 bytes doc/html/classstk_1_1ADSR.html | 249 +++---- doc/html/classstk_1_1ADSR.png | Bin 478 -> 528 bytes doc/html/classstk_1_1Asymp-members.html | 84 +-- doc/html/classstk_1_1Asymp.gif | Bin 0 -> 801 bytes doc/html/classstk_1_1Asymp.html | 161 ++-- doc/html/classstk_1_1Asymp.png | Bin 489 -> 546 bytes doc/html/classstk_1_1BandedWG-members.html | 92 +-- doc/html/classstk_1_1BandedWG.gif | Bin 0 -> 835 bytes doc/html/classstk_1_1BandedWG.html | 158 ++-- doc/html/classstk_1_1BandedWG.png | Bin 490 -> 545 bytes doc/html/classstk_1_1BeeThree-members.html | 104 +-- doc/html/classstk_1_1BeeThree.gif | Bin 0 -> 1066 bytes doc/html/classstk_1_1BeeThree.html | 104 +-- doc/html/classstk_1_1BeeThree.png | Bin 551 -> 639 bytes doc/html/classstk_1_1BiQuad-members.html | 98 +-- doc/html/classstk_1_1BiQuad.gif | Bin 0 -> 731 bytes doc/html/classstk_1_1BiQuad.html | 218 +++--- doc/html/classstk_1_1BiQuad.png | Bin 441 -> 493 bytes doc/html/classstk_1_1Blit-members.html | 82 +- doc/html/classstk_1_1Blit.gif | Bin 0 -> 764 bytes doc/html/classstk_1_1Blit.html | 174 ++--- doc/html/classstk_1_1Blit.png | Bin 451 -> 501 bytes doc/html/classstk_1_1BlitSaw-members.html | 78 +- doc/html/classstk_1_1BlitSaw.gif | Bin 0 -> 805 bytes doc/html/classstk_1_1BlitSaw.html | 132 ++-- doc/html/classstk_1_1BlitSaw.png | Bin 480 -> 533 bytes doc/html/classstk_1_1BlitSquare-members.html | 82 +- doc/html/classstk_1_1BlitSquare.gif | Bin 0 -> 829 bytes doc/html/classstk_1_1BlitSquare.html | 173 ++--- doc/html/classstk_1_1BlitSquare.png | Bin 506 -> 558 bytes doc/html/classstk_1_1BlowBotl-members.html | 86 +-- doc/html/classstk_1_1BlowBotl.gif | Bin 0 -> 771 bytes doc/html/classstk_1_1BlowBotl.html | 140 ++-- doc/html/classstk_1_1BlowBotl.png | Bin 461 -> 512 bytes doc/html/classstk_1_1BlowHole-members.html | 90 +-- doc/html/classstk_1_1BlowHole.gif | Bin 0 -> 789 bytes doc/html/classstk_1_1BlowHole.html | 159 ++-- doc/html/classstk_1_1BlowHole.png | Bin 463 -> 519 bytes doc/html/classstk_1_1BowTable-members.html | 72 +- doc/html/classstk_1_1BowTable.gif | Bin 0 -> 803 bytes doc/html/classstk_1_1BowTable.html | 137 ++-- doc/html/classstk_1_1BowTable.png | Bin 480 -> 535 bytes doc/html/classstk_1_1Bowed-members.html | 88 +-- doc/html/classstk_1_1Bowed.gif | Bin 0 -> 750 bytes doc/html/classstk_1_1Bowed.html | 135 ++-- doc/html/classstk_1_1Bowed.png | Bin 447 -> 500 bytes doc/html/classstk_1_1Brass-members.html | 88 +-- doc/html/classstk_1_1Brass.gif | Bin 0 -> 739 bytes doc/html/classstk_1_1Brass.html | 150 ++-- doc/html/classstk_1_1Brass.png | Bin 444 -> 494 bytes doc/html/classstk_1_1Chorus-members.html | 80 +- doc/html/classstk_1_1Chorus.gif | Bin 0 -> 729 bytes doc/html/classstk_1_1Chorus.html | 164 ++-- doc/html/classstk_1_1Chorus.png | Bin 436 -> 495 bytes doc/html/classstk_1_1Clarinet-members.html | 86 +-- doc/html/classstk_1_1Clarinet.gif | Bin 0 -> 758 bytes doc/html/classstk_1_1Clarinet.html | 143 ++-- doc/html/classstk_1_1Clarinet.png | Bin 458 -> 505 bytes doc/html/classstk_1_1Delay-members.html | 95 +-- doc/html/classstk_1_1Delay.gif | Bin 0 -> 690 bytes doc/html/classstk_1_1Delay.html | 254 ++++--- doc/html/classstk_1_1Delay.png | Bin 424 -> 483 bytes doc/html/classstk_1_1DelayA-members.html | 92 +-- doc/html/classstk_1_1DelayA.gif | Bin 0 -> 734 bytes doc/html/classstk_1_1DelayA.html | 222 +++--- doc/html/classstk_1_1DelayA.png | Bin 453 -> 502 bytes doc/html/classstk_1_1DelayL-members.html | 92 +-- doc/html/classstk_1_1DelayL.gif | Bin 0 -> 773 bytes doc/html/classstk_1_1DelayL.html | 215 +++--- doc/html/classstk_1_1DelayL.png | Bin 446 -> 497 bytes doc/html/classstk_1_1Drummer-members.html | 80 +- doc/html/classstk_1_1Drummer.gif | Bin 0 -> 775 bytes doc/html/classstk_1_1Drummer.html | 110 ++- doc/html/classstk_1_1Drummer.png | Bin 457 -> 505 bytes doc/html/classstk_1_1Echo-members.html | 80 +- doc/html/classstk_1_1Echo.gif | Bin 0 -> 694 bytes doc/html/classstk_1_1Echo.html | 140 ++-- doc/html/classstk_1_1Echo.png | Bin 414 -> 477 bytes doc/html/classstk_1_1Effect-members.html | 66 +- doc/html/classstk_1_1Effect.gif | Bin 0 -> 2072 bytes doc/html/classstk_1_1Effect.html | 91 ++- doc/html/classstk_1_1Effect.png | Bin 1168 -> 1344 bytes doc/html/classstk_1_1Envelope-members.html | 86 +-- doc/html/classstk_1_1Envelope.gif | Bin 0 -> 813 bytes doc/html/classstk_1_1Envelope.html | 151 ++-- doc/html/classstk_1_1Envelope.png | Bin 488 -> 546 bytes doc/html/classstk_1_1FM-members.html | 100 +-- doc/html/classstk_1_1FM.gif | Bin 0 -> 2821 bytes doc/html/classstk_1_1FM.html | 199 +++-- doc/html/classstk_1_1FM.png | Bin 1792 -> 1685 bytes doc/html/classstk_1_1FMVoices-members.html | 104 +-- doc/html/classstk_1_1FMVoices.gif | Bin 0 -> 1002 bytes doc/html/classstk_1_1FMVoices.html | 118 ++- doc/html/classstk_1_1FMVoices.png | Bin 543 -> 639 bytes doc/html/classstk_1_1FileLoop-members.html | 104 +-- doc/html/classstk_1_1FileLoop.gif | Bin 0 -> 1050 bytes doc/html/classstk_1_1FileLoop.html | 334 ++++----- doc/html/classstk_1_1FileLoop.png | Bin 561 -> 642 bytes doc/html/classstk_1_1FileRead-members.html | 76 +- doc/html/classstk_1_1FileRead.gif | Bin 0 -> 530 bytes doc/html/classstk_1_1FileRead.html | 171 ++--- doc/html/classstk_1_1FileRead.png | Bin 364 -> 380 bytes doc/html/classstk_1_1FileWrite-members.html | 80 +- doc/html/classstk_1_1FileWrite.gif | Bin 0 -> 534 bytes doc/html/classstk_1_1FileWrite.html | 207 +++--- doc/html/classstk_1_1FileWrite.png | Bin 363 -> 383 bytes doc/html/classstk_1_1FileWvIn-members.html | 92 +-- doc/html/classstk_1_1FileWvIn.gif | Bin 0 -> 986 bytes doc/html/classstk_1_1FileWvIn.html | 339 ++++----- doc/html/classstk_1_1FileWvIn.png | Bin 561 -> 641 bytes doc/html/classstk_1_1FileWvOut-members.html | 80 +- doc/html/classstk_1_1FileWvOut.gif | Bin 0 -> 811 bytes doc/html/classstk_1_1FileWvOut.html | 186 +++-- doc/html/classstk_1_1FileWvOut.png | Bin 468 -> 524 bytes doc/html/classstk_1_1Filter-members.html | 72 +- doc/html/classstk_1_1Filter.gif | Bin 0 -> 4318 bytes doc/html/classstk_1_1Filter.html | 153 ++-- doc/html/classstk_1_1Filter.png | Bin 1896 -> 2607 bytes doc/html/classstk_1_1Fir-members.html | 86 +-- doc/html/classstk_1_1Fir.gif | Bin 0 -> 656 bytes doc/html/classstk_1_1Fir.html | 159 ++-- doc/html/classstk_1_1Fir.png | Bin 386 -> 438 bytes doc/html/classstk_1_1Flute-members.html | 92 +-- doc/html/classstk_1_1Flute.gif | Bin 0 -> 733 bytes doc/html/classstk_1_1Flute.html | 164 ++-- doc/html/classstk_1_1Flute.png | Bin 432 -> 486 bytes doc/html/classstk_1_1FormSwep-members.html | 90 +-- doc/html/classstk_1_1FormSwep.gif | Bin 0 -> 852 bytes doc/html/classstk_1_1FormSwep.html | 192 +++-- doc/html/classstk_1_1FormSwep.png | Bin 470 -> 535 bytes doc/html/classstk_1_1Function-members.html | 62 +- doc/html/classstk_1_1Function.gif | Bin 0 -> 1531 bytes doc/html/classstk_1_1Function.html | 70 +- doc/html/classstk_1_1Function.png | Bin 892 -> 843 bytes doc/html/classstk_1_1Generator-members.html | 64 +- doc/html/classstk_1_1Generator.gif | Bin 0 -> 3839 bytes doc/html/classstk_1_1Generator.html | 108 ++- doc/html/classstk_1_1Generator.png | Bin 1660 -> 2289 bytes doc/html/classstk_1_1Granulate-members.html | 86 +-- doc/html/classstk_1_1Granulate.gif | Bin 0 -> 811 bytes doc/html/classstk_1_1Granulate.html | 233 +++--- doc/html/classstk_1_1Granulate.png | Bin 501 -> 547 bytes doc/html/classstk_1_1HevyMetl-members.html | 104 +-- doc/html/classstk_1_1HevyMetl.gif | Bin 0 -> 1061 bytes doc/html/classstk_1_1HevyMetl.html | 104 +-- doc/html/classstk_1_1HevyMetl.png | Bin 558 -> 642 bytes doc/html/classstk_1_1Iir-members.html | 90 +-- doc/html/classstk_1_1Iir.gif | Bin 0 -> 644 bytes doc/html/classstk_1_1Iir.html | 195 +++-- doc/html/classstk_1_1Iir.png | Bin 381 -> 429 bytes doc/html/classstk_1_1InetWvIn-members.html | 74 +- doc/html/classstk_1_1InetWvIn.gif | Bin 0 -> 756 bytes doc/html/classstk_1_1InetWvIn.html | 182 +++-- doc/html/classstk_1_1InetWvIn.png | Bin 440 -> 489 bytes doc/html/classstk_1_1InetWvOut-members.html | 80 +- doc/html/classstk_1_1InetWvOut.gif | Bin 0 -> 810 bytes doc/html/classstk_1_1InetWvOut.html | 158 ++-- doc/html/classstk_1_1InetWvOut.png | Bin 464 -> 523 bytes doc/html/classstk_1_1Instrmnt-members.html | 76 +- doc/html/classstk_1_1Instrmnt.gif | Bin 0 -> 6984 bytes doc/html/classstk_1_1Instrmnt.html | 198 +++-- doc/html/classstk_1_1Instrmnt.png | Bin 3005 -> 4167 bytes doc/html/classstk_1_1JCRev-members.html | 78 +- doc/html/classstk_1_1JCRev.gif | Bin 0 -> 725 bytes doc/html/classstk_1_1JCRev.html | 142 ++-- doc/html/classstk_1_1JCRev.png | Bin 435 -> 491 bytes doc/html/classstk_1_1JetTable-members.html | 66 +- doc/html/classstk_1_1JetTable.gif | Bin 0 -> 841 bytes doc/html/classstk_1_1JetTable.html | 92 ++- doc/html/classstk_1_1JetTable.png | Bin 469 -> 521 bytes .../classstk_1_1LentPitShift-members.html | 59 ++ doc/html/classstk_1_1LentPitShift.html | 164 ++++ doc/html/classstk_1_1LentPitShift.png | Bin 0 -> 546 bytes doc/html/classstk_1_1Mandolin-members.html | 100 +-- doc/html/classstk_1_1Mandolin.gif | Bin 0 -> 1088 bytes doc/html/classstk_1_1Mandolin.html | 116 ++- doc/html/classstk_1_1Mandolin.png | Bin 590 -> 669 bytes doc/html/classstk_1_1Mesh2D-members.html | 94 +-- doc/html/classstk_1_1Mesh2D.gif | Bin 0 -> 770 bytes doc/html/classstk_1_1Mesh2D.html | 149 ++-- doc/html/classstk_1_1Mesh2D.png | Bin 461 -> 518 bytes doc/html/classstk_1_1Messager-members.html | 72 +- doc/html/classstk_1_1Messager.gif | Bin 0 -> 541 bytes doc/html/classstk_1_1Messager.html | 172 ++--- doc/html/classstk_1_1Messager.png | Bin 374 -> 394 bytes doc/html/classstk_1_1MidiFileIn-members.html | 74 +- doc/html/classstk_1_1MidiFileIn.gif | Bin 0 -> 539 bytes doc/html/classstk_1_1MidiFileIn.html | 184 +++-- doc/html/classstk_1_1MidiFileIn.png | Bin 358 -> 381 bytes doc/html/classstk_1_1Modal-members.html | 94 +-- doc/html/classstk_1_1Modal.gif | Bin 0 -> 1102 bytes doc/html/classstk_1_1Modal.html | 160 ++-- doc/html/classstk_1_1Modal.png | Bin 580 -> 662 bytes doc/html/classstk_1_1ModalBar-members.html | 106 +-- doc/html/classstk_1_1ModalBar.gif | Bin 0 -> 1101 bytes doc/html/classstk_1_1ModalBar.html | 122 +-- doc/html/classstk_1_1ModalBar.png | Bin 563 -> 654 bytes doc/html/classstk_1_1Modulate-members.html | 78 +- doc/html/classstk_1_1Modulate.gif | Bin 0 -> 816 bytes doc/html/classstk_1_1Modulate.html | 138 ++-- doc/html/classstk_1_1Modulate.png | Bin 486 -> 532 bytes doc/html/classstk_1_1Moog-members.html | 94 +-- doc/html/classstk_1_1Moog.gif | Bin 0 -> 971 bytes doc/html/classstk_1_1Moog.html | 129 ++-- doc/html/classstk_1_1Moog.png | Bin 554 -> 646 bytes doc/html/classstk_1_1Mutex-members.html | 68 +- doc/html/classstk_1_1Mutex.gif | Bin 0 -> 483 bytes doc/html/classstk_1_1Mutex.html | 113 ++- doc/html/classstk_1_1Mutex.png | Bin 339 -> 360 bytes doc/html/classstk_1_1NRev-members.html | 78 +- doc/html/classstk_1_1NRev.gif | Bin 0 -> 698 bytes doc/html/classstk_1_1NRev.html | 142 ++-- doc/html/classstk_1_1NRev.png | Bin 419 -> 483 bytes doc/html/classstk_1_1Noise-members.html | 72 +- doc/html/classstk_1_1Noise.gif | Bin 0 -> 785 bytes doc/html/classstk_1_1Noise.html | 123 ++- doc/html/classstk_1_1Noise.png | Bin 472 -> 525 bytes doc/html/classstk_1_1OnePole-members.html | 90 +-- doc/html/classstk_1_1OnePole.gif | Bin 0 -> 755 bytes doc/html/classstk_1_1OnePole.html | 154 ++-- doc/html/classstk_1_1OnePole.png | Bin 456 -> 511 bytes doc/html/classstk_1_1OneZero-members.html | 90 +-- doc/html/classstk_1_1OneZero.gif | Bin 0 -> 758 bytes doc/html/classstk_1_1OneZero.html | 154 ++-- doc/html/classstk_1_1OneZero.png | Bin 460 -> 517 bytes doc/html/classstk_1_1PRCRev-members.html | 78 +- doc/html/classstk_1_1PRCRev.gif | Bin 0 -> 759 bytes doc/html/classstk_1_1PRCRev.html | 142 ++-- doc/html/classstk_1_1PRCRev.png | Bin 449 -> 510 bytes doc/html/classstk_1_1PercFlut-members.html | 104 +-- doc/html/classstk_1_1PercFlut.gif | Bin 0 -> 964 bytes doc/html/classstk_1_1PercFlut.html | 111 ++- doc/html/classstk_1_1PercFlut.png | Bin 544 -> 629 bytes doc/html/classstk_1_1Phonemes-members.html | 68 +- doc/html/classstk_1_1Phonemes.gif | Bin 0 -> 542 bytes doc/html/classstk_1_1Phonemes.html | 85 +-- doc/html/classstk_1_1Phonemes.png | Bin 360 -> 381 bytes doc/html/classstk_1_1PitShift-members.html | 78 +- doc/html/classstk_1_1PitShift.gif | Bin 0 -> 733 bytes doc/html/classstk_1_1PitShift.html | 118 ++- doc/html/classstk_1_1PitShift.png | Bin 441 -> 501 bytes doc/html/classstk_1_1PluckTwo-members.html | 88 +-- doc/html/classstk_1_1PluckTwo.gif | Bin 0 -> 1024 bytes doc/html/classstk_1_1PluckTwo.html | 129 ++-- doc/html/classstk_1_1PluckTwo.png | Bin 593 -> 672 bytes doc/html/classstk_1_1Plucked-members.html | 84 +-- doc/html/classstk_1_1Plucked.gif | Bin 0 -> 756 bytes doc/html/classstk_1_1Plucked.html | 103 ++- doc/html/classstk_1_1Plucked.png | Bin 452 -> 507 bytes doc/html/classstk_1_1PoleZero-members.html | 92 +-- doc/html/classstk_1_1PoleZero.gif | Bin 0 -> 765 bytes doc/html/classstk_1_1PoleZero.html | 163 ++-- doc/html/classstk_1_1PoleZero.png | Bin 458 -> 514 bytes doc/html/classstk_1_1ReedTable-members.html | 72 +- doc/html/classstk_1_1ReedTable.gif | Bin 0 -> 880 bytes doc/html/classstk_1_1ReedTable.html | 139 ++-- doc/html/classstk_1_1ReedTable.png | Bin 485 -> 539 bytes doc/html/classstk_1_1Resonate-members.html | 92 +-- doc/html/classstk_1_1Resonate.gif | Bin 0 -> 780 bytes doc/html/classstk_1_1Resonate.html | 140 ++-- doc/html/classstk_1_1Resonate.png | Bin 470 -> 521 bytes doc/html/classstk_1_1Rhodey-members.html | 104 +-- doc/html/classstk_1_1Rhodey.gif | Bin 0 -> 939 bytes doc/html/classstk_1_1Rhodey.html | 111 ++- doc/html/classstk_1_1Rhodey.png | Bin 533 -> 623 bytes doc/html/classstk_1_1RtWvIn-members.html | 74 +- doc/html/classstk_1_1RtWvIn.gif | Bin 0 -> 721 bytes doc/html/classstk_1_1RtWvIn.html | 180 +++-- doc/html/classstk_1_1RtWvIn.png | Bin 419 -> 474 bytes doc/html/classstk_1_1RtWvOut-members.html | 78 +- doc/html/classstk_1_1RtWvOut.gif | Bin 0 -> 775 bytes doc/html/classstk_1_1RtWvOut.html | 160 ++-- doc/html/classstk_1_1RtWvOut.png | Bin 460 -> 513 bytes doc/html/classstk_1_1Sampler-members.html | 86 +-- doc/html/classstk_1_1Sampler.gif | Bin 0 -> 977 bytes doc/html/classstk_1_1Sampler.html | 110 ++- doc/html/classstk_1_1Sampler.png | Bin 569 -> 645 bytes doc/html/classstk_1_1Saxofony-members.html | 88 +-- doc/html/classstk_1_1Saxofony.gif | Bin 0 -> 788 bytes doc/html/classstk_1_1Saxofony.html | 152 ++-- doc/html/classstk_1_1Saxofony.png | Bin 480 -> 537 bytes doc/html/classstk_1_1Shakers-members.html | 80 +- doc/html/classstk_1_1Shakers.gif | Bin 0 -> 765 bytes doc/html/classstk_1_1Shakers.html | 143 ++-- doc/html/classstk_1_1Shakers.png | Bin 467 -> 512 bytes doc/html/classstk_1_1Simple-members.html | 86 +-- doc/html/classstk_1_1Simple.gif | Bin 0 -> 749 bytes doc/html/classstk_1_1Simple.html | 140 ++-- doc/html/classstk_1_1Simple.png | Bin 456 -> 507 bytes doc/html/classstk_1_1SineWave-members.html | 82 +- doc/html/classstk_1_1SineWave.gif | Bin 0 -> 816 bytes doc/html/classstk_1_1SineWave.html | 191 +++-- doc/html/classstk_1_1SineWave.png | Bin 494 -> 550 bytes doc/html/classstk_1_1SingWave-members.html | 96 +-- doc/html/classstk_1_1SingWave.gif | Bin 0 -> 823 bytes doc/html/classstk_1_1SingWave.html | 192 +++-- doc/html/classstk_1_1SingWave.png | Bin 505 -> 566 bytes doc/html/classstk_1_1Sitar-members.html | 84 +-- doc/html/classstk_1_1Sitar.gif | Bin 0 -> 735 bytes doc/html/classstk_1_1Sitar.html | 103 ++- doc/html/classstk_1_1Sitar.png | Bin 439 -> 486 bytes doc/html/classstk_1_1Skini-members.html | 70 +- doc/html/classstk_1_1Skini.gif | Bin 0 -> 460 bytes doc/html/classstk_1_1Skini.html | 145 ++-- doc/html/classstk_1_1Skini.png | Bin 325 -> 341 bytes doc/html/classstk_1_1Socket-members.html | 78 +- doc/html/classstk_1_1Socket.gif | Bin 0 -> 1539 bytes doc/html/classstk_1_1Socket.html | 128 ++-- doc/html/classstk_1_1Socket.png | Bin 918 -> 894 bytes doc/html/classstk_1_1Sphere-members.html | 82 +- doc/html/classstk_1_1Sphere.gif | Bin 0 -> 509 bytes doc/html/classstk_1_1Sphere.html | 134 ++-- doc/html/classstk_1_1Sphere.png | Bin 358 -> 382 bytes doc/html/classstk_1_1StifKarp-members.html | 90 +-- doc/html/classstk_1_1StifKarp.gif | Bin 0 -> 763 bytes doc/html/classstk_1_1StifKarp.html | 155 ++-- doc/html/classstk_1_1StifKarp.png | Bin 460 -> 522 bytes doc/html/classstk_1_1Stk-members.html | 56 +- doc/html/classstk_1_1Stk.gif | Bin 0 -> 6090 bytes doc/html/classstk_1_1Stk.html | 334 ++++----- doc/html/classstk_1_1Stk.png | Bin 2515 -> 3426 bytes doc/html/classstk_1_1StkError-members.html | 18 +- doc/html/classstk_1_1StkError.html | 72 +- doc/html/classstk_1_1StkFrames-members.html | 42 +- doc/html/classstk_1_1StkFrames.html | 299 ++++---- doc/html/classstk_1_1TapDelay-members.html | 88 +-- doc/html/classstk_1_1TapDelay.gif | Bin 0 -> 783 bytes doc/html/classstk_1_1TapDelay.html | 199 +++-- doc/html/classstk_1_1TapDelay.png | Bin 478 -> 531 bytes doc/html/classstk_1_1TcpClient-members.html | 84 +-- doc/html/classstk_1_1TcpClient.gif | Bin 0 -> 794 bytes doc/html/classstk_1_1TcpClient.html | 110 ++- doc/html/classstk_1_1TcpClient.png | Bin 479 -> 534 bytes doc/html/classstk_1_1TcpServer-members.html | 84 +-- doc/html/classstk_1_1TcpServer.gif | Bin 0 -> 869 bytes doc/html/classstk_1_1TcpServer.html | 114 ++- doc/html/classstk_1_1TcpServer.png | Bin 484 -> 553 bytes doc/html/classstk_1_1Thread-members.html | 68 +- doc/html/classstk_1_1Thread.gif | Bin 0 -> 497 bytes doc/html/classstk_1_1Thread.html | 143 ++-- doc/html/classstk_1_1Thread.png | Bin 343 -> 365 bytes doc/html/classstk_1_1TubeBell-members.html | 104 +-- doc/html/classstk_1_1TubeBell.gif | Bin 0 -> 1040 bytes doc/html/classstk_1_1TubeBell.html | 104 +-- doc/html/classstk_1_1TubeBell.png | Bin 534 -> 632 bytes doc/html/classstk_1_1TwoPole-members.html | 90 +-- doc/html/classstk_1_1TwoPole.gif | Bin 0 -> 753 bytes doc/html/classstk_1_1TwoPole.html | 166 ++--- doc/html/classstk_1_1TwoPole.png | Bin 449 -> 503 bytes doc/html/classstk_1_1TwoZero-members.html | 90 +-- doc/html/classstk_1_1TwoZero.gif | Bin 0 -> 754 bytes doc/html/classstk_1_1TwoZero.html | 166 ++--- doc/html/classstk_1_1TwoZero.png | Bin 451 -> 506 bytes doc/html/classstk_1_1UdpSocket-members.html | 88 +-- doc/html/classstk_1_1UdpSocket.gif | Bin 0 -> 880 bytes doc/html/classstk_1_1UdpSocket.html | 152 ++-- doc/html/classstk_1_1UdpSocket.png | Bin 479 -> 555 bytes doc/html/classstk_1_1Vector3D-members.html | 74 +- doc/html/classstk_1_1Vector3D.gif | Bin 0 -> 539 bytes doc/html/classstk_1_1Vector3D.html | 106 ++- doc/html/classstk_1_1Vector3D.png | Bin 365 -> 385 bytes doc/html/classstk_1_1VoicForm-members.html | 96 +-- doc/html/classstk_1_1VoicForm.gif | Bin 0 -> 854 bytes doc/html/classstk_1_1VoicForm.html | 178 +++-- doc/html/classstk_1_1VoicForm.png | Bin 465 -> 515 bytes doc/html/classstk_1_1Voicer-members.html | 92 +-- doc/html/classstk_1_1Voicer.gif | Bin 0 -> 494 bytes doc/html/classstk_1_1Voicer.html | 291 ++++---- doc/html/classstk_1_1Voicer.png | Bin 340 -> 359 bytes doc/html/classstk_1_1Whistle-members.html | 86 +-- doc/html/classstk_1_1Whistle.gif | Bin 0 -> 750 bytes doc/html/classstk_1_1Whistle.html | 141 ++-- doc/html/classstk_1_1Whistle.png | Bin 442 -> 500 bytes doc/html/classstk_1_1Wurley-members.html | 104 +-- doc/html/classstk_1_1Wurley.gif | Bin 0 -> 936 bytes doc/html/classstk_1_1Wurley.html | 111 ++- doc/html/classstk_1_1Wurley.png | Bin 530 -> 614 bytes doc/html/classstk_1_1WvIn-members.html | 64 +- doc/html/classstk_1_1WvIn.gif | Bin 0 -> 1723 bytes doc/html/classstk_1_1WvIn.html | 94 ++- doc/html/classstk_1_1WvIn.png | Bin 910 -> 968 bytes doc/html/classstk_1_1WvOut-members.html | 70 +- doc/html/classstk_1_1WvOut.gif | Bin 0 -> 1505 bytes doc/html/classstk_1_1WvOut.html | 117 ++- doc/html/classstk_1_1WvOut.png | Bin 930 -> 836 bytes doc/html/compile.html | 57 +- doc/html/controlin.html | 66 +- doc/html/crealtime.html | 53 +- .../dir_c28bfe24b93fcab464ea84f988cb34ef.html | 2 +- .../dir_ca1e4533604ab7cb0cdaaff730a9c38f.html | 127 ++++ .../dir_d499f4756a454d8a02faa5ebe57d576f.html | 2 +- doc/html/dirs.html | 6 +- doc/html/download.html | 66 +- doc/html/doxygen.css | 91 +++ doc/html/faq.html | 41 +- doc/html/files.html | 201 ++--- doc/html/filtering.html | 43 +- doc/html/ftv2blank.png | Bin 0 -> 174 bytes doc/html/ftv2doc.png | Bin 0 -> 255 bytes doc/html/ftv2folderclosed.png | Bin 0 -> 259 bytes doc/html/ftv2folderopen.png | Bin 0 -> 261 bytes doc/html/ftv2lastnode.png | Bin 0 -> 233 bytes doc/html/ftv2link.png | Bin 0 -> 358 bytes doc/html/ftv2mlastnode.png | Bin 0 -> 160 bytes doc/html/ftv2mnode.png | Bin 0 -> 194 bytes doc/html/ftv2node.png | Bin 0 -> 235 bytes doc/html/ftv2plastnode.png | Bin 0 -> 165 bytes doc/html/ftv2pnode.png | Bin 0 -> 200 bytes doc/html/ftv2vertline.png | Bin 0 -> 229 bytes doc/html/functions.html | 55 +- doc/html/functions_0x62.html | 41 +- doc/html/functions_0x63.html | 193 ++--- doc/html/functions_0x64.html | 47 +- doc/html/functions_0x65.html | 25 +- doc/html/functions_0x66.html | 86 ++- doc/html/functions_0x67.html | 156 ++-- doc/html/functions_0x68.html | 14 +- doc/html/functions_0x69.html | 87 ++- doc/html/functions_0x6a.html | 11 +- doc/html/functions_0x6b.html | 38 +- doc/html/functions_0x6c.html | 114 +-- doc/html/functions_0x6d.html | 41 +- doc/html/functions_0x6e.html | 165 +++-- doc/html/functions_0x6f.html | 63 +- doc/html/functions_0x70.html | 71 +- doc/html/functions_0x71.html | 11 +- doc/html/functions_0x72.html | 98 ++- doc/html/functions_0x73.html | 699 +++++++++++------- doc/html/functions_0x74.html | 228 +++--- doc/html/functions_0x75.html | 22 +- doc/html/functions_0x76.html | 20 +- doc/html/functions_0x77.html | 57 +- doc/html/functions_0x7e.html | 248 ++++--- doc/html/functions_enum.html | 14 +- doc/html/functions_eval.html | 79 +- doc/html/functions_func.html | 49 +- doc/html/functions_func_0x62.html | 41 +- doc/html/functions_func_0x63.html | 191 ++--- doc/html/functions_func_0x64.html | 29 +- doc/html/functions_func_0x65.html | 25 +- doc/html/functions_func_0x66.html | 62 +- doc/html/functions_func_0x67.html | 156 ++-- doc/html/functions_func_0x68.html | 14 +- doc/html/functions_func_0x69.html | 66 +- doc/html/functions_func_0x6a.html | 11 +- doc/html/functions_func_0x6b.html | 38 +- doc/html/functions_func_0x6c.html | 108 +-- doc/html/functions_func_0x6d.html | 35 +- doc/html/functions_func_0x6e.html | 151 ++-- doc/html/functions_func_0x6f.html | 60 +- doc/html/functions_func_0x70.html | 65 +- doc/html/functions_func_0x71.html | 11 +- doc/html/functions_func_0x72.html | 86 ++- doc/html/functions_func_0x73.html | 669 ++++++++++------- doc/html/functions_func_0x74.html | 221 +++--- doc/html/functions_func_0x75.html | 14 +- doc/html/functions_func_0x76.html | 20 +- doc/html/functions_func_0x77.html | 46 +- doc/html/functions_func_0x7e.html | 248 ++++--- doc/html/functions_type.html | 11 +- doc/html/functions_vars.html | 143 ++-- doc/html/fundamentals.html | 43 +- doc/html/globals.html | 20 +- doc/html/globals_type.html | 20 +- doc/html/hello.html | 45 +- doc/html/hierarchy.html | 247 ++++--- doc/html/index.html | 22 +- doc/html/information.html | 80 +- doc/html/instruments.html | 44 +- doc/html/links.html | 59 +- doc/html/maillist.html | 15 +- doc/html/main.html | 37 + doc/html/multichannel.html | 26 +- doc/html/namespaces.html | 4 +- doc/html/namespacestk.html | 508 +++++-------- doc/html/pages.html | 44 +- doc/html/polyvoices.html | 57 +- doc/html/realtime.html | 30 +- doc/html/skini.html | 146 ++-- .../structRtAudio_1_1DeviceInfo-members.html | 24 +- doc/html/structRtAudio_1_1DeviceInfo.html | 137 ++-- ...tructRtAudio_1_1StreamOptions-members.html | 14 +- doc/html/structRtAudio_1_1StreamOptions.html | 99 ++- ...ctRtAudio_1_1StreamParameters-members.html | 12 +- .../structRtAudio_1_1StreamParameters.html | 65 +- ...structstk_1_1Skini_1_1Message-members.html | 18 +- doc/html/structstk_1_1Skini_1_1Message.html | 101 ++- doc/html/system.html | 28 +- doc/html/tabs.css | 2 +- doc/html/tree.html | 451 +++++++++++ doc/html/tutorial.html | 28 +- doc/html/usage.html | 152 ++-- 711 files changed, 28790 insertions(+), 16452 deletions(-) create mode 100644 doc/html/ADSR_8h_source.html create mode 100644 doc/html/Asymp_8h_source.html create mode 100644 doc/html/BandedWG_8h_source.html create mode 100644 doc/html/BeeThree_8h_source.html create mode 100644 doc/html/BiQuad_8h_source.html create mode 100644 doc/html/BlitSaw_8h_source.html create mode 100644 doc/html/BlitSquare_8h_source.html create mode 100644 doc/html/Blit_8h_source.html create mode 100644 doc/html/BlowBotl_8h_source.html create mode 100644 doc/html/BlowHole_8h_source.html create mode 100644 doc/html/BowTable_8h_source.html create mode 100644 doc/html/Bowed_8h_source.html create mode 100644 doc/html/Brass_8h_source.html create mode 100644 doc/html/Chorus_8h_source.html create mode 100644 doc/html/Clarinet_8h_source.html create mode 100644 doc/html/DelayA_8h_source.html create mode 100644 doc/html/DelayL_8h_source.html create mode 100644 doc/html/Delay_8h_source.html create mode 100644 doc/html/Drummer_8h_source.html create mode 100644 doc/html/Echo_8h_source.html create mode 100644 doc/html/Effect_8h_source.html create mode 100644 doc/html/Envelope_8h_source.html create mode 100644 doc/html/FMVoices_8h_source.html create mode 100644 doc/html/FM_8h_source.html create mode 100644 doc/html/FileLoop_8h_source.html create mode 100644 doc/html/FileRead_8h_source.html create mode 100644 doc/html/FileWrite_8h_source.html create mode 100644 doc/html/FileWvIn_8h_source.html create mode 100644 doc/html/FileWvOut_8h_source.html create mode 100644 doc/html/Filter_8h_source.html create mode 100644 doc/html/Fir_8h_source.html create mode 100644 doc/html/Flute_8h_source.html create mode 100644 doc/html/FormSwep_8h_source.html create mode 100644 doc/html/Function_8h_source.html create mode 100644 doc/html/Generator_8h_source.html create mode 100644 doc/html/Granulate_8h_source.html create mode 100644 doc/html/HevyMetl_8h_source.html create mode 100644 doc/html/Iir_8h_source.html create mode 100644 doc/html/InetWvIn_8h_source.html create mode 100644 doc/html/InetWvOut_8h_source.html create mode 100644 doc/html/Instrmnt_8h_source.html create mode 100644 doc/html/JCRev_8h_source.html create mode 100644 doc/html/JetTable_8h_source.html create mode 100644 doc/html/LentPitShift_8h_source.html create mode 100644 doc/html/Mandolin_8h_source.html create mode 100644 doc/html/Mesh2D_8h_source.html create mode 100644 doc/html/Messager_8h_source.html create mode 100644 doc/html/MidiFileIn_8h_source.html create mode 100644 doc/html/ModalBar_8h_source.html create mode 100644 doc/html/Modal_8h_source.html create mode 100644 doc/html/Modulate_8h_source.html create mode 100644 doc/html/Moog_8h_source.html create mode 100644 doc/html/Mutex_8h_source.html create mode 100644 doc/html/NRev_8h_source.html create mode 100644 doc/html/Noise_8h_source.html create mode 100644 doc/html/OnePole_8h_source.html create mode 100644 doc/html/OneZero_8h_source.html create mode 100644 doc/html/PRCRev_8h_source.html create mode 100644 doc/html/PercFlut_8h_source.html create mode 100644 doc/html/Phonemes_8h_source.html create mode 100644 doc/html/PitShift_8h_source.html create mode 100644 doc/html/PluckTwo_8h_source.html create mode 100644 doc/html/Plucked_8h_source.html create mode 100644 doc/html/PoleZero_8h_source.html create mode 100644 doc/html/ReedTable_8h_source.html create mode 100644 doc/html/Resonate_8h_source.html create mode 100644 doc/html/Rhodey_8h_source.html create mode 100644 doc/html/RtAudio_8h_source.html create mode 100644 doc/html/RtError_8h_source.html create mode 100644 doc/html/RtMidi_8h_source.html create mode 100644 doc/html/RtWvIn_8h_source.html create mode 100644 doc/html/RtWvOut_8h_source.html create mode 100644 doc/html/Sampler_8h_source.html create mode 100644 doc/html/Saxofony_8h_source.html create mode 100644 doc/html/Shakers_8h_source.html create mode 100644 doc/html/Simple_8h_source.html create mode 100644 doc/html/SineWave_8h_source.html create mode 100644 doc/html/SingWave_8h_source.html create mode 100644 doc/html/Sitar_8h_source.html create mode 100644 doc/html/Skini_8h_source.html create mode 100644 doc/html/Socket_8h_source.html create mode 100644 doc/html/Sphere_8h_source.html create mode 100644 doc/html/StifKarp_8h_source.html create mode 100644 doc/html/Stk_8h_source.html create mode 100644 doc/html/TapDelay_8h_source.html create mode 100644 doc/html/TcpClient_8h_source.html create mode 100644 doc/html/TcpServer_8h_source.html create mode 100644 doc/html/Thread_8h_source.html create mode 100644 doc/html/TubeBell_8h_source.html create mode 100644 doc/html/TwoPole_8h_source.html create mode 100644 doc/html/TwoZero_8h_source.html create mode 100644 doc/html/UdpSocket_8h_source.html create mode 100644 doc/html/Vector3D_8h_source.html create mode 100644 doc/html/VoicForm_8h_source.html create mode 100644 doc/html/Voicer_8h_source.html create mode 100644 doc/html/Whistle_8h_source.html create mode 100644 doc/html/Wurley_8h_source.html create mode 100644 doc/html/WvIn_8h_source.html create mode 100644 doc/html/WvOut_8h_source.html create mode 100644 doc/html/classRtMidi.gif create mode 100644 doc/html/classRtMidiIn.gif create mode 100644 doc/html/classRtMidiOut.gif create mode 100644 doc/html/classstk_1_1ADSR.gif create mode 100644 doc/html/classstk_1_1Asymp.gif create mode 100644 doc/html/classstk_1_1BandedWG.gif create mode 100644 doc/html/classstk_1_1BeeThree.gif create mode 100644 doc/html/classstk_1_1BiQuad.gif create mode 100644 doc/html/classstk_1_1Blit.gif create mode 100644 doc/html/classstk_1_1BlitSaw.gif create mode 100644 doc/html/classstk_1_1BlitSquare.gif create mode 100644 doc/html/classstk_1_1BlowBotl.gif create mode 100644 doc/html/classstk_1_1BlowHole.gif create mode 100644 doc/html/classstk_1_1BowTable.gif create mode 100644 doc/html/classstk_1_1Bowed.gif create mode 100644 doc/html/classstk_1_1Brass.gif create mode 100644 doc/html/classstk_1_1Chorus.gif create mode 100644 doc/html/classstk_1_1Clarinet.gif create mode 100644 doc/html/classstk_1_1Delay.gif create mode 100644 doc/html/classstk_1_1DelayA.gif create mode 100644 doc/html/classstk_1_1DelayL.gif create mode 100644 doc/html/classstk_1_1Drummer.gif create mode 100644 doc/html/classstk_1_1Echo.gif create mode 100644 doc/html/classstk_1_1Effect.gif create mode 100644 doc/html/classstk_1_1Envelope.gif create mode 100644 doc/html/classstk_1_1FM.gif create mode 100644 doc/html/classstk_1_1FMVoices.gif create mode 100644 doc/html/classstk_1_1FileLoop.gif create mode 100644 doc/html/classstk_1_1FileRead.gif create mode 100644 doc/html/classstk_1_1FileWrite.gif create mode 100644 doc/html/classstk_1_1FileWvIn.gif create mode 100644 doc/html/classstk_1_1FileWvOut.gif create mode 100644 doc/html/classstk_1_1Filter.gif create mode 100644 doc/html/classstk_1_1Fir.gif create mode 100644 doc/html/classstk_1_1Flute.gif create mode 100644 doc/html/classstk_1_1FormSwep.gif create mode 100644 doc/html/classstk_1_1Function.gif create mode 100644 doc/html/classstk_1_1Generator.gif create mode 100644 doc/html/classstk_1_1Granulate.gif create mode 100644 doc/html/classstk_1_1HevyMetl.gif create mode 100644 doc/html/classstk_1_1Iir.gif create mode 100644 doc/html/classstk_1_1InetWvIn.gif create mode 100644 doc/html/classstk_1_1InetWvOut.gif create mode 100644 doc/html/classstk_1_1Instrmnt.gif create mode 100644 doc/html/classstk_1_1JCRev.gif create mode 100644 doc/html/classstk_1_1JetTable.gif create mode 100644 doc/html/classstk_1_1LentPitShift-members.html create mode 100644 doc/html/classstk_1_1LentPitShift.html create mode 100644 doc/html/classstk_1_1LentPitShift.png create mode 100644 doc/html/classstk_1_1Mandolin.gif create mode 100644 doc/html/classstk_1_1Mesh2D.gif create mode 100644 doc/html/classstk_1_1Messager.gif create mode 100644 doc/html/classstk_1_1MidiFileIn.gif create mode 100644 doc/html/classstk_1_1Modal.gif create mode 100644 doc/html/classstk_1_1ModalBar.gif create mode 100644 doc/html/classstk_1_1Modulate.gif create mode 100644 doc/html/classstk_1_1Moog.gif create mode 100644 doc/html/classstk_1_1Mutex.gif create mode 100644 doc/html/classstk_1_1NRev.gif create mode 100644 doc/html/classstk_1_1Noise.gif create mode 100644 doc/html/classstk_1_1OnePole.gif create mode 100644 doc/html/classstk_1_1OneZero.gif create mode 100644 doc/html/classstk_1_1PRCRev.gif create mode 100644 doc/html/classstk_1_1PercFlut.gif create mode 100644 doc/html/classstk_1_1Phonemes.gif create mode 100644 doc/html/classstk_1_1PitShift.gif create mode 100644 doc/html/classstk_1_1PluckTwo.gif create mode 100644 doc/html/classstk_1_1Plucked.gif create mode 100644 doc/html/classstk_1_1PoleZero.gif create mode 100644 doc/html/classstk_1_1ReedTable.gif create mode 100644 doc/html/classstk_1_1Resonate.gif create mode 100644 doc/html/classstk_1_1Rhodey.gif create mode 100644 doc/html/classstk_1_1RtWvIn.gif create mode 100644 doc/html/classstk_1_1RtWvOut.gif create mode 100644 doc/html/classstk_1_1Sampler.gif create mode 100644 doc/html/classstk_1_1Saxofony.gif create mode 100644 doc/html/classstk_1_1Shakers.gif create mode 100644 doc/html/classstk_1_1Simple.gif create mode 100644 doc/html/classstk_1_1SineWave.gif create mode 100644 doc/html/classstk_1_1SingWave.gif create mode 100644 doc/html/classstk_1_1Sitar.gif create mode 100644 doc/html/classstk_1_1Skini.gif create mode 100644 doc/html/classstk_1_1Socket.gif create mode 100644 doc/html/classstk_1_1Sphere.gif create mode 100644 doc/html/classstk_1_1StifKarp.gif create mode 100644 doc/html/classstk_1_1Stk.gif create mode 100644 doc/html/classstk_1_1TapDelay.gif create mode 100644 doc/html/classstk_1_1TcpClient.gif create mode 100644 doc/html/classstk_1_1TcpServer.gif create mode 100644 doc/html/classstk_1_1Thread.gif create mode 100644 doc/html/classstk_1_1TubeBell.gif create mode 100644 doc/html/classstk_1_1TwoPole.gif create mode 100644 doc/html/classstk_1_1TwoZero.gif create mode 100644 doc/html/classstk_1_1UdpSocket.gif create mode 100644 doc/html/classstk_1_1Vector3D.gif create mode 100644 doc/html/classstk_1_1VoicForm.gif create mode 100644 doc/html/classstk_1_1Voicer.gif create mode 100644 doc/html/classstk_1_1Whistle.gif create mode 100644 doc/html/classstk_1_1Wurley.gif create mode 100644 doc/html/classstk_1_1WvIn.gif create mode 100644 doc/html/classstk_1_1WvOut.gif create mode 100644 doc/html/dir_ca1e4533604ab7cb0cdaaff730a9c38f.html create mode 100644 doc/html/ftv2blank.png create mode 100644 doc/html/ftv2doc.png create mode 100644 doc/html/ftv2folderclosed.png create mode 100644 doc/html/ftv2folderopen.png create mode 100644 doc/html/ftv2lastnode.png create mode 100644 doc/html/ftv2link.png create mode 100644 doc/html/ftv2mlastnode.png create mode 100644 doc/html/ftv2mnode.png create mode 100644 doc/html/ftv2node.png create mode 100644 doc/html/ftv2plastnode.png create mode 100644 doc/html/ftv2pnode.png create mode 100644 doc/html/ftv2vertline.png create mode 100644 doc/html/main.html create mode 100644 doc/html/tree.html diff --git a/configure b/configure index 415aebc..d0ae403 100755 --- a/configure +++ b/configure @@ -1764,7 +1764,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. -ac_config_files="$ac_config_files src/Makefile projects/demo/Makefile projects/effects/Makefile projects/ragamatic/Makefile projects/examples/Makefile projects/examples/libMakefile" +ac_config_files="$ac_config_files Makefile src/Makefile projects/demo/Makefile projects/effects/Makefile projects/ragamatic/Makefile projects/examples/Makefile projects/examples/libMakefile" # Fill GXX with something before test. @@ -3661,7 +3661,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | else ac_cv_header_stdc=no fi -rm -f conftest* +rm -f -r conftest* fi @@ -3682,7 +3682,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | else ac_cv_header_stdc=no fi -rm -f conftest* +rm -f -r conftest* fi @@ -4469,7 +4469,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | byte_order=-D__LITTLE_ENDIAN__ fi -rm -f conftest* +rm -f -r conftest* { echo "$as_me:$LINENO: checking for RAWWAVE_PATH argument" >&5 @@ -6459,6 +6459,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF for ac_config_target in $ac_config_targets do case $ac_config_target in + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "projects/demo/Makefile") CONFIG_FILES="$CONFIG_FILES projects/demo/Makefile" ;; "projects/effects/Makefile") CONFIG_FILES="$CONFIG_FILES projects/effects/Makefile" ;; diff --git a/doc/html/ADSR_8h-source.html b/doc/html/ADSR_8h-source.html index 763a575..1c5ef37 100644 --- a/doc/html/ADSR_8h-source.html +++ b/doc/html/ADSR_8h-source.html @@ -38,7 +38,7 @@ 00036 00038 ~ADSR( void ); 00039 -00041 void keyOn( void ); +00041 void keyOn( void ); 00042 00044 void keyOff( void ); 00045 @@ -145,7 +145,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/ADSR_8h_source.html b/doc/html/ADSR_8h_source.html new file mode 100644 index 0000000..ae13087 --- /dev/null +++ b/doc/html/ADSR_8h_source.html @@ -0,0 +1,152 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

ADSR.h

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

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

+
+ + +
+

Asymp.h

00001 #ifndef STK_ASYMP_H
+00002 #define STK_ASYMP_H
+00003 
+00004 #include "Generator.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00031 /***************************************************/
+00032 
+00033 const StkFloat TARGET_THRESHOLD = 0.000001;
+00034 
+00035 class Asymp : public Generator
+00036 {
+00037  public:
+00038 
+00040   Asymp( void );
+00041 
+00043   ~Asymp( void );
+00044 
+00046   void keyOn( void );
+00047 
+00049   void keyOff( void );
+00050 
+00052 
+00058   void setTau( StkFloat tau );
+00059 
+00061   void setTime( StkFloat time );
+00062 
+00064   void setTarget( StkFloat target );
+00065 
+00067   void setValue( StkFloat value );
+00068 
+00070   int getState( void ) const { return state_; };
+00071 
+00073   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00074 
+00076   StkFloat tick( void );
+00077 
+00079 
+00086   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00087 
+00088  protected:
+00089 
+00090   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+00091 
+00092   StkFloat value_;
+00093   StkFloat target_;
+00094   StkFloat factor_;
+00095   StkFloat constant_;
+00096   int state_;
+00097 };
+00098 
+00099 inline StkFloat Asymp :: tick( void )
+00100 {
+00101   if ( state_ ) {
+00102 
+00103     value_ = factor_ * value_ + constant_;
+00104 
+00105     // Check threshold.
+00106     if ( target_ > value_ ) {
+00107       if ( target_ - value_ <= TARGET_THRESHOLD ) {
+00108         value_ = target_;
+00109         state_ = 0;
+00110       }
+00111     }
+00112     else {
+00113       if ( value_ - target_ <= TARGET_THRESHOLD ) {
+00114         value_ = target_;
+00115         state_ = 0;
+00116       }
+00117     }
+00118     lastFrame_[0] = value_;
+00119   }
+00120 
+00121   return value_;
+00122 }
+00123 
+00124 inline StkFrames& Asymp :: tick( StkFrames& frames, unsigned int channel )
+00125 {
+00126 #if defined(_STK_DEBUG_)
+00127   if ( channel >= frames.channels() ) {
+00128     errorString_ << "Asymp::tick(): channel and StkFrames arguments are incompatible!";
+00129     handleError( StkError::FUNCTION_ARGUMENT );
+00130   }
+00131 #endif
+00132 
+00133   StkFloat *samples = &frames[channel];
+00134   unsigned int hop = frames.channels();
+00135   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+00136     *samples = Asymp::tick();
+00137 
+00138   return frames;
+00139 }
+00140 
+00141 } // stk namespace
+00142 
+00143 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 4a784dd..f31864c 100644 --- a/doc/html/BandedWG_8h-source.html +++ b/doc/html/BandedWG_8h-source.html @@ -92,7 +92,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..e13a489 --- /dev/null +++ b/doc/html/BandedWG_8h_source.html @@ -0,0 +1,99 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

BandedWG.h

00001 #ifndef STK_BANDEDWG_H
+00002 #define STK_BANDEDWG_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "BowTable.h"
+00007 #include "ADSR.h"
+00008 #include "BiQuad.h"
+00009 
+00010 namespace stk {
+00011 
+00012 /***************************************************/
+00041 /***************************************************/
+00042 
+00043 const int MAX_BANDED_MODES = 20;
+00044 
+00045 class BandedWG : public Instrmnt
+00046 {
+00047  public:
+00049   BandedWG( void );
+00050 
+00052   ~BandedWG( void );
+00053 
+00055   void clear( void );
+00056 
+00058   void setStrikePosition( StkFloat position );
+00059 
+00061   void setPreset( int preset );
+00062 
+00064   void setFrequency( StkFloat frequency );
+00065 
+00067   void startBowing( StkFloat amplitude, StkFloat rate );
+00068 
+00070   void stopBowing( StkFloat rate );
+00071 
+00073   void pluck( StkFloat amp );
+00074 
+00076   void noteOn( StkFloat frequency, StkFloat amplitude );
+00077 
+00079   void noteOff( StkFloat amplitude );
+00080 
+00082   void controlChange( int number, StkFloat value );
+00083 
+00085   StkFloat tick( unsigned int channel = 0 );
+00086 
+00087  protected:
+00088 
+00089   bool doPluck_;
+00090   bool trackVelocity_;
+00091   int nModes_;
+00092   int presetModes_;
+00093   BowTable bowTable_;
+00094   ADSR     adsr_;
+00095   BiQuad   bandpass_[MAX_BANDED_MODES];
+00096   DelayL   delay_[MAX_BANDED_MODES];
+00097   StkFloat maxVelocity_;
+00098   StkFloat modes_[MAX_BANDED_MODES];
+00099   StkFloat frequency_;
+00100   StkFloat baseGain_;
+00101   StkFloat gains_[MAX_BANDED_MODES];
+00102   StkFloat basegains_[MAX_BANDED_MODES];
+00103   StkFloat excitation_[MAX_BANDED_MODES];
+00104   StkFloat integrationConstant_;
+00105   StkFloat velocityInput_;
+00106   StkFloat bowVelocity_;
+00107   StkFloat bowTarget_;
+00108   StkFloat bowPosition_;
+00109   StkFloat strikeAmp_;
+00110   int strikePosition_;
+00111 
+00112 };
+00113 
+00114 } // stk namespace
+00115 
+00116 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 d4bdfbb..7580c15 100644 --- a/doc/html/BeeThree_8h-source.html +++ b/doc/html/BeeThree_8h-source.html @@ -70,7 +70,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..8c40a4c --- /dev/null +++ b/doc/html/BeeThree_8h_source.html @@ -0,0 +1,77 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

BeeThree.h

00001 #ifndef STK_BEETHREE_H
+00002 #define STK_BEETHREE_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00040 /***************************************************/
+00041 
+00042 class BeeThree : public FM
+00043 {
+00044  public:
+00046 
+00049   BeeThree( void );
+00050 
+00052   ~BeeThree( void );
+00053 
+00055   void noteOn( StkFloat frequency, StkFloat amplitude );
+00056 
+00058   StkFloat tick( unsigned int channel = 0 );
+00059 
+00060  protected:
+00061 
+00062 };
+00063 
+00064 inline StkFloat BeeThree :: tick( unsigned int )
+00065 {
+00066   register StkFloat temp;
+00067 
+00068   if ( modDepth_ > 0.0 )   {
+00069     temp = 1.0 + ( modDepth_ * vibrato_.tick() * 0.1 );
+00070     waves_[0]->setFrequency( baseFrequency_ * temp * ratios_[0] );
+00071     waves_[1]->setFrequency( baseFrequency_ * temp * ratios_[1] );
+00072     waves_[2]->setFrequency( baseFrequency_ * temp * ratios_[2] );
+00073     waves_[3]->setFrequency( baseFrequency_ * temp * ratios_[3] );
+00074   }
+00075 
+00076   waves_[3]->addPhaseOffset( twozero_.lastOut() );
+00077   temp = control1_ * 2.0 * gains_[3] * adsr_[3]->tick() * waves_[3]->tick();
+00078   twozero_.tick( temp );
+00079 
+00080   temp += control2_ * 2.0 * gains_[2] * adsr_[2]->tick() * waves_[2]->tick();
+00081   temp += gains_[1] * adsr_[1]->tick() * waves_[1]->tick();
+00082   temp += gains_[0] * adsr_[0]->tick() * waves_[0]->tick();
+00083 
+00084   lastFrame_[0] = temp * 0.125;
+00085   return lastFrame_[0];
+00086 }
+00087 
+00088 } // stk namespace
+00089 
+00090 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 9b0c8a8..267d95e 100644 --- a/doc/html/BiQuad_8h-source.html +++ b/doc/html/BiQuad_8h-source.html @@ -141,7 +141,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..137321e --- /dev/null +++ b/doc/html/BiQuad_8h_source.html @@ -0,0 +1,148 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

BiQuad.h

00001 #ifndef STK_BIQUAD_H
+00002 #define STK_BIQUAD_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class BiQuad : public Filter
+00021 {
+00022 public:
+00023 
+00025   BiQuad();
+00026 
+00028   ~BiQuad();
+00029 
+00031   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
+00032 
+00034   void setCoefficients( StkFloat b0, StkFloat b1, StkFloat b2, StkFloat a1, StkFloat a2, bool clearState = false );
+00035 
+00037   void setB0( StkFloat b0 ) { b_[0] = b0; };
+00038 
+00040   void setB1( StkFloat b1 ) { b_[1] = b1; };
+00041 
+00043   void setB2( StkFloat b2 ) { b_[2] = b2; };
+00044 
+00046   void setA1( StkFloat a1 ) { a_[1] = a1; };
+00047 
+00049   void setA2( StkFloat a2 ) { a_[2] = a2; };
+00050 
+00052 
+00063   void setResonance( StkFloat frequency, StkFloat radius, bool normalize = false );
+00064 
+00066 
+00072   void setNotch( StkFloat frequency, StkFloat radius );
+00073 
+00075 
+00081   void setEqualGainZeroes( void );
+00082 
+00084   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00085 
+00087   StkFloat tick( StkFloat input );
+00088 
+00090 
+00098   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00099 
+00101 
+00109   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00110 
+00111  protected:
+00112 
+00113   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+00114 };
+00115 
+00116 inline StkFloat BiQuad :: tick( StkFloat input )
+00117 {
+00118   inputs_[0] = gain_ * input;
+00119   lastFrame_[0] = b_[0] * inputs_[0] + b_[1] * inputs_[1] + b_[2] * inputs_[2];
+00120   lastFrame_[0] -= a_[2] * outputs_[2] + a_[1] * outputs_[1];
+00121   inputs_[2] = inputs_[1];
+00122   inputs_[1] = inputs_[0];
+00123   outputs_[2] = outputs_[1];
+00124   outputs_[1] = lastFrame_[0];
+00125 
+00126   return lastFrame_[0];
+00127 }
+00128 
+00129 inline StkFrames& BiQuad :: tick( StkFrames& frames, unsigned int channel )
+00130 {
+00131 #if defined(_STK_DEBUG_)
+00132   if ( channel >= frames.channels() ) {
+00133     errorString_ << "BiQuad::tick(): channel and StkFrames arguments are incompatible!";
+00134     handleError( StkError::FUNCTION_ARGUMENT );
+00135   }
+00136 #endif
+00137 
+00138   StkFloat *samples = &frames[channel];
+00139   unsigned int hop = frames.channels();
+00140   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00141     inputs_[0] = gain_ * *samples;
+00142     *samples = b_[0] * inputs_[0] + b_[1] * inputs_[1] + b_[2] * inputs_[2];
+00143     *samples -= a_[2] * outputs_[2] + a_[1] * outputs_[1];
+00144     inputs_[2] = inputs_[1];
+00145     inputs_[1] = inputs_[0];
+00146     outputs_[2] = outputs_[1];
+00147     outputs_[1] = *samples;
+00148   }
+00149 
+00150   lastFrame_[0] = outputs_[1];
+00151   return frames;
+00152 }
+00153 
+00154 inline StkFrames& BiQuad :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00155 {
+00156 #if defined(_STK_DEBUG_)
+00157   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00158     errorString_ << "BiQuad::tick(): channel and StkFrames arguments are incompatible!";
+00159     handleError( StkError::FUNCTION_ARGUMENT );
+00160   }
+00161 #endif
+00162 
+00163   StkFloat *iSamples = &iFrames[iChannel];
+00164   StkFloat *oSamples = &oFrames[oChannel];
+00165   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00166   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00167     inputs_[0] = gain_ * *iSamples;
+00168     *oSamples = b_[0] * inputs_[0] + b_[1] * inputs_[1] + b_[2] * inputs_[2];
+00169     *oSamples -= a_[2] * outputs_[2] + a_[1] * outputs_[1];
+00170     inputs_[2] = inputs_[1];
+00171     inputs_[1] = inputs_[0];
+00172     outputs_[2] = outputs_[1];
+00173     outputs_[1] = *oSamples;
+00174   }
+00175 
+00176   lastFrame_[0] = outputs_[1];
+00177   return iFrames;
+00178 }
+00179 
+00180 } // stk namespace
+00181 
+00182 #endif
+00183 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/BlitSaw_8h-source.html b/doc/html/BlitSaw_8h-source.html index ce0c0ee..456f6fe 100644 --- a/doc/html/BlitSaw_8h-source.html +++ b/doc/html/BlitSaw_8h-source.html @@ -122,7 +122,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/BlitSaw_8h_source.html b/doc/html/BlitSaw_8h_source.html new file mode 100644 index 0000000..8a3742d --- /dev/null +++ b/doc/html/BlitSaw_8h_source.html @@ -0,0 +1,129 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

BlitSaw.h

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

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

+
+ + +
+

BlitSquare.h

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

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

+
+ + +
+

Blit.h

00001 #ifndef STK_BLIT_H
+00002 #define STK_BLIT_H
+00003 
+00004 #include "Generator.h"
+00005 #include <cmath>
+00006 #include <limits>
+00007 
+00008 namespace stk {
+00009 
+00010 /***************************************************/
+00031 /***************************************************/
+00032 
+00033 class Blit: public Generator
+00034 {
+00035  public:
+00037   Blit( StkFloat frequency = 220.0 );
+00038 
+00040   ~Blit();
+00041 
+00043   void reset();
+00044 
+00046 
+00049   void setPhase( StkFloat phase ) { phase_ = PI * phase; };
+00050 
+00052 
+00055   StkFloat getPhase() const { return phase_ / PI; };
+00056 
+00058   void setFrequency( StkFloat frequency );
+00059 
+00061 
+00073   void setHarmonics( unsigned int nHarmonics = 0 );
+00074 
+00076   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00077 
+00079   StkFloat tick( void );
+00080 
+00082 
+00089   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00090 
+00091  protected:
+00092 
+00093   void updateHarmonics( void );
+00094 
+00095   unsigned int nHarmonics_;
+00096   unsigned int m_;
+00097   StkFloat rate_;
+00098   StkFloat phase_;
+00099   StkFloat p_;
+00100 
+00101 };
+00102 
+00103 inline StkFloat Blit :: tick( void )
+00104 {
+00105   // The code below implements the SincM algorithm of Stilson and
+00106   // Smith with an additional scale factor of P / M applied to
+00107   // normalize the output.
+00108 
+00109   // A fully optimized version of this code would replace the two sin
+00110   // calls with a pair of fast sin oscillators, for which stable fast
+00111   // two-multiply algorithms are well known. In the spirit of STK,
+00112   // which favors clarity over performance, the optimization has not
+00113   // been made here.
+00114 
+00115   // Avoid a divide by zero at the sinc peak, which has a limiting
+00116   // value of 1.0.
+00117   StkFloat tmp, denominator = sin( phase_ );
+00118   if ( denominator <= std::numeric_limits<StkFloat>::epsilon() )
+00119     tmp = 1.0;
+00120   else {
+00121     tmp =  sin( m_ * phase_ );
+00122     tmp /= m_ * denominator;
+00123   }
+00124 
+00125   phase_ += rate_;
+00126   if ( phase_ >= PI ) phase_ -= PI;
+00127 
+00128   lastFrame_[0] = tmp;
+00129          return lastFrame_[0];
+00130 }
+00131 
+00132 inline StkFrames& Blit :: tick( StkFrames& frames, unsigned int channel )
+00133 {
+00134 #if defined(_STK_DEBUG_)
+00135   if ( channel >= frames.channels() ) {
+00136     errorString_ << "Blit::tick(): channel and StkFrames arguments are incompatible!";
+00137     handleError( StkError::FUNCTION_ARGUMENT );
+00138   }
+00139 #endif
+00140 
+00141   StkFloat *samples = &frames[channel];
+00142   unsigned int hop = frames.channels();
+00143   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+00144     *samples = Blit::tick();
+00145 
+00146   return frames;
+00147 }
+00148 
+00149 } // stk namespace
+00150 
+00151 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 6ad5d33..b3bd739 100644 --- a/doc/html/BlowBotl_8h-source.html +++ b/doc/html/BlowBotl_8h-source.html @@ -97,7 +97,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..d7fef83 --- /dev/null +++ b/doc/html/BlowBotl_8h_source.html @@ -0,0 +1,104 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

BlowBotl.h

00001 #ifndef STK_BLOWBOTL_H
+00002 #define STK_BLOWBOTL_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "JetTable.h"
+00006 #include "BiQuad.h"
+00007 #include "PoleZero.h"
+00008 #include "Noise.h"
+00009 #include "ADSR.h"
+00010 #include "SineWave.h"
+00011 
+00012 namespace stk {
+00013 
+00014 /***************************************************/
+00030 /***************************************************/
+00031 
+00032 class BlowBotl : public Instrmnt
+00033 {
+00034  public:
+00036 
+00039   BlowBotl( void );
+00040 
+00042   ~BlowBotl( void );
+00043 
+00045   void clear( void );
+00046 
+00048   void setFrequency( StkFloat frequency );
+00049 
+00051   void startBlowing( StkFloat amplitude, StkFloat rate );
+00052 
+00054   void stopBlowing( StkFloat rate );
+00055 
+00057   void noteOn( StkFloat frequency, StkFloat amplitude );
+00058 
+00060   void noteOff( StkFloat amplitude );
+00061 
+00063   void controlChange( int number, StkFloat value );
+00064 
+00066   StkFloat tick( unsigned int channel = 0 );
+00067 
+00068  protected:
+00069 
+00070   JetTable jetTable_;
+00071   BiQuad resonator_;
+00072   PoleZero dcBlock_;
+00073   Noise noise_;
+00074   ADSR adsr_;
+00075   SineWave vibrato_;
+00076   StkFloat maxPressure_;
+00077   StkFloat noiseGain_;
+00078   StkFloat vibratoGain_;
+00079   StkFloat outputGain_;
+00080 
+00081 };
+00082 
+00083 inline StkFloat BlowBotl :: tick( unsigned int )
+00084 {
+00085   StkFloat breathPressure;
+00086   StkFloat randPressure;
+00087   StkFloat pressureDiff;
+00088 
+00089   // Calculate the breath pressure (envelope + vibrato)
+00090   breathPressure = maxPressure_ * adsr_.tick();
+00091   breathPressure += vibratoGain_ * vibrato_.tick();
+00092 
+00093   pressureDiff = breathPressure - resonator_.lastOut();
+00094 
+00095   randPressure = noiseGain_ * noise_.tick();
+00096   randPressure *= breathPressure;
+00097   randPressure *= (1.0 + pressureDiff);
+00098 
+00099   resonator_.tick( breathPressure + randPressure - ( jetTable_.tick( pressureDiff ) * pressureDiff ) );
+00100   lastFrame_[0] = 0.2 * outputGain_ * dcBlock_.tick( pressureDiff );
+00101 
+00102   return lastFrame_[0];
+00103 }
+00104 
+00105 } // stk namespace
+00106 
+00107 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 4cfbd52..f43dba0 100644 --- a/doc/html/BlowHole_8h-source.html +++ b/doc/html/BlowHole_8h-source.html @@ -120,7 +120,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..98073ad --- /dev/null +++ b/doc/html/BlowHole_8h_source.html @@ -0,0 +1,127 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

BlowHole.h

00001 #ifndef STK_BLOWHOLE_H
+00002 #define STK_BLOWHOLE_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "ReedTable.h"
+00007 #include "OneZero.h"
+00008 #include "PoleZero.h"
+00009 #include "Envelope.h"
+00010 #include "Noise.h"
+00011 #include "SineWave.h"
+00012 
+00013 namespace stk {
+00014 
+00015 /***************************************************/
+00048 /***************************************************/
+00049 
+00050 class BlowHole : public Instrmnt
+00051 {
+00052  public:
+00054 
+00057   BlowHole( StkFloat lowestFrequency );
+00058 
+00060   ~BlowHole( void );
+00061 
+00063   void clear( void );
+00064 
+00066   void setFrequency( StkFloat frequency );
+00067 
+00069   void setTonehole( StkFloat newValue );
+00070 
+00072   void setVent( StkFloat newValue );
+00073 
+00075   void startBlowing( StkFloat amplitude, StkFloat rate );
+00076 
+00078   void stopBlowing( StkFloat rate );
+00079 
+00081   void noteOn( StkFloat frequency, StkFloat amplitude );
+00082 
+00084   void noteOff( StkFloat amplitude );
+00085 
+00087   void controlChange( int number, StkFloat value );
+00088 
+00090   StkFloat tick( unsigned int channel = 0 );
+00091 
+00092  protected:
+00093 
+00094   DelayL    delays_[3];
+00095   ReedTable reedTable_;
+00096   OneZero   filter_;
+00097   PoleZero  tonehole_;
+00098   PoleZero  vent_;
+00099   Envelope  envelope_;
+00100   Noise     noise_;
+00101   SineWave vibrato_;
+00102   unsigned long length_;
+00103   StkFloat scatter_;
+00104   StkFloat thCoeff_;
+00105   StkFloat rhGain_;
+00106   StkFloat outputGain_;
+00107   StkFloat noiseGain_;
+00108   StkFloat vibratoGain_;
+00109 
+00110 };
+00111 
+00112   inline StkFloat BlowHole :: tick( unsigned int )
+00113 {
+00114   StkFloat pressureDiff;
+00115   StkFloat breathPressure;
+00116   StkFloat temp;
+00117 
+00118   // Calculate the breath pressure (envelope + noise + vibrato)
+00119   breathPressure = envelope_.tick(); 
+00120   breathPressure += breathPressure * noiseGain_ * noise_.tick();
+00121   breathPressure += breathPressure * vibratoGain_ * vibrato_.tick();
+00122 
+00123   // Calculate the differential pressure = reflected - mouthpiece pressures
+00124   pressureDiff = delays_[0].lastOut() - breathPressure;
+00125 
+00126   // Do two-port junction scattering for register vent
+00127   StkFloat pa = breathPressure + pressureDiff * reedTable_.tick( pressureDiff );
+00128   StkFloat pb = delays_[1].lastOut();
+00129   vent_.tick( pa+pb );
+00130 
+00131   lastFrame_[0] = delays_[0].tick( vent_.lastOut()+pb );
+00132   lastFrame_[0] *= outputGain_;
+00133 
+00134   // Do three-port junction scattering (under tonehole)
+00135   pa += vent_.lastOut();
+00136   pb = delays_[2].lastOut();
+00137   StkFloat pth = tonehole_.lastOut();
+00138   temp = scatter_ * (pa + pb - 2 * pth);
+00139 
+00140   delays_[2].tick( filter_.tick(pa + temp) * -0.95 );
+00141   delays_[1].tick( pb + temp );
+00142   tonehole_.tick( pa + pb - pth + temp );
+00143 
+00144   return lastFrame_[0];
+00145 }
+00146 
+00147 } // stk namespace
+00148 
+00149 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/BowTable_8h-source.html b/doc/html/BowTable_8h-source.html index 072e82a..3810456 100644 --- a/doc/html/BowTable_8h-source.html +++ b/doc/html/BowTable_8h-source.html @@ -121,7 +121,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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..117d5e6 --- /dev/null +++ b/doc/html/BowTable_8h_source.html @@ -0,0 +1,128 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

BowTable.h

00001 #ifndef STK_BOWTABL_H
+00002 #define STK_BOWTABL_H
+00003 
+00004 #include "Function.h"
+00005 #include <cmath>
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class BowTable : public Function
+00021 {
+00022 public:
+00024   BowTable( void ) : offset_(0.0), slope_(0.1) {};
+00025 
+00027 
+00033   void setOffset( StkFloat offset ) { offset_ = offset; };
+00034 
+00036 
+00040   void setSlope( StkFloat slope ) { slope_ = slope; };
+00041 
+00043   StkFloat tick( StkFloat input );
+00044 
+00046 
+00054   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00055 
+00057 
+00065   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00066 
+00067 protected:
+00068 
+00069   StkFloat offset_;
+00070   StkFloat slope_;
+00071 
+00072 };
+00073 
+00074 inline StkFloat BowTable :: tick( StkFloat input )
+00075 {
+00076   // The input represents differential string vs. bow velocity.
+00077   StkFloat sample  = input + offset_;  // add bias to input
+00078   sample *= slope_;          // then scale it
+00079   lastFrame_[0] = (StkFloat) fabs( (double) sample ) + (StkFloat) 0.75;
+00080   lastFrame_[0] = (StkFloat) pow( lastFrame_[0], (StkFloat) -4.0 );
+00081 
+00082   // Set minimum friction to 0.0
+00083   // if ( lastFrame_[0] < 0.0 ) lastFrame_[0] = 0.0;
+00084 
+00085   // Set maximum friction to 1.0.
+00086   if ( lastFrame_[0] > 1.0 ) lastFrame_[0] = (StkFloat) 1.0;
+00087 
+00088   return lastFrame_[0];
+00089 }
+00090 
+00091 inline StkFrames& BowTable :: tick( StkFrames& frames, unsigned int channel )
+00092 {
+00093 #if defined(_STK_DEBUG_)
+00094   if ( channel >= frames.channels() ) {
+00095     errorString_ << "BowTable::tick(): channel and StkFrames arguments are incompatible!";
+00096     handleError( StkError::FUNCTION_ARGUMENT );
+00097   }
+00098 #endif
+00099 
+00100   StkFloat *samples = &frames[channel];
+00101   unsigned int hop = frames.channels();
+00102   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00103     *samples = *samples + offset_;
+00104     *samples *= slope_;
+00105     *samples = (StkFloat) fabs( (double) *samples ) + 0.75;
+00106     *samples = (StkFloat) pow( *samples, (StkFloat) -4.0 );
+00107     if ( *samples > 1.0) *samples = 1.0;
+00108   }
+00109 
+00110   lastFrame_[0] = *(samples-hop);
+00111   return frames;
+00112 }
+00113 
+00114 inline StkFrames& BowTable :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00115 {
+00116 #if defined(_STK_DEBUG_)
+00117   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00118     errorString_ << "BowTable::tick(): channel and StkFrames arguments are incompatible!";
+00119     handleError( StkError::FUNCTION_ARGUMENT );
+00120   }
+00121 #endif
+00122 
+00123   StkFloat *iSamples = &iFrames[iChannel];
+00124   StkFloat *oSamples = &oFrames[oChannel];
+00125   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00126   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00127     *oSamples = *iSamples + offset_;
+00128     *oSamples *= slope_;
+00129     *oSamples = (StkFloat) fabs( (double) *oSamples ) + 0.75;
+00130     *oSamples = (StkFloat) pow( *oSamples, (StkFloat) -4.0 );
+00131     if ( *oSamples > 1.0) *oSamples = 1.0;
+00132   }
+00133 
+00134   lastFrame_[0] = *(oSamples-oHop);
+00135   return iFrames;
+00136 }
+00137 
+00138 } // stk namespace
+00139 
+00140 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 f3d6227..298a440 100644 --- a/doc/html/Bowed_8h-source.html +++ b/doc/html/Bowed_8h-source.html @@ -98,7 +98,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..87e1cb5 --- /dev/null +++ b/doc/html/Bowed_8h_source.html @@ -0,0 +1,105 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Bowed.h

00001 #ifndef STK_BOWED_H
+00002 #define STK_BOWED_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "BowTable.h"
+00007 #include "OnePole.h"
+00008 #include "BiQuad.h"
+00009 #include "SineWave.h"
+00010 #include "ADSR.h"
+00011 
+00012 namespace stk {
+00013 
+00014 /***************************************************/
+00035 /***************************************************/
+00036 
+00037 class Bowed : public Instrmnt
+00038 {
+00039  public:
+00041   Bowed( StkFloat lowestFrequency );
+00042 
+00044   ~Bowed( void );
+00045 
+00047   void clear( void );
+00048 
+00050   void setFrequency( StkFloat frequency );
+00051 
+00053   void setVibrato( StkFloat gain );
+00054 
+00056   void startBowing( StkFloat amplitude, StkFloat rate );
+00057 
+00059   void stopBowing( StkFloat rate );
+00060 
+00062   void noteOn( StkFloat frequency, StkFloat amplitude );
+00063 
+00065   void noteOff( StkFloat amplitude );
+00066 
+00068   void controlChange( int number, StkFloat value );
+00069 
+00071   StkFloat tick( unsigned int channel = 0 );
+00072 
+00073  protected:
+00074 
+00075   DelayL   neckDelay_;
+00076   DelayL   bridgeDelay_;
+00077   BowTable bowTable_;
+00078   OnePole  stringFilter_;
+00079   BiQuad   bodyFilter_;
+00080   SineWave vibrato_;
+00081   ADSR     adsr_;
+00082   StkFloat maxVelocity_;
+00083   StkFloat baseDelay_;
+00084   StkFloat vibratoGain_;
+00085   StkFloat betaRatio_;
+00086 
+00087 };
+00088 
+00089 inline StkFloat Bowed :: tick( unsigned int )
+00090 {
+00091   StkFloat bowVelocity = maxVelocity_ * adsr_.tick();
+00092   StkFloat bridgeRefl = -stringFilter_.tick( bridgeDelay_.lastOut() );
+00093   StkFloat nutRefl = -neckDelay_.lastOut();
+00094   StkFloat stringVel = bridgeRefl + nutRefl;               // Sum is string velocity
+00095   StkFloat velDiff = bowVelocity - stringVel;              // Differential velocity
+00096   StkFloat newVel = velDiff * bowTable_.tick( velDiff );   // Non-Linear bow function
+00097   neckDelay_.tick(bridgeRefl + newVel);                    // Do string propagations
+00098   bridgeDelay_.tick(nutRefl + newVel);
+00099     
+00100   if ( vibratoGain_ > 0.0 )  {
+00101     neckDelay_.setDelay( (baseDelay_ * (1.0 - betaRatio_) ) + 
+00102                          (baseDelay_ * vibratoGain_ * vibrato_.tick()) );
+00103   }
+00104 
+00105   lastFrame_[0] = bodyFilter_.tick( bridgeDelay_.lastOut() );
+00106 
+00107   return lastFrame_[0];
+00108 }
+00109 
+00110 } // stk namespace
+00111 
+00112 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 0ea0d69..5c8fdbb 100644 --- a/doc/html/Brass_8h-source.html +++ b/doc/html/Brass_8h-source.html @@ -95,7 +95,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..83517a9 --- /dev/null +++ b/doc/html/Brass_8h_source.html @@ -0,0 +1,102 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Brass.h

00001 #ifndef STK_BRASS_H
+00002 #define STK_BRASS_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayA.h"
+00006 #include "BiQuad.h"
+00007 #include "PoleZero.h"
+00008 #include "ADSR.h"
+00009 #include "SineWave.h"
+00010 
+00011 namespace stk {
+00012 
+00013 /***************************************************/
+00033 /***************************************************/
+00034 
+00035 class Brass: public Instrmnt
+00036 {
+00037  public:
+00039 
+00042   Brass( StkFloat lowestFrequency );
+00043 
+00045   ~Brass(  );
+00046 
+00048   void clear(  );
+00049 
+00051   void setFrequency( StkFloat frequency );
+00052 
+00054   void setLip( StkFloat frequency );
+00055 
+00057   void startBlowing( StkFloat amplitude, StkFloat rate );
+00058 
+00060   void stopBlowing( StkFloat rate );
+00061 
+00063   void noteOn( StkFloat frequency, StkFloat amplitude );
+00064 
+00066   void noteOff( StkFloat amplitude );
+00067 
+00069   void controlChange( int number, StkFloat value );
+00070 
+00072   StkFloat tick( unsigned int channel = 0 );
+00073 
+00074  protected:
+00075 
+00076   DelayA   delayLine_;
+00077   BiQuad   lipFilter_;
+00078   PoleZero dcBlock_;
+00079   ADSR     adsr_;
+00080   SineWave vibrato_;
+00081   unsigned long length_;
+00082   StkFloat lipTarget_;
+00083   StkFloat slideTarget_;
+00084   StkFloat vibratoGain_;
+00085   StkFloat maxPressure_;
+00086 
+00087 };
+00088 
+00089 inline StkFloat Brass :: tick( unsigned int )
+00090 {
+00091   StkFloat breathPressure = maxPressure_ * adsr_.tick();
+00092   breathPressure += vibratoGain_ * vibrato_.tick();
+00093 
+00094   StkFloat mouthPressure = 0.3 * breathPressure;
+00095   StkFloat borePressure = 0.85 * delayLine_.lastOut();
+00096   StkFloat deltaPressure = mouthPressure - borePressure; // Differential pressure.
+00097   deltaPressure = lipFilter_.tick( deltaPressure );      // Force - > position.
+00098   deltaPressure *= deltaPressure;                        // Basic position to area mapping.
+00099   if ( deltaPressure > 1.0 ) deltaPressure = 1.0;        // Non-linear saturation.
+00100 
+00101   // The following input scattering assumes the mouthPressure = area.
+00102   lastFrame_[0] = deltaPressure * mouthPressure + ( 1.0 - deltaPressure) * borePressure;
+00103   lastFrame_[0] = delayLine_.tick( dcBlock_.tick( lastFrame_[0] ) );
+00104 
+00105   return lastFrame_[0];
+00106 }
+00107 
+00108 } // stk namespace
+00109 
+00110 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 4e190ca..14ee073 100644 --- a/doc/html/Chorus_8h-source.html +++ b/doc/html/Chorus_8h-source.html @@ -138,7 +138,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..e7ff49d --- /dev/null +++ b/doc/html/Chorus_8h_source.html @@ -0,0 +1,145 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Chorus.h

00001 #ifndef STK_CHORUS_H
+00002 #define STK_CHORUS_H
+00003 
+00004 #include "Effect.h"
+00005 #include "DelayL.h"
+00006 #include "SineWave.h"
+00007 
+00008 namespace stk {
+00009 
+00010 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class Chorus : public Effect
+00022 {
+00023  public:
+00025 
+00028   Chorus( StkFloat baseDelay = 6000 );
+00029 
+00031   void clear( void );
+00032 
+00034   void setModDepth( StkFloat depth ) { modDepth_ = depth; };
+00035 
+00037   void setModFrequency( StkFloat frequency );
+00038 
+00040 
+00048   StkFloat lastOut( unsigned int channel = 0 );
+00049 
+00051 
+00058   StkFloat tick( StkFloat input, unsigned int channel = 0 );
+00059 
+00061 
+00070   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00071 
+00073 
+00082   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00083 
+00084  protected:
+00085 
+00086   DelayL delayLine_[2];
+00087   SineWave mods_[2];
+00088   StkFloat baseLength_;
+00089   StkFloat modDepth_;
+00090 
+00091 };
+00092 
+00093 inline StkFloat Chorus :: lastOut( unsigned int channel )
+00094 {
+00095 #if defined(_STK_DEBUG_)
+00096   if ( channel > 1 ) {
+00097     errorString_ << "Chorus::lastOut(): channel argument must be less than 2!";
+00098     handleError( StkError::FUNCTION_ARGUMENT );
+00099   }
+00100 #endif
+00101 
+00102   return lastFrame_[channel];
+00103 }
+00104 
+00105 inline StkFloat Chorus :: tick( StkFloat input, unsigned int channel )
+00106 {
+00107 #if defined(_STK_DEBUG_)
+00108   if ( channel > 1 ) {
+00109     errorString_ << "Chorus::tick(): channel argument must be less than 2!";
+00110     handleError( StkError::FUNCTION_ARGUMENT );
+00111   }
+00112 #endif
+00113 
+00114   delayLine_[0].setDelay( baseLength_ * 0.707 * ( 1.0 + modDepth_ * mods_[0].tick() ) );
+00115   delayLine_[1].setDelay( baseLength_  * 0.5 *  ( 1.0 - modDepth_ * mods_[1].tick() ) );
+00116   lastFrame_[0] = effectMix_ * ( delayLine_[0].tick( input ) - input ) + input;
+00117   lastFrame_[1] = effectMix_ * ( delayLine_[1].tick( input ) - input ) + input;
+00118   return lastFrame_[channel];
+00119 }
+00120 
+00121 inline StkFrames& Chorus :: tick( StkFrames& frames, unsigned int channel )
+00122 {
+00123 #if defined(_STK_DEBUG_)
+00124   if ( channel >= frames.channels() - 1 ) {
+00125     errorString_ << "Chorus::tick(): channel and StkFrames arguments are incompatible!";
+00126     handleError( StkError::FUNCTION_ARGUMENT );
+00127   }
+00128 #endif
+00129 
+00130   StkFloat *samples = &frames[channel];
+00131   unsigned int hop = frames.channels() - 1;
+00132   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00133     *samples = effectMix_ * ( delayLine_[0].tick( *samples ) - *samples ) + *samples;
+00134     samples++;
+00135     *samples = effectMix_ * ( delayLine_[1].tick( *samples ) - *samples ) + *samples;
+00136   }
+00137 
+00138   lastFrame_[0] = *(samples-hop);
+00139   lastFrame_[1] = *(samples-hop+1);
+00140   return frames;
+00141 }
+00142 
+00143 inline StkFrames& Chorus :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00144 {
+00145 #if defined(_STK_DEBUG_)
+00146   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() - 1 ) {
+00147     errorString_ << "Chorus::tick(): channel and StkFrames arguments are incompatible!";
+00148     handleError( StkError::FUNCTION_ARGUMENT );
+00149   }
+00150 #endif
+00151 
+00152   StkFloat *iSamples = &iFrames[iChannel];
+00153   StkFloat *oSamples = &oFrames[oChannel];
+00154   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00155   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00156     *oSamples++ = effectMix_ * ( delayLine_[0].tick( *iSamples ) - *iSamples ) + *iSamples;
+00157     *oSamples = effectMix_ * ( delayLine_[1].tick( *iSamples ) - *iSamples ) + *iSamples;
+00158   }
+00159 
+00160   lastFrame_[0] = *(oSamples-oHop);
+00161   lastFrame_[1] = *(oSamples-oHop+1);
+00162   return iFrames;
+00163 }
+00164 
+00165 } // stk namespace
+00166 
+00167 #endif
+00168 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 7d969d1..030669f 100644 --- a/doc/html/Clarinet_8h-source.html +++ b/doc/html/Clarinet_8h-source.html @@ -100,7 +100,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..976bbbd --- /dev/null +++ b/doc/html/Clarinet_8h_source.html @@ -0,0 +1,107 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Clarinet.h

00001 #ifndef STK_CLARINET_H
+00002 #define STK_CLARINET_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "ReedTable.h"
+00007 #include "OneZero.h"
+00008 #include "Envelope.h"
+00009 #include "Noise.h"
+00010 #include "SineWave.h"
+00011 
+00012 namespace stk {
+00013 
+00014 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 class Clarinet : public Instrmnt
+00039 {
+00040  public:
+00042 
+00045   Clarinet( StkFloat lowestFrequency );
+00046 
+00048   ~Clarinet( void );
+00049 
+00051   void clear( void );
+00052 
+00054   void setFrequency( StkFloat frequency );
+00055 
+00057   void startBlowing( StkFloat amplitude, StkFloat rate );
+00058 
+00060   void stopBlowing( StkFloat rate );
+00061 
+00063   void noteOn( StkFloat frequency, StkFloat amplitude );
+00064 
+00066   void noteOff( StkFloat amplitude );
+00067 
+00069   void controlChange( int number, StkFloat value );
+00070 
+00072   StkFloat tick( unsigned int channel = 0 );
+00073 
+00074  protected:
+00075 
+00076   DelayL delayLine_;
+00077   ReedTable reedTable_;
+00078   OneZero filter_;
+00079   Envelope envelope_;
+00080   Noise noise_;
+00081   SineWave vibrato_;
+00082   long length_;
+00083   StkFloat outputGain_;
+00084   StkFloat noiseGain_;
+00085   StkFloat vibratoGain_;
+00086 
+00087 };
+00088 
+00089 inline StkFloat Clarinet :: tick( unsigned int )
+00090 {
+00091   StkFloat pressureDiff;
+00092   StkFloat breathPressure;
+00093 
+00094   // Calculate the breath pressure (envelope + noise + vibrato)
+00095   breathPressure = envelope_.tick(); 
+00096   breathPressure += breathPressure * noiseGain_ * noise_.tick();
+00097   breathPressure += breathPressure * vibratoGain_ * vibrato_.tick();
+00098 
+00099   // Perform commuted loss filtering.
+00100   pressureDiff = -0.95 * filter_.tick( delayLine_.lastOut() );
+00101 
+00102   // Calculate pressure difference of reflected and mouthpiece pressures.
+00103   pressureDiff = pressureDiff - breathPressure;
+00104 
+00105   // Perform non-linear scattering using pressure difference in reed function.
+00106   lastFrame_[0] = delayLine_.tick(breathPressure + pressureDiff * reedTable_.tick(pressureDiff));
+00107 
+00108   // Apply output gain.
+00109   lastFrame_[0] *= outputGain_;
+00110 
+00111   return lastFrame_[0];
+00112 }
+00113 
+00114 } // stk namespace
+00115 
+00116 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 25c5e7d..d3074c9 100644 --- a/doc/html/DelayA_8h-source.html +++ b/doc/html/DelayA_8h-source.html @@ -157,7 +157,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..483c214 --- /dev/null +++ b/doc/html/DelayA_8h_source.html @@ -0,0 +1,164 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

DelayA.h

00001 #ifndef STK_DELAYA_H
+00002 #define STK_DELAYA_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00026 /***************************************************/
+00027 
+00028 class DelayA : public Filter
+00029 {
+00030 public:
+00031 
+00033 
+00038   DelayA( StkFloat delay = 0.5, unsigned long maxDelay = 4095 );
+00039 
+00041   ~DelayA();
+00042 
+00044   void clear( void );
+00045   
+00047 
+00054   void setMaximumDelay( unsigned long delay );
+00055 
+00057 
+00060   void setDelay( StkFloat delay );
+00061 
+00063   StkFloat getDelay( void ) const { return delay_; };
+00064 
+00066 
+00071   StkFloat contentsAt( unsigned long tapDelay );
+00072 
+00074   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00075 
+00077 
+00080   StkFloat nextOut( void );
+00081 
+00083   StkFloat tick( StkFloat input );
+00084 
+00086 
+00094   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00095 
+00097 
+00105   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00106 
+00107 protected:  
+00108 
+00109   unsigned long inPoint_;
+00110   unsigned long outPoint_;
+00111   StkFloat delay_;
+00112   StkFloat alpha_;
+00113   StkFloat coeff_;
+00114   StkFloat apInput_;
+00115   StkFloat nextOutput_;
+00116   bool doNextOut_;
+00117 };
+00118 
+00119 inline StkFloat DelayA :: nextOut( void )
+00120 {
+00121   if ( doNextOut_ ) {
+00122     // Do allpass interpolation delay.
+00123     nextOutput_ = -coeff_ * lastFrame_[0];
+00124     nextOutput_ += apInput_ + ( coeff_ * inputs_[outPoint_] );
+00125     doNextOut_ = false;
+00126   }
+00127 
+00128   return nextOutput_;
+00129 }
+00130 
+00131 inline StkFloat DelayA :: tick( StkFloat input )
+00132 {
+00133   inputs_[inPoint_++] = input * gain_;
+00134 
+00135   // Increment input pointer modulo length.
+00136   if ( inPoint_ == inputs_.size() )
+00137     inPoint_ = 0;
+00138 
+00139   lastFrame_[0] = nextOut();
+00140   doNextOut_ = true;
+00141 
+00142   // Save the allpass input and increment modulo length.
+00143   apInput_ = inputs_[outPoint_++];
+00144   if ( outPoint_ == inputs_.size() )
+00145     outPoint_ = 0;
+00146 
+00147   return lastFrame_[0];
+00148 }
+00149 
+00150 inline StkFrames& DelayA :: tick( StkFrames& frames, unsigned int channel )
+00151 {
+00152 #if defined(_STK_DEBUG_)
+00153   if ( channel >= frames.channels() ) {
+00154     errorString_ << "DelayA::tick(): channel and StkFrames arguments are incompatible!";
+00155     handleError( StkError::FUNCTION_ARGUMENT );
+00156   }
+00157 #endif
+00158 
+00159   StkFloat *samples = &frames[channel];
+00160   unsigned int hop = frames.channels();
+00161   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00162     inputs_[inPoint_++] = *samples * gain_;
+00163     if ( inPoint_ == inputs_.size() ) inPoint_ = 0;
+00164     *samples = nextOut();
+00165     lastFrame_[0] = *samples;
+00166     doNextOut_ = true;
+00167     apInput_ = inputs_[outPoint_++];
+00168     if ( outPoint_ == inputs_.size() ) outPoint_ = 0;
+00169   }
+00170 
+00171   return frames;
+00172 }
+00173 
+00174 inline StkFrames& DelayA :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00175 {
+00176 #if defined(_STK_DEBUG_)
+00177   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00178     errorString_ << "DelayA::tick(): channel and StkFrames arguments are incompatible!";
+00179     handleError( StkError::FUNCTION_ARGUMENT );
+00180   }
+00181 #endif
+00182 
+00183   StkFloat *iSamples = &iFrames[iChannel];
+00184   StkFloat *oSamples = &oFrames[oChannel];
+00185   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00186   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00187     inputs_[inPoint_++] = *iSamples * gain_;
+00188     if ( inPoint_ == inputs_.size() ) inPoint_ = 0;
+00189     *oSamples = nextOut();
+00190     lastFrame_[0] = *oSamples;
+00191     doNextOut_ = true;
+00192     apInput_ = inputs_[outPoint_++];
+00193     if ( outPoint_ == inputs_.size() ) outPoint_ = 0;
+00194   }
+00195 
+00196   return iFrames;
+00197 }
+00198 
+00199 } // stk namespace
+00200 
+00201 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 c518db0..35786e7 100644 --- a/doc/html/DelayL_8h-source.html +++ b/doc/html/DelayL_8h-source.html @@ -155,7 +155,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..e42a988 --- /dev/null +++ b/doc/html/DelayL_8h_source.html @@ -0,0 +1,162 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

DelayL.h

00001 #ifndef STK_DELAYL_H
+00002 #define STK_DELAYL_H
+00003 
+00004 #include "Delay.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00025 /***************************************************/
+00026 
+00027 class DelayL : public Filter
+00028 {
+00029 public:
+00030 
+00032 
+00037   DelayL( StkFloat delay = 0.0, unsigned long maxDelay = 4095 );
+00038 
+00040   ~DelayL();
+00041 
+00043 
+00050   void setMaximumDelay( unsigned long delay );
+00051 
+00053 
+00056   void setDelay( StkFloat delay );
+00057 
+00059   StkFloat getDelay( void ) const { return delay_; };
+00060 
+00062 
+00067   StkFloat contentsAt( unsigned long tapDelay );
+00068 
+00070   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00071 
+00073 
+00076   StkFloat nextOut( void );
+00077 
+00079   StkFloat tick( StkFloat input );
+00080 
+00082 
+00090   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00091 
+00093 
+00101   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00102 
+00103  protected:
+00104 
+00105   unsigned long inPoint_;
+00106   unsigned long outPoint_;
+00107   StkFloat delay_;
+00108   StkFloat alpha_;
+00109   StkFloat omAlpha_;
+00110   StkFloat nextOutput_;
+00111   bool doNextOut_;
+00112 };
+00113 
+00114 inline StkFloat DelayL :: nextOut( void )
+00115 {
+00116   if ( doNextOut_ ) {
+00117     // First 1/2 of interpolation
+00118     nextOutput_ = inputs_[outPoint_] * omAlpha_;
+00119     // Second 1/2 of interpolation
+00120     if (outPoint_+1 < inputs_.size())
+00121       nextOutput_ += inputs_[outPoint_+1] * alpha_;
+00122     else
+00123       nextOutput_ += inputs_[0] * alpha_;
+00124     doNextOut_ = false;
+00125   }
+00126 
+00127   return nextOutput_;
+00128 }
+00129 
+00130 inline StkFloat DelayL :: tick( StkFloat input )
+00131 {
+00132   inputs_[inPoint_++] = input * gain_;
+00133 
+00134   // Increment input pointer modulo length.
+00135   if ( inPoint_ == inputs_.size() )
+00136     inPoint_ = 0;
+00137 
+00138   lastFrame_[0] = nextOut();
+00139   doNextOut_ = true;
+00140 
+00141   // Increment output pointer modulo length.
+00142   if ( ++outPoint_ == inputs_.size() )
+00143     outPoint_ = 0;
+00144 
+00145   return lastFrame_[0];
+00146 }
+00147 
+00148 inline StkFrames& DelayL :: tick( StkFrames& frames, unsigned int channel )
+00149 {
+00150 #if defined(_STK_DEBUG_)
+00151   if ( channel >= frames.channels() ) {
+00152     errorString_ << "DelayL::tick(): channel and StkFrames arguments are incompatible!";
+00153     handleError( StkError::FUNCTION_ARGUMENT );
+00154   }
+00155 #endif
+00156 
+00157   StkFloat *samples = &frames[channel];
+00158   unsigned int hop = frames.channels();
+00159   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00160     inputs_[inPoint_++] = *samples * gain_;
+00161     if ( inPoint_ == inputs_.size() ) inPoint_ = 0;
+00162     *samples = nextOut();
+00163     doNextOut_ = true;
+00164     if ( ++outPoint_ == inputs_.size() ) outPoint_ = 0;
+00165   }
+00166 
+00167   lastFrame_[0] = *(samples-hop);
+00168   return frames;
+00169 }
+00170 
+00171 inline StkFrames& DelayL :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00172 {
+00173 #if defined(_STK_DEBUG_)
+00174   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00175     errorString_ << "DelayL::tick(): channel and StkFrames arguments are incompatible!";
+00176     handleError( StkError::FUNCTION_ARGUMENT );
+00177   }
+00178 #endif
+00179 
+00180   StkFloat *iSamples = &iFrames[iChannel];
+00181   StkFloat *oSamples = &oFrames[oChannel];
+00182   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00183   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00184     inputs_[inPoint_++] = *iSamples * gain_;
+00185     if ( inPoint_ == inputs_.size() ) inPoint_ = 0;
+00186     *oSamples = nextOut();
+00187     doNextOut_ = true;
+00188     if ( ++outPoint_ == inputs_.size() ) outPoint_ = 0;
+00189   }
+00190 
+00191   lastFrame_[0] = *(oSamples-oHop);
+00192   return iFrames;
+00193 }
+00194 
+00195 } // stk namespace
+00196 
+00197 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 5a6ddb9..bc5de71 100644 --- a/doc/html/Delay_8h-source.html +++ b/doc/html/Delay_8h-source.html @@ -134,7 +134,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..232c414 --- /dev/null +++ b/doc/html/Delay_8h_source.html @@ -0,0 +1,144 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Delay.h

00001 #ifndef STK_DELAY_H
+00002 #define STK_DELAY_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00022 /***************************************************/
+00023 
+00024 class Delay : public Filter
+00025 {
+00026 public:
+00027 
+00029 
+00034   Delay( unsigned long delay = 0, unsigned long maxDelay = 4095 );
+00035 
+00037   ~Delay();
+00038 
+00040 
+00047   void setMaximumDelay( unsigned long delay );
+00048 
+00050 
+00053   void setDelay( unsigned long delay );
+00054 
+00056   unsigned long getDelay( void ) const { return delay_; };
+00057 
+00059 
+00064   StkFloat contentsAt( unsigned long tapDelay );
+00065 
+00067 
+00072   StkFloat addTo( unsigned long tapDelay, StkFloat value );
+00073 
+00075   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00076 
+00078 
+00081   StkFloat nextOut( void ) { return inputs_[outPoint_]; };
+00082 
+00084   StkFloat energy( void ) const;
+00085 
+00087   StkFloat tick( StkFloat input );
+00088 
+00090 
+00098   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00099 
+00101 
+00109   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00110 
+00111 protected:
+00112 
+00113   unsigned long inPoint_;
+00114   unsigned long outPoint_;
+00115   unsigned long delay_;
+00116 };
+00117 
+00118 inline StkFloat Delay :: tick( StkFloat input )
+00119 {
+00120   inputs_[inPoint_++] = input * gain_;
+00121 
+00122   // Check for end condition
+00123   if ( inPoint_ == inputs_.size() )
+00124     inPoint_ = 0;
+00125 
+00126   // Read out next value
+00127   lastFrame_[0] = inputs_[outPoint_++];
+00128 
+00129   if ( outPoint_ == inputs_.size() )
+00130     outPoint_ = 0;
+00131 
+00132   return lastFrame_[0];
+00133 }
+00134 
+00135 inline StkFrames& Delay :: tick( StkFrames& frames, unsigned int channel )
+00136 {
+00137 #if defined(_STK_DEBUG_)
+00138   if ( channel >= frames.channels() ) {
+00139     errorString_ << "Delay::tick(): channel and StkFrames arguments are incompatible!";
+00140     handleError( StkError::FUNCTION_ARGUMENT );
+00141   }
+00142 #endif
+00143 
+00144   StkFloat *samples = &frames[channel];
+00145   unsigned int hop = frames.channels();
+00146   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00147     inputs_[inPoint_++] = *samples * gain_;
+00148     if ( inPoint_ == inputs_.size() ) inPoint_ = 0;
+00149     *samples = inputs_[outPoint_++];
+00150     if ( outPoint_ == inputs_.size() ) outPoint_ = 0;
+00151   }
+00152 
+00153   lastFrame_[0] = *(samples-hop);
+00154   return frames;
+00155 }
+00156 
+00157 inline StkFrames& Delay :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00158 {
+00159 #if defined(_STK_DEBUG_)
+00160   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00161     errorString_ << "Delay::tick(): channel and StkFrames arguments are incompatible!";
+00162     handleError( StkError::FUNCTION_ARGUMENT );
+00163   }
+00164 #endif
+00165 
+00166   StkFloat *iSamples = &iFrames[iChannel];
+00167   StkFloat *oSamples = &oFrames[oChannel];
+00168   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00169   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00170     inputs_[inPoint_++] = *iSamples * gain_;
+00171     if ( inPoint_ == inputs_.size() ) inPoint_ = 0;
+00172     *oSamples = inputs_[outPoint_++];
+00173     if ( outPoint_ == inputs_.size() ) outPoint_ = 0;
+00174   }
+00175 
+00176   lastFrame_[0] = *(oSamples-oHop);
+00177   return iFrames;
+00178 }
+00179 
+00180 } // stk namespace
+00181 
+00182 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 7ad23f6..74eb407 100644 --- a/doc/html/Drummer_8h-source.html +++ b/doc/html/Drummer_8h-source.html @@ -83,7 +83,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..63e7949 --- /dev/null +++ b/doc/html/Drummer_8h_source.html @@ -0,0 +1,90 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Drummer.h

00001 #ifndef STK_DRUMMER_H
+00002 #define STK_DRUMMER_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "FileWvIn.h"
+00006 #include "OnePole.h"
+00007 
+00008 namespace stk {
+00009 
+00010 /***************************************************/
+00025 /***************************************************/
+00026 
+00027 const int DRUM_NUMWAVES = 11;
+00028 const int DRUM_POLYPHONY = 4;
+00029 
+00030 class Drummer : public Instrmnt
+00031 {
+00032  public:
+00034 
+00037   Drummer( void );
+00038 
+00040   ~Drummer( void );
+00041 
+00043 
+00049   void noteOn( StkFloat instrument, StkFloat amplitude );
+00050 
+00052   void noteOff( StkFloat amplitude );
+00053 
+00055   StkFloat tick( unsigned int channel = 0 );
+00056 
+00057  protected:
+00058 
+00059   FileWvIn waves_[DRUM_POLYPHONY];
+00060   OnePole  filters_[DRUM_POLYPHONY];
+00061   std::vector<int> soundOrder_;
+00062   std::vector<int> soundNumber_;
+00063   int      nSounding_;
+00064 };
+00065 
+00066 inline StkFloat Drummer :: tick( unsigned int )
+00067 {
+00068   lastFrame_[0] = 0.0;
+00069   if ( nSounding_ == 0 ) return lastFrame_[0];
+00070 
+00071   for ( int i=0; i<DRUM_POLYPHONY; i++ ) {
+00072     if ( soundOrder_[i] >= 0 ) {
+00073       if ( waves_[i].isFinished() ) {
+00074         // Re-order the list.
+00075         for ( int j=0; j<DRUM_POLYPHONY; j++ ) {
+00076           if ( soundOrder_[j] > soundOrder_[i] )
+00077             soundOrder_[j] -= 1;
+00078         }
+00079         soundOrder_[i] = -1;
+00080         nSounding_--;
+00081       }
+00082       else
+00083         lastFrame_[0] += filters_[i].tick( waves_[i].tick() );
+00084     }
+00085   }
+00086 
+00087   return lastFrame_[0];
+00088 }
+00089 
+00090 } // stk namespace
+00091 
+00092 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 6d64224..2bba7e1 100644 --- a/doc/html/Echo_8h-source.html +++ b/doc/html/Echo_8h-source.html @@ -106,7 +106,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..c783c5f --- /dev/null +++ b/doc/html/Echo_8h_source.html @@ -0,0 +1,113 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Echo.h

00001 #ifndef STK_ECHO_H
+00002 #define STK_ECHO_H
+00003 
+00004 #include "Effect.h" 
+00005 #include "Delay.h" 
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00017 /***************************************************/
+00018 
+00019 class Echo : public Effect
+00020 {
+00021  public:
+00023 
+00026   Echo( unsigned long maximumDelay = (unsigned long) Stk::sampleRate() );
+00027 
+00029   void clear();
+00030 
+00032   void setMaximumDelay( unsigned long delay );
+00033 
+00035   void setDelay( unsigned long delay );
+00036 
+00038   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00039 
+00041   StkFloat tick( StkFloat input );
+00042 
+00044 
+00052   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00053 
+00055 
+00063   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00064 
+00065  protected:
+00066 
+00067   Delay delayLine_;
+00068   unsigned long length_;
+00069 
+00070 };
+00071 
+00072 inline StkFloat Echo :: tick( StkFloat input )
+00073 {
+00074   lastFrame_[0] = effectMix_ * ( delayLine_.tick( input ) - input ) + input;
+00075   return lastFrame_[0];
+00076 }
+00077 
+00078 inline StkFrames& Echo :: tick( StkFrames& frames, unsigned int channel )
+00079 {
+00080 #if defined(_STK_DEBUG_)
+00081   if ( channel >= frames.channels() ) {
+00082     errorString_ << "Echo::tick(): channel and StkFrames arguments are incompatible!";
+00083     handleError( StkError::FUNCTION_ARGUMENT );
+00084   }
+00085 #endif
+00086 
+00087   StkFloat *samples = &frames[channel];
+00088   unsigned int hop = frames.channels();
+00089   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00090     *samples = effectMix_ * ( delayLine_.tick( *samples ) - *samples ) + *samples;
+00091   }
+00092 
+00093   lastFrame_[0] = *(samples-hop);
+00094   return frames;
+00095 }
+00096 
+00097 inline StkFrames& Echo :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00098 {
+00099 #if defined(_STK_DEBUG_)
+00100   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00101     errorString_ << "Echo::tick(): channel and StkFrames arguments are incompatible!";
+00102     handleError( StkError::FUNCTION_ARGUMENT );
+00103   }
+00104 #endif
+00105 
+00106   StkFloat *iSamples = &iFrames[iChannel];
+00107   StkFloat *oSamples = &oFrames[oChannel];
+00108   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00109   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00110     *oSamples = effectMix_ * ( delayLine_.tick( *iSamples ) - *iSamples ) + *iSamples;
+00111   }
+00112 
+00113   lastFrame_[0] = *(oSamples-oHop);
+00114   return iFrames;
+00115 }
+00116 
+00117 } // stk namespace
+00118 
+00119 #endif
+00120 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Effect_8h-source.html b/doc/html/Effect_8h-source.html index 59948ab..4e9b1dc 100644 --- a/doc/html/Effect_8h-source.html +++ b/doc/html/Effect_8h-source.html @@ -82,7 +82,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Effect_8h_source.html b/doc/html/Effect_8h_source.html new file mode 100644 index 0000000..9236dfb --- /dev/null +++ b/doc/html/Effect_8h_source.html @@ -0,0 +1,89 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Effect.h

00001 #ifndef STK_EFFECT_H
+00002 #define STK_EFFECT_H
+00003 
+00004 #include "Stk.h"
+00005 #include <cmath>
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class Effect : public Stk
+00022 {
+00023  public:
+00025   Effect( void ) { lastFrame_.resize( 1, 1, 0.0 ); };
+00026 
+00028   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
+00029 
+00031   const StkFrames& lastFrame( void ) const { return lastFrame_; };
+00032 
+00034   virtual void clear() = 0;
+00035 
+00037   void setEffectMix( StkFloat mix );
+00038 
+00039  protected:
+00040 
+00041   // Returns true if argument value is prime.
+00042   bool isPrime( unsigned int number );
+00043 
+00044   StkFrames lastFrame_;
+00045   StkFloat effectMix_;
+00046 
+00047 };
+00048 
+00049 inline void Effect :: setEffectMix( StkFloat mix )
+00050 {
+00051   if ( mix < 0.0 ) {
+00052     errorString_ << "Effect::setEffectMix: mix parameter is less than zero ... setting to zero!";
+00053     handleError( StkError::WARNING );
+00054     effectMix_ = 0.0;
+00055   }
+00056   else if ( mix > 1.0 ) {
+00057     errorString_ << "Effect::setEffectMix: mix parameter is greater than 1.0 ... setting to one!";
+00058     handleError( StkError::WARNING );
+00059     effectMix_ = 1.0;
+00060   }
+00061   else
+00062     effectMix_ = mix;
+00063 }
+00064 
+00065 inline bool Effect :: isPrime( unsigned int number )
+00066 {
+00067   if ( number == 2 ) return true;
+00068   if ( number & 1 ) {
+00069            for ( int i=3; i<(int)sqrt((double)number)+1; i+=2 )
+00070                     if ( (number % i) == 0 ) return false;
+00071            return true; // prime
+00072          }
+00073   else return false; // even
+00074 }
+00075 
+00076 } // stk namespace
+00077 
+00078 #endif
+00079 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 bee15f3..ad033ca 100644 --- a/doc/html/Envelope_8h-source.html +++ b/doc/html/Envelope_8h-source.html @@ -150,7 +150,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..756becd --- /dev/null +++ b/doc/html/Envelope_8h_source.html @@ -0,0 +1,157 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Envelope.h

00001 #ifndef STK_ENVELOPE_H
+00002 #define STK_ENVELOPE_H
+00003 
+00004 #include "Generator.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class Envelope : public Generator
+00022 {
+00023  public:
+00024 
+00026   Envelope( void );
+00027 
+00029   ~Envelope( void );
+00030 
+00032   Envelope& operator= ( const Envelope& e );
+00033 
+00035   void keyOn( void ) { this->setTarget( 1.0 ); };
+00036 
+00038   void keyOff( void ) { this->setTarget( 0.0 ); };
+00039 
+00041   void setRate( StkFloat rate );
+00042 
+00044   void setTime( StkFloat time );
+00045 
+00047   void setTarget( StkFloat target );
+00048 
+00050   void setValue( StkFloat value );
+00051 
+00053   int getState( void ) const { return state_; };
+00054 
+00056   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00057 
+00059   StkFloat tick( void );
+00060 
+00062 
+00069   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00070 
+00071  protected:
+00072 
+00073   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+00074 
+00075   StkFloat value_;
+00076   StkFloat target_;
+00077   StkFloat rate_;
+00078   int state_;
+00079 };
+00080 
+00081 inline void Envelope :: setRate( StkFloat rate )
+00082 {
+00083 #if defined(_STK_DEBUG_)
+00084   if ( rate < 0.0 ) {
+00085     errorString_ << "Envelope::setRate: negative rates not allowed ... correcting!";
+00086     handleError( StkError::WARNING );
+00087     rate_ = -rate;
+00088   }
+00089   else
+00090 #endif
+00091     rate_ = rate;
+00092 }
+00093 
+00094 inline void Envelope :: setTime( StkFloat time )
+00095 {
+00096 #if defined(_STK_DEBUG_)
+00097   if ( time < 0.0 ) {
+00098     errorString_ << "Envelope::setTime: negative times not allowed ... correcting!";
+00099     handleError( StkError::WARNING );
+00100     rate_ = 1.0 / ( -time * Stk::sampleRate() );
+00101   }
+00102   else
+00103 #endif
+00104     rate_ = 1.0 / ( time * Stk::sampleRate() );
+00105 }
+00106 
+00107 inline void Envelope :: setTarget( StkFloat target )
+00108 {
+00109   target_ = target;
+00110   if ( value_ != target_ ) state_ = 1;
+00111 }
+00112 
+00113 inline void Envelope :: setValue( StkFloat value )
+00114 {
+00115   state_ = 0;
+00116   target_ = value;
+00117   value_ = value;
+00118 }
+00119 
+00120 inline StkFloat Envelope :: tick( void )
+00121 {
+00122   if ( state_ ) {
+00123     if ( target_ > value_ ) {
+00124       value_ += rate_;
+00125       if ( value_ >= target_ ) {
+00126         value_ = target_;
+00127         state_ = 0;
+00128       }
+00129     }
+00130     else {
+00131       value_ -= rate_;
+00132       if ( value_ <= target_ ) {
+00133         value_ = target_;
+00134         state_ = 0;
+00135       }
+00136     }
+00137     lastFrame_[0] = value_;
+00138   }
+00139 
+00140   return value_;
+00141 }
+00142 
+00143 inline StkFrames& Envelope :: tick( StkFrames& frames, unsigned int channel )
+00144 {
+00145 #if defined(_STK_DEBUG_)
+00146   if ( channel >= frames.channels() ) {
+00147     errorString_ << "Envelope::tick(): channel and StkFrames arguments are incompatible!";
+00148     handleError( StkError::FUNCTION_ARGUMENT );
+00149   }
+00150 #endif
+00151 
+00152   StkFloat *samples = &frames[channel];
+00153   unsigned int hop = frames.channels();
+00154   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+00155     *samples = tick();
+00156 
+00157   return frames;
+00158 }
+00159 
+00160 } // stk namespace
+00161 
+00162 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 ee8a70e..d6d662f 100644 --- a/doc/html/FMVoices_8h-source.html +++ b/doc/html/FMVoices_8h-source.html @@ -78,7 +78,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..aaa6990 --- /dev/null +++ b/doc/html/FMVoices_8h_source.html @@ -0,0 +1,85 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

FMVoices.h

00001 #ifndef STK_FMVOICES_H
+00002 #define STK_FMVOICES_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00038 /***************************************************/
+00039 
+00040 class FMVoices : public FM
+00041 {
+00042  public:
+00044 
+00047   FMVoices( void );
+00048 
+00050   ~FMVoices( void );
+00051 
+00053   void setFrequency( StkFloat frequency );
+00054 
+00056   void noteOn( StkFloat frequency, StkFloat amplitude );
+00057 
+00059   void controlChange( int number, StkFloat value );
+00060 
+00062   StkFloat tick( unsigned int channel = 0 );
+00063 
+00064  protected:
+00065 
+00066   int currentVowel_;
+00067   StkFloat tilt_[3];
+00068   StkFloat mods_[3];
+00069 };
+00070 
+00071 inline StkFloat FMVoices :: tick( unsigned int )
+00072 {
+00073   register StkFloat temp, temp2;
+00074 
+00075   temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick();
+00076   temp2 = vibrato_.tick() * modDepth_ * 0.1;
+00077 
+00078   waves_[0]->setFrequency(baseFrequency_ * (1.0 + temp2) * ratios_[0]);
+00079   waves_[1]->setFrequency(baseFrequency_ * (1.0 + temp2) * ratios_[1]);
+00080   waves_[2]->setFrequency(baseFrequency_ * (1.0 + temp2) * ratios_[2]);
+00081   waves_[3]->setFrequency(baseFrequency_ * (1.0 + temp2) * ratios_[3]);
+00082 
+00083   waves_[0]->addPhaseOffset(temp * mods_[0]);
+00084   waves_[1]->addPhaseOffset(temp * mods_[1]);
+00085   waves_[2]->addPhaseOffset(temp * mods_[2]);
+00086   waves_[3]->addPhaseOffset( twozero_.lastOut() );
+00087   twozero_.tick( temp );
+00088   temp =  gains_[0] * tilt_[0] * adsr_[0]->tick() * waves_[0]->tick();
+00089   temp += gains_[1] * tilt_[1] * adsr_[1]->tick() * waves_[1]->tick();
+00090   temp += gains_[2] * tilt_[2] * adsr_[2]->tick() * waves_[2]->tick();
+00091 
+00092   lastFrame_[0] = temp * 0.33;
+00093   return lastFrame_[0];
+00094 }
+00095 
+00096 } // stk namespace
+00097 
+00098 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 97bd6f5..b37aeae 100644 --- a/doc/html/FM_8h-source.html +++ b/doc/html/FM_8h-source.html @@ -89,7 +89,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..a93b2f6 --- /dev/null +++ b/doc/html/FM_8h_source.html @@ -0,0 +1,96 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

FM.h

00001 #ifndef STK_FM_H
+00002 #define STK_FM_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "ADSR.h"
+00006 #include "FileLoop.h"
+00007 #include "SineWave.h"
+00008 #include "TwoZero.h"
+00009 
+00010 namespace stk {
+00011 
+00012 /***************************************************/
+00035 /***************************************************/
+00036 
+00037 class FM : public Instrmnt
+00038 {
+00039  public:
+00041 
+00044   FM( unsigned int operators = 4 );
+00045 
+00047   virtual ~FM( void );
+00048 
+00050   void clear( void );
+00051 
+00053   void loadWaves( const char **filenames );
+00054 
+00056   virtual void setFrequency( StkFloat frequency );
+00057 
+00059   void setRatio( unsigned int waveIndex, StkFloat ratio );
+00060 
+00062   void setGain( unsigned int waveIndex, StkFloat gain );
+00063 
+00065   void setModulationSpeed( StkFloat mSpeed ) { vibrato_.setFrequency( mSpeed ); };
+00066 
+00068   void setModulationDepth( StkFloat mDepth ) { modDepth_ = mDepth; };
+00069 
+00071   void setControl1( StkFloat cVal ) { control1_ = cVal * 2.0; };
+00072 
+00074   void setControl2( StkFloat cVal ) { control2_ = cVal * 2.0; };
+00075 
+00077   void keyOn( void );
+00078 
+00080   void keyOff( void );
+00081 
+00083   void noteOff( StkFloat amplitude );
+00084 
+00086   virtual void controlChange( int number, StkFloat value );
+00087 
+00089   virtual StkFloat tick( unsigned int ) = 0;
+00090 
+00091  protected:
+00092 
+00093   std::vector<ADSR *> adsr_; 
+00094   std::vector<FileLoop *> waves_;
+00095   SineWave vibrato_;
+00096   TwoZero  twozero_;
+00097   unsigned int nOperators_;
+00098   StkFloat baseFrequency_;
+00099   std::vector<StkFloat> ratios_;
+00100   std::vector<StkFloat> gains_;
+00101   StkFloat modDepth_;
+00102   StkFloat control1_;
+00103   StkFloat control2_;
+00104   StkFloat fmGains_[100];
+00105   StkFloat fmSusLevels_[16];
+00106   StkFloat fmAttTimes_[32];
+00107 
+00108 };
+00109 
+00110 } // stk namespace
+00111 
+00112 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/FileLoop_8h-source.html b/doc/html/FileLoop_8h-source.html index c6e3615..db1e4f8 100644 --- a/doc/html/FileLoop_8h-source.html +++ b/doc/html/FileLoop_8h-source.html @@ -88,7 +88,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FileLoop_8h_source.html b/doc/html/FileLoop_8h_source.html new file mode 100644 index 0000000..e83f91e --- /dev/null +++ b/doc/html/FileLoop_8h_source.html @@ -0,0 +1,95 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

FileLoop.h

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

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

+
+ + +
+

FileRead.h

00001 #ifndef STK_FILEREAD_H
+00002 #define STK_FILEREAD_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00037 /***************************************************/
+00038 
+00039 class FileRead : public Stk
+00040 {
+00041 public:
+00043   FileRead( void );
+00044 
+00046 
+00052   FileRead( std::string fileName, bool typeRaw = false, unsigned int nChannels = 1,
+00053             StkFormat format = STK_SINT16, StkFloat rate = 22050.0 );
+00054 
+00056   ~FileRead( void );
+00057 
+00059 
+00065   void open( std::string fileName, bool typeRaw = false, unsigned int nChannels = 1,
+00066              StkFormat format = STK_SINT16, StkFloat rate = 22050.0 );
+00067 
+00069   void close( void );
+00070 
+00072   bool isOpen( void );
+00073 
+00075   unsigned long fileSize( void ) const { return fileSize_; };
+00076 
+00078   unsigned int channels( void ) const { return channels_; };
+00079 
+00081 
+00086   StkFloat fileRate( void ) const { return fileRate_; };
+00087 
+00089 
+00101   void read( StkFrames& buffer, unsigned long startFrame = 0, bool doNormalize = true );
+00102 
+00103 protected:
+00104 
+00105   // Get STK RAW file information.
+00106   bool getRawInfo( const char *fileName, unsigned int nChannels,
+00107                    StkFormat format, StkFloat rate );
+00108 
+00109   // Get WAV file header information.
+00110   bool getWavInfo( const char *fileName );
+00111 
+00112   // Get SND (AU) file header information.
+00113   bool getSndInfo( const char *fileName );
+00114 
+00115   // Get AIFF file header information.
+00116   bool getAifInfo( const char *fileName );
+00117 
+00118   // Get MAT-file header information.
+00119   bool getMatInfo( const char *fileName );
+00120 
+00121   FILE *fd_;
+00122   bool byteswap_;
+00123   bool wavFile_;
+00124   unsigned long fileSize_;
+00125   unsigned long dataOffset_;
+00126   unsigned int channels_;
+00127   StkFormat dataType_;
+00128   StkFloat fileRate_;
+00129 };
+00130 
+00131 } // stk namespace
+00132 
+00133 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/FileWrite_8h-source.html b/doc/html/FileWrite_8h-source.html index e7e4516..05fe12f 100644 --- a/doc/html/FileWrite_8h-source.html +++ b/doc/html/FileWrite_8h-source.html @@ -98,7 +98,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FileWrite_8h_source.html b/doc/html/FileWrite_8h_source.html new file mode 100644 index 0000000..a4d6176 --- /dev/null +++ b/doc/html/FileWrite_8h_source.html @@ -0,0 +1,105 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

FileWrite.h

00001 #ifndef STK_FILEWRITE_H
+00002 #define STK_FILEWRITE_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00029 /***************************************************/
+00030 
+00031 class FileWrite : public Stk
+00032 {
+00033  public:
+00034 
+00035   typedef unsigned long FILE_TYPE;
+00036 
+00037   static const FILE_TYPE FILE_RAW; 
+00038   static const FILE_TYPE FILE_WAV; 
+00039   static const FILE_TYPE FILE_SND; 
+00040   static const FILE_TYPE FILE_AIF; 
+00041   static const FILE_TYPE FILE_MAT; 
+00043 
+00044   FileWrite( void );
+00045 
+00047 
+00050   FileWrite( std::string fileName, unsigned int nChannels = 1, FILE_TYPE type = FILE_WAV, Stk::StkFormat format = STK_SINT16 );
+00051 
+00053   virtual ~FileWrite();
+00054 
+00056 
+00059   void open( std::string fileName, unsigned int nChannels = 1,
+00060              FileWrite::FILE_TYPE type = FILE_WAV, Stk::StkFormat format = STK_SINT16 );
+00061 
+00063   void close( void );
+00064 
+00066   bool isOpen( void );
+00067 
+00069 
+00074   void write( StkFrames& buffer );
+00075 
+00076  protected:
+00077 
+00078   // Write STK RAW file header.
+00079   bool setRawFile( const char *fileName );
+00080 
+00081   // Write WAV file header.
+00082   bool setWavFile( const char *fileName );
+00083 
+00084   // Close WAV file, updating the header.
+00085   void closeWavFile( void );
+00086 
+00087   // Write SND (AU) file header.
+00088   bool setSndFile( const char *fileName );
+00089 
+00090   // Close SND file, updating the header.
+00091   void closeSndFile( void );
+00092 
+00093   // Write AIFF file header.
+00094   bool setAifFile( const char *fileName );
+00095 
+00096   // Close AIFF file, updating the header.
+00097   void closeAifFile( void );
+00098 
+00099   // Write MAT-file header.
+00100   bool setMatFile( const char *fileName );
+00101 
+00102   // Close MAT-file, updating the header.
+00103   void closeMatFile( void );
+00104 
+00105   FILE *fd_;
+00106   FILE_TYPE fileType_;
+00107   StkFormat dataType_;
+00108   unsigned int channels_;
+00109   unsigned long frameCounter_;
+00110   bool byteswap_;
+00111 
+00112 };
+00113 
+00114 } // stk namespace
+00115 
+00116 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/FileWvIn_8h-source.html b/doc/html/FileWvIn_8h-source.html index 42084c3..867779a 100644 --- a/doc/html/FileWvIn_8h-source.html +++ b/doc/html/FileWvIn_8h-source.html @@ -110,7 +110,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FileWvIn_8h_source.html b/doc/html/FileWvIn_8h_source.html new file mode 100644 index 0000000..3b0b17d --- /dev/null +++ b/doc/html/FileWvIn_8h_source.html @@ -0,0 +1,117 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

FileWvIn.h

00001 #ifndef STK_FILEWVIN_H
+00002 #define STK_FILEWVIN_H
+00003 
+00004 #include "WvIn.h"
+00005 #include "FileRead.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00040 /***************************************************/
+00041 
+00042 class FileWvIn : public WvIn
+00043 {
+00044 public:
+00046   FileWvIn( unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
+00047 
+00049 
+00053   FileWvIn( std::string fileName, bool raw = false, bool doNormalize = true,
+00054             unsigned long chunkThreshold = 1000000, unsigned long chunkSize = 1024 );
+00055 
+00057   ~FileWvIn( void );
+00058 
+00060 
+00069   virtual void openFile( std::string fileName, bool raw = false, bool doNormalize = true );
+00070 
+00072   virtual void closeFile( void );
+00073 
+00075   virtual void reset( void );
+00076 
+00078 
+00082   virtual void normalize( void );
+00083 
+00085 
+00089   virtual void normalize( StkFloat peak );
+00090 
+00092   virtual unsigned long getSize( void ) const { return data_.frames(); };
+00093 
+00095 
+00100   virtual StkFloat getFileRate( void ) const { return data_.dataRate(); };
+00101 
+00103   bool isFinished( void ) const { return finished_; };
+00104 
+00106 
+00109   virtual void setRate( StkFloat rate );
+00110 
+00112 
+00115   virtual void addTime( StkFloat time );
+00116 
+00118 
+00124   void setInterpolate( bool doInterpolate ) { interpolate_ = doInterpolate; };
+00125 
+00127 
+00136   StkFloat lastOut( unsigned int channel = 0 );
+00137 
+00139 
+00148   virtual StkFloat tick( unsigned int channel = 0 );
+00149 
+00151 
+00159   virtual StkFrames& tick( StkFrames& frames );
+00160 
+00161 protected:
+00162 
+00163   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+00164 
+00165   FileRead file_;
+00166   bool finished_;
+00167   bool interpolate_;
+00168   bool normalizing_;
+00169   bool chunking_;
+00170   StkFloat time_;
+00171   StkFloat rate_;
+00172   unsigned long chunkThreshold_;
+00173   unsigned long chunkSize_;
+00174   long chunkPointer_;
+00175 
+00176 };
+00177 
+00178 inline StkFloat FileWvIn :: lastOut( unsigned int channel )
+00179 {
+00180 #if defined(_STK_DEBUG_)
+00181   if ( channel >= data_.channels() ) {
+00182     errorString_ << "FileWvIn::lastOut(): channel argument and soundfile data are incompatible!";
+00183     handleError( StkError::FUNCTION_ARGUMENT );
+00184   }
+00185 #endif
+00186 
+00187   if ( finished_ ) return 0.0;
+00188   return lastFrame_[channel];
+00189 }
+00190 
+00191 } // stk namespace
+00192 
+00193 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/FileWvOut_8h-source.html b/doc/html/FileWvOut_8h-source.html index 5a56313..9ff6047 100644 --- a/doc/html/FileWvOut_8h-source.html +++ b/doc/html/FileWvOut_8h-source.html @@ -73,7 +73,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/FileWvOut_8h_source.html b/doc/html/FileWvOut_8h_source.html new file mode 100644 index 0000000..1bf1166 --- /dev/null +++ b/doc/html/FileWvOut_8h_source.html @@ -0,0 +1,80 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

FileWvOut.h

00001 #ifndef STK_FILEWVOUT_H
+00002 #define STK_FILEWVOUT_H
+00003 
+00004 #include "WvOut.h"
+00005 #include "FileWrite.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00030 /***************************************************/
+00031 
+00032 class FileWvOut : public WvOut
+00033 {
+00034  public:
+00035 
+00037 
+00041   FileWvOut( unsigned int bufferFrames = 1024 );
+00042 
+00044 
+00047   FileWvOut( std::string fileName,
+00048              unsigned int nChannels = 1,
+00049              FileWrite::FILE_TYPE type = FileWrite::FILE_WAV,
+00050              Stk::StkFormat format = STK_SINT16,
+00051              unsigned int bufferFrames = 1024 );
+00052 
+00054   virtual ~FileWvOut();
+00055 
+00057 
+00062   void openFile( std::string fileName,
+00063                  unsigned int nChannels,
+00064                  FileWrite::FILE_TYPE type,
+00065                  Stk::StkFormat format );
+00066 
+00068 
+00072   void closeFile( void );
+00073 
+00075 
+00078   void tick( const StkFloat sample );
+00079 
+00081 
+00087   void tick( const StkFrames& frames );
+00088 
+00089  protected:
+00090 
+00091   void incrementFrame( void );
+00092 
+00093   FileWrite file_;
+00094   unsigned int bufferFrames_;
+00095   unsigned int bufferIndex_;
+00096   unsigned int iData_;
+00097 
+00098 };
+00099 
+00100 } // stk namespace
+00101 
+00102 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 1ff1f07..08e8b68 100644 --- a/doc/html/Filter_8h-source.html +++ b/doc/html/Filter_8h-source.html @@ -76,7 +76,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..890721c --- /dev/null +++ b/doc/html/Filter_8h_source.html @@ -0,0 +1,83 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Filter.h

00001 #ifndef STK_FILTER_H
+00002 #define STK_FILTER_H
+00003 
+00004 #include "Stk.h"
+00005 #include <vector>
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class Filter : public Stk
+00022 {
+00023 public:
+00025   Filter( void ) { gain_ = 1.0; channelsIn_ = 1; lastFrame_.resize( 1, 1, 0.0 ); };
+00026 
+00028   unsigned int channelsIn( void ) const { return channelsIn_; };
+00029 
+00031   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
+00032 
+00034   virtual void clear( void );
+00035 
+00037 
+00041   void setGain( StkFloat gain ) { gain_ = gain; };
+00042 
+00044   StkFloat getGain( void ) const { return gain_; };
+00045 
+00047   const StkFrames& lastFrame( void ) const { return lastFrame_; };
+00048 
+00050 
+00058   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ) = 0;
+00059 
+00060 protected:
+00061 
+00062   unsigned int channelsIn_;
+00063   StkFrames lastFrame_;
+00064 
+00065   StkFloat gain_;
+00066   std::vector<StkFloat> b_;
+00067   std::vector<StkFloat> a_;
+00068   StkFrames outputs_;
+00069   StkFrames inputs_;
+00070 
+00071 };
+00072 
+00073 inline void Filter :: clear( void )
+00074 {
+00075   unsigned int i;
+00076   for ( i=0; i<inputs_.size(); i++ )
+00077     inputs_[i] = 0.0;
+00078   for ( i=0; i<outputs_.size(); i++ )
+00079     outputs_[i] = 0.0;
+00080   for ( i=0; i<lastFrame_.size(); i++ )
+00081     lastFrame_[i] = 0.0;  
+00082 }
+00083 
+00084 } // stk namespace
+00085 
+00086 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Fir_8h-source.html b/doc/html/Fir_8h-source.html index 643eeaa..ba1e957 100644 --- a/doc/html/Fir_8h-source.html +++ b/doc/html/Fir_8h-source.html @@ -124,7 +124,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Fir_8h_source.html b/doc/html/Fir_8h_source.html new file mode 100644 index 0000000..bba3e44 --- /dev/null +++ b/doc/html/Fir_8h_source.html @@ -0,0 +1,131 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Fir.h

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

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

+
+ + +
+

Flute.h

00001 #ifndef STK_FLUTE_H
+00002 #define STK_FLUTE_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "JetTable.h"
+00006 #include "DelayL.h"
+00007 #include "OnePole.h"
+00008 #include "PoleZero.h"
+00009 #include "Noise.h"
+00010 #include "ADSR.h"
+00011 #include "SineWave.h"
+00012 
+00013 namespace stk {
+00014 
+00015 /***************************************************/
+00037 /***************************************************/
+00038 
+00039 class Flute : public Instrmnt
+00040 {
+00041  public:
+00043 
+00046   Flute( StkFloat lowestFrequency );
+00047 
+00049   ~Flute( void );
+00050 
+00052   void clear( void );
+00053 
+00055   void setFrequency( StkFloat frequency );
+00056 
+00058   void setJetReflection( StkFloat coefficient );
+00059 
+00061   void setEndReflection( StkFloat coefficient );
+00062 
+00064   void setJetDelay( StkFloat aRatio );
+00065 
+00067   void startBlowing( StkFloat amplitude, StkFloat rate );
+00068 
+00070   void stopBlowing( StkFloat rate );
+00071 
+00073   void noteOn( StkFloat frequency, StkFloat amplitude );
+00074 
+00076   void noteOff( StkFloat amplitude );
+00077 
+00079   void controlChange( int number, StkFloat value );
+00080 
+00082   StkFloat tick( unsigned int channel = 0 );
+00083 
+00084  protected:
+00085 
+00086   DelayL   jetDelay_;
+00087   DelayL   boreDelay_;
+00088   JetTable jetTable_;
+00089   OnePole  filter_;
+00090   PoleZero dcBlock_;
+00091   Noise    noise_;
+00092   ADSR     adsr_;
+00093   SineWave vibrato_;
+00094   unsigned long length_;
+00095   StkFloat lastFrequency_;
+00096   StkFloat maxPressure_;
+00097   StkFloat jetReflection_;
+00098   StkFloat endReflection_;
+00099   StkFloat noiseGain_;
+00100   StkFloat vibratoGain_;
+00101   StkFloat outputGain_;
+00102   StkFloat jetRatio_;
+00103 
+00104 };
+00105 
+00106 inline StkFloat Flute :: tick( unsigned int )
+00107 {
+00108   StkFloat pressureDiff;
+00109   StkFloat breathPressure;
+00110 
+00111   // Calculate the breath pressure (envelope + noise + vibrato)
+00112   breathPressure = maxPressure_ * adsr_.tick();
+00113   breathPressure += breathPressure * ( noiseGain_ * noise_.tick() + vibratoGain_ * vibrato_.tick() );
+00114 
+00115   StkFloat temp = filter_.tick( boreDelay_.lastOut() );
+00116   temp = dcBlock_.tick( temp ); // Block DC on reflection.
+00117 
+00118   pressureDiff = breathPressure - (jetReflection_ * temp);
+00119   pressureDiff = jetDelay_.tick( pressureDiff );
+00120   pressureDiff = jetTable_.tick( pressureDiff ) + (endReflection_ * temp);
+00121   lastFrame_[0] = (StkFloat) 0.3 * boreDelay_.tick( pressureDiff );
+00122 
+00123   lastFrame_[0] *= outputGain_;
+00124   return lastFrame_[0];
+00125 }
+00126 
+00127 } // stk namespace
+00128 
+00129 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 5470d71..9949559 100644 --- a/doc/html/FormSwep_8h-source.html +++ b/doc/html/FormSwep_8h-source.html @@ -149,7 +149,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..282eb76 --- /dev/null +++ b/doc/html/FormSwep_8h_source.html @@ -0,0 +1,156 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

FormSwep.h

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

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

+
+ + +
+

Function.h

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

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

+
+ + +
+

Generator.h

00001 #ifndef STK_GENERATOR_H
+00002 #define STK_GENERATOR_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class Generator : public Stk
+00021 {
+00022  public:
+00023 
+00025   Generator( void ) { lastFrame_.resize( 1, 1, 0.0 ); };
+00026 
+00028   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
+00029 
+00031   const StkFrames& lastFrame( void ) const { return lastFrame_; };
+00032 
+00034 
+00041   virtual StkFrames& tick( StkFrames& frames, unsigned int channel = 0 ) = 0;
+00042 
+00043   protected:
+00044 
+00045   StkFrames lastFrame_;
+00046 };
+00047 
+00048 } // stk namespace
+00049 
+00050 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Granulate_8h-source.html b/doc/html/Granulate_8h-source.html index fafdc0a..8e65799 100644 --- a/doc/html/Granulate_8h-source.html +++ b/doc/html/Granulate_8h-source.html @@ -149,7 +149,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Granulate_8h_source.html b/doc/html/Granulate_8h_source.html new file mode 100644 index 0000000..8fdf1d4 --- /dev/null +++ b/doc/html/Granulate_8h_source.html @@ -0,0 +1,158 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Granulate.h

00001 #ifndef STK_GRANULATE_H
+00002 #define STK_GRANULATE_H
+00003 
+00004 #include <vector>
+00005 #include "Generator.h"
+00006 #include "Envelope.h"
+00007 #include "Noise.h"
+00008 
+00009 namespace stk {
+00010 
+00011 /***************************************************/
+00026 /***************************************************/
+00027 
+00028 class Granulate: public Generator
+00029 {
+00030  public:
+00032   Granulate( void );
+00033 
+00035   Granulate( unsigned int nVoices, std::string fileName, bool typeRaw = false );
+00036 
+00038   ~Granulate( void );
+00039 
+00041 
+00045   void openFile( std::string fileName, bool typeRaw = false );
+00046 
+00048 
+00052   void reset( void );
+00053 
+00055 
+00060   void setVoices( unsigned int nVoices = 1 );
+00061 
+00063 
+00069   void setStretch( unsigned int stretchFactor = 1 );
+00070 
+00072 
+00087   void setGrainParameters( unsigned int duration = 30, unsigned int rampPercent = 50,
+00088                            int offset = 0, unsigned int delay = 0 );
+00089 
+00091 
+00099   void setRandomFactor( StkFloat randomness = 0.1 );
+00100 
+00102 
+00110   StkFloat lastOut( unsigned int channel = 0 );
+00111 
+00113   StkFloat tick( unsigned int channel = 0 );
+00114 
+00116 
+00123   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00124 
+00125   enum GrainState {
+00126     GRAIN_STOPPED,
+00127     GRAIN_FADEIN,
+00128     GRAIN_SUSTAIN,
+00129     GRAIN_FADEOUT
+00130   };
+00131 
+00132  protected:
+00133 
+00134   struct Grain {
+00135     StkFloat eScaler;
+00136     StkFloat eRate;
+00137     unsigned long attackCount;
+00138     unsigned long sustainCount;
+00139     unsigned long decayCount;
+00140     unsigned long delayCount;
+00141     unsigned long counter;
+00142     //unsigned long pointer;
+00143     StkFloat pointer;
+00144     unsigned long startPointer;
+00145     unsigned int repeats;
+00146     GrainState state;
+00147 
+00148     // Default constructor.
+00149     Grain()
+00150       :eScaler(0.0), eRate(0.0), attackCount(0), sustainCount(0), decayCount(0),
+00151        delayCount(0), counter(0), pointer(0), startPointer(0), repeats(0), state(GRAIN_STOPPED) {}
+00152   };
+00153 
+00154   void calculateGrain( Granulate::Grain& grain );
+00155 
+00156   StkFrames data_;
+00157   std::vector<Grain> grains_;
+00158   Noise noise;
+00159   //long gPointer_;
+00160   StkFloat gPointer_;
+00161 
+00162   // Global grain parameters.
+00163   unsigned int gDuration_;
+00164   unsigned int gRampPercent_;
+00165   unsigned int gDelay_;
+00166   unsigned int gStretch_;
+00167   unsigned int stretchCounter_;
+00168   int gOffset_;
+00169   StkFloat gRandomFactor_;
+00170   StkFloat gain_;
+00171 
+00172 };
+00173 
+00174 inline StkFloat Granulate :: lastOut( unsigned int channel )
+00175 {
+00176 #if defined(_STK_DEBUG_)
+00177   if ( channel >= lastFrame_.channels() ) {
+00178     errorString_ << "Granulate::lastOut(): channel argument is invalid!";
+00179     handleError( StkError::FUNCTION_ARGUMENT );
+00180   }
+00181 #endif
+00182 
+00183   return lastFrame_[channel];
+00184 }
+00185 
+00186 inline StkFrames& Granulate :: tick( StkFrames& frames, unsigned int channel )
+00187 {
+00188   unsigned int nChannels = lastFrame_.channels();
+00189 #if defined(_STK_DEBUG_)
+00190   if ( channel > frames.channels() - nChannels ) {
+00191     errorString_ << "Granulate::tick(): channel and StkFrames arguments are incompatible!";
+00192     handleError( StkError::FUNCTION_ARGUMENT );
+00193   }
+00194 #endif
+00195 
+00196   StkFloat *samples = &frames[channel];
+00197   unsigned int j, hop = frames.channels() - nChannels;
+00198   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00199     *samples++ = tick();
+00200     for ( j=1; j<nChannels; j++ )
+00201       *samples++ = lastFrame_[j];
+00202   }
+00203 
+00204   return frames;
+00205 }
+00206 
+00207 } // stk namespace
+00208 
+00209 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 061148c..eae039a 100644 --- a/doc/html/HevyMetl_8h-source.html +++ b/doc/html/HevyMetl_8h-source.html @@ -73,7 +73,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..9c6dc55 --- /dev/null +++ b/doc/html/HevyMetl_8h_source.html @@ -0,0 +1,80 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

HevyMetl.h

00001 #ifndef STK_HEVYMETL_H
+00002 #define STK_HEVYMETL_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 class HevyMetl : public FM
+00039 {
+00040  public:
+00042 
+00045   HevyMetl( void );
+00046 
+00048   ~HevyMetl( void );
+00049 
+00051   void noteOn( StkFloat frequency, StkFloat amplitude );
+00052 
+00054   StkFloat tick( unsigned int channel = 0 );
+00055 
+00056  protected:
+00057 
+00058 };
+00059 
+00060 inline StkFloat HevyMetl :: tick( unsigned int )
+00061 {
+00062   register StkFloat temp;
+00063 
+00064   temp = vibrato_.tick() * modDepth_ * 0.2;    
+00065   waves_[0]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[0]);
+00066   waves_[1]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[1]);
+00067   waves_[2]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[2]);
+00068   waves_[3]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[3]);
+00069     
+00070   temp = gains_[2] * adsr_[2]->tick() * waves_[2]->tick();
+00071   waves_[1]->addPhaseOffset( temp );
+00072     
+00073   waves_[3]->addPhaseOffset( twozero_.lastOut() );
+00074   temp = (1.0 - (control2_ * 0.5)) * gains_[3] * adsr_[3]->tick() * waves_[3]->tick();
+00075   twozero_.tick(temp);
+00076     
+00077   temp += control2_ * 0.5 * gains_[1] * adsr_[1]->tick() * waves_[1]->tick();
+00078   temp = temp * control1_;
+00079     
+00080   waves_[0]->addPhaseOffset( temp );
+00081   temp = gains_[0] * adsr_[0]->tick() * waves_[0]->tick();
+00082     
+00083   lastFrame_[0] = temp * 0.5;
+00084   return lastFrame_[0];
+00085 }
+00086 
+00087 } // stk namespace
+00088 
+00089 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Iir_8h-source.html b/doc/html/Iir_8h-source.html index 1725cc6..5203197 100644 --- a/doc/html/Iir_8h-source.html +++ b/doc/html/Iir_8h-source.html @@ -149,7 +149,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/Iir_8h_source.html b/doc/html/Iir_8h_source.html new file mode 100644 index 0000000..8b3d3b0 --- /dev/null +++ b/doc/html/Iir_8h_source.html @@ -0,0 +1,156 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Iir.h

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

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

+
+ + +
+

InetWvIn.h

00001 #ifndef STK_INETWVIN_H
+00002 #define STK_INETWVIN_H
+00003 
+00004 #include "WvIn.h"
+00005 #include "TcpServer.h"
+00006 #include "UdpSocket.h"
+00007 #include "Thread.h"
+00008 #include "Mutex.h"
+00009 
+00010 namespace stk {
+00011 
+00012 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 typedef struct {
+00039   bool finished;
+00040   void *object;
+00041 } ThreadInfo;
+00042 
+00043 class InetWvIn : public WvIn
+00044 {
+00045 public:
+00047 
+00050   InetWvIn( unsigned long bufferFrames = 1024, unsigned int nBuffers = 8 );
+00051 
+00053   ~InetWvIn();
+00054 
+00056 
+00063   void listen( int port = 2006, unsigned int nChannels = 1,
+00064                Stk::StkFormat format = STK_SINT16,
+00065                Socket::ProtocolType protocol = Socket::PROTO_TCP );
+00066 
+00068 
+00072   bool isConnected( void );
+00073 
+00075 
+00084   StkFloat lastOut( unsigned int channel = 0 );
+00085 
+00087 
+00097   StkFloat tick( unsigned int channel = 0 );
+00098 
+00100 
+00109   StkFrames& tick( StkFrames& frames );
+00110 
+00111   // Called by the thread routine to receive data via the socket connection
+00112   // and fill the socket buffer.  This is not intended for general use but
+00113   // must be public for access from the thread.
+00114   void receive( void );
+00115 
+00116 protected:
+00117 
+00118   // Read buffered socket data into the data buffer ... will block if none available.
+00119   int readData( void );
+00120 
+00121   Socket *soket_;
+00122   Thread thread_;
+00123   Mutex mutex_;
+00124   char *buffer_;
+00125   unsigned long bufferFrames_;
+00126   unsigned long bufferBytes_;
+00127   unsigned long bytesFilled_;
+00128   unsigned int nBuffers_;
+00129   unsigned long writePoint_;
+00130   unsigned long readPoint_;
+00131   long bufferCounter_;
+00132   int dataBytes_;
+00133   bool connected_;
+00134   int fd_;
+00135   ThreadInfo threadInfo_;
+00136   Stk::StkFormat dataType_;
+00137 
+00138 };
+00139 
+00140 inline StkFloat InetWvIn :: lastOut( unsigned int channel )
+00141 {
+00142 #if defined(_STK_DEBUG_)
+00143   if ( channel >= data_.channels() ) {
+00144     errorString_ << "InetWvIn::lastOut(): channel argument and data stream are incompatible!";
+00145     handleError( StkError::FUNCTION_ARGUMENT );
+00146   }
+00147 #endif
+00148 
+00149   // If no connection and we've output all samples in the queue, return.
+00150   if ( !connected_ && bytesFilled_ == 0 && bufferCounter_ == 0 ) return 0.0;
+00151 
+00152   return lastFrame_[channel];
+00153 }
+00154 
+00155 } // stk namespace
+00156 
+00157 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/InetWvOut_8h-source.html b/doc/html/InetWvOut_8h-source.html index d87b9c5..ae1e0d5 100644 --- a/doc/html/InetWvOut_8h-source.html +++ b/doc/html/InetWvOut_8h-source.html @@ -72,7 +72,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/InetWvOut_8h_source.html b/doc/html/InetWvOut_8h_source.html new file mode 100644 index 0000000..122d232 --- /dev/null +++ b/doc/html/InetWvOut_8h_source.html @@ -0,0 +1,79 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

InetWvOut.h

00001 #ifndef STK_INETWVOUT_H
+00002 #define STK_INETWVOUT_H
+00003 
+00004 #include "WvOut.h"
+00005 #include "Socket.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00030 /***************************************************/
+00031 
+00032 class InetWvOut : public WvOut
+00033 {
+00034  public:
+00036   InetWvOut( unsigned long packetFrames = 1024 );
+00037 
+00039 
+00042   InetWvOut( int port, Socket::ProtocolType protocol = Socket::PROTO_TCP,
+00043              std::string hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16,
+00044              unsigned long packetFrames = 1024 );
+00045 
+00047   ~InetWvOut();
+00048 
+00050 
+00053   void connect( int port, Socket::ProtocolType protocol = Socket::PROTO_TCP,
+00054                 std::string hostname = "localhost", unsigned int nChannels = 1, Stk::StkFormat format = STK_SINT16 );
+00055 
+00057   void disconnect( void );
+00058 
+00060 
+00065   void tick( const StkFloat sample );
+00066 
+00068 
+00077   void tick( const StkFrames& frames );
+00078 
+00079  protected:
+00080 
+00081   void incrementFrame( void );
+00082 
+00083   // Write a buffer of length frames via the socket connection.
+00084   void writeData( unsigned long frames );
+00085 
+00086   char *buffer_;
+00087   Socket *soket_;
+00088   unsigned long bufferFrames_;
+00089   unsigned long bufferBytes_;
+00090   unsigned long bufferIndex_;
+00091   unsigned long iData_;
+00092   unsigned int dataBytes_;
+00093   Stk::StkFormat dataType_;
+00094 };
+00095 
+00096 } // stk namespace
+00097 
+00098 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 114fcc3..34af760 100644 --- a/doc/html/Instrmnt_8h-source.html +++ b/doc/html/Instrmnt_8h-source.html @@ -113,7 +113,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..c1013d2 --- /dev/null +++ b/doc/html/Instrmnt_8h_source.html @@ -0,0 +1,120 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Instrmnt.h

00001 #ifndef STK_INSTRMNT_H
+00002 #define STK_INSTRMNT_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00017 /***************************************************/
+00018 
+00019 class Instrmnt : public Stk
+00020 {
+00021  public:
+00023   Instrmnt( void ) { lastFrame_.resize( 1, 1, 0.0 ); };
+00024 
+00026   virtual void noteOn( StkFloat frequency, StkFloat amplitude ) = 0;
+00027 
+00029   virtual void noteOff( StkFloat amplitude ) = 0;
+00030 
+00032   virtual void setFrequency( StkFloat frequency );
+00033 
+00035   virtual void controlChange(int number, StkFloat value);
+00036 
+00038   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
+00039 
+00041   const StkFrames& lastFrame( void ) const { return lastFrame_; };
+00042 
+00044 
+00052   StkFloat lastOut( unsigned int channel = 0 );
+00053 
+00055 
+00058   virtual StkFloat tick( unsigned int channel = 0 ) = 0;
+00059 
+00061 
+00068   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00069 
+00070  protected:
+00071 
+00072   StkFrames lastFrame_;
+00073 
+00074 };
+00075 
+00076 inline void Instrmnt :: setFrequency(StkFloat frequency)
+00077 {
+00078   errorString_ << "Instrmnt::setFrequency: virtual setFrequency function call!";
+00079   handleError( StkError::WARNING );
+00080 }
+00081 
+00082 inline StkFloat Instrmnt :: lastOut( unsigned int channel )
+00083 {
+00084 #if defined(_STK_DEBUG_)
+00085   if ( channel >= lastFrame_.channels() ) {
+00086     errorString_ << "Instrmnt::lastOut(): channel argument is invalid!";
+00087     handleError( StkError::FUNCTION_ARGUMENT );
+00088   }
+00089 #endif
+00090 
+00091   return lastFrame_[channel];
+00092 }
+00093 
+00094 inline StkFrames& Instrmnt :: tick( StkFrames& frames, unsigned int channel )
+00095 {
+00096   unsigned int nChannels = lastFrame_.channels();
+00097 #if defined(_STK_DEBUG_)
+00098   if ( channel > frames.channels() - nChannels ) {
+00099     errorString_ << "Instrmnt::tick(): channel and StkFrames arguments are incompatible!";
+00100     handleError( StkError::FUNCTION_ARGUMENT );
+00101   }
+00102 #endif
+00103 
+00104   StkFloat *samples = &frames[channel];
+00105   unsigned int j, hop = frames.channels() - nChannels;
+00106   if ( nChannels == 1 ) {
+00107     for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+00108       *samples++ = tick();
+00109   }
+00110   else {
+00111     for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00112       *samples++ = tick();
+00113       for ( j=1; j<nChannels; j++ )
+00114         *samples++ = lastFrame_[j];
+00115     }
+00116   }
+00117 
+00118   return frames;
+00119 }
+00120 
+00121 inline void Instrmnt :: controlChange( int number, StkFloat value )
+00122 {
+00123   errorString_ << "Instrmnt::controlChange: virtual function call!";
+00124   handleError( StkError::WARNING );
+00125 }
+00126 
+00127 } // stk namespace
+00128 
+00129 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 5fc53d2..e222c0a 100644 --- a/doc/html/JCRev_8h-source.html +++ b/doc/html/JCRev_8h-source.html @@ -127,7 +127,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..cc8b67d --- /dev/null +++ b/doc/html/JCRev_8h_source.html @@ -0,0 +1,134 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

JCRev.h

00001 #ifndef STK_JCREV_H
+00002 #define STK_JCREV_H
+00003 
+00004 #include "Effect.h"
+00005 #include "Delay.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00022 /***************************************************/
+00023 
+00024 class JCRev : public Effect
+00025 {
+00026  public:
+00028   JCRev( StkFloat T60 = 1.0 );
+00029 
+00031   void clear( void );
+00032 
+00034   void setT60( StkFloat T60 );
+00035 
+00037 
+00045   StkFloat lastOut( unsigned int channel = 0 );
+00046 
+00048 
+00055   StkFloat tick( StkFloat input, unsigned int channel = 0 );
+00056 
+00058 
+00067   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00068 
+00070 
+00079   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00080 
+00081  protected:
+00082 
+00083   Delay allpassDelays_[3];
+00084   Delay combDelays_[4];
+00085   Delay outLeftDelay_;
+00086   Delay outRightDelay_;
+00087   StkFloat allpassCoefficient_;
+00088   StkFloat combCoefficient_[4];
+00089 
+00090 };
+00091 
+00092 inline StkFloat JCRev :: lastOut( unsigned int channel )
+00093 {
+00094 #if defined(_STK_DEBUG_)
+00095   if ( channel > 1 ) {
+00096     errorString_ << "JCRev::lastOut(): channel argument must be less than 2!";
+00097     handleError( StkError::FUNCTION_ARGUMENT );
+00098   }
+00099 #endif
+00100 
+00101   return lastFrame_[channel];
+00102 }
+00103 
+00104 inline StkFloat JCRev :: tick( StkFloat input, unsigned int channel )
+00105 {
+00106 #if defined(_STK_DEBUG_)
+00107   if ( channel > 1 ) {
+00108     errorString_ << "JCRev::tick(): channel argument must be less than 2!";
+00109     handleError( StkError::FUNCTION_ARGUMENT );
+00110   }
+00111 #endif
+00112 
+00113   StkFloat temp, temp0, temp1, temp2, temp3, temp4, temp5, temp6;
+00114   StkFloat filtout;
+00115 
+00116   temp = allpassDelays_[0].lastOut();
+00117   temp0 = allpassCoefficient_ * temp;
+00118   temp0 += input;
+00119   allpassDelays_[0].tick(temp0);
+00120   temp0 = -(allpassCoefficient_ * temp0) + temp;
+00121     
+00122   temp = allpassDelays_[1].lastOut();
+00123   temp1 = allpassCoefficient_ * temp;
+00124   temp1 += temp0;
+00125   allpassDelays_[1].tick(temp1);
+00126   temp1 = -(allpassCoefficient_ * temp1) + temp;
+00127     
+00128   temp = allpassDelays_[2].lastOut();
+00129   temp2 = allpassCoefficient_ * temp;
+00130   temp2 += temp1;
+00131   allpassDelays_[2].tick(temp2);
+00132   temp2 = -(allpassCoefficient_ * temp2) + temp;
+00133     
+00134   temp3 = temp2 + (combCoefficient_[0] * combDelays_[0].lastOut());
+00135   temp4 = temp2 + (combCoefficient_[1] * combDelays_[1].lastOut());
+00136   temp5 = temp2 + (combCoefficient_[2] * combDelays_[2].lastOut());
+00137   temp6 = temp2 + (combCoefficient_[3] * combDelays_[3].lastOut());
+00138 
+00139   combDelays_[0].tick(temp3);
+00140   combDelays_[1].tick(temp4);
+00141   combDelays_[2].tick(temp5);
+00142   combDelays_[3].tick(temp6);
+00143 
+00144   filtout = temp3 + temp4 + temp5 + temp6;
+00145 
+00146   lastFrame_[0] = effectMix_ * (outLeftDelay_.tick(filtout));
+00147   lastFrame_[1] = effectMix_ * (outRightDelay_.tick(filtout));
+00148   temp = (1.0 - effectMix_) * input;
+00149   lastFrame_[0] += temp;
+00150   lastFrame_[1] += temp;
+00151     
+00152   return lastFrame_[channel];
+00153 }
+00154 
+00155 } // stk namespace
+00156 
+00157 #endif
+00158 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/JetTable_8h-source.html b/doc/html/JetTable_8h-source.html index 2398fa7..35f9c08 100644 --- a/doc/html/JetTable_8h-source.html +++ b/doc/html/JetTable_8h-source.html @@ -100,7 +100,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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..e5e019b --- /dev/null +++ b/doc/html/JetTable_8h_source.html @@ -0,0 +1,107 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

JetTable.h

00001 #ifndef STK_JETTABL_H
+00002 #define STK_JETTABL_H
+00003 
+00004 #include "Function.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00021 /***************************************************/
+00022 
+00023 class JetTable : public Function
+00024 {
+00025 public:
+00026 
+00028   StkFloat tick( StkFloat input );
+00029 
+00031 
+00039   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00040 
+00042 
+00050   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00051 
+00052 };
+00053 
+00054 inline StkFloat JetTable :: tick( StkFloat input )
+00055 {
+00056   // Perform "table lookup" using a polynomial
+00057   // calculation (x^3 - x), which approximates
+00058   // the jet sigmoid behavior.
+00059   lastFrame_[0] = input * (input * input - 1.0);
+00060 
+00061   // Saturate at +/- 1.0.
+00062   if ( lastFrame_[0] > 1.0 ) lastFrame_[0] = 1.0;
+00063   if ( lastFrame_[0] < -1.0 ) lastFrame_[0] = -1.0; 
+00064   return lastFrame_[0];
+00065 }
+00066 
+00067 inline StkFrames& JetTable :: tick( StkFrames& frames, unsigned int channel )
+00068 {
+00069 #if defined(_STK_DEBUG_)
+00070   if ( channel >= frames.channels() ) {
+00071     errorString_ << "JetTable::tick(): channel and StkFrames arguments are incompatible!";
+00072     handleError( StkError::FUNCTION_ARGUMENT );
+00073   }
+00074 #endif
+00075 
+00076   StkFloat *samples = &frames[channel];
+00077   unsigned int hop = frames.channels();
+00078   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00079     *samples = *samples * (*samples * *samples - 1.0);
+00080     if ( *samples > 1.0) *samples = 1.0;
+00081     if ( *samples < -1.0) *samples = -1.0;
+00082   }
+00083 
+00084   lastFrame_[0] = *(samples-hop);
+00085   return frames;
+00086 }
+00087 
+00088 inline StkFrames& JetTable :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00089 {
+00090 #if defined(_STK_DEBUG_)
+00091   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00092     errorString_ << "JetTable::tick(): channel and StkFrames arguments are incompatible!";
+00093     handleError( StkError::FUNCTION_ARGUMENT );
+00094   }
+00095 #endif
+00096 
+00097   StkFloat *iSamples = &iFrames[iChannel];
+00098   StkFloat *oSamples = &oFrames[oChannel];
+00099   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00100   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00101     *oSamples = *oSamples * (*oSamples * *oSamples - 1.0);
+00102     if ( *oSamples > 1.0) *oSamples = 1.0;
+00103     if ( *oSamples < -1.0) *oSamples = -1.0;
+00104   }
+00105 
+00106   lastFrame_[0] = *(oSamples-oHop);
+00107   return iFrames;
+00108 }
+00109 
+00110 } // stk namespace
+00111 
+00112 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/LentPitShift_8h_source.html b/doc/html/LentPitShift_8h_source.html new file mode 100644 index 0000000..fabef93 --- /dev/null +++ b/doc/html/LentPitShift_8h_source.html @@ -0,0 +1,259 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

LentPitShift.h

00001 #ifndef STK_LENLentPitShift_H
+00002 #define STK_LENLentPitShift_H
+00003 
+00004 #include "Effect.h"
+00005 #include "Delay.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class LentPitShift : public Effect
+00021 {
+00022  public:
+00024   LentPitShift( StkFloat periodRatio = 1.0, int tMax = RT_BUFFER_SIZE );
+00025 
+00026   ~LentPitShift( void ) {
+00027     delete window;
+00028     window = NULL;
+00029     delete dt;
+00030     dt = NULL;
+00031     delete dpt;
+00032     dpt = NULL;
+00033     delete cumDt;
+00034     cumDt = NULL;
+00035   }
+00036 
+00038   void clear( void );
+00039 
+00041   void setShift( StkFloat shift );
+00042 
+00044   StkFloat tick( StkFloat input );
+00045 
+00047 
+00055   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00056 
+00058 
+00066   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00067 
+00068  protected:
+00069 
+00071 
+00075   void process( );
+00076 
+00077   // Frame storage vectors for process function
+00078   StkFrames inputFrames;
+00079   StkFrames outputFrames;
+00080   int ptrFrames;          // writing pointer
+00081 
+00082   // Input delay line
+00083   Delay inputLine_;
+00084   int inputPtr;
+00085 
+00086   // Output delay line
+00087   Delay outputLine_;
+00088   double outputPtr;
+00089 
+00090   // Pitch tracker variables
+00091   unsigned long tMax_;    // Maximal period measurable by the pitch tracker.
+00092   // It is also the size of the window used by the pitch tracker and
+00093   // the size of the frames that can be computed by the tick function
+00094 
+00095   StkFloat threshold_; // Threshold of detection for the pitch tracker
+00096   unsigned long lastPeriod_;    // Result of the last pitch tracking loop
+00097   StkFloat* dt;        // Array containing the euclidian distance coefficients
+00098   StkFloat* cumDt;     // Array containing the cumulative sum of the coefficients in dt
+00099   StkFloat* dpt;       // Array containing the pitch tracking function coefficients
+00100 
+00101   // Pitch shifter variables
+00102   StkFloat env[2];     // Coefficients for the linear interpolation when modifying the output samples
+00103   StkFloat* window;    // Hamming window used for the input portion extraction
+00104   double periodRatio_; // Ratio of modification of the signal period
+00105   StkFrames zeroFrame; // Frame of tMax_ zero samples
+00106 
+00107 
+00108   // Coefficient delay line that could be used for a dynamic calculation of the pitch
+00109   //Delay* coeffLine_;
+00110 
+00111 };
+00112 
+00113 inline void LentPitShift::process()
+00114 {
+00115   StkFloat x_t;    // input coefficient
+00116   StkFloat x_t_T;  // previous input coefficient at T samples
+00117   StkFloat coeff;  // new coefficient for the difference function
+00118 
+00119   int alternativePitch = tMax_;  // Global minimum storage
+00120   lastPeriod_ = tMax_+1;         // Storage of the lowest local minimum under the threshold
+00121 
+00122   // Loop variables
+00123   unsigned long delay_;
+00124   unsigned int n;
+00125 
+00126   // Initialization of the dt coefficients.  Since the
+00127   // frames are of tMax_ length, there is no overlapping
+00128   // between the successive windows where pitch tracking
+00129   // is performed.
+00130   for ( delay_=1; delay_<=tMax_; delay_++ )
+00131     dt[delay_] = 0.;
+00132 
+00133   // Calculation of the dt coefficients and update of the input delay line.
+00134   for ( n=0; n<inputFrames.size(); n++ ) {
+00135     x_t = inputLine_.tick( inputFrames[ n ] );
+00136     for ( delay_=1; delay_<= tMax_; delay_++ ) {
+00137       x_t_T = inputLine_.contentsAt( delay_ );
+00138       coeff = x_t - x_t_T;
+00139       dt[delay_] += coeff * coeff;
+00140     }
+00141   }
+00142 
+00143   // Calculation of the pitch tracking function and test for the minima.
+00144   for ( delay_=1; delay_<=tMax_; delay_++ ) {
+00145     cumDt[delay_] = dt[delay_] + cumDt[delay_-1];
+00146     dpt[delay_] = dt[delay_] * delay_ / cumDt[delay_];
+00147 
+00148     // Look for a minimum
+00149     if ( dpt[delay_-1]-dpt[delay_-2] < 0 && dpt[delay_]-dpt[delay_-1] > 0 ) {
+00150       // Check if the minimum is under the threshold
+00151       if ( dpt[delay_-1] < threshold_ ){
+00152         lastPeriod_ = delay_-1;
+00153         // If a minimum is found, we can stop the loop
+00154         break;
+00155       }
+00156       else if ( dpt[alternativePitch] > dpt[delay_-1] )
+00157         // Otherwise we store it if it is the current global minimum
+00158         alternativePitch = delay_-1;
+00159     }
+00160   }
+00161 
+00162   // Test for the last period length.
+00163   if ( dpt[delay_]-dpt[delay_-1] < 0 ) {
+00164     if ( dpt[delay_] < threshold_ )
+00165       lastPeriod_ = delay_;
+00166     else if ( dpt[alternativePitch] > dpt[delay_] )
+00167       alternativePitch = delay_;
+00168   }
+00169 
+00170   if ( lastPeriod_ == tMax_+1 )
+00171     // No period has been under the threshold so we used the global minimum
+00172     lastPeriod_ = alternativePitch;
+00173 
+00174   // We put the new zero output coefficients in the output delay line and 
+00175   // we get the previous calculated coefficients
+00176   outputLine_.tick( zeroFrame, outputFrames );
+00177 
+00178   // Initialization of the Hamming window used in the algorithm
+00179   for ( int n=-(int)lastPeriod_; n<(int)lastPeriod_; n++ )
+00180     window[n+lastPeriod_] = (1 + cos(PI*n/lastPeriod_)) / 2    ;
+00181 
+00182   int M;  // Index of reading in the input delay line
+00183   int N;  // Index of writing in the output delay line
+00184   double sample;  // Temporary storage for the new coefficient
+00185 
+00186   // We loop for all the frames of length lastPeriod_ presents between inputPtr and tMax_
+00187   for ( ; inputPtr<(int)(tMax_-lastPeriod_); inputPtr+=lastPeriod_ ) {
+00188     // Test for the decision of compression/expansion
+00189     while ( outputPtr < inputPtr ) {
+00190       // Coefficients for the linear interpolation
+00191       env[1] = fmod( outputPtr + tMax_, 1.0 );
+00192       env[0] = 1.0 - env[1];
+00193       M = tMax_ - inputPtr + lastPeriod_ - 1; // New reading pointer
+00194       N = 2*tMax_ - (unsigned long)floor(outputPtr + tMax_) + lastPeriod_ - 1; // New writing pointer
+00195       for ( unsigned int j=0; j<2*lastPeriod_; j++,M--,N-- ) {
+00196         sample = inputLine_.contentsAt(M) * window[j] / 2.;
+00197         // Linear interpolation
+00198         outputLine_.addTo(N, env[0] * sample);
+00199         outputLine_.addTo(N-1, env[1] * sample);
+00200       }
+00201       outputPtr = outputPtr + lastPeriod_ * periodRatio_; // new output pointer
+00202     }
+00203   }
+00204   // Shifting of the pointers waiting for the new frame of length tMax_.
+00205   outputPtr -= tMax_;
+00206   inputPtr  -= tMax_;
+00207 }
+00208 
+00209 
+00210 inline StkFloat LentPitShift :: tick( StkFloat input )
+00211 {
+00212   StkFloat sample;
+00213 
+00214   inputFrames[ptrFrames] = input;
+00215 
+00216   sample = outputFrames[ptrFrames++];
+00217 
+00218   // Check for end condition
+00219   if ( ptrFrames == (int) inputFrames.size() ){
+00220     ptrFrames = 0;
+00221     process( );
+00222   }
+00223 
+00224   return sample;
+00225 }
+00226 
+00227 inline StkFrames& LentPitShift :: tick( StkFrames& frames, unsigned int channel )
+00228 {
+00229 #if defined(_STK_DEBUG_)
+00230   if ( channel >= frames.channels() ) {
+00231     errorString_ << "LentPitShift::tick(): channel and StkFrames arguments are incompatible!";
+00232     handleError( StkError::FUNCTION_ARGUMENT );
+00233   }
+00234 #endif
+00235 
+00236   StkFloat *samples = &frames[channel];
+00237   unsigned int hop = frames.channels();
+00238   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00239     *samples = tick( *samples );
+00240   }
+00241 
+00242   return frames;
+00243 }
+00244 
+00245 inline StkFrames& LentPitShift :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00246 {
+00247 #if defined(_STK_DEBUG_)
+00248   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00249     errorString_ << "LentPitShift::tick(): channel and StkFrames arguments are incompatible!";
+00250     handleError( StkError::FUNCTION_ARGUMENT );
+00251   }
+00252 #endif
+00253 
+00254   StkFloat *iSamples = &iFrames[iChannel];
+00255   StkFloat *oSamples = &oFrames[oChannel];
+00256   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00257   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00258     *oSamples = tick( *iSamples );
+00259   }
+00260 
+00261   return iFrames;
+00262 }
+00263 
+00264 } // stk namespace
+00265 
+00266 #endif
+00267 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 e4c37fb..79d4b08 100644 --- a/doc/html/Mandolin_8h-source.html +++ b/doc/html/Mandolin_8h-source.html @@ -88,7 +88,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..a6e5190 --- /dev/null +++ b/doc/html/Mandolin_8h_source.html @@ -0,0 +1,95 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Mandolin.h

00001 #ifndef STK_MANDOLIN_H
+00002 #define STK_MANDOLIN_H
+00003 
+00004 #include "PluckTwo.h"
+00005 #include "FileWvIn.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 class Mandolin : public PluckTwo
+00039 {
+00040  public:
+00042   Mandolin( StkFloat lowestFrequency );
+00043 
+00045   ~Mandolin( void );
+00046 
+00048   void pluck( StkFloat amplitude );
+00049 
+00051   void pluck( StkFloat amplitude,StkFloat position );
+00052 
+00054   void noteOn( StkFloat frequency, StkFloat amplitude );
+00055 
+00057   void setBodySize( StkFloat size );
+00058 
+00060   void controlChange( int number, StkFloat value );
+00061 
+00063   StkFloat tick( unsigned int channel = 0 );
+00064 
+00065   protected:
+00066 
+00067   FileWvIn *soundfile_[12];
+00068   int mic_;
+00069   long dampTime_;
+00070   bool waveDone_;
+00071 };
+00072 
+00073 inline StkFloat Mandolin :: tick( unsigned int )
+00074 {
+00075   StkFloat temp = 0.0;
+00076   if ( !waveDone_ ) {
+00077     // Scale the pluck excitation with comb
+00078     // filtering for the duration of the file.
+00079     temp = soundfile_[mic_]->tick() * pluckAmplitude_;
+00080     temp = temp - combDelay_.tick(temp);
+00081     waveDone_ = soundfile_[mic_]->isFinished();
+00082   }
+00083 
+00084   // Damping hack to help avoid overflow on re-plucking.
+00085   if ( dampTime_ >=0 ) {
+00086     dampTime_ -= 1;
+00087     // Calculate 1st delay filtered reflection plus pluck excitation.
+00088     lastFrame_[0] = delayLine_.tick( filter_.tick( temp + (delayLine_.lastOut() * 0.7) ) );
+00089     // Calculate 2nd delay just like the 1st.
+00090     lastFrame_[0] += delayLine2_.tick( filter2_.tick( temp + (delayLine2_.lastOut() * 0.7) ) );
+00091   }
+00092   else { // No damping hack after 1 period.
+00093     // Calculate 1st delay filtered reflection plus pluck excitation.
+00094     lastFrame_[0] = delayLine_.tick( filter_.tick( temp + (delayLine_.lastOut() * loopGain_) ) );
+00095     // Calculate 2nd delay just like the 1st.
+00096     lastFrame_[0] += delayLine2_.tick( filter2_.tick( temp + (delayLine2_.lastOut() * loopGain_) ) );
+00097   }
+00098 
+00099   lastFrame_[0] *= 0.3;
+00100   return lastFrame_[0];
+00101 }
+00102 
+00103 } // stk namespace
+00104 
+00105 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 0320411..088f204 100644 --- a/doc/html/Mesh2D_8h-source.html +++ b/doc/html/Mesh2D_8h-source.html @@ -88,7 +88,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..a79120f --- /dev/null +++ b/doc/html/Mesh2D_8h_source.html @@ -0,0 +1,95 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Mesh2D.h

00001 #ifndef STK_MESH2D_H
+00002 #define STK_MESH2D_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "OnePole.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00033 /***************************************************/
+00034 
+00035 const short NXMAX = 12;
+00036 const short NYMAX = 12;
+00037 
+00038 class Mesh2D : public Instrmnt
+00039 {
+00040  public:
+00042   Mesh2D( short nX, short nY );
+00043 
+00045   ~Mesh2D( void );
+00046 
+00048   void clear( void );
+00049 
+00051   void setNX( short lenX );
+00052 
+00054   void setNY( short lenY );
+00055 
+00057   void setInputPosition( StkFloat xFactor, StkFloat yFactor );
+00058 
+00060   void setDecay( StkFloat decayFactor );
+00061 
+00063   void noteOn( StkFloat frequency, StkFloat amplitude );
+00064 
+00066   void noteOff( StkFloat amplitude );
+00067 
+00069   StkFloat energy( void );
+00070 
+00072   StkFloat inputTick( StkFloat input );
+00073 
+00075   void controlChange( int number, StkFloat value );
+00076 
+00078   StkFloat tick( unsigned int channel = 0 );
+00079 
+00080  protected:
+00081 
+00082   StkFloat tick0();
+00083   StkFloat tick1();
+00084   void clearMesh();
+00085 
+00086   short NX_, NY_;
+00087   short xInput_, yInput_;
+00088   OnePole  filterX_[NXMAX];
+00089   OnePole  filterY_[NYMAX];
+00090   StkFloat v_[NXMAX-1][NYMAX-1]; // junction velocities
+00091   StkFloat vxp_[NXMAX][NYMAX];   // positive-x velocity wave
+00092   StkFloat vxm_[NXMAX][NYMAX];   // negative-x velocity wave
+00093   StkFloat vyp_[NXMAX][NYMAX];   // positive-y velocity wave
+00094   StkFloat vym_[NXMAX][NYMAX];   // negative-y velocity wave
+00095 
+00096   // Alternate buffers
+00097   StkFloat vxp1_[NXMAX][NYMAX];  // positive-x velocity wave
+00098   StkFloat vxm1_[NXMAX][NYMAX];  // negative-x velocity wave
+00099   StkFloat vyp1_[NXMAX][NYMAX];  // positive-y velocity wave
+00100   StkFloat vym1_[NXMAX][NYMAX];  // negative-y velocity wave
+00101 
+00102   int counter_; // time in samples
+00103 };
+00104 
+00105 } // stk namespace
+00106 
+00107 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 c3cfcf3..fcfc822 100644 --- a/doc/html/Messager_8h-source.html +++ b/doc/html/Messager_8h-source.html @@ -103,7 +103,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..c4424a2 --- /dev/null +++ b/doc/html/Messager_8h_source.html @@ -0,0 +1,110 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Messager.h

00001 #ifndef STK_MESSAGER_H
+00002 #define STK_MESSAGER_H
+00003 
+00004 #include "Stk.h"
+00005 #include "Skini.h"
+00006 #include <queue>
+00007 
+00008 #if defined(__STK_REALTIME__)
+00009 
+00010 #include "Mutex.h"
+00011 #include "Thread.h"
+00012 #include "TcpServer.h"
+00013 #include "RtMidi.h"
+00014 
+00015 #endif // __STK_REALTIME__
+00016 
+00017 namespace stk {
+00018 
+00019 /***************************************************/
+00051 /***************************************************/
+00052 
+00053 const int DEFAULT_QUEUE_LIMIT = 200;
+00054 
+00055 class Messager : public Stk
+00056 {
+00057  public:
+00058 
+00059   // This structure is used to share data among the various realtime
+00060   // messager threads.  It must be public.
+00061   struct MessagerData {
+00062     Skini skini;
+00063     std::queue<Skini::Message> queue;
+00064     unsigned int queueLimit;
+00065     int sources;
+00066 
+00067 #if defined(__STK_REALTIME__)
+00068     Mutex mutex;
+00069     RtMidiIn *midi;
+00070     TcpServer *socket;
+00071     std::vector<int> fd;
+00072     fd_set mask;
+00073 #endif
+00074 
+00075     // Default constructor.
+00076     MessagerData()
+00077       :queueLimit(0), sources(0) {}
+00078   };
+00079 
+00081   Messager();
+00082 
+00084   ~Messager();
+00085 
+00087 
+00093   void popMessage( Skini::Message& message );
+00094 
+00096   void pushMessage( Skini::Message& message );
+00097 
+00099 
+00107   bool setScoreFile( const char* filename );
+00108 
+00109 #if defined(__STK_REALTIME__)
+00111 
+00120   bool startStdInput();
+00121 
+00123 
+00134   bool startSocketInput( int port=2001 );
+00135 
+00137 
+00149   bool startMidiInput( int port=0 );
+00150 
+00151 #endif
+00152 
+00153  protected:
+00154 
+00155   MessagerData data_;
+00156 
+00157 #if defined(__STK_REALTIME__)
+00158   Thread stdinThread_;
+00159   Thread socketThread_;
+00160 #endif
+00161 
+00162 };
+00163 
+00164 } // stk namespace
+00165 
+00166 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/MidiFileIn_8h-source.html b/doc/html/MidiFileIn_8h-source.html index 8bb93be..690269f 100644 --- a/doc/html/MidiFileIn_8h-source.html +++ b/doc/html/MidiFileIn_8h-source.html @@ -93,7 +93,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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..4d092ad --- /dev/null +++ b/doc/html/MidiFileIn_8h_source.html @@ -0,0 +1,100 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

MidiFileIn.h

00001 #ifndef STK_MIDIFILEIN_H
+00002 #define STK_MIDIFILEIN_H
+00003 
+00004 #include "Stk.h"
+00005 #include <string>
+00006 #include <vector>
+00007 #include <fstream>
+00008 #include <sstream>
+00009 
+00010 namespace stk {
+00011 
+00012 /**********************************************************************/
+00027 /**********************************************************************/
+00028 
+00029 class MidiFileIn : public Stk
+00030 {
+00031  public:
+00033 
+00037   MidiFileIn( std::string fileName );
+00038 
+00040   ~MidiFileIn();
+00041 
+00043   int getFileFormat() const;
+00044 
+00046   unsigned int getNumberOfTracks() const;
+00047 
+00049 
+00054   int getDivision() const;
+00055 
+00057 
+00061   void rewindTrack( unsigned int track = 0 );
+00062 
+00064 
+00071   double getTickSeconds( unsigned int track = 0 );
+00072 
+00074 
+00086   unsigned long getNextEvent( std::vector<unsigned char> *event, unsigned int track = 0 );
+00087 
+00089 
+00099   unsigned long getNextMidiEvent( std::vector<unsigned char> *midiEvent, unsigned int track = 0 );
+00100 
+00101  protected:
+00102 
+00103   // This protected class function is used for reading variable-length
+00104   // MIDI file values. It is assumed that this function is called with
+00105   // the file read pointer positioned at the start of a
+00106   // variable-length value.  The function returns true if the value is
+00107   // successfully parsed.  Otherwise, it returns false.
+00108   bool readVariableLength( unsigned long *value );
+00109 
+00110   std::ifstream file_;
+00111   unsigned int nTracks_;
+00112   int format_;
+00113   int division_;
+00114   bool usingTimeCode_;
+00115   std::vector<double> tickSeconds_;
+00116   std::vector<long> trackPointers_;
+00117   std::vector<long> trackOffsets_;
+00118   std::vector<long> trackLengths_;
+00119   std::vector<char> trackStatus_;
+00120 
+00121   // This structure and the following variables are used to save and
+00122   // keep track of a format 1 tempo map (and the initial tickSeconds
+00123   // parameter for formats 0 and 2).
+00124   struct TempoChange { 
+00125     unsigned long count;
+00126     double tickSeconds;
+00127   };
+00128   std::vector<TempoChange> tempoEvents_;
+00129   std::vector<unsigned long> trackCounters_;
+00130   std::vector<unsigned int> trackTempoIndex_;
+00131 };
+00132 
+00133 } // stk namespace
+00134 
+00135 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 fa802ee..62ddcd8 100644 --- a/doc/html/ModalBar_8h-source.html +++ b/doc/html/ModalBar_8h-source.html @@ -48,7 +48,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..b551179 --- /dev/null +++ b/doc/html/ModalBar_8h_source.html @@ -0,0 +1,55 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

ModalBar.h

00001 #ifndef STK_MODALBAR_H
+00002 #define STK_MODALBAR_H
+00003 
+00004 #include "Modal.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00036 /***************************************************/
+00037 
+00038 class ModalBar : public Modal
+00039 {
+00040 public:
+00042   ModalBar( void );
+00043 
+00045   ~ModalBar( void );
+00046 
+00048   void setStickHardness( StkFloat hardness );
+00049 
+00051   void setStrikePosition( StkFloat position );
+00052 
+00054   void setPreset( int preset );
+00055 
+00057   void setModulationDepth( StkFloat mDepth );
+00058 
+00060   void controlChange( int number, StkFloat value );
+00061 };
+00062 
+00063 } // stk namespace
+00064 
+00065 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 3f88b8e..2792c04 100644 --- a/doc/html/Modal_8h-source.html +++ b/doc/html/Modal_8h-source.html @@ -108,7 +108,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..ced61a9 --- /dev/null +++ b/doc/html/Modal_8h_source.html @@ -0,0 +1,115 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Modal.h

00001 #ifndef STK_MODAL_H
+00002 #define STK_MODAL_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "Envelope.h"
+00006 #include "FileLoop.h"
+00007 #include "SineWave.h"
+00008 #include "BiQuad.h"
+00009 #include "OnePole.h"
+00010 
+00011 namespace stk {
+00012 
+00013 /***************************************************/
+00024 /***************************************************/
+00025 
+00026 class Modal : public Instrmnt
+00027 {
+00028 public:
+00030 
+00033   Modal( unsigned int modes = 4 );
+00034 
+00036   virtual ~Modal( void );
+00037 
+00039   void clear( void );
+00040 
+00042   virtual void setFrequency( StkFloat frequency );
+00043 
+00045   void setRatioAndRadius( unsigned int modeIndex, StkFloat ratio, StkFloat radius );
+00046 
+00048   void setMasterGain( StkFloat aGain ) { masterGain_ = aGain; };
+00049 
+00051   void setDirectGain( StkFloat aGain ) { directGain_ = aGain; };
+00052 
+00054   void setModeGain( unsigned int modeIndex, StkFloat gain );
+00055 
+00057   virtual void strike( StkFloat amplitude );
+00058 
+00060   void damp( StkFloat amplitude );
+00061 
+00063   void noteOn( StkFloat frequency, StkFloat amplitude );
+00064 
+00066   void noteOff( StkFloat amplitude );
+00067 
+00069   virtual void controlChange( int number, StkFloat value ) = 0;
+00070 
+00072   StkFloat tick( unsigned int channel = 0 );
+00073 
+00074 protected:
+00075 
+00076   Envelope envelope_; 
+00077   FileWvIn *wave_;
+00078   BiQuad **filters_;
+00079   OnePole  onepole_;
+00080   SineWave vibrato_;
+00081 
+00082   unsigned int nModes_;
+00083   std::vector<StkFloat> ratios_;
+00084   std::vector<StkFloat> radii_;
+00085 
+00086   StkFloat vibratoGain_;
+00087   StkFloat masterGain_;
+00088   StkFloat directGain_;
+00089   StkFloat stickHardness_;
+00090   StkFloat strikePosition_;
+00091   StkFloat baseFrequency_;
+00092 };
+00093 
+00094 inline StkFloat Modal :: tick( unsigned int )
+00095 {
+00096   StkFloat temp = masterGain_ * onepole_.tick( wave_->tick() * envelope_.tick() );
+00097 
+00098   StkFloat temp2 = 0.0;
+00099   for ( unsigned int i=0; i<nModes_; i++ )
+00100     temp2 += filters_[i]->tick(temp);
+00101 
+00102   temp2  -= temp2 * directGain_;
+00103   temp2 += directGain_ * temp;
+00104 
+00105   if ( vibratoGain_ != 0.0 ) {
+00106     // Calculate AM and apply to master out
+00107     temp = 1.0 + ( vibrato_.tick() * vibratoGain_ );
+00108     temp2 = temp * temp2;
+00109   }
+00110     
+00111   lastFrame_[0] = temp2;
+00112   return lastFrame_[0];
+00113 }
+00114 
+00115 } // stk namespace
+00116 
+00117 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 32c3a86..a62797a 100644 --- a/doc/html/Modulate_8h-source.html +++ b/doc/html/Modulate_8h-source.html @@ -99,7 +99,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..ba76ec2 --- /dev/null +++ b/doc/html/Modulate_8h_source.html @@ -0,0 +1,106 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Modulate.h

00001 #ifndef STK_MODULATE_H
+00002 #define STK_MODULATE_H
+00003 
+00004 #include "Generator.h"
+00005 #include "SineWave.h"
+00006 #include "Noise.h"
+00007 #include "OnePole.h"
+00008 
+00009 namespace stk {
+00010 
+00011 /***************************************************/
+00021 /***************************************************/
+00022 
+00023 class Modulate : public Generator
+00024 {
+00025  public:
+00027 
+00030   Modulate( void );
+00031 
+00033   ~Modulate( void );
+00034 
+00036   void reset( void ) { lastFrame_[0] = 0.0; };
+00037 
+00039   void setVibratoRate( StkFloat rate ) { vibrato_.setFrequency( rate ); };
+00040 
+00042   void setVibratoGain( StkFloat gain ) { vibratoGain_ = gain; };
+00043 
+00045   void setRandomGain( StkFloat gain );
+00046 
+00048   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00049 
+00051   StkFloat tick( void );
+00052 
+00054 
+00061   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00062 
+00063  protected:
+00064 
+00065   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
+00066 
+00067   SineWave vibrato_;
+00068   Noise noise_;
+00069   OnePole  filter_;
+00070   StkFloat vibratoGain_;
+00071   StkFloat randomGain_;
+00072   unsigned int noiseRate_;
+00073   unsigned int noiseCounter_;
+00074 
+00075 };
+00076 
+00077 inline StkFloat Modulate :: tick( void )
+00078 {
+00079   // Compute periodic and random modulations.
+00080   lastFrame_[0] = vibratoGain_ * vibrato_.tick();
+00081   if ( noiseCounter_++ >= noiseRate_ ) {
+00082     noise_.tick();
+00083     noiseCounter_ = 0;
+00084   }
+00085   lastFrame_[0] += filter_.tick( noise_.lastOut() );
+00086   return lastFrame_[0];
+00087 }
+00088 
+00089 inline StkFrames& Modulate :: tick( StkFrames& frames, unsigned int channel )
+00090 {
+00091 #if defined(_STK_DEBUG_)
+00092   if ( channel >= frames.channels() ) {
+00093     errorString_ << "Modulate::tick(): channel and StkFrames arguments are incompatible!";
+00094     handleError( StkError::FUNCTION_ARGUMENT );
+00095   }
+00096 #endif
+00097 
+00098   StkFloat *samples = &frames[channel];
+00099   unsigned int hop = frames.channels();
+00100   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+00101     *samples = Modulate::tick();
+00102 
+00103   return frames;
+00104 }
+00105 
+00106 } // stk namespace
+00107 
+00108 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 2d5fc8b..342c0fd 100644 --- a/doc/html/Moog_8h-source.html +++ b/doc/html/Moog_8h-source.html @@ -78,7 +78,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..bd4fc4d --- /dev/null +++ b/doc/html/Moog_8h_source.html @@ -0,0 +1,85 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Moog.h

00001 #ifndef STK_MOOG_H
+00002 #define STK_MOOG_H
+00003 
+00004 #include "Sampler.h"
+00005 #include "FormSwep.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00027 /***************************************************/
+00028 
+00029 class Moog : public Sampler
+00030 {
+00031  public:
+00033 
+00036   Moog( void );
+00037 
+00039   ~Moog( void );
+00040 
+00042   void setFrequency( StkFloat frequency );
+00043 
+00045   void noteOn( StkFloat frequency, StkFloat amplitude );
+00046 
+00048   void setModulationSpeed( StkFloat mSpeed ) { loops_[1]->setFrequency( mSpeed ); };
+00049 
+00051   void setModulationDepth( StkFloat mDepth ) { modDepth_ = mDepth * 0.5; };
+00052 
+00054   void controlChange( int number, StkFloat value );
+00055 
+00057   StkFloat tick( unsigned int channel = 0 );
+00058 
+00059  protected:
+00060 
+00061   FormSwep filters_[2];
+00062   StkFloat modDepth_;
+00063   StkFloat filterQ_;
+00064   StkFloat filterRate_;
+00065 
+00066 };
+00067 
+00068 inline StkFloat Moog :: tick( unsigned int )
+00069 {
+00070   StkFloat temp;
+00071 
+00072   if ( modDepth_ != 0.0 ) {
+00073     temp = loops_[1]->tick() * modDepth_;    
+00074     loops_[0]->setFrequency( baseFrequency_ * (1.0 + temp) );
+00075   }
+00076 
+00077   temp = attackGain_ * attacks_[0]->tick();
+00078   temp += loopGain_ * loops_[0]->tick();
+00079   temp = filter_.tick( temp );
+00080   temp *= adsr_.tick();
+00081   temp = filters_[0].tick( temp );
+00082   lastFrame_[0] = filters_[1].tick( temp );
+00083   return lastFrame_[0] * 6.0;
+00084 }
+00085 
+00086 } // stk namespace
+00087 
+00088 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/Mutex_8h-source.html b/doc/html/Mutex_8h-source.html index fd611a6..db9e681 100644 --- a/doc/html/Mutex_8h-source.html +++ b/doc/html/Mutex_8h-source.html @@ -69,7 +69,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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..e989686 --- /dev/null +++ b/doc/html/Mutex_8h_source.html @@ -0,0 +1,76 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Mutex.h

00001 #ifndef STK_MUTEX_H
+00002 #define STK_MUTEX_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
+00007 
+00008   #include <pthread.h>
+00009   typedef pthread_mutex_t MUTEX;
+00010   typedef pthread_cond_t CONDITION;
+00011 
+00012 #elif defined(__OS_WINDOWS__)
+00013 
+00014   #include <windows.h>
+00015   #include <process.h>
+00016   typedef CRITICAL_SECTION MUTEX;
+00017   typedef HANDLE CONDITION;
+00018 
+00019 #endif
+00020 
+00021 namespace stk {
+00022 
+00023 /***************************************************/
+00034 /***************************************************/
+00035 
+00036 class Mutex : public Stk
+00037 {
+00038  public:
+00040   Mutex();
+00041 
+00043   ~Mutex();
+00044 
+00046   void lock(void);
+00047 
+00049   void unlock(void);
+00050 
+00052 
+00056   void wait(void);
+00057 
+00059 
+00063   void signal(void);
+00064 
+00065  protected:
+00066 
+00067   MUTEX mutex_;
+00068   CONDITION condition_;
+00069 
+00070 };
+00071 
+00072 } // stk namespace
+00073 
+00074 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 851387b..8cd6559 100644 --- a/doc/html/NRev_8h-source.html +++ b/doc/html/NRev_8h-source.html @@ -128,7 +128,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..b2fb3b6 --- /dev/null +++ b/doc/html/NRev_8h_source.html @@ -0,0 +1,135 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

NRev.h

00001 #ifndef STK_NREV_H
+00002 #define STK_NREV_H
+00003 
+00004 #include "Effect.h"
+00005 #include "Delay.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00023 /***************************************************/
+00024 
+00025 class NRev : public Effect
+00026 {
+00027  public:
+00029   NRev( StkFloat T60 = 1.0 );
+00030 
+00032   void clear( void );
+00033 
+00035   void setT60( StkFloat T60 );
+00036 
+00038 
+00046   StkFloat lastOut( unsigned int channel = 0 );
+00047 
+00049 
+00056   StkFloat tick( StkFloat input, unsigned int channel = 0 );
+00057 
+00059 
+00068   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00069 
+00071 
+00080   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00081 
+00082  protected:
+00083 
+00084   Delay allpassDelays_[8];
+00085   Delay combDelays_[6];
+00086   StkFloat allpassCoefficient_;
+00087   StkFloat combCoefficient_[6];
+00088          StkFloat lowpassState_;
+00089 
+00090 };
+00091 
+00092 inline StkFloat NRev :: lastOut( unsigned int channel )
+00093 {
+00094 #if defined(_STK_DEBUG_)
+00095   if ( channel > 1 ) {
+00096     errorString_ << "NRev::lastOut(): channel argument must be less than 2!";
+00097     handleError( StkError::FUNCTION_ARGUMENT );
+00098   }
+00099 #endif
+00100 
+00101   return lastFrame_[channel];
+00102 }
+00103 
+00104 inline StkFloat NRev :: tick( StkFloat input, unsigned int channel )
+00105 {
+00106 #if defined(_STK_DEBUG_)
+00107   if ( channel > 1 ) {
+00108     errorString_ << "NRev::tick(): channel argument must be less than 2!";
+00109     handleError( StkError::FUNCTION_ARGUMENT );
+00110   }
+00111 #endif
+00112 
+00113   StkFloat temp, temp0, temp1, temp2, temp3;
+00114   int i;
+00115 
+00116   temp0 = 0.0;
+00117   for ( i=0; i<6; i++ ) {
+00118     temp = input + (combCoefficient_[i] * combDelays_[i].lastOut());
+00119     temp0 += combDelays_[i].tick(temp);
+00120   }
+00121 
+00122   for ( i=0; i<3; i++ )    {
+00123     temp = allpassDelays_[i].lastOut();
+00124     temp1 = allpassCoefficient_ * temp;
+00125     temp1 += temp0;
+00126     allpassDelays_[i].tick(temp1);
+00127     temp0 = -(allpassCoefficient_ * temp1) + temp;
+00128   }
+00129 
+00130          // One-pole lowpass filter.
+00131   lowpassState_ = 0.7 * lowpassState_ + 0.3 * temp0;
+00132   temp = allpassDelays_[3].lastOut();
+00133   temp1 = allpassCoefficient_ * temp;
+00134   temp1 += lowpassState_;
+00135   allpassDelays_[3].tick( temp1 );
+00136   temp1 = -( allpassCoefficient_ * temp1 ) + temp;
+00137     
+00138   temp = allpassDelays_[4].lastOut();
+00139   temp2 = allpassCoefficient_ * temp;
+00140   temp2 += temp1;
+00141   allpassDelays_[4].tick( temp2 );
+00142   lastFrame_[0] = effectMix_*( -( allpassCoefficient_ * temp2 ) + temp );
+00143     
+00144   temp = allpassDelays_[5].lastOut();
+00145   temp3 = allpassCoefficient_ * temp;
+00146   temp3 += temp1;
+00147   allpassDelays_[5].tick( temp3 );
+00148   lastFrame_[1] = effectMix_*( - ( allpassCoefficient_ * temp3 ) + temp );
+00149 
+00150   temp = ( 1.0 - effectMix_ ) * input;
+00151   lastFrame_[0] += temp;
+00152   lastFrame_[1] += temp;
+00153     
+00154   return lastFrame_[channel];
+00155 }
+00156 
+00157 } // stk namespace
+00158 
+00159 #endif
+00160 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 a1962bb..ad2d6c1 100644 --- a/doc/html/Noise_8h-source.html +++ b/doc/html/Noise_8h-source.html @@ -74,7 +74,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..b0a07e5 --- /dev/null +++ b/doc/html/Noise_8h_source.html @@ -0,0 +1,81 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Noise.h

00001 #ifndef STK_NOISE_H
+00002 #define STK_NOISE_H
+00003 
+00004 #include "Generator.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class Noise : public Generator
+00021 {
+00022 public:
+00023 
+00025 
+00029   Noise( unsigned int seed = 0 );
+00030 
+00032 
+00036   void setSeed( unsigned int seed = 0 );
+00037 
+00039   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00040 
+00042   StkFloat tick( void );
+00043 
+00045 
+00052   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00053 
+00054 protected:
+00055 
+00056 };
+00057 
+00058 inline StkFloat Noise :: tick( void )
+00059 {
+00060   return lastFrame_[0] = (StkFloat) ( 2.0 * rand() / (RAND_MAX + 1.0) - 1.0 );
+00061 }
+00062 
+00063 inline StkFrames& Noise :: tick( StkFrames& frames, unsigned int channel )
+00064 {
+00065 #if defined(_STK_DEBUG_)
+00066   if ( channel >= frames.channels() ) {
+00067     errorString_ << "Noise::tick(): channel and StkFrames arguments are incompatible!";
+00068     handleError( StkError::FUNCTION_ARGUMENT );
+00069   }
+00070 #endif
+00071 
+00072   StkFloat *samples = &frames[channel];
+00073   unsigned int hop = frames.channels();
+00074   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
+00075     *samples = (StkFloat) ( 2.0 * rand() / (RAND_MAX + 1.0) - 1.0 );
+00076 
+00077   lastFrame_[0] = *(samples-hop);
+00078   return frames;
+00079 }
+00080 
+00081 } // stk namespace
+00082 
+00083 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 cf22531..70ffdde 100644 --- a/doc/html/OnePole_8h-source.html +++ b/doc/html/OnePole_8h-source.html @@ -111,7 +111,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..0b7497d --- /dev/null +++ b/doc/html/OnePole_8h_source.html @@ -0,0 +1,118 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

OnePole.h

00001 #ifndef STK_ONEPOLE_H
+00002 #define STK_ONEPOLE_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class OnePole : public Filter
+00021 {
+00022 public:
+00023 
+00025   OnePole( StkFloat thePole = 0.9 );
+00026 
+00028   ~OnePole();
+00029 
+00031   void setB0( StkFloat b0 ) { b_[0] = b0; };
+00032 
+00034   void setA1( StkFloat a1 ) { a_[1] = a1; };
+00035 
+00037   void setCoefficients( StkFloat b0, StkFloat a1, bool clearState = false );
+00038 
+00040 
+00047   void setPole( StkFloat thePole );
+00048 
+00050   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00051 
+00053   StkFloat tick( StkFloat input );
+00054 
+00056 
+00064   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00065 
+00067 
+00075   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00076 
+00077 };
+00078 
+00079 inline StkFloat OnePole :: tick( StkFloat input )
+00080 {
+00081   inputs_[0] = gain_ * input;
+00082   lastFrame_[0] = b_[0] * inputs_[0] - a_[1] * outputs_[1];
+00083   outputs_[1] = lastFrame_[0];
+00084 
+00085   return lastFrame_[0];
+00086 }
+00087 
+00088 inline StkFrames& OnePole :: tick( StkFrames& frames, unsigned int channel )
+00089 {
+00090 #if defined(_STK_DEBUG_)
+00091   if ( channel >= frames.channels() ) {
+00092     errorString_ << "OnePole::tick(): channel and StkFrames arguments are incompatible!";
+00093     handleError( StkError::FUNCTION_ARGUMENT );
+00094   }
+00095 #endif
+00096 
+00097   StkFloat *samples = &frames[channel];
+00098   unsigned int hop = frames.channels();
+00099   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00100     inputs_[0] = gain_ * *samples;
+00101     *samples = b_[0] * inputs_[0] - a_[1] * outputs_[1];
+00102     outputs_[1] = *samples;
+00103   }
+00104 
+00105   lastFrame_[0] = outputs_[1];
+00106   return frames;
+00107 }
+00108 
+00109 inline StkFrames& OnePole :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00110 {
+00111 #if defined(_STK_DEBUG_)
+00112   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00113     errorString_ << "OnePole::tick(): channel and StkFrames arguments are incompatible!";
+00114     handleError( StkError::FUNCTION_ARGUMENT );
+00115   }
+00116 #endif
+00117 
+00118   StkFloat *iSamples = &iFrames[iChannel];
+00119   StkFloat *oSamples = &oFrames[oChannel];
+00120   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00121   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00122     inputs_[0] = gain_ * *iSamples;
+00123     *oSamples = b_[0] * inputs_[0] - a_[1] * outputs_[1];
+00124     outputs_[1] = *oSamples;
+00125   }
+00126 
+00127   lastFrame_[0] = outputs_[1];
+00128   return iFrames;
+00129 }
+00130 
+00131 } // stk namespace
+00132 
+00133 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 8bf0d08..688df02 100644 --- a/doc/html/OneZero_8h-source.html +++ b/doc/html/OneZero_8h-source.html @@ -112,7 +112,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..2fb6053 --- /dev/null +++ b/doc/html/OneZero_8h_source.html @@ -0,0 +1,119 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

OneZero.h

00001 #ifndef STK_ONEZERO_H
+00002 #define STK_ONEZERO_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class OneZero : public Filter
+00021 {
+00022  public:
+00023 
+00025   OneZero( StkFloat theZero = -1.0 );
+00026 
+00028   ~OneZero();
+00029 
+00031   void setB0( StkFloat b0 ) { b_[0] = b0; };
+00032 
+00034   void setB1( StkFloat b1 ) { b_[1] = b1; };
+00035 
+00037   void setCoefficients( StkFloat b0, StkFloat b1, bool clearState = false );
+00038 
+00040 
+00047   void setZero( StkFloat theZero );
+00048 
+00050   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00051 
+00053   StkFloat tick( StkFloat input );
+00054 
+00056 
+00064   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00065 
+00067 
+00075   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00076 
+00077 };
+00078 
+00079 inline StkFloat OneZero :: tick( StkFloat input )
+00080 {
+00081   inputs_[0] = gain_ * input;
+00082   lastFrame_[0] = b_[1] * inputs_[1] + b_[0] * inputs_[0];
+00083   inputs_[1] = inputs_[0];
+00084 
+00085   return lastFrame_[0];
+00086 }
+00087 
+00088 inline StkFrames& OneZero :: tick( StkFrames& frames, unsigned int channel )
+00089 {
+00090 #if defined(_STK_DEBUG_)
+00091   if ( channel >= frames.channels() ) {
+00092     errorString_ << "OneZero::tick(): channel and StkFrames arguments are incompatible!";
+00093     handleError( StkError::FUNCTION_ARGUMENT );
+00094   }
+00095 #endif
+00096 
+00097   StkFloat *samples = &frames[channel];
+00098   unsigned int hop = frames.channels();
+00099   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00100     inputs_[0] = gain_ * *samples;
+00101     *samples = b_[1] * inputs_[1] + b_[0] * inputs_[0];
+00102     inputs_[1] = inputs_[0];
+00103   }
+00104 
+00105   lastFrame_[0] = *(samples-hop);
+00106   return frames;
+00107 }
+00108 
+00109 inline StkFrames& OneZero :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00110 {
+00111 #if defined(_STK_DEBUG_)
+00112   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00113     errorString_ << "OneZero::tick(): channel and StkFrames arguments are incompatible!";
+00114     handleError( StkError::FUNCTION_ARGUMENT );
+00115   }
+00116 #endif
+00117 
+00118   StkFloat *iSamples = &iFrames[iChannel];
+00119   StkFloat *oSamples = &oFrames[oChannel];
+00120   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00121   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00122     inputs_[0] = gain_ * *iSamples;
+00123     *oSamples = b_[1] * inputs_[1] + b_[0] * inputs_[0];
+00124     inputs_[1] = inputs_[0];
+00125   }
+00126 
+00127   lastFrame_[0] = *(oSamples-oHop);
+00128   return iFrames;
+00129 }
+00130 
+00131 } // stk namespace
+00132 
+00133 #endif
+00134 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 ef58ee1..3f2b3ee 100644 --- a/doc/html/PRCRev_8h-source.html +++ b/doc/html/PRCRev_8h-source.html @@ -109,7 +109,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..15d4b7e --- /dev/null +++ b/doc/html/PRCRev_8h_source.html @@ -0,0 +1,116 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

PRCRev.h

00001 #ifndef STK_PRCREV_H
+00002 #define STK_PRCREV_H
+00003 
+00004 #include "Effect.h"
+00005 #include "Delay.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00022 /***************************************************/
+00023 
+00024 class PRCRev : public Effect
+00025 {
+00026 public:
+00028   PRCRev( StkFloat T60 = 1.0 );
+00029 
+00031   void clear( void );
+00032 
+00034   void setT60( StkFloat T60 );
+00035 
+00037 
+00045   StkFloat lastOut( unsigned int channel = 0 );
+00046 
+00048 
+00055   StkFloat tick( StkFloat input, unsigned int channel = 0 );
+00056 
+00058 
+00067   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00068 
+00070 
+00079   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00080 
+00081 protected:
+00082 
+00083   Delay allpassDelays_[2];
+00084   Delay combDelays_[2];
+00085   StkFloat allpassCoefficient_;
+00086   StkFloat combCoefficient_[2];
+00087 
+00088 };
+00089 
+00090 inline StkFloat PRCRev :: lastOut( unsigned int channel )
+00091 {
+00092 #if defined(_STK_DEBUG_)
+00093   if ( channel > 1 ) {
+00094     errorString_ << "PRCRev::lastOut(): channel argument must be less than 2!";
+00095     handleError( StkError::FUNCTION_ARGUMENT );
+00096   }
+00097 #endif
+00098 
+00099   return lastFrame_[channel];
+00100 }
+00101 
+00102  inline StkFloat PRCRev :: tick( StkFloat input, unsigned int channel )
+00103 {
+00104 #if defined(_STK_DEBUG_)
+00105   if ( channel > 1 ) {
+00106     errorString_ << "PRCRev::tick(): channel argument must be less than 2!";
+00107     handleError( StkError::FUNCTION_ARGUMENT );
+00108   }
+00109 #endif
+00110 
+00111   StkFloat temp, temp0, temp1, temp2, temp3;
+00112 
+00113   temp = allpassDelays_[0].lastOut();
+00114   temp0 = allpassCoefficient_ * temp;
+00115   temp0 += input;
+00116   allpassDelays_[0].tick(temp0);
+00117   temp0 = -(allpassCoefficient_ * temp0) + temp;
+00118     
+00119   temp = allpassDelays_[1].lastOut();
+00120   temp1 = allpassCoefficient_ * temp;
+00121   temp1 += temp0;
+00122   allpassDelays_[1].tick(temp1);
+00123   temp1 = -(allpassCoefficient_ * temp1) + temp;
+00124     
+00125   temp2 = temp1 + (combCoefficient_[0] * combDelays_[0].lastOut());
+00126   temp3 = temp1 + (combCoefficient_[1] * combDelays_[1].lastOut());
+00127 
+00128   lastFrame_[0] = effectMix_ * (combDelays_[0].tick(temp2));
+00129   lastFrame_[1] = effectMix_ * (combDelays_[1].tick(temp3));
+00130   temp = (1.0 - effectMix_) * input;
+00131   lastFrame_[0] += temp;
+00132   lastFrame_[1] += temp;
+00133 
+00134   return lastFrame_[channel];
+00135 }
+00136 
+00137 } // stk namespace
+00138 
+00139 #endif
+00140 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 c959da8..5182e01 100644 --- a/doc/html/PercFlut_8h-source.html +++ b/doc/html/PercFlut_8h-source.html @@ -75,7 +75,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..8db1170 --- /dev/null +++ b/doc/html/PercFlut_8h_source.html @@ -0,0 +1,82 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

PercFlut.h

00001 #ifndef STK_PERCFLUT_H
+00002 #define STK_PERCFLUT_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00034 /***************************************************/
+00035 
+00036 class PercFlut : public FM
+00037 {
+00038  public:
+00040 
+00043   PercFlut( void );
+00044 
+00046   ~PercFlut( void );
+00047 
+00049   void setFrequency( StkFloat frequency );
+00050 
+00052   void noteOn( StkFloat frequency, StkFloat amplitude );
+00053 
+00055   StkFloat tick( unsigned int channel = 0 );
+00056 
+00057  protected:
+00058 
+00059 };
+00060 
+00061 inline StkFloat PercFlut :: tick( unsigned int )
+00062 {
+00063   register StkFloat temp;
+00064 
+00065   temp = vibrato_.tick() * modDepth_ * 0.2;    
+00066   waves_[0]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[0]);
+00067   waves_[1]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[1]);
+00068   waves_[2]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[2]);
+00069   waves_[3]->setFrequency(baseFrequency_ * (1.0 + temp) * ratios_[3]);
+00070     
+00071   waves_[3]->addPhaseOffset( twozero_.lastOut() );
+00072   temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick();
+00073 
+00074   twozero_.tick(temp);
+00075   waves_[2]->addPhaseOffset( temp );
+00076   temp = (1.0 - (control2_ * 0.5)) * gains_[2] * adsr_[2]->tick() * waves_[2]->tick();
+00077 
+00078   temp += control2_ * 0.5 * gains_[1] * adsr_[1]->tick() * waves_[1]->tick();
+00079   temp = temp * control1_;
+00080 
+00081   waves_[0]->addPhaseOffset(temp);
+00082   temp = gains_[0] * adsr_[0]->tick() * waves_[0]->tick();
+00083     
+00084   lastFrame_[0] = temp * 0.5;
+00085   return lastFrame_[0];
+00086 }
+00087 
+00088 } // stk namespace
+00089 
+00090 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 2a5973f..8ad55f2 100644 --- a/doc/html/Phonemes_8h-source.html +++ b/doc/html/Phonemes_8h-source.html @@ -56,7 +56,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..f07e0bf --- /dev/null +++ b/doc/html/Phonemes_8h_source.html @@ -0,0 +1,63 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Phonemes.h

00001 #ifndef STK_PHONEMES_H
+00002 #define STK_PHONEMES_H
+00003 
+00004 #include "Stk.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 class Phonemes : public Stk
+00021 {
+00022 public:
+00023 
+00024   Phonemes(void);
+00025   ~Phonemes(void);
+00026 
+00028   static const char *name( unsigned int index );
+00029 
+00031   static StkFloat voiceGain( unsigned int index );
+00032 
+00034   static StkFloat noiseGain( unsigned int index );
+00035 
+00037   static StkFloat formantFrequency( unsigned int index, unsigned int partial );
+00038 
+00040   static StkFloat formantRadius( unsigned int index, unsigned int partial );
+00041 
+00043   static StkFloat formantGain( unsigned int index, unsigned int partial );
+00044 
+00045 private:
+00046 
+00047   static const char phonemeNames[][4];
+00048   static const StkFloat phonemeGains[][2];
+00049   static const StkFloat phonemeParameters[][4][3];
+00050 };
+00051 
+00052 } // stk namespace
+00053 
+00054 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 c59b288..8f28806 100644 --- a/doc/html/PitShift_8h-source.html +++ b/doc/html/PitShift_8h-source.html @@ -95,7 +95,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..009f82f --- /dev/null +++ b/doc/html/PitShift_8h_source.html @@ -0,0 +1,102 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

PitShift.h

00001 #ifndef STK_PITSHIFT_H
+00002 #define STK_PITSHIFT_H
+00003 
+00004 #include "Effect.h"
+00005 #include "DelayL.h"
+00006 
+00007 namespace stk {
+00008 
+00009 /***************************************************/
+00018 /***************************************************/
+00019 
+00020 const int maxDelay = 5024;
+00021 
+00022 class PitShift : public Effect
+00023 {
+00024  public:
+00026   PitShift( void );
+00027 
+00029   void clear( void );
+00030 
+00032   void setShift( StkFloat shift );
+00033 
+00035   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00036 
+00038   StkFloat tick( StkFloat input );
+00039 
+00041 
+00049   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00050 
+00052 
+00060   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00061 
+00062  protected:
+00063 
+00064   DelayL delayLine_[2];
+00065   StkFloat delay_[2];
+00066   StkFloat env_[2];
+00067   StkFloat rate_;
+00068   unsigned long delayLength_;
+00069   unsigned long halfLength_;
+00070 
+00071 };
+00072 
+00073 inline StkFloat PitShift :: tick( StkFloat input )
+00074 {
+00075   // Calculate the two delay length values, keeping them within the
+00076   // range 12 to maxDelay-12.
+00077   delay_[0] += rate_;
+00078   while ( delay_[0] > maxDelay-12 ) delay_[0] -= delayLength_;
+00079   while ( delay_[0] < 12 ) delay_[0] += delayLength_;
+00080 
+00081   delay_[1] = delay_[0] + halfLength_;
+00082   while ( delay_[1] > maxDelay-12 ) delay_[1] -= delayLength_;
+00083   while ( delay_[1] < 12 ) delay_[1] += delayLength_;
+00084 
+00085   // Set the new delay line lengths.
+00086   delayLine_[0].setDelay( delay_[0] );
+00087   delayLine_[1].setDelay( delay_[1] );
+00088 
+00089   // Calculate a triangular envelope.
+00090   env_[1] = fabs( ( delay_[0] - halfLength_ + 12 ) * ( 1.0 / (halfLength_ + 12 ) ) );
+00091   env_[0] = 1.0 - env_[1];
+00092 
+00093   // Delay input and apply envelope.
+00094   lastFrame_[0] =  env_[0] * delayLine_[0].tick( input );
+00095   lastFrame_[0] += env_[1] * delayLine_[1].tick( input );
+00096 
+00097   // Compute effect mix and output.
+00098   lastFrame_[0] *= effectMix_;
+00099   lastFrame_[0] += ( 1.0 - effectMix_ ) * input;
+00100 
+00101   return lastFrame_[0];
+00102 }
+00103 
+00104 } // stk namespace
+00105 
+00106 #endif
+00107 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 f8af80f..16de4d9 100644 --- a/doc/html/PluckTwo_8h-source.html +++ b/doc/html/PluckTwo_8h-source.html @@ -76,7 +76,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..06dad89 --- /dev/null +++ b/doc/html/PluckTwo_8h_source.html @@ -0,0 +1,83 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

PluckTwo.h

00001 #ifndef STK_PLUCKTWO_H
+00002 #define STK_PLUCKTWO_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayL.h"
+00006 #include "DelayA.h"
+00007 #include "OneZero.h"
+00008 
+00009 namespace stk {
+00010 
+00011 /***************************************************/
+00029 /***************************************************/
+00030 
+00031 class PluckTwo : public Instrmnt
+00032 {
+00033  public:
+00035   PluckTwo( StkFloat lowestFrequency );
+00036 
+00038   virtual ~PluckTwo( void );
+00039 
+00041   void clear( void );
+00042 
+00044   virtual void setFrequency( StkFloat frequency );
+00045 
+00047   void setDetune( StkFloat detune );
+00048 
+00050   void setFreqAndDetune( StkFloat frequency, StkFloat detune );
+00051 
+00053   void setPluckPosition( StkFloat position );
+00054 
+00056 
+00061   void setBaseLoopGain( StkFloat aGain );
+00062 
+00064   virtual void noteOff( StkFloat amplitude );
+00065 
+00066   virtual StkFloat tick( unsigned int channel = 0 ) = 0;
+00067 
+00068  protected:
+00069 
+00070   DelayA  delayLine_;
+00071   DelayA  delayLine2_;
+00072   DelayL  combDelay_;
+00073   OneZero filter_;
+00074   OneZero filter2_;
+00075 
+00076   unsigned long length_;
+00077   StkFloat loopGain_;
+00078   StkFloat baseLoopGain_;
+00079   StkFloat lastFrequency_;
+00080   StkFloat lastLength_;
+00081   StkFloat detuning_;
+00082   StkFloat pluckAmplitude_;
+00083   StkFloat pluckPosition_;
+00084 
+00085 };
+00086 
+00087 } // stk namespace
+00088 
+00089 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 31ca703..2388f66 100644 --- a/doc/html/Plucked_8h-source.html +++ b/doc/html/Plucked_8h-source.html @@ -71,7 +71,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..63da4d7 --- /dev/null +++ b/doc/html/Plucked_8h_source.html @@ -0,0 +1,78 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Plucked.h

00001 #ifndef STK_PLUCKED_H
+00002 #define STK_PLUCKED_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "DelayA.h"
+00006 #include "OneZero.h"
+00007 #include "OnePole.h"
+00008 #include "Noise.h"
+00009 
+00010 namespace stk {
+00011 
+00012 /***************************************************/
+00029 /***************************************************/
+00030 
+00031 class Plucked : public Instrmnt
+00032 {
+00033  public:
+00035   Plucked( StkFloat lowestFrequency );
+00036 
+00038   ~Plucked( void );
+00039 
+00041   void clear( void );
+00042 
+00044   void setFrequency( StkFloat frequency );
+00045 
+00047   void pluck( StkFloat amplitude );
+00048 
+00050   void noteOn( StkFloat frequency, StkFloat amplitude );
+00051 
+00053   void noteOff( StkFloat amplitude );
+00054 
+00056   StkFloat tick( unsigned int channel = 0 );
+00057 
+00058  protected:  
+00059 
+00060   DelayA   delayLine_;
+00061   OneZero  loopFilter_;
+00062   OnePole  pickFilter_;
+00063   Noise    noise_;
+00064   StkFloat loopGain_;
+00065   unsigned long length_;
+00066 
+00067 };
+00068 
+00069 inline StkFloat Plucked :: tick( unsigned int )
+00070 {
+00071   // Here's the whole inner loop of the instrument!!
+00072   return lastFrame_[0] = 3.0 * delayLine_.tick( loopFilter_.tick( delayLine_.lastOut() * loopGain_ ) ); 
+00073 }
+00074 
+00075 } // stk namespace
+00076 
+00077 #endif
+00078 
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 e58cd63..8d587e3 100644 --- a/doc/html/PoleZero_8h-source.html +++ b/doc/html/PoleZero_8h-source.html @@ -93,7 +93,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..7f01589 --- /dev/null +++ b/doc/html/PoleZero_8h_source.html @@ -0,0 +1,100 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

PoleZero.h

00001 #ifndef STK_POLEZERO_H
+00002 #define STK_POLEZERO_H
+00003 
+00004 #include "Filter.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00019 /***************************************************/
+00020 
+00021 class PoleZero : public Filter
+00022 {
+00023  public:
+00024 
+00026   PoleZero();
+00027 
+00029   ~PoleZero();
+00030 
+00032   void setB0( StkFloat b0 ) { b_[0] = b0; };
+00033 
+00035   void setB1( StkFloat b1 ) { b_[1] = b1; };
+00036 
+00038   void setA1( StkFloat a1 ) { a_[1] = a1; };
+00039 
+00041   void setCoefficients( StkFloat b0, StkFloat b1, StkFloat a1, bool clearState = false );
+00042 
+00044 
+00049   void setAllpass( StkFloat coefficient );
+00050 
+00052 
+00058   void setBlockZero( StkFloat thePole = 0.99 );
+00059 
+00061   StkFloat lastOut( void ) const { return lastFrame_[0]; };
+00062 
+00064   StkFloat tick( StkFloat input );
+00065 
+00067 
+00074   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00075 
+00076 };
+00077 
+00078 inline StkFloat PoleZero :: tick( StkFloat input )
+00079 {
+00080   inputs_[0] = gain_ * input;
+00081   lastFrame_[0] = b_[0] * inputs_[0] + b_[1] * inputs_[1] - a_[1] * outputs_[1];
+00082   inputs_[1] = inputs_[0];
+00083   outputs_[1] = lastFrame_[0];
+00084 
+00085   return lastFrame_[0];
+00086 }
+00087 
+00088 inline StkFrames& PoleZero :: tick( StkFrames& frames, unsigned int channel )
+00089 {
+00090 #if defined(_STK_DEBUG_)
+00091   if ( channel >= frames.channels() ) {
+00092     errorString_ << "PoleZero::tick(): channel and StkFrames arguments are incompatible!";
+00093     handleError( StkError::FUNCTION_ARGUMENT );
+00094   }
+00095 #endif
+00096 
+00097   StkFloat *samples = &frames[channel];
+00098   unsigned int hop = frames.channels();
+00099   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00100     inputs_[0] = gain_ * *samples;
+00101     *samples = b_[0] * inputs_[0] + b_[1] * inputs_[1] - a_[1] * outputs_[1];
+00102     inputs_[1] = inputs_[0];
+00103     outputs_[1] = *samples;
+00104   }
+00105 
+00106   lastFrame_[0] = outputs_[1];
+00107   return frames;
+00108 }
+00109 
+00110 } // stk namespace
+00111 
+00112 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
+ + + diff --git a/doc/html/ReedTable_8h-source.html b/doc/html/ReedTable_8h-source.html index 8f226d3..7d25180 100644 --- a/doc/html/ReedTable_8h-source.html +++ b/doc/html/ReedTable_8h-source.html @@ -116,7 +116,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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..9f64503 --- /dev/null +++ b/doc/html/ReedTable_8h_source.html @@ -0,0 +1,123 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

ReedTable.h

00001 #ifndef STK_REEDTABLE_H
+00002 #define STK_REEDTABLE_H
+00003 
+00004 #include "Function.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00025 /***************************************************/
+00026 
+00027 class ReedTable : public Function
+00028 {
+00029 public:
+00031   ReedTable( void ) : offset_(0.6), slope_(-0.8) {};
+00032 
+00034 
+00039   void setOffset( StkFloat offset ) { offset_ = offset; };
+00040 
+00042 
+00047   void setSlope( StkFloat slope ) { slope_ = slope; };
+00048 
+00050   StkFloat tick( StkFloat input );
+00051 
+00053 
+00061   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
+00062 
+00064 
+00072   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
+00073 
+00074 protected:
+00075 
+00076   StkFloat offset_;
+00077   StkFloat slope_;
+00078 
+00079 };
+00080 
+00081 inline StkFloat ReedTable :: tick( StkFloat input )    
+00082 {
+00083   // The input is differential pressure across the reed.
+00084   lastFrame_[0] = offset_ + (slope_ * input);
+00085 
+00086   // If output is > 1, the reed has slammed shut and the
+00087   // reflection function value saturates at 1.0.
+00088   if ( lastFrame_[0] > 1.0) lastFrame_[0] = (StkFloat) 1.0;
+00089 
+00090   // This is nearly impossible in a physical system, but
+00091   // a reflection function value of -1.0 corresponds to
+00092   // an open end (and no discontinuity in bore profile).
+00093   if ( lastFrame_[0] < -1.0) lastFrame_[0] = (StkFloat) -1.0;
+00094 
+00095   return lastFrame_[0];
+00096 }
+00097 
+00098 inline StkFrames& ReedTable :: tick( StkFrames& frames, unsigned int channel )
+00099 {
+00100 #if defined(_STK_DEBUG_)
+00101   if ( channel >= frames.channels() ) {
+00102     errorString_ << "ReedTable::tick(): channel and StkFrames arguments are incompatible!";
+00103     handleError( StkError::FUNCTION_ARGUMENT );
+00104   }
+00105 #endif
+00106 
+00107   StkFloat *samples = &frames[channel];
+00108   unsigned int hop = frames.channels();
+00109   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
+00110     *samples = offset_ + (slope_ * *samples);
+00111     if ( *samples > 1.0) *samples = 1.0;
+00112     if ( *samples < -1.0) *samples = -1.0;
+00113   }
+00114 
+00115   lastFrame_[0] = *(samples-hop);
+00116   return frames;
+00117 }
+00118 
+00119 inline StkFrames& ReedTable :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
+00120 {
+00121 #if defined(_STK_DEBUG_)
+00122   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
+00123     errorString_ << "ReedTable::tick(): channel and StkFrames arguments are incompatible!";
+00124     handleError( StkError::FUNCTION_ARGUMENT );
+00125   }
+00126 #endif
+00127 
+00128   StkFloat *iSamples = &iFrames[iChannel];
+00129   StkFloat *oSamples = &oFrames[oChannel];
+00130   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
+00131   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
+00132     *oSamples = offset_ + (slope_ * *iSamples);
+00133     if ( *oSamples > 1.0) *oSamples = 1.0;
+00134     if ( *oSamples < -1.0) *oSamples = -1.0;
+00135   }
+00136 
+00137   lastFrame_[0] = *(oSamples-oHop);
+00138   return iFrames;
+00139 }
+00140 
+00141 } // stk namespace
+00142 
+00143 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 c88ed20..a36c63a 100644 --- a/doc/html/Resonate_8h-source.html +++ b/doc/html/Resonate_8h-source.html @@ -40,7 +40,7 @@ 00047 00049 void setEqualGainZeroes( void ) { filter_.setEqualGainZeroes(); }; 00050 -00052 void keyOn( void ) { adsr_.keyOn(); }; +00052 void keyOn( void ) { adsr_.keyOn(); }; 00053 00055 void keyOff( void ) { adsr_.keyOff(); }; 00056 @@ -79,7 +79,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..65479ca --- /dev/null +++ b/doc/html/Resonate_8h_source.html @@ -0,0 +1,86 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Resonate.h

00001 #ifndef STK_RESONATE_H
+00002 #define STK_RESONATE_H
+00003 
+00004 #include "Instrmnt.h"
+00005 #include "ADSR.h"
+00006 #include "BiQuad.h"
+00007 #include "Noise.h"
+00008 
+00009 namespace stk {
+00010 
+00011 /***************************************************/
+00028 /***************************************************/
+00029 
+00030 class Resonate : public Instrmnt
+00031 {
+00032  public:
+00034   Resonate( void );
+00035 
+00037   ~Resonate( void );
+00038 
+00040   void clear( void );
+00041 
+00043   void setResonance( StkFloat frequency, StkFloat radius );
+00044 
+00046   void setNotch( StkFloat frequency, StkFloat radius );
+00047 
+00049   void setEqualGainZeroes( void ) { filter_.setEqualGainZeroes(); };
+00050 
+00052   void keyOn( void ) { adsr_.keyOn(); };
+00053 
+00055   void keyOff( void ) { adsr_.keyOff(); };
+00056 
+00058   void noteOn( StkFloat frequency, StkFloat amplitude );
+00059 
+00061   void noteOff( StkFloat amplitude );
+00062 
+00064   void controlChange( int number, StkFloat value );
+00065 
+00067   StkFloat tick( unsigned int channel = 0 );
+00068 
+00069  protected:
+00070 
+00071   ADSR     adsr_;
+00072   BiQuad   filter_;
+00073   Noise    noise_;
+00074   StkFloat poleFrequency_;
+00075   StkFloat poleRadius_;
+00076   StkFloat zeroFrequency_;
+00077   StkFloat zeroRadius_;
+00078 
+00079 };
+00080 
+00081 inline StkFloat Resonate :: tick( unsigned int )
+00082 {
+00083   lastFrame_[0] = filter_.tick( noise_.tick() );
+00084   lastFrame_[0] *= adsr_.tick();
+00085   return lastFrame_[0];
+00086 }
+00087 
+00088 } // stk namespace
+00089 
+00090 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 61d1c3e..bad44f5 100644 --- a/doc/html/Rhodey_8h-source.html +++ b/doc/html/Rhodey_8h-source.html @@ -72,7 +72,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 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 new file mode 100644 index 0000000..0f00b59 --- /dev/null +++ b/doc/html/Rhodey_8h_source.html @@ -0,0 +1,79 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
+    

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

+
+ + +
+

Rhodey.h

00001 #ifndef STK_RHODEY_H
+00002 #define STK_RHODEY_H
+00003 
+00004 #include "FM.h"
+00005 
+00006 namespace stk {
+00007 
+00008 /***************************************************/
+00038 /***************************************************/
+00039 
+00040 class Rhodey : public FM
+00041 {
+00042  public:
+00044 
+00047   Rhodey( void );
+00048 
+00050   ~Rhodey( void );
+00051 
+00053   void setFrequency( StkFloat frequency );
+00054 
+00056   void noteOn( StkFloat frequency, StkFloat amplitude );
+00057 
+00059   StkFloat tick( unsigned int channel = 0 );
+00060 
+00061  protected:
+00062 
+00063 };
+00064 
+00065 inline StkFloat Rhodey :: tick( unsigned int )
+00066 {
+00067   StkFloat temp, temp2;
+00068 
+00069   temp = gains_[1] * adsr_[1]->tick() * waves_[1]->tick();
+00070   temp = temp * control1_;
+00071 
+00072   waves_[0]->addPhaseOffset( temp );
+00073   waves_[3]->addPhaseOffset( twozero_.lastOut() );
+00074   temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick();
+00075   twozero_.tick(temp);
+00076 
+00077   waves_[2]->addPhaseOffset( temp );
+00078   temp = ( 1.0 - (control2_ * 0.5)) * gains_[0] * adsr_[0]->tick() * waves_[0]->tick();
+00079   temp += control2_ * 0.5 * gains_[2] * adsr_[2]->tick() * waves_[2]->tick();
+00080 
+00081   // Calculate amplitude modulation and apply it to output.
+00082   temp2 = vibrato_.tick() * modDepth_;
+00083   temp = temp * (1.0 + temp2);
+00084     
+00085   lastFrame_[0] = temp * 0.5;
+00086   return lastFrame_[0];
+00087 }
+00088 
+00089 } // stk namespace
+00090 
+00091 #endif
+
+
+ + + + +
The Synthesis ToolKit in C++ (STK)
©1995-2010 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 2ca55d7..b9d0e59 100644 --- a/doc/html/RtAudio_8h-source.html +++ b/doc/html/RtAudio_8h-source.html @@ -638,7 +638,7 @@ - +
The Synthesis ToolKit in C++ (STK)
©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
diff --git a/doc/html/RtAudio_8h.html b/doc/html/RtAudio_8h.html index f6b7c0a..e0cb4a7 100644 --- a/doc/html/RtAudio_8h.html +++ b/doc/html/RtAudio_8h.html @@ -8,123 +8,117 @@    

Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


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

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

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

+

RtAudio stream status (over- or underflow) flags.

+

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

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

    - + +

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

    -RtAudio callback function prototype. -

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

    -

    Parameters:
    +

    RtAudio callback function prototype.

    +

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

    +
    Parameters:
    @@ -133,16 +127,18 @@ All
    outputBuffer For output (or duplex) streams, the client should write nFrames of audio sample frames into this buffer. This argument should be recast to the datatype specified when the stream was opened. For input-only streams, this argument will be NULL.
    inputBuffer For input (or duplex) streams, this buffer will hold nFrames of input audio sample frames. This argument should be recast to the datatype specified when the stream was opened. For output-only streams, this argument will be NULL.
    status If non-zero, this argument indicates a data overflow or underflow condition for the stream. The particular condition can be determined by comparison with the RtAudioStreamStatus flags.
    userData A pointer to optional data provided by the client when opening the stream (default = NULL).
    +
    -To continue normal stream operation, the RtAudioCallback function should return a value of zero. To stop the stream and drain the output buffer, the function should return a value of one. To abort the stream immediately, the client should return a value of two. +

    To continue normal stream operation, the RtAudioCallback function should return a value of zero. To stop the stream and drain the output buffer, the function should return a value of one. To abort the stream immediately, the client should return a value of two.

    + +
    -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..c48ff59 --- /dev/null +++ b/doc/html/RtAudio_8h_source.html @@ -0,0 +1,645 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    RtAudio.h

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

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

    +
    + + +
    +

    RtError.h

    00001 /************************************************************************/
    +00010 /************************************************************************/
    +00011 
    +00012 #ifndef RTERROR_H
    +00013 #define RTERROR_H
    +00014 
    +00015 #include <exception>
    +00016 #include <iostream>
    +00017 #include <string>
    +00018 
    +00019 class RtError : public std::exception
    +00020 {
    +00021  public:
    +00023   enum Type {
    +00024     WARNING,           
    +00025     DEBUG_WARNING,     
    +00026     UNSPECIFIED,       
    +00027     NO_DEVICES_FOUND,  
    +00028     INVALID_DEVICE,    
    +00029     MEMORY_ERROR,      
    +00030     INVALID_PARAMETER, 
    +00031     INVALID_USE,       
    +00032     DRIVER_ERROR,      
    +00033     SYSTEM_ERROR,      
    +00034     THREAD_ERROR       
    +00035   };
    +00036 
    +00038   RtError( const std::string& message, Type type = RtError::UNSPECIFIED ) throw() : message_(message), type_(type) {}
    +00039  
    +00041   virtual ~RtError( void ) throw() {}
    +00042 
    +00044   virtual void printMessage( void ) throw() { std::cerr << '\n' << message_ << "\n\n"; }
    +00045 
    +00047   virtual const Type& getType(void) throw() { return type_; }
    +00048 
    +00050   virtual const std::string& getMessage(void) throw() { return message_; }
    +00051 
    +00053   virtual const char* what( void ) const throw() { return message_.c_str(); }
    +00054 
    +00055  protected:
    +00056   std::string message_;
    +00057   Type type_;
    +00058 };
    +00059 
    +00060 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 6cb9945..b88c6f2 100644 --- a/doc/html/RtMidi_8h-source.html +++ b/doc/html/RtMidi_8h-source.html @@ -176,7 +176,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..104d78f --- /dev/null +++ b/doc/html/RtMidi_8h_source.html @@ -0,0 +1,183 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    RtMidi.h

    00001 /**********************************************************************/
    +00036 /**********************************************************************/
    +00037 
    +00038 // RtMidi: Version 1.0.11
    +00039 
    +00040 #ifndef RTMIDI_H
    +00041 #define RTMIDI_H
    +00042 
    +00043 #include "RtError.h"
    +00044 #include <string>
    +00045 
    +00046 class RtMidi
    +00047 {
    +00048  public:
    +00049 
    +00051   virtual void openPort( unsigned int portNumber = 0, const std::string portName = std::string( "RtMidi" ) ) = 0;
    +00052 
    +00054   virtual void openVirtualPort( const std::string portName = std::string( "RtMidi" ) ) = 0;
    +00055 
    +00057   virtual unsigned int getPortCount() = 0;
    +00058 
    +00060   virtual std::string getPortName( unsigned int portNumber = 0 ) = 0;
    +00061 
    +00063   virtual void closePort( void ) = 0;
    +00064 
    +00065  protected:
    +00066 
    +00067   RtMidi();
    +00068   virtual ~RtMidi() {};
    +00069 
    +00070   // A basic error reporting function for internal use in the RtMidi
    +00071   // subclasses.  The behavior of this function can be modified to
    +00072   // suit specific needs.
    +00073   void error( RtError::Type type );
    +00074 
    +00075   void *apiData_;
    +00076   bool connected_;
    +00077   std::string errorString_;
    +00078 };
    +00079 
    +00080 /**********************************************************************/
    +00096 /**********************************************************************/
    +00097 
    +00098 #include <vector>
    +00099 #include <queue>
    +00100 
    +00101 class RtMidiIn : public RtMidi
    +00102 {
    +00103  public:
    +00104 
    +00106   typedef void (*RtMidiCallback)( double timeStamp, std::vector<unsigned char> *message, void *userData);
    +00107 
    +00109 
    +00112   RtMidiIn( const std::string clientName = std::string( "RtMidi Input Client") );
    +00113 
    +00115   ~RtMidiIn();
    +00116 
    +00118 
    +00122   void openPort( unsigned int portNumber = 0, const std::string Portname = std::string( "RtMidi Input" ) );
    +00123 
    +00125 
    +00131   void openVirtualPort( const std::string portName = std::string( "RtMidi Input" ) );
    +00132 
    +00134 
    +00140   void setCallback( RtMidiCallback callback, void *userData = 0 );
    +00141 
    +00143 
    +00147   void cancelCallback();
    +00148 
    +00150   void closePort( void );
    +00151 
    +00153   unsigned int getPortCount();
    +00154 
    +00156 
    +00159   std::string getPortName( unsigned int portNumber = 0 );
    +00160 
    +00162 
    +00166   void setQueueSizeLimit( unsigned int queueSize );
    +00167 
    +00169 
    +00176   void ignoreTypes( bool midiSysex = true, bool midiTime = true, bool midiSense = true );
    +00177 
    +00179 
    +00186   double getMessage( std::vector<unsigned char> *message );
    +00187 
    +00188   // A MIDI structure used internally by the class to store incoming
    +00189   // messages.  Each message represents one and only one MIDI message.
    +00190   struct MidiMessage { 
    +00191     std::vector<unsigned char> bytes; 
    +00192     double timeStamp;
    +00193 
    +00194     // Default constructor.
    +00195     MidiMessage()
    +00196       :bytes(3), timeStamp(0.0) {}
    +00197   };
    +00198 
    +00199   // The RtMidiInData structure is used to pass private class data to
    +00200   // the MIDI input handling function or thread.
    +00201   struct RtMidiInData {
    +00202     std::queue<MidiMessage> queue;
    +00203     MidiMessage message;
    +00204     unsigned int queueLimit;
    +00205     unsigned char ignoreFlags;
    +00206     bool doInput;
    +00207     bool firstMessage;
    +00208     void *apiData;
    +00209     bool usingCallback;
    +00210     void *userCallback;
    +00211     void *userData;
    +00212     bool continueSysex;
    +00213 
    +00214     // Default constructor.
    +00215     RtMidiInData()
    +00216       : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true),
    +00217         apiData(0), usingCallback(false), userCallback(0), userData(0),
    +00218         continueSysex(false) {}
    +00219   };
    +00220 
    +00221  private:
    +00222 
    +00223   void initialize( const std::string& clientName );
    +00224   RtMidiInData inputData_;
    +00225 
    +00226 };
    +00227 
    +00228 /**********************************************************************/
    +00240 /**********************************************************************/
    +00241 
    +00242 class RtMidiOut : public RtMidi
    +00243 {
    +00244  public:
    +00245 
    +00247 
    +00250   RtMidiOut( const std::string clientName = std::string( "RtMidi Output Client" ) );
    +00251 
    +00253   ~RtMidiOut();
    +00254 
    +00256 
    +00262   void openPort( unsigned int portNumber = 0, const std::string portName = std::string( "RtMidi Output" ) );
    +00263 
    +00265   void closePort();
    +00266 
    +00268 
    +00276   void openVirtualPort( const std::string portName = std::string( "RtMidi Output" ) );
    +00277 
    +00279   unsigned int getPortCount();
    +00280 
    +00282 
    +00285   std::string getPortName( unsigned int portNumber = 0 );
    +00286 
    +00288 
    +00292   void sendMessage( std::vector<unsigned char> *message );
    +00293 
    +00294  private:
    +00295 
    +00296   void initialize( const std::string& clientName );
    +00297 };
    +00298 
    +00299 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 8ae2df2..9732a08 100644 --- a/doc/html/RtWvIn_8h-source.html +++ b/doc/html/RtWvIn_8h-source.html @@ -83,7 +83,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..6cc5ec8 --- /dev/null +++ b/doc/html/RtWvIn_8h_source.html @@ -0,0 +1,90 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    RtWvIn.h

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

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

    +
    + + +
    +

    RtWvOut.h

    00001 #ifndef STK_RTWVOUT_H
    +00002 #define STK_RTWVOUT_H
    +00003 
    +00004 #include "WvOut.h"
    +00005 #include "RtAudio.h"
    +00006 #include "Mutex.h"
    +00007 
    +00008 namespace stk {
    +00009 
    +00010 /***************************************************/
    +00028 /***************************************************/
    +00029 
    +00030 class RtWvOut : public WvOut
    +00031 {
    +00032  public:
    +00033 
    +00035 
    +00042   RtWvOut( unsigned int nChannels = 1, StkFloat sampleRate = Stk::sampleRate(),
    +00043            int device = 0, int bufferFrames = RT_BUFFER_SIZE, int nBuffers = 20 );
    +00044 
    +00046   ~RtWvOut();
    +00047 
    +00049 
    +00053   void start( void );
    +00054 
    +00056 
    +00060   void stop( void );
    +00061 
    +00063 
    +00066   void tick( const StkFloat sample );
    +00067 
    +00069 
    +00076   void tick( const StkFrames& frames );
    +00077 
    +00078   // This function is not intended for general use but must be
    +00079   // public for access from the audio callback function.
    +00080   int readBuffer( void *buffer, unsigned int frameCount );
    +00081 
    +00082  protected:
    +00083 
    +00084   RtAudio dac_;
    +00085   Mutex mutex_;
    +00086   bool stopped_;
    +00087   unsigned int readIndex_;
    +00088   unsigned int writeIndex_;
    +00089   long framesFilled_;
    +00090   unsigned int status_; // running = 0, emptying buffer = 1, finished = 2
    +00091 
    +00092 };
    +00093 
    +00094 } // stk namespace
    +00095 
    +00096 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 b187485..66f160b 100644 --- a/doc/html/Sampler_8h-source.html +++ b/doc/html/Sampler_8h-source.html @@ -68,7 +68,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..4824bfe --- /dev/null +++ b/doc/html/Sampler_8h_source.html @@ -0,0 +1,75 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Sampler.h

    00001 #ifndef STK_SAMPLER_H
    +00002 #define STK_SAMPLER_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "ADSR.h"
    +00006 #include "FileLoop.h"
    +00007 #include "OnePole.h"
    +00008 
    +00009 namespace stk {
    +00010 
    +00011 /***************************************************/
    +00020 /***************************************************/
    +00021 
    +00022 class Sampler : public Instrmnt
    +00023 {
    +00024  public:
    +00026   Sampler( void );
    +00027 
    +00029   virtual ~Sampler( void );
    +00030 
    +00032   void clear( void );
    +00033 
    +00035   virtual void setFrequency( StkFloat frequency ) = 0;
    +00036 
    +00038   void keyOn( void );
    +00039 
    +00041   void keyOff( void );
    +00042 
    +00044   virtual void noteOff( StkFloat amplitude );
    +00045 
    +00047   virtual void controlChange( int number, StkFloat value ) = 0;
    +00048 
    +00050   virtual StkFloat tick( unsigned int channel = 0 ) = 0;
    +00051 
    +00052  protected:
    +00053 
    +00054   ADSR adsr_;
    +00055   std::vector<FileWvIn *> attacks_;
    +00056   std::vector<FileLoop *> loops_;
    +00057   OnePole filter_;
    +00058   StkFloat baseFrequency_;
    +00059   std::vector<StkFloat> attackRatios_;
    +00060   std::vector<StkFloat> loopRatios_;
    +00061   StkFloat attackGain_;
    +00062   StkFloat loopGain_;
    +00063 
    +00064 };
    +00065 
    +00066 } // stk namespace
    +00067 
    +00068 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 be37b11..1c40c47 100644 --- a/doc/html/Saxofony_8h-source.html +++ b/doc/html/Saxofony_8h-source.html @@ -99,7 +99,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..553ae18 --- /dev/null +++ b/doc/html/Saxofony_8h_source.html @@ -0,0 +1,106 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Saxofony.h

    00001 #ifndef STK_SAXOFONY_H
    +00002 #define STK_SAXOFONY_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "DelayL.h"
    +00006 #include "ReedTable.h"
    +00007 #include "OneZero.h"
    +00008 #include "Envelope.h"
    +00009 #include "Noise.h"
    +00010 #include "SineWave.h"
    +00011 
    +00012 namespace stk {
    +00013 
    +00014 /***************************************************/
    +00049 /***************************************************/
    +00050 
    +00051 class Saxofony : public Instrmnt
    +00052 {
    +00053  public:
    +00055 
    +00058   Saxofony( StkFloat lowestFrequency );
    +00059 
    +00061   ~Saxofony( void );
    +00062 
    +00064   void clear( void );
    +00065 
    +00067   void setFrequency( StkFloat frequency );
    +00068 
    +00070   void setBlowPosition( StkFloat aPosition );
    +00071 
    +00073   void startBlowing( StkFloat amplitude, StkFloat rate );
    +00074 
    +00076   void stopBlowing( StkFloat rate );
    +00077 
    +00079   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00080 
    +00082   void noteOff( StkFloat amplitude );
    +00083 
    +00085   void controlChange( int number, StkFloat value );
    +00086 
    +00088   StkFloat tick( unsigned int channel = 0 );
    +00089 
    +00090  protected:
    +00091 
    +00092   DelayL    delays_[2];
    +00093   ReedTable reedTable_;
    +00094   OneZero   filter_;
    +00095   Envelope  envelope_;
    +00096   Noise     noise_;
    +00097   SineWave vibrato_;
    +00098   unsigned long length_;
    +00099   StkFloat outputGain_;
    +00100   StkFloat noiseGain_;
    +00101   StkFloat vibratoGain_;
    +00102   StkFloat position_;
    +00103 
    +00104 };
    +00105 
    +00106 inline StkFloat Saxofony :: tick( unsigned int )
    +00107 {
    +00108   StkFloat pressureDiff;
    +00109   StkFloat breathPressure;
    +00110   StkFloat temp;
    +00111 
    +00112   // Calculate the breath pressure (envelope + noise + vibrato)
    +00113   breathPressure = envelope_.tick(); 
    +00114   breathPressure += breathPressure * noiseGain_ * noise_.tick();
    +00115   breathPressure += breathPressure * vibratoGain_ * vibrato_.tick();
    +00116 
    +00117   temp = -0.95 * filter_.tick( delays_[0].lastOut() );
    +00118   lastFrame_[0] = temp - delays_[1].lastOut();
    +00119   pressureDiff = breathPressure - lastFrame_[0];
    +00120   delays_[1].tick( temp );
    +00121   delays_[0].tick( breathPressure - (pressureDiff * reedTable_.tick(pressureDiff)) - temp );
    +00122 
    +00123   lastFrame_[0] *= outputGain_;
    +00124   return lastFrame_[0];
    +00125 }
    +00126 
    +00127 } // stk namespace
    +00128 
    +00129 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 b290281..5d697c1 100644 --- a/doc/html/Shakers_8h-source.html +++ b/doc/html/Shakers_8h-source.html @@ -88,7 +88,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..aa94634 --- /dev/null +++ b/doc/html/Shakers_8h_source.html @@ -0,0 +1,95 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Shakers.h

    00001 #ifndef STK_SHAKERS_H
    +00002 #define STK_SHAKERS_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00060 /***************************************************/
    +00061 
    +00062 const int MAX_FREQS = 8;
    +00063 const int NUM_INSTR = 24;
    +00064 
    +00065 class Shakers : public Instrmnt
    +00066 {
    +00067  public:
    +00069   Shakers( void );
    +00070 
    +00072   ~Shakers( void );
    +00073 
    +00075 
    +00079   void noteOn( StkFloat instrument, StkFloat amplitude );
    +00080 
    +00082   void noteOff( StkFloat amplitude );
    +00083 
    +00085   void controlChange( int number, StkFloat value );
    +00086 
    +00088   StkFloat tick( unsigned int channel = 0 );
    +00089 
    +00090  protected:
    +00091 
    +00092   int setupName( char* instr );
    +00093   int setupNum( int inst );
    +00094   int setFreqAndReson( int which, StkFloat freq, StkFloat reson );
    +00095   void setDecays( StkFloat sndDecay, StkFloat sysDecay );
    +00096   void setFinalZs( StkFloat z0, StkFloat z1, StkFloat z2 );
    +00097   StkFloat wuter_tick( void );
    +00098   StkFloat tbamb_tick( void );
    +00099   StkFloat ratchet_tick( void );
    +00100 
    +00101   int instType_;
    +00102   int ratchetPos_, lastRatchetPos_;
    +00103   StkFloat shakeEnergy_;
    +00104   StkFloat inputs_[MAX_FREQS];
    +00105   StkFloat outputs_[MAX_FREQS][2];
    +00106   StkFloat coeffs_[MAX_FREQS][2];
    +00107   StkFloat sndLevel_;
    +00108   StkFloat baseGain_;
    +00109   StkFloat gains_[MAX_FREQS];
    +00110   int nFreqs_;
    +00111   StkFloat t_center_freqs_[MAX_FREQS];
    +00112   StkFloat center_freqs_[MAX_FREQS];
    +00113   StkFloat resons_[MAX_FREQS];
    +00114   StkFloat freq_rand_[MAX_FREQS];
    +00115   int freqalloc_[MAX_FREQS];
    +00116   StkFloat soundDecay_;
    +00117   StkFloat systemDecay_;
    +00118   StkFloat nObjects_;
    +00119   StkFloat totalEnergy_;
    +00120   StkFloat ratchet_, ratchetDelta_;
    +00121   StkFloat finalZ_[3];
    +00122   StkFloat finalZCoeffs_[3];
    +00123   StkFloat defObjs_[NUM_INSTR];
    +00124   StkFloat defDecays_[NUM_INSTR];
    +00125   StkFloat decayScale_[NUM_INSTR];
    +00126 
    +00127 };
    +00128 
    +00129 } // stk namespace
    +00130 
    +00131 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 ba50757..c5c73bf 100644 --- a/doc/html/Simple_8h-source.html +++ b/doc/html/Simple_8h-source.html @@ -81,7 +81,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..e9b49bd --- /dev/null +++ b/doc/html/Simple_8h_source.html @@ -0,0 +1,88 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Simple.h

    00001 #ifndef STK_SIMPLE_H
    +00002 #define STK_SIMPLE_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "ADSR.h"
    +00006 #include "FileLoop.h"
    +00007 #include "OnePole.h"
    +00008 #include "BiQuad.h"
    +00009 #include "Noise.h"
    +00010 
    +00011 namespace stk {
    +00012 
    +00013 /***************************************************/
    +00030 /***************************************************/
    +00031 
    +00032 class Simple : public Instrmnt
    +00033 {
    +00034  public:
    +00036 
    +00039   Simple( void );
    +00040 
    +00042   ~Simple( void );
    +00043 
    +00045   void clear( void );
    +00046 
    +00048   void setFrequency( StkFloat frequency );
    +00049 
    +00051   void keyOn( void );
    +00052 
    +00054   void keyOff( void );
    +00055 
    +00057   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00058 
    +00060   void noteOff( StkFloat amplitude );
    +00061 
    +00063   void controlChange( int number, StkFloat value );
    +00064 
    +00066   StkFloat tick( unsigned int channel = 0 );
    +00067 
    +00068  protected:
    +00069 
    +00070   ADSR      adsr_; 
    +00071   FileLoop *loop_;
    +00072   OnePole   filter_;
    +00073   BiQuad    biquad_;
    +00074   Noise     noise_;
    +00075   StkFloat  baseFrequency_;
    +00076   StkFloat  loopGain_;
    +00077 
    +00078 };
    +00079 
    +00080 inline StkFloat Simple :: tick( unsigned int )
    +00081 {
    +00082   lastFrame_[0] = loopGain_ * loop_->tick();
    +00083   biquad_.tick( noise_.tick() );
    +00084   lastFrame_[0] += (1.0 - loopGain_) * biquad_.lastOut();
    +00085   lastFrame_[0] = filter_.tick( lastFrame_[0] );
    +00086   lastFrame_[0] *= adsr_.tick();
    +00087   return lastFrame_[0];
    +00088 }
    +00089 
    +00090 } // stk namespace
    +00091 
    +00092 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/SineWave_8h-source.html b/doc/html/SineWave_8h-source.html index e2829d2..7147170 100644 --- a/doc/html/SineWave_8h-source.html +++ b/doc/html/SineWave_8h-source.html @@ -133,7 +133,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/SineWave_8h_source.html b/doc/html/SineWave_8h_source.html new file mode 100644 index 0000000..7070280 --- /dev/null +++ b/doc/html/SineWave_8h_source.html @@ -0,0 +1,140 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    SineWave.h

    00001 #ifndef STK_SINEWAVE_H
    +00002 #define STK_SINEWAVE_H
    +00003 
    +00004 const unsigned long TABLE_SIZE = 2048;
    +00005 
    +00006 #include "Generator.h"
    +00007 
    +00008 namespace stk {
    +00009 
    +00010 /***************************************************/
    +00023 /***************************************************/
    +00024 
    +00025 class SineWave : public Generator
    +00026 {
    +00027 public:
    +00029   SineWave( void );
    +00030 
    +00032   ~SineWave( void );
    +00033 
    +00035   void reset( void );
    +00036 
    +00038 
    +00041   void setRate( StkFloat rate ) { rate_ = rate; };
    +00042 
    +00044 
    +00050   void setFrequency( StkFloat frequency );
    +00051 
    +00053   void addTime( StkFloat time );
    +00054 
    +00056 
    +00061   void addPhase( StkFloat phase );
    +00062 
    +00064 
    +00068   void addPhaseOffset( StkFloat phaseOffset );
    +00069 
    +00071   StkFloat lastOut( void ) const { return lastFrame_[0]; };
    +00072 
    +00074   StkFloat tick( void );
    +00075 
    +00077 
    +00084   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    +00085 
    +00086 protected:
    +00087 
    +00088   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
    +00089 
    +00090   static StkFrames table_;
    +00091   StkFloat time_;
    +00092   StkFloat rate_;
    +00093   StkFloat phaseOffset_;
    +00094   unsigned int iIndex_;
    +00095   StkFloat alpha_;
    +00096 
    +00097 };
    +00098 
    +00099 inline StkFloat SineWave :: tick( void )
    +00100 {
    +00101   // Check limits of time address ... if necessary, recalculate modulo
    +00102   // TABLE_SIZE.
    +00103   while ( time_ < 0.0 )
    +00104     time_ += TABLE_SIZE;
    +00105   while ( time_ >= TABLE_SIZE )
    +00106     time_ -= TABLE_SIZE;
    +00107 
    +00108   iIndex_ = (unsigned int) time_;
    +00109   alpha_ = time_ - iIndex_;
    +00110   StkFloat tmp = table_[ iIndex_ ];
    +00111   tmp += ( alpha_ * ( table_[ iIndex_ + 1 ] - tmp ) );
    +00112 
    +00113   // Increment time, which can be negative.
    +00114   time_ += rate_;
    +00115 
    +00116   lastFrame_[0] = tmp;
    +00117   return lastFrame_[0];
    +00118 }
    +00119 
    +00120 inline StkFrames& SineWave :: tick( StkFrames& frames, unsigned int channel )
    +00121 {
    +00122 #if defined(_STK_DEBUG_)
    +00123   if ( channel >= frames.channels() ) {
    +00124     errorString_ << "SineWave::tick(): channel and StkFrames arguments are incompatible!";
    +00125     handleError( StkError::FUNCTION_ARGUMENT );
    +00126   }
    +00127 #endif
    +00128 
    +00129   StkFloat *samples = &frames[channel];
    +00130   StkFloat tmp = 0.0;
    +00131 
    +00132   unsigned int hop = frames.channels();
    +00133   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
    +00134 
    +00135     // Check limits of time address ... if necessary, recalculate modulo
    +00136     // TABLE_SIZE.
    +00137     while ( time_ < 0.0 )
    +00138       time_ += TABLE_SIZE;
    +00139     while ( time_ >= TABLE_SIZE )
    +00140       time_ -= TABLE_SIZE;
    +00141 
    +00142     iIndex_ = (unsigned int) time_;
    +00143     alpha_ = time_ - iIndex_;
    +00144     tmp = table_[ iIndex_ ];
    +00145     tmp += ( alpha_ * ( table_[ iIndex_ + 1 ] - tmp ) );
    +00146     *samples = tmp;
    +00147 
    +00148     // Increment time, which can be negative.
    +00149     time_ += rate_;
    +00150   }
    +00151 
    +00152   lastFrame_[0] = tmp;
    +00153   return frames;
    +00154 }
    +00155 
    +00156 } // stk namespace
    +00157 
    +00158 #endif
    +00159 
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 f99f39d..778edab 100644 --- a/doc/html/SingWave_8h-source.html +++ b/doc/html/SingWave_8h-source.html @@ -112,7 +112,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..8871d7c --- /dev/null +++ b/doc/html/SingWave_8h_source.html @@ -0,0 +1,119 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    SingWave.h

    00001 #ifndef STK_SINGWAVE_H
    +00002 #define STK_SINGWAVE_H
    +00003 
    +00004 #include "FileLoop.h"
    +00005 #include "Modulate.h"
    +00006 #include "Envelope.h"
    +00007 
    +00008 namespace stk {
    +00009 
    +00010 /***************************************************/
    +00023 /***************************************************/
    +00024 
    +00025 class SingWave : public Generator
    +00026 {
    +00027  public:
    +00029 
    +00036   SingWave( std::string fileName, bool raw = false );
    +00037 
    +00039   ~SingWave( void );
    +00040 
    +00042   void reset( void ) { wave_.reset(); lastFrame_[0] = 0.0; };
    +00043 
    +00045   void normalize( void ) { wave_.normalize(); };
    +00046 
    +00048   void normalize( StkFloat peak ) { wave_.normalize( peak ); };
    +00049 
    +00051   void setFrequency( StkFloat frequency );
    +00052 
    +00054   void setVibratoRate( StkFloat rate ) { modulator_.setVibratoRate( rate ); };
    +00055 
    +00057   void setVibratoGain( StkFloat gain ) { modulator_.setVibratoGain( gain ); };
    +00058 
    +00060   void setRandomGain( StkFloat gain ) { modulator_.setRandomGain( gain ); };
    +00061 
    +00063   void setSweepRate( StkFloat rate ) { sweepRate_ = rate; };
    +00064 
    +00066   void setGainRate( StkFloat rate ) { envelope_.setRate( rate ); };
    +00067 
    +00069   void setGainTarget( StkFloat target ) { envelope_.setTarget( target ); };
    +00070 
    +00072   void noteOn( void ) { envelope_.keyOn(); };
    +00073 
    +00075   void noteOff( void ) { envelope_.keyOff(); };
    +00076 
    +00078   StkFloat lastOut( void ) const { return lastFrame_[0]; };
    +00079 
    +00081   StkFloat tick( void );
    +00082 
    +00084 
    +00091   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    +00092 
    +00093  protected:
    +00094 
    +00095   FileLoop wave_;
    +00096   Modulate modulator_;
    +00097   Envelope envelope_;
    +00098   Envelope pitchEnvelope_;
    +00099   StkFloat rate_;
    +00100   StkFloat sweepRate_;
    +00101 
    +00102 };
    +00103 
    +00104 inline StkFloat SingWave :: tick( void )
    +00105 {
    +00106   // Set the wave rate.
    +00107   StkFloat newRate = pitchEnvelope_.tick();
    +00108   newRate += newRate * modulator_.tick();
    +00109   wave_.setRate( newRate );
    +00110 
    +00111   lastFrame_[0] = wave_.tick();
    +00112   lastFrame_[0] *= envelope_.tick();
    +00113 
    +00114   return lastFrame_[0];
    +00115 }
    +00116 
    +00117 inline StkFrames& SingWave :: tick( StkFrames& frames, unsigned int channel )
    +00118 {
    +00119 #if defined(_STK_DEBUG_)
    +00120   if ( channel >= frames.channels() ) {
    +00121     errorString_ << "SingWave::tick(): channel and StkFrames arguments are incompatible!";
    +00122     handleError( StkError::FUNCTION_ARGUMENT );
    +00123   }
    +00124 #endif
    +00125 
    +00126   StkFloat *samples = &frames[channel];
    +00127   unsigned int hop = frames.channels();
    +00128   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop )
    +00129     *samples = SingWave::tick();
    +00130 
    +00131   return frames;
    +00132 }
    +00133 
    +00134 } // stk namespace
    +00135 
    +00136 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 6a51343..a5a68df 100644 --- a/doc/html/Sitar_8h-source.html +++ b/doc/html/Sitar_8h-source.html @@ -85,7 +85,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..0648f99 --- /dev/null +++ b/doc/html/Sitar_8h_source.html @@ -0,0 +1,92 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Sitar.h

    00001 #ifndef STK_SITAR_H
    +00002 #define STK_SITAR_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "DelayA.h"
    +00006 #include "OneZero.h"
    +00007 #include "Noise.h"
    +00008 #include "ADSR.h"
    +00009 #include <cmath>
    +00010 
    +00011 namespace stk {
    +00012 
    +00013 /***************************************************/
    +00030 /***************************************************/
    +00031 
    +00032 class Sitar : public Instrmnt
    +00033 {
    +00034  public:
    +00036   Sitar( StkFloat lowestFrequency = 20 );
    +00037 
    +00039   ~Sitar( void );
    +00040 
    +00042   void clear( void );
    +00043 
    +00045   void setFrequency( StkFloat frequency );
    +00046 
    +00048   void pluck( StkFloat amplitude );
    +00049 
    +00051   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00052 
    +00054   void noteOff( StkFloat amplitude );
    +00055 
    +00057   StkFloat tick( unsigned int channel = 0 );
    +00058 
    +00059  protected:
    +00060 
    +00061   DelayA  delayLine_;
    +00062   OneZero loopFilter_;
    +00063   Noise   noise_;
    +00064   ADSR    envelope_;
    +00065 
    +00066   StkFloat loopGain_;
    +00067   StkFloat amGain_;
    +00068   StkFloat delay_;
    +00069   StkFloat targetDelay_;
    +00070 
    +00071 };
    +00072 
    +00073 inline StkFloat Sitar :: tick( unsigned int )
    +00074 {
    +00075   if ( fabs(targetDelay_ - delay_) > 0.001 ) {
    +00076     if ( targetDelay_ < delay_ )
    +00077       delay_ *= 0.99999;
    +00078     else
    +00079       delay_ *= 1.00001;
    +00080     delayLine_.setDelay( delay_ );
    +00081   }
    +00082 
    +00083   lastFrame_[0] = delayLine_.tick( loopFilter_.tick( delayLine_.lastOut() * loopGain_ ) + 
    +00084                                 (amGain_ * envelope_.tick() * noise_.tick()));
    +00085   
    +00086   return lastFrame_[0];
    +00087 }
    +00088 
    +00089 } // stk namespace
    +00090 
    +00091 #endif
    +00092 
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/Skini_8h-source.html b/doc/html/Skini_8h-source.html index 0f2887d..2222f0e 100644 --- a/doc/html/Skini_8h-source.html +++ b/doc/html/Skini_8h-source.html @@ -94,7 +94,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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..496f162 --- /dev/null +++ b/doc/html/Skini_8h_source.html @@ -0,0 +1,101 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Skini.h

    00001 #ifndef STK_SKINI_H
    +00002 #define STK_SKINI_H
    +00003 
    +00004 #include "Stk.h"
    +00005 #include <vector>
    +00006 #include <string>
    +00007 #include <fstream>
    +00008 
    +00009 namespace stk {
    +00010 
    +00011 /***************************************************/
    +00036 /***************************************************/
    +00037 
    +00038 class Skini : public Stk
    +00039 {
    +00040  public:
    +00041 
    +00043   struct Message { 
    +00044     long type;                         
    +00045     long channel;                      
    +00046     StkFloat time;                     
    +00047     std::vector<StkFloat> floatValues; 
    +00048     std::vector<long> intValues;       
    +00049     std::string remainder;             
    +00051     // Default constructor.
    +00052     Message()
    +00053       :type(0), channel(0), time(0.0), floatValues(2), intValues(2) {}
    +00054   };
    +00055 
    +00057   Skini();
    +00058 
    +00060   ~Skini();
    +00061 
    +00063 
    +00067   bool setFile( std::string fileName );
    +00068 
    +00070 
    +00076   long nextMessage( Skini::Message& message );
    +00077 
    +00079 
    +00083   long parseString( std::string& line, Skini::Message& message );
    +00084 
    +00086   static std::string whatsThisType(long type);
    +00087 
    +00089   static std::string whatsThisController(long number);
    +00090 
    +00091  protected:
    +00092 
    +00093   void tokenize( const std::string& str, std::vector<std::string>& tokens, const std::string& delimiters );
    +00094 
    +00095   std::ifstream file_;
    +00096 };
    +00097 
    +00098 static const double Midi2Pitch[129] = {
    +00099 8.18,8.66,9.18,9.72,10.30,10.91,11.56,12.25,
    +00100 12.98,13.75,14.57,15.43,16.35,17.32,18.35,19.45,
    +00101 20.60,21.83,23.12,24.50,25.96,27.50,29.14,30.87,
    +00102 32.70,34.65,36.71,38.89,41.20,43.65,46.25,49.00,
    +00103 51.91,55.00,58.27,61.74,65.41,69.30,73.42,77.78,
    +00104 82.41,87.31,92.50,98.00,103.83,110.00,116.54,123.47,
    +00105 130.81,138.59,146.83,155.56,164.81,174.61,185.00,196.00,
    +00106 207.65,220.00,233.08,246.94,261.63,277.18,293.66,311.13,
    +00107 329.63,349.23,369.99,392.00,415.30,440.00,466.16,493.88,
    +00108 523.25,554.37,587.33,622.25,659.26,698.46,739.99,783.99,
    +00109 830.61,880.00,932.33,987.77,1046.50,1108.73,1174.66,1244.51,
    +00110 1318.51,1396.91,1479.98,1567.98,1661.22,1760.00,1864.66,1975.53,
    +00111 2093.00,2217.46,2349.32,2489.02,2637.02,2793.83,2959.96,3135.96,
    +00112 3322.44,3520.00,3729.31,3951.07,4186.01,4434.92,4698.64,4978.03,
    +00113 5274.04,5587.65,5919.91,6271.93,6644.88,7040.00,7458.62,7902.13,
    +00114 8372.02,8869.84,9397.27,9956.06,10548.08,11175.30,11839.82,12543.85,
    +00115 13289.75};
    +00116 
    +00117 } // stk namespace
    +00118 
    +00119 #endif
    +00120 
    +00121 
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 79195d4..e65e136 100644 --- a/doc/html/Socket_8h-source.html +++ b/doc/html/Socket_8h-source.html @@ -85,7 +85,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..d43f7e4 --- /dev/null +++ b/doc/html/Socket_8h_source.html @@ -0,0 +1,92 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Socket.h

    00001 #ifndef STK_SOCKET_H
    +00002 #define STK_SOCKET_H
    +00003 
    +00004 #include "Stk.h"
    +00005 
    +00006 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
    +00007 
    +00008   #include <sys/socket.h>
    +00009   #include <sys/types.h>
    +00010   #include <arpa/inet.h>
    +00011   #include <netdb.h>
    +00012   #include <unistd.h>
    +00013   #include <fcntl.h>
    +00014   #include <netinet/in.h>
    +00015   #include <netinet/tcp.h>
    +00016 
    +00017 #elif defined(__OS_WINDOWS__)
    +00018 
    +00019   #include <winsock.h>
    +00020 
    +00021 #endif
    +00022 
    +00023 namespace stk {
    +00024 
    +00025 /***************************************************/
    +00036 /***************************************************/
    +00037 
    +00038 class Socket : public Stk
    +00039 {
    +00040  public:
    +00041 
    +00042   enum ProtocolType {
    +00043     PROTO_TCP,
    +00044     PROTO_UDP
    +00045   };
    +00046 
    +00048   Socket();
    +00049 
    +00051   virtual ~Socket();
    +00052 
    +00054   static void close( int socket );
    +00055 
    +00057   int id( void ) const { return soket_; };
    +00058 
    +00060   int port( void ) const { return port_; };
    +00061 
    +00063   static bool isValid( int socket ) { return socket != -1; };
    +00064 
    +00066   static void setBlocking( int socket, bool enable );
    +00067 
    +00069   virtual int writeBuffer(const void *buffer, long bufferSize, int flags = 0) = 0;
    +00070 
    +00072   virtual int readBuffer(void *buffer, long bufferSize, int flags = 0) = 0;
    +00073 
    +00075   static int writeBuffer(int socket, const void *buffer, long bufferSize, int flags );
    +00076 
    +00078   static int readBuffer(int socket, void *buffer, long bufferSize, int flags );
    +00079 
    +00080  protected:
    +00081 
    +00082   int soket_;
    +00083   int port_;
    +00084 
    +00085 };
    +00086 
    +00087 } // stk namespace
    +00088 
    +00089 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 8214d6a..c3308c0 100644 --- a/doc/html/Sphere_8h-source.html +++ b/doc/html/Sphere_8h-source.html @@ -75,7 +75,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..2692970 --- /dev/null +++ b/doc/html/Sphere_8h_source.html @@ -0,0 +1,82 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Sphere.h

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

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

    +
    + + +
    +

    StifKarp.h

    00001 #ifndef STK_STIFKARP_H
    +00002 #define STK_STIFKARP_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "DelayL.h"
    +00006 #include "DelayA.h"
    +00007 #include "OneZero.h"
    +00008 #include "Noise.h"
    +00009 #include "BiQuad.h"
    +00010 
    +00011 namespace stk {
    +00012 
    +00013 /***************************************************/
    +00034 /***************************************************/
    +00035 
    +00036 class StifKarp : public Instrmnt
    +00037 {
    +00038  public:
    +00040   StifKarp( StkFloat lowestFrequency );
    +00041 
    +00043   ~StifKarp( void );
    +00044 
    +00046   void clear( void );
    +00047 
    +00049   void setFrequency( StkFloat frequency );
    +00050 
    +00052   void setStretch( StkFloat stretch );
    +00053 
    +00055   void setPickupPosition( StkFloat position );
    +00056 
    +00058 
    +00063   void setBaseLoopGain( StkFloat aGain );
    +00064 
    +00066   void pluck( StkFloat amplitude );
    +00067 
    +00069   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00070 
    +00072   void noteOff( StkFloat amplitude );
    +00073 
    +00075   void controlChange( int number, StkFloat value );
    +00076 
    +00078   StkFloat tick( unsigned int channel = 0 );
    +00079 
    +00080  protected:
    +00081 
    +00082   DelayA  delayLine_;
    +00083   DelayL  combDelay_;
    +00084   OneZero filter_;
    +00085   Noise   noise_;
    +00086   BiQuad  biquad_[4];
    +00087 
    +00088   unsigned long length_;
    +00089   StkFloat loopGain_;
    +00090   StkFloat baseLoopGain_;
    +00091   StkFloat lastFrequency_;
    +00092   StkFloat lastLength_;
    +00093   StkFloat stretching_;
    +00094   StkFloat pluckAmplitude_;
    +00095   StkFloat pickupPosition_;
    +00096 
    +00097 };
    +00098 
    +00099 inline StkFloat StifKarp :: tick( unsigned int )
    +00100 {
    +00101   StkFloat temp = delayLine_.lastOut() * loopGain_;
    +00102 
    +00103   // Calculate allpass stretching.
    +00104   for (int i=0; i<4; i++)
    +00105     temp = biquad_[i].tick(temp);
    +00106 
    +00107   // Moving average filter.
    +00108   temp = filter_.tick(temp);
    +00109 
    +00110   lastFrame_[0] = delayLine_.tick(temp);
    +00111   lastFrame_[0] = lastFrame_[0] - combDelay_.tick( lastFrame_[0] );
    +00112   return lastFrame_[0];
    +00113 }
    +00114 
    +00115 } // stk namespace
    +00116 
    +00117 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 313f413..091f5c8 100644 --- a/doc/html/Stk_8h-source.html +++ b/doc/html/Stk_8h-source.html @@ -358,7 +358,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..bbfc78d --- /dev/null +++ b/doc/html/Stk_8h_source.html @@ -0,0 +1,365 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Stk.h

    00001 #ifndef STK_STK_H
    +00002 #define STK_STK_H
    +00003 
    +00004 #include <string>
    +00005 #include <iostream>
    +00006 #include <sstream>
    +00007 #include <vector>
    +00008 #include <cstdlib>
    +00009 
    +00016 namespace stk {
    +00017 
    +00018 /***************************************************/
    +00068 /***************************************************/
    +00069 
    +00070 //#define _STK_DEBUG_
    +00071 
    +00072 // Most data in STK is passed and calculated with the
    +00073 // following user-definable floating-point type.  You
    +00074 // can change this to "float" if you prefer or perhaps
    +00075 // a "long double" in the future.
    +00076 typedef double StkFloat;
    +00077 
    +00079 
    +00084 class StkError
    +00085 {
    +00086 public:
    +00087   enum Type {
    +00088     STATUS,
    +00089     WARNING,
    +00090     DEBUG_WARNING,
    +00091     MEMORY_ALLOCATION,
    +00092     MEMORY_ACCESS,
    +00093     FUNCTION_ARGUMENT,
    +00094     FILE_NOT_FOUND,
    +00095     FILE_UNKNOWN_FORMAT,
    +00096     FILE_ERROR,
    +00097     PROCESS_THREAD,
    +00098     PROCESS_SOCKET,
    +00099     PROCESS_SOCKET_IPADDR,
    +00100     AUDIO_SYSTEM,
    +00101     MIDI_SYSTEM,
    +00102     UNSPECIFIED
    +00103   };
    +00104 
    +00105 protected:
    +00106   std::string message_;
    +00107   Type type_;
    +00108 
    +00109 public:
    +00111   StkError(const std::string& message, Type type = StkError::UNSPECIFIED)
    +00112     : message_(message), type_(type) {}
    +00113 
    +00115   virtual ~StkError(void) {};
    +00116 
    +00118   virtual void printMessage(void) { std::cerr << '\n' << message_ << "\n\n"; }
    +00119 
    +00121   virtual const Type& getType(void) { return type_; }
    +00122 
    +00124   virtual const std::string& getMessage(void) { return message_; }
    +00125 
    +00127   virtual const char *getMessageCString(void) { return message_.c_str(); }
    +00128 };
    +00129 
    +00130 
    +00131 class Stk
    +00132 {
    +00133 public:
    +00134 
    +00135   typedef unsigned long StkFormat;
    +00136   static const StkFormat STK_SINT8;   
    +00137   static const StkFormat STK_SINT16;  
    +00138   static const StkFormat STK_SINT24;  
    +00139   static const StkFormat STK_SINT32;  
    +00140   static const StkFormat STK_FLOAT32; 
    +00141   static const StkFormat STK_FLOAT64; 
    +00143 
    +00144   static StkFloat sampleRate( void ) { return srate_; }
    +00145 
    +00147 
    +00164   static void setSampleRate( StkFloat rate );
    +00165 
    +00167 
    +00172   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
    +00173 
    +00175   static std::string rawwavePath(void) { return rawwavepath_; }
    +00176 
    +00178   static void setRawwavePath( std::string path );
    +00179 
    +00181   static void swap16( unsigned char *ptr );
    +00182 
    +00184   static void swap32( unsigned char *ptr );
    +00185 
    +00187   static void swap64( unsigned char *ptr );
    +00188 
    +00190   static void sleep( unsigned long milliseconds );
    +00191 
    +00193   static void handleError( const char *message, StkError::Type type );
    +00194 
    +00196   static void handleError( std::string message, StkError::Type type );
    +00197 
    +00199   static void showWarnings( bool status ) { showWarnings_ = status; }
    +00200 
    +00202   static void printErrors( bool status ) { printErrors_ = status; }
    +00203 
    +00204 private:
    +00205   static StkFloat srate_;
    +00206   static std::string rawwavepath_;
    +00207   static bool showWarnings_;
    +00208   static bool printErrors_;
    +00209   static std::vector<Stk *> alertList_;
    +00210 
    +00211 protected:
    +00212 
    +00213   std::ostringstream errorString_;
    +00214   bool ignoreSampleRateChange_;
    +00215 
    +00217   Stk( void );
    +00218 
    +00220   virtual ~Stk( void );
    +00221 
    +00223   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
    +00224 
    +00226   void addSampleRateAlert( Stk *ptr );
    +00227 
    +00229   void removeSampleRateAlert( Stk *ptr );
    +00230 
    +00232   void handleError( StkError::Type type );
    +00233 };
    +00234 
    +00235 
    +00236 /***************************************************/
    +00259 /***************************************************/
    +00260 
    +00261 class StkFrames
    +00262 {
    +00263 public:
    +00264 
    +00266   StkFrames( unsigned int nFrames = 0, unsigned int nChannels = 0 );
    +00267 
    +00269   StkFrames( const StkFloat& value, unsigned int nFrames, unsigned int nChannels );
    +00270 
    +00272   ~StkFrames();
    +00273 
    +00274   // A copy constructor.
    +00275   StkFrames( const StkFrames& f );
    +00276 
    +00277   // Assignment operator that returns a reference to self.
    +00278   StkFrames& operator= ( const StkFrames& f );
    +00279 
    +00281 
    +00287   StkFloat& operator[] ( size_t n );
    +00288 
    +00290 
    +00294   StkFloat operator[] ( size_t n ) const;
    +00295 
    +00297 
    +00302   void operator+= ( StkFrames& f );
    +00303 
    +00305 
    +00310   void operator*= ( StkFrames& f );
    +00311 
    +00313 
    +00320   StkFloat& operator() ( size_t frame, unsigned int channel );
    +00321 
    +00323 
    +00328   StkFloat operator() ( size_t frame, unsigned int channel ) const;
    +00329 
    +00331 
    +00337   StkFloat interpolate( StkFloat frame, unsigned int channel = 0 ) const;
    +00338 
    +00340   size_t size() const { return size_; }; 
    +00341 
    +00343   bool empty() const;
    +00344 
    +00346 
    +00353   void resize( size_t nFrames, unsigned int nChannels = 1 );
    +00354 
    +00356 
    +00363   void resize( size_t nFrames, unsigned int nChannels, StkFloat value );
    +00364 
    +00366   unsigned int channels( void ) const { return nChannels_; };
    +00367 
    +00369   unsigned int frames( void ) const { return nFrames_; };
    +00370 
    +00372 
    +00376   void setDataRate( StkFloat rate ) { dataRate_ = rate; };
    +00377 
    +00379 
    +00383   StkFloat dataRate( void ) const { return dataRate_; };
    +00384 
    +00385 private:
    +00386 
    +00387   StkFloat *data_;
    +00388   StkFloat dataRate_;
    +00389   size_t nFrames_;
    +00390   unsigned int nChannels_;
    +00391   size_t size_;
    +00392   size_t bufferSize_;
    +00393 
    +00394 };
    +00395 
    +00396 inline bool StkFrames :: empty() const
    +00397 {
    +00398   if ( size_ > 0 ) return false;
    +00399   else return true;
    +00400 }
    +00401 
    +00402 inline StkFloat& StkFrames :: operator[] ( size_t n )
    +00403 {
    +00404 #if defined(_STK_DEBUG_)
    +00405   if ( n >= size_ ) {
    +00406     std::ostringstream error;
    +00407     error << "StkFrames::operator[]: invalid index (" << n << ") value!";
    +00408     Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
    +00409   }
    +00410 #endif
    +00411 
    +00412   return data_[n];
    +00413 }
    +00414 
    +00415 inline StkFloat StkFrames :: operator[] ( size_t n ) const
    +00416 {
    +00417 #if defined(_STK_DEBUG_)
    +00418   if ( n >= size_ ) {
    +00419     std::ostringstream error;
    +00420     error << "StkFrames::operator[]: invalid index (" << n << ") value!";
    +00421     Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
    +00422   }
    +00423 #endif
    +00424 
    +00425   return data_[n];
    +00426 }
    +00427 
    +00428 inline StkFloat& StkFrames :: operator() ( size_t frame, unsigned int channel )
    +00429 {
    +00430 #if defined(_STK_DEBUG_)
    +00431   if ( frame >= nFrames_ || channel >= nChannels_ ) {
    +00432     std::ostringstream error;
    +00433     error << "StkFrames::operator(): invalid frame (" << frame << ") or channel (" << channel << ") value!";
    +00434     Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
    +00435   }
    +00436 #endif
    +00437 
    +00438   return data_[ frame * nChannels_ + channel ];
    +00439 }
    +00440 
    +00441 inline StkFloat StkFrames :: operator() ( size_t frame, unsigned int channel ) const
    +00442 {
    +00443 #if defined(_STK_DEBUG_)
    +00444   if ( frame >= nFrames_ || channel >= nChannels_ ) {
    +00445     std::ostringstream error;
    +00446     error << "StkFrames::operator(): invalid frame (" << frame << ") or channel (" << channel << ") value!";
    +00447     Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
    +00448   }
    +00449 #endif
    +00450 
    +00451   return data_[ frame * nChannels_ + channel ];
    +00452 }
    +00453 
    +00454 inline void StkFrames :: operator+= ( StkFrames& f )
    +00455 {
    +00456 #if defined(_STK_DEBUG_)
    +00457   if ( f.frames() != nFrames_ || f.channels() != nChannels_ ) {
    +00458     std::ostringstream error;
    +00459     error << "StkFrames::operator+=: frames argument must be of equal dimensions!";
    +00460     Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
    +00461   }
    +00462 #endif
    +00463 
    +00464   StkFloat *fptr = &f[0];
    +00465   StkFloat *dptr = data_;
    +00466   for ( unsigned int i=0; i<size_; i++ )
    +00467     *dptr++ += *fptr++;
    +00468 }
    +00469 
    +00470 inline void StkFrames :: operator*= ( StkFrames& f )
    +00471 {
    +00472 #if defined(_STK_DEBUG_)
    +00473   if ( f.frames() != nFrames_ || f.channels() != nChannels_ ) {
    +00474     std::ostringstream error;
    +00475     error << "StkFrames::operator*=: frames argument must be of equal dimensions!";
    +00476     Stk::handleError( error.str(), StkError::MEMORY_ACCESS );
    +00477   }
    +00478 #endif
    +00479 
    +00480   StkFloat *fptr = &f[0];
    +00481   StkFloat *dptr = data_;
    +00482   for ( unsigned int i=0; i<size_; i++ )
    +00483     *dptr++ *= *fptr++;
    +00484 }
    +00485 
    +00486 // Here are a few other useful typedefs.
    +00487 typedef unsigned short UINT16;
    +00488 typedef unsigned int UINT32;
    +00489 typedef signed short SINT16;
    +00490 typedef signed int SINT32;
    +00491 typedef float FLOAT32;
    +00492 typedef double FLOAT64;
    +00493 
    +00494 // The default sampling rate.
    +00495 const StkFloat SRATE = 44100.0;
    +00496 
    +00497 // The default real-time audio input and output buffer size.  If
    +00498 // clicks are occuring in the input and/or output sound stream, a
    +00499 // larger buffer size may help.  Larger buffer sizes, however, produce
    +00500 // more latency.
    +00501 const unsigned int RT_BUFFER_SIZE = 512;
    +00502 
    +00503 // The default rawwave path value is set with the preprocessor
    +00504 // definition RAWWAVE_PATH.  This can be specified as an argument to
    +00505 // the configure script, in an integrated development environment, or
    +00506 // below.  The global STK rawwave path variable can be dynamically set
    +00507 // with the Stk::setRawwavePath() function.  This value is
    +00508 // concatenated to the beginning of all references to rawwave files in
    +00509 // the various STK core classes (ex. Clarinet.cpp).  If you wish to
    +00510 // move the rawwaves directory to a different location in your file
    +00511 // system, you will need to set this path definition appropriately.
    +00512 #if !defined(RAWWAVE_PATH)
    +00513   #define RAWWAVE_PATH "../../rawwaves/"
    +00514 #endif
    +00515 
    +00516 const StkFloat PI           = 3.14159265358979;
    +00517 const StkFloat TWO_PI       = 2 * PI;
    +00518 const StkFloat ONE_OVER_128 = 0.0078125;
    +00519 
    +00520 #if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__) || defined(__WINDOWS_MM__)
    +00521   #define __OS_WINDOWS__
    +00522   #define __STK_REALTIME__
    +00523 #elif defined(__LINUX_OSS__) || defined(__LINUX_ALSA__) || defined(__UNIX_JACK__)
    +00524   #define __OS_LINUX__
    +00525   #define __STK_REALTIME__
    +00526 #elif defined(__IRIX_AL__)
    +00527   #define __OS_IRIX__
    +00528 #elif defined(__MACOSX_CORE__) || defined(__UNIX_JACK__)
    +00529   #define __OS_MACOSX__
    +00530   #define __STK_REALTIME__
    +00531 #endif
    +00532 
    +00533 } // stk namespace
    +00534 
    +00535 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/TapDelay_8h-source.html b/doc/html/TapDelay_8h-source.html index 30a2654..5ff445a 100644 --- a/doc/html/TapDelay_8h-source.html +++ b/doc/html/TapDelay_8h-source.html @@ -166,7 +166,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/TapDelay_8h_source.html b/doc/html/TapDelay_8h_source.html new file mode 100644 index 0000000..b7b2067 --- /dev/null +++ b/doc/html/TapDelay_8h_source.html @@ -0,0 +1,173 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    TapDelay.h

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

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

    +
    + + +
    +

    TcpClient.h

    00001 #ifndef STK_TCPCLIENT_H
    +00002 #define STK_TCPCLIENT_H
    +00003 
    +00004 #include "Socket.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00031 /***************************************************/
    +00032 
    +00033 class TcpClient : public Socket
    +00034 {
    +00035  public:
    +00037 
    +00040   TcpClient( int port, std::string hostname = "localhost" );
    +00041 
    +00043   ~TcpClient();
    +00044 
    +00046 
    +00051   int connect( int port, std::string hostname = "localhost" );
    +00052 
    +00054   int writeBuffer(const void *buffer, long bufferSize, int flags = 0);
    +00055 
    +00057   int readBuffer(void *buffer, long bufferSize, int flags = 0);
    +00058 
    +00059  protected:
    +00060 
    +00061 };
    +00062 
    +00063 } // stk namespace
    +00064 
    +00065 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/TcpServer_8h-source.html b/doc/html/TcpServer_8h-source.html index acf9d50..ddc014e 100644 --- a/doc/html/TcpServer_8h-source.html +++ b/doc/html/TcpServer_8h-source.html @@ -49,7 +49,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/TcpServer_8h_source.html b/doc/html/TcpServer_8h_source.html new file mode 100644 index 0000000..f4794e5 --- /dev/null +++ b/doc/html/TcpServer_8h_source.html @@ -0,0 +1,56 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    TcpServer.h

    00001 #ifndef STK_TCPSERVER_H
    +00002 #define STK_TCPSERVER_H
    +00003 
    +00004 #include "Socket.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00031 /***************************************************/
    +00032 
    +00033 class TcpServer : public Socket
    +00034 {
    +00035  public:
    +00037 
    +00040   TcpServer( int port = 2006 );
    +00041 
    +00043   ~TcpServer();
    +00044 
    +00046 
    +00051   int accept( void );
    +00052 
    +00054   int writeBuffer(const void *buffer, long bufferSize, int flags = 0);
    +00055 
    +00057   int readBuffer(void *buffer, long bufferSize, int flags = 0);
    +00058 
    +00059  protected:
    +00060 
    +00061 };
    +00062 
    +00063 } // stk namespace
    +00064 
    +00065 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 778a82f..bf45ed4 100644 --- a/doc/html/Thread_8h-source.html +++ b/doc/html/Thread_8h-source.html @@ -74,7 +74,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..86bb0f4 --- /dev/null +++ b/doc/html/Thread_8h_source.html @@ -0,0 +1,81 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Thread.h

    00001 #ifndef STK_THREAD_H
    +00002 #define STK_THREAD_H
    +00003 
    +00004 #include "Stk.h"
    +00005 
    +00006 #if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))
    +00007 
    +00008   #include <pthread.h>
    +00009   #define THREAD_TYPE
    +00010   typedef pthread_t THREAD_HANDLE;
    +00011   typedef void * THREAD_RETURN;
    +00012   typedef void * (*THREAD_FUNCTION)(void *);
    +00013 
    +00014 #elif defined(__OS_WINDOWS__)
    +00015 
    +00016   #include <windows.h>
    +00017   #include <process.h>
    +00018   #define THREAD_TYPE __stdcall
    +00019   typedef unsigned long THREAD_HANDLE;
    +00020   typedef unsigned THREAD_RETURN;
    +00021   typedef unsigned (__stdcall *THREAD_FUNCTION)(void *);
    +00022 
    +00023 #endif
    +00024 
    +00025 namespace stk {
    +00026 
    +00027 /***************************************************/
    +00047 /***************************************************/
    +00048 
    +00049 class Thread : public Stk
    +00050 {
    +00051  public:
    +00053   Thread();
    +00054 
    +00056   ~Thread();
    +00057 
    +00059 
    +00064   bool start( THREAD_FUNCTION routine, void * ptr = NULL );
    +00065 
    +00067 
    +00074   bool cancel(void);
    +00075 
    +00077 
    +00080   bool wait(void);
    +00081 
    +00083 
    +00088   void testCancel(void);
    +00089 
    +00090  protected:
    +00091 
    +00092   THREAD_HANDLE thread_;
    +00093 
    +00094 };
    +00095 
    +00096 } // stk namespace
    +00097 
    +00098 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 23ffc04..6e327d7 100644 --- a/doc/html/TubeBell_8h-source.html +++ b/doc/html/TubeBell_8h-source.html @@ -70,7 +70,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..4e9d059 --- /dev/null +++ b/doc/html/TubeBell_8h_source.html @@ -0,0 +1,77 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    TubeBell.h

    00001 #ifndef STK_TUBEBELL_H
    +00002 #define STK_TUBEBELL_H
    +00003 
    +00004 #include "FM.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00038 /***************************************************/
    +00039 
    +00040 class TubeBell : public FM
    +00041 {
    +00042  public:
    +00044 
    +00047   TubeBell( void );
    +00048 
    +00050   ~TubeBell( void );
    +00051 
    +00053   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00054 
    +00056   StkFloat tick( unsigned int channel = 0 );
    +00057 
    +00058  protected:
    +00059 
    +00060 };
    +00061 
    +00062 inline StkFloat TubeBell :: tick( unsigned int )
    +00063 {
    +00064   StkFloat temp, temp2;
    +00065 
    +00066   temp = gains_[1] * adsr_[1]->tick() * waves_[1]->tick();
    +00067   temp = temp * control1_;
    +00068 
    +00069   waves_[0]->addPhaseOffset( temp );
    +00070   waves_[3]->addPhaseOffset( twozero_.lastOut() );
    +00071   temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick();
    +00072   twozero_.tick( temp );
    +00073 
    +00074   waves_[2]->addPhaseOffset( temp );
    +00075   temp = ( 1.0 - (control2_ * 0.5)) * gains_[0] * adsr_[0]->tick() * waves_[0]->tick();
    +00076   temp += control2_ * 0.5 * gains_[2] * adsr_[2]->tick() * waves_[2]->tick();
    +00077 
    +00078   // Calculate amplitude modulation and apply it to output.
    +00079   temp2 = vibrato_.tick() * modDepth_;
    +00080   temp = temp * (1.0 + temp2);
    +00081     
    +00082   lastFrame_[0] = temp * 0.5;
    +00083   return lastFrame_[0];
    +00084 }
    +00085 
    +00086 } // stk namespace
    +00087 
    +00088 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 cbd38ea..5d4a680 100644 --- a/doc/html/TwoPole_8h-source.html +++ b/doc/html/TwoPole_8h-source.html @@ -121,7 +121,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..ead1144 --- /dev/null +++ b/doc/html/TwoPole_8h_source.html @@ -0,0 +1,128 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    TwoPole.h

    00001 #ifndef STK_TWOPOLE_H
    +00002 #define STK_TWOPOLE_H
    +00003 
    +00004 #include "Filter.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00018 /***************************************************/
    +00019 
    +00020 class TwoPole : public Filter
    +00021 {
    +00022  public:
    +00023 
    +00025   TwoPole( void );
    +00026 
    +00028   ~TwoPole();
    +00029 
    +00031   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
    +00032 
    +00034   void setB0( StkFloat b0 ) { b_[0] = b0; };
    +00035 
    +00037   void setA1( StkFloat a1 ) { a_[1] = a1; };
    +00038 
    +00040   void setA2( StkFloat a2 ) { a_[2] = a2; };
    +00041 
    +00043   void setCoefficients( StkFloat b0, StkFloat a1, StkFloat a2, bool clearState = false );
    +00044 
    +00046 
    +00059   void setResonance(StkFloat frequency, StkFloat radius, bool normalize = false);
    +00060 
    +00062   StkFloat lastOut( void ) const { return lastFrame_[0]; };
    +00063 
    +00065   StkFloat tick( StkFloat input );
    +00066 
    +00068 
    +00076   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    +00077 
    +00079 
    +00087   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
    +00088 
    +00089  protected:
    +00090 
    +00091   virtual void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
    +00092 };
    +00093 
    +00094 inline StkFloat TwoPole :: tick( StkFloat input )
    +00095 {
    +00096   inputs_[0] = gain_ * input;
    +00097   lastFrame_[0] = b_[0] * inputs_[0] - a_[1] * outputs_[1] - a_[2] * outputs_[2];
    +00098   outputs_[2] = outputs_[1];
    +00099   outputs_[1] = lastFrame_[0];
    +00100 
    +00101   return lastFrame_[0];
    +00102 }
    +00103 
    +00104 inline StkFrames& TwoPole :: tick( StkFrames& frames, unsigned int channel )
    +00105 {
    +00106 #if defined(_STK_DEBUG_)
    +00107   if ( channel >= frames.channels() ) {
    +00108     errorString_ << "TwoPole::tick(): channel and StkFrames arguments are incompatible!";
    +00109     handleError( StkError::FUNCTION_ARGUMENT );
    +00110   }
    +00111 #endif
    +00112 
    +00113   StkFloat *samples = &frames[channel];
    +00114   unsigned int hop = frames.channels();
    +00115   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
    +00116     inputs_[0] = gain_ * *samples;
    +00117     *samples = b_[0] * inputs_[0] - a_[1] * outputs_[1] - a_[2] * outputs_[2];
    +00118     outputs_[2] = outputs_[1];
    +00119     outputs_[1] = *samples;
    +00120   }
    +00121 
    +00122   lastFrame_[0] = outputs_[1];
    +00123   return frames;
    +00124 }
    +00125 
    +00126 inline StkFrames& TwoPole :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
    +00127 {
    +00128 #if defined(_STK_DEBUG_)
    +00129   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
    +00130     errorString_ << "TwoPole::tick(): channel and StkFrames arguments are incompatible!";
    +00131     handleError( StkError::FUNCTION_ARGUMENT );
    +00132   }
    +00133 #endif
    +00134 
    +00135   StkFloat *iSamples = &iFrames[iChannel];
    +00136   StkFloat *oSamples = &oFrames[oChannel];
    +00137   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
    +00138   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
    +00139     inputs_[0] = gain_ * *iSamples;
    +00140     *oSamples = b_[0] * inputs_[0] - a_[1] * outputs_[1] - a_[2] * outputs_[2];
    +00141     outputs_[2] = outputs_[1];
    +00142     outputs_[1] = *oSamples;
    +00143   }
    +00144 
    +00145   lastFrame_[0] = outputs_[1];
    +00146   return iFrames;
    +00147 }
    +00148 
    +00149 } // stk namespace
    +00150 
    +00151 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 1996211..fbe14fa 100644 --- a/doc/html/TwoZero_8h-source.html +++ b/doc/html/TwoZero_8h-source.html @@ -120,7 +120,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..4044850 --- /dev/null +++ b/doc/html/TwoZero_8h_source.html @@ -0,0 +1,127 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    TwoZero.h

    00001 #ifndef STK_TWOZERO_H
    +00002 #define STK_TWOZERO_H
    +00003 
    +00004 #include "Filter.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00018 /***************************************************/
    +00019 
    +00020 class TwoZero : public Filter
    +00021 {
    +00022  public:
    +00024   TwoZero();
    +00025 
    +00027   ~TwoZero();
    +00028 
    +00030   void ignoreSampleRateChange( bool ignore = true ) { ignoreSampleRateChange_ = ignore; };
    +00031 
    +00033   void setB0( StkFloat b0 ) { b_[0] = b0; };
    +00034 
    +00036   void setB1( StkFloat b1 ) { b_[1] = b1; };
    +00037 
    +00039   void setB2( StkFloat b2 ) { b_[2] = b2; };
    +00040 
    +00042   void setCoefficients( StkFloat b0, StkFloat b1, StkFloat b2, bool clearState = false );
    +00043 
    +00045 
    +00055   void setNotch( StkFloat frequency, StkFloat radius );
    +00056 
    +00058   StkFloat lastOut( void ) const { return lastFrame_[0]; };
    +00059 
    +00061   StkFloat tick( StkFloat input );
    +00062 
    +00064 
    +00072   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    +00073 
    +00075 
    +00083   StkFrames& tick( StkFrames& iFrames, StkFrames &oFrames, unsigned int iChannel = 0, unsigned int oChannel = 0 );
    +00084 
    +00085  protected:
    +00086 
    +00087   void sampleRateChanged( StkFloat newRate, StkFloat oldRate );
    +00088 };
    +00089 
    +00090 inline StkFloat TwoZero :: tick( StkFloat input )
    +00091 {
    +00092   inputs_[0] = gain_ * input;
    +00093   lastFrame_[0] = b_[2] * inputs_[2] + b_[1] * inputs_[1] + b_[0] * inputs_[0];
    +00094   inputs_[2] = inputs_[1];
    +00095   inputs_[1] = inputs_[0];
    +00096 
    +00097   return lastFrame_[0];
    +00098 }
    +00099 
    +00100 inline StkFrames& TwoZero :: tick( StkFrames& frames, unsigned int channel )
    +00101 {
    +00102 #if defined(_STK_DEBUG_)
    +00103   if ( channel >= frames.channels() ) {
    +00104     errorString_ << "TwoZero::tick(): channel and StkFrames arguments are incompatible!";
    +00105     handleError( StkError::FUNCTION_ARGUMENT );
    +00106   }
    +00107 #endif
    +00108 
    +00109   StkFloat *samples = &frames[channel];
    +00110   unsigned int hop = frames.channels();
    +00111   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
    +00112     inputs_[0] = gain_ * *samples;
    +00113     *samples = b_[2] * inputs_[2] + b_[1] * inputs_[1] + b_[0] * inputs_[0];
    +00114     inputs_[2] = inputs_[1];
    +00115     inputs_[1] = inputs_[0];
    +00116   }
    +00117 
    +00118   lastFrame_[0] = *(samples-hop);
    +00119   return frames;
    +00120 }
    +00121 
    +00122 inline StkFrames& TwoZero :: tick( StkFrames& iFrames, StkFrames& oFrames, unsigned int iChannel, unsigned int oChannel )
    +00123 {
    +00124 #if defined(_STK_DEBUG_)
    +00125   if ( iChannel >= iFrames.channels() || oChannel >= oFrames.channels() ) {
    +00126     errorString_ << "TwoZero::tick(): channel and StkFrames arguments are incompatible!";
    +00127     handleError( StkError::FUNCTION_ARGUMENT );
    +00128   }
    +00129 #endif
    +00130 
    +00131   StkFloat *iSamples = &iFrames[iChannel];
    +00132   StkFloat *oSamples = &oFrames[oChannel];
    +00133   unsigned int iHop = iFrames.channels(), oHop = oFrames.channels();
    +00134   for ( unsigned int i=0; i<iFrames.frames(); i++, iSamples += iHop, oSamples += oHop ) {
    +00135     inputs_[0] = gain_ * *iSamples;
    +00136     *oSamples = b_[2] * inputs_[2] + b_[1] * inputs_[1] + b_[0] * inputs_[0];
    +00137     inputs_[2] = inputs_[1];
    +00138     inputs_[1] = inputs_[0];
    +00139   }
    +00140 
    +00141   lastFrame_[0] = *(oSamples-oHop);
    +00142   return iFrames;
    +00143 }
    +00144 
    +00145 } // stk namespace
    +00146 
    +00147 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/UdpSocket_8h-source.html b/doc/html/UdpSocket_8h-source.html index c8ec0e6..a887643 100644 --- a/doc/html/UdpSocket_8h-source.html +++ b/doc/html/UdpSocket_8h-source.html @@ -58,7 +58,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/UdpSocket_8h_source.html b/doc/html/UdpSocket_8h_source.html new file mode 100644 index 0000000..c821724 --- /dev/null +++ b/doc/html/UdpSocket_8h_source.html @@ -0,0 +1,65 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    UdpSocket.h

    00001 #ifndef STK_UDPSOCKET_H
    +00002 #define STK_UDPSOCKET_H
    +00003 
    +00004 #include "Socket.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00029 /***************************************************/
    +00030 
    +00031 class UdpSocket : public Socket
    +00032 {
    +00033  public:
    +00035 
    +00038   UdpSocket( int port = 2006 );
    +00039 
    +00041   ~UdpSocket();
    +00042 
    +00044 
    +00047   void setDestination( int port = 2006, std::string hostname = "localhost" );
    +00048 
    +00050 
    +00053   int writeBuffer(const void *buffer, long bufferSize, int flags = 0);
    +00054 
    +00056   int readBuffer(void *buffer, long bufferSize, int flags = 0);
    +00057 
    +00059   int writeBufferTo(const void *buffer, long bufferSize, int port, std::string hostname = "localhost", int flags = 0 );
    +00060 
    +00061  protected:
    +00062 
    +00064 
    +00067   void setAddress( struct sockaddr_in *address, int port = 2006, std::string hostname = "localhost" );
    +00068 
    +00069   struct sockaddr_in address_;
    +00070   bool validAddress_;
    +00071 
    +00072 };
    +00073 
    +00074 } // stk namespace
    +00075 
    +00076 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 ad36192..a04e2c6 100644 --- a/doc/html/Vector3D_8h-source.html +++ b/doc/html/Vector3D_8h-source.html @@ -69,7 +69,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..0198b5d --- /dev/null +++ b/doc/html/Vector3D_8h_source.html @@ -0,0 +1,76 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Vector3D.h

    00001 #ifndef STK_VECTOR3D_H
    +00002 #define STK_VECTOR3D_H
    +00003 
    +00004 #include "Stk.h"
    +00005 #include <cmath>
    +00006 
    +00007 namespace stk {
    +00008 
    +00009 /***************************************************/
    +00017 /***************************************************/
    +00018 
    +00019 class Vector3D : public Stk
    +00020 {
    +00021 
    +00022 public:
    +00024   Vector3D( StkFloat x = 0.0, StkFloat y = 0.0, StkFloat z = 0.0 ) { setXYZ( x, y, z ); };
    +00025 
    +00027   StkFloat getX( void ) { return X_; };
    +00028 
    +00030   StkFloat getY( void ) { return Y_; };
    +00031 
    +00033   StkFloat getZ( void ) { return Z_; };
    +00034 
    +00036   StkFloat getLength( void );
    +00037 
    +00039   void setXYZ( StkFloat x, StkFloat y, StkFloat z ) { X_ = x; Y_ = y; Z_ = z; };
    +00040 
    +00042   void setX( StkFloat x ) { X_ = x; };
    +00043 
    +00045   void setY( StkFloat y ) { Y_ = y; };
    +00046 
    +00048   void setZ( StkFloat z ) { Z_ = z; };
    +00049 
    +00050 protected:
    +00051   StkFloat X_;
    +00052   StkFloat Y_;
    +00053   StkFloat Z_;
    +00054 };
    +00055 
    +00056 inline StkFloat Vector3D :: getLength( void )
    +00057 {
    +00058   StkFloat temp;
    +00059   temp = X_ * X_;
    +00060   temp += Y_ * Y_;
    +00061   temp += Z_ * Z_;
    +00062   temp = sqrt( temp );
    +00063   return temp;
    +00064 }
    +00065 
    +00066 } // stk namespace
    +00067 
    +00068 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 cf4d2ec..6fd95f0 100644 --- a/doc/html/VoicForm_8h-source.html +++ b/doc/html/VoicForm_8h-source.html @@ -100,7 +100,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..7281878 --- /dev/null +++ b/doc/html/VoicForm_8h_source.html @@ -0,0 +1,107 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    VoicForm.h

    00001 #ifndef STK_VOICFORM_H
    +00002 #define STK_VOICFORM_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "Envelope.h"
    +00006 #include "Noise.h"
    +00007 #include "SingWave.h"
    +00008 #include "FormSwep.h"
    +00009 #include "OnePole.h"
    +00010 #include "OneZero.h"
    +00011 
    +00012 namespace stk {
    +00013 
    +00014 /***************************************************/
    +00039 /***************************************************/
    +00040 
    +00041 class VoicForm : public Instrmnt
    +00042 {
    +00043   public:
    +00045 
    +00048   VoicForm( void );
    +00049 
    +00051   ~VoicForm( void );
    +00052 
    +00054   void clear( void );
    +00055 
    +00057   void setFrequency( StkFloat frequency );
    +00058 
    +00060   bool setPhoneme( const char* phoneme );
    +00061 
    +00063   void setVoiced( StkFloat vGain ) { voiced_->setGainTarget(vGain); };
    +00064 
    +00066   void setUnVoiced( StkFloat nGain ) { noiseEnv_.setTarget(nGain); };
    +00067 
    +00069   void setFilterSweepRate( unsigned int whichOne, StkFloat rate );
    +00070 
    +00072   void setPitchSweepRate( StkFloat rate ) { voiced_->setSweepRate(rate); };
    +00073 
    +00075   void speak( void ) { voiced_->noteOn(); };
    +00076 
    +00078   void quiet( void );
    +00079 
    +00081   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00082 
    +00084   void noteOff( StkFloat amplitude ) { this->quiet(); };
    +00085 
    +00087   void controlChange( int number, StkFloat value );
    +00088 
    +00090   StkFloat tick( unsigned int channel = 0 );
    +00091 
    +00092 protected:
    +00093 
    +00094   SingWave *voiced_;
    +00095   Noise    noise_;
    +00096   Envelope noiseEnv_;
    +00097   FormSwep filters_[4];
    +00098   OnePole  onepole_;
    +00099   OneZero  onezero_;
    +00100 
    +00101 };
    +00102 
    +00103 inline StkFloat VoicForm :: tick( unsigned int )
    +00104 {
    +00105   StkFloat temp;
    +00106   temp = onepole_.tick( onezero_.tick( voiced_->tick() ) );
    +00107   temp += noiseEnv_.tick() * noise_.tick();
    +00108   lastFrame_[0] = filters_[0].tick(temp);
    +00109   lastFrame_[0] += filters_[1].tick(temp);
    +00110   lastFrame_[0] += filters_[2].tick(temp);
    +00111   lastFrame_[0] += filters_[3].tick(temp);
    +00112   /*
    +00113     temp  += noiseEnv_.tick() * noise_.tick();
    +00114     lastFrame_[0]  = filters_[0].tick(temp);
    +00115     lastFrame_[0]  = filters_[1].tick(lastFrame_[0]);
    +00116     lastFrame_[0]  = filters_[2].tick(lastFrame_[0]);
    +00117     lastFrame_[0]  = filters_[3].tick(lastFrame_[0]);
    +00118   */
    +00119   return lastFrame_[0];
    +00120 }
    +00121 
    +00122 } // stk namespace
    +00123 
    +00124 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 4eac3b2..2917e3c 100644 --- a/doc/html/Voicer_8h-source.html +++ b/doc/html/Voicer_8h-source.html @@ -154,7 +154,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..afdec6a --- /dev/null +++ b/doc/html/Voicer_8h_source.html @@ -0,0 +1,160 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Voicer.h

    00001 #ifndef STK_VOICER_H
    +00002 #define STK_VOICER_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include <vector>
    +00006 
    +00007 namespace stk {
    +00008 
    +00009 /***************************************************/
    +00032 /***************************************************/
    +00033 
    +00034 class Voicer : public Stk
    +00035 {
    +00036  public:
    +00038   Voicer( StkFloat decayTime = 0.2 );
    +00039 
    +00041 
    +00045   void addInstrument( Instrmnt *instrument, int group=0 );
    +00046 
    +00048 
    +00053   void removeInstrument( Instrmnt *instrument );
    +00054 
    +00056 
    +00064   long noteOn( StkFloat noteNumber, StkFloat amplitude, int group=0 );
    +00065 
    +00067 
    +00070   void noteOff( StkFloat noteNumber, StkFloat amplitude, int group=0 );
    +00071 
    +00073 
    +00076   void noteOff( long tag, StkFloat amplitude );
    +00077 
    +00079 
    +00082   void setFrequency( StkFloat noteNumber, int group=0 );
    +00083 
    +00085 
    +00088   void setFrequency( long tag, StkFloat noteNumber );
    +00089 
    +00091   void pitchBend( StkFloat value, int group=0 );
    +00092 
    +00094   void pitchBend( long tag, StkFloat value );
    +00095 
    +00097   void controlChange( int number, StkFloat value, int group=0 );
    +00098 
    +00100   void controlChange( long tag, int number, StkFloat value );
    +00101 
    +00103   void silence( void );
    +00104 
    +00106   unsigned int channelsOut( void ) const { return lastFrame_.channels(); };
    +00107 
    +00109   const StkFrames& lastFrame( void ) const { return lastFrame_; };
    +00110 
    +00112 
    +00120   StkFloat lastOut( unsigned int channel = 0 );
    +00121 
    +00123 
    +00131   StkFloat tick( unsigned int channel = 0 );
    +00132 
    +00134 
    +00142   StkFrames& tick( StkFrames& frames, unsigned int channel = 0 );
    +00143 
    +00144  protected:
    +00145 
    +00146   struct Voice {
    +00147     Instrmnt *instrument;
    +00148     long tag;
    +00149     StkFloat noteNumber;
    +00150     StkFloat frequency;
    +00151     int sounding;
    +00152     int group;
    +00153 
    +00154     // Default constructor.
    +00155     Voice()
    +00156       :instrument(0), tag(0), noteNumber(-1.0), frequency(0.0), sounding(0), group(0) {}
    +00157   };
    +00158 
    +00159   std::vector<Voice> voices_;
    +00160   long tags_;
    +00161   int muteTime_;
    +00162   StkFrames lastFrame_;
    +00163 };
    +00164 
    +00165 inline StkFloat Voicer :: lastOut( unsigned int channel )
    +00166 {
    +00167 #if defined(_STK_DEBUG_)
    +00168   if ( channel >= lastFrame_.channels() ) {
    +00169     errorString_ << "Voicer::lastOut(): channel argument is invalid!";
    +00170     handleError( StkError::FUNCTION_ARGUMENT );
    +00171   }
    +00172 #endif
    +00173 
    +00174   return lastFrame_[channel];
    +00175 }
    +00176 
    +00177 
    +00178 inline StkFloat Voicer :: tick( unsigned int channel )
    +00179 {
    +00180   unsigned int j;
    +00181   for ( j=0; j<lastFrame_.channels(); j++ ) lastFrame_[j] = 0.0;
    +00182   for ( unsigned int i=0; i<voices_.size(); i++ ) {
    +00183     if ( voices_[i].sounding != 0 ) {
    +00184       voices_[i].instrument->tick();
    +00185       for ( j=0; j<voices_[i].instrument->channelsOut(); j++ ) lastFrame_[j] += voices_[i].instrument->lastOut( j );
    +00186     }
    +00187     if ( voices_[i].sounding < 0 )
    +00188       voices_[i].sounding++;
    +00189     if ( voices_[i].sounding == 0 )
    +00190       voices_[i].noteNumber = -1;
    +00191   }
    +00192 
    +00193   return lastFrame_[channel];
    +00194 }
    +00195 
    +00196 inline StkFrames& Voicer :: tick( StkFrames& frames, unsigned int channel )
    +00197 {
    +00198   unsigned int nChannels = lastFrame_.channels();
    +00199 #if defined(_STK_DEBUG_)
    +00200   if ( channel > frames.channels() - nChannels ) {
    +00201     errorString_ << "Voicer::tick(): channel and StkFrames arguments are incompatible!";
    +00202     handleError( StkError::FUNCTION_ARGUMENT );
    +00203   }
    +00204 #endif
    +00205 
    +00206   StkFloat *samples = &frames[channel];
    +00207   unsigned int j, hop = frames.channels() - nChannels;
    +00208   for ( unsigned int i=0; i<frames.frames(); i++, samples += hop ) {
    +00209     tick();
    +00210     for ( j=0; j<nChannels; j++ )
    +00211       *samples++ = lastFrame_[j];
    +00212   }
    +00213 
    +00214   return frames;
    +00215 }
    +00216 
    +00217 } // stk namespace
    +00218 
    +00219 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 3596521..51e2c17 100644 --- a/doc/html/Whistle_8h-source.html +++ b/doc/html/Whistle_8h-source.html @@ -81,7 +81,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..aa6125f --- /dev/null +++ b/doc/html/Whistle_8h_source.html @@ -0,0 +1,88 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Whistle.h

    00001 #ifndef STK_WHISTLE_H
    +00002 #define STK_WHISTLE_H
    +00003 
    +00004 #include "Instrmnt.h"
    +00005 #include "Sphere.h"
    +00006 #include "Vector3D.h"
    +00007 #include "Noise.h"
    +00008 #include "SineWave.h"
    +00009 #include "OnePole.h"
    +00010 #include "Envelope.h"
    +00011 
    +00012 namespace stk {
    +00013 
    +00014 /***************************************************/
    +00030 /***************************************************/
    +00031 
    +00032 class Whistle : public Instrmnt
    +00033 {
    +00034 public:
    +00036 
    +00039   Whistle( void );
    +00040 
    +00042   ~Whistle( void );
    +00043 
    +00045   void clear( void );
    +00046 
    +00048   void setFrequency( StkFloat frequency );
    +00049 
    +00051   void startBlowing( StkFloat amplitude, StkFloat rate );
    +00052 
    +00054   void stopBlowing( StkFloat rate );
    +00055 
    +00057   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00058 
    +00060   void noteOff( StkFloat amplitude );
    +00061 
    +00063   void controlChange( int number, StkFloat value );
    +00064 
    +00066   StkFloat tick( unsigned int channel = 0 );
    +00067 
    +00068 protected:
    +00069 
    +00070          Vector3D *tempVectorP_;
    +00071   Vector3D tempVector_;
    +00072   OnePole onepole_;
    +00073   Noise noise_;
    +00074          Envelope envelope_;
    +00075   Sphere can_;           // Declare a Spherical "can".
    +00076   Sphere pea_, bumper_;  // One spherical "pea", and a spherical "bumper".
    +00077 
    +00078   SineWave sine_;
    +00079 
    +00080   StkFloat baseFrequency_;
    +00081   StkFloat noiseGain_;
    +00082   StkFloat fippleFreqMod_;
    +00083          StkFloat fippleGainMod_;
    +00084          StkFloat blowFreqMod_;
    +00085          StkFloat tickSize_;
    +00086          StkFloat canLoss_;
    +00087          int subSample_, subSampCount_;
    +00088 };
    +00089 
    +00090 } // stk namespace
    +00091 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 5c91554..ca3d74b 100644 --- a/doc/html/Wurley_8h-source.html +++ b/doc/html/Wurley_8h-source.html @@ -72,7 +72,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..94dbe61 --- /dev/null +++ b/doc/html/Wurley_8h_source.html @@ -0,0 +1,79 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    Wurley.h

    00001 #ifndef STK_WURLEY_H
    +00002 #define STK_WURLEY_H
    +00003 
    +00004 #include "FM.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00038 /***************************************************/
    +00039 
    +00040 class Wurley : public FM
    +00041 {
    +00042  public:
    +00044 
    +00047   Wurley( void );
    +00048 
    +00050   ~Wurley( void );
    +00051 
    +00053   void setFrequency( StkFloat frequency );
    +00054 
    +00056   void noteOn( StkFloat frequency, StkFloat amplitude );
    +00057 
    +00059   StkFloat tick( unsigned int channel = 0 );
    +00060 
    +00061  protected:
    +00062 
    +00063 };
    +00064 
    +00065 inline StkFloat Wurley :: tick( unsigned int )
    +00066 {
    +00067   StkFloat temp, temp2;
    +00068 
    +00069   temp = gains_[1] * adsr_[1]->tick() * waves_[1]->tick();
    +00070   temp = temp * control1_;
    +00071 
    +00072   waves_[0]->addPhaseOffset( temp );
    +00073   waves_[3]->addPhaseOffset( twozero_.lastOut() );
    +00074   temp = gains_[3] * adsr_[3]->tick() * waves_[3]->tick();
    +00075   twozero_.tick(temp);
    +00076 
    +00077   waves_[2]->addPhaseOffset( temp );
    +00078   temp = ( 1.0 - (control2_ * 0.5)) * gains_[0] * adsr_[0]->tick() * waves_[0]->tick();
    +00079   temp += control2_ * 0.5 * gains_[2] * adsr_[2]->tick() * waves_[2]->tick();
    +00080 
    +00081   // Calculate amplitude modulation and apply it to output.
    +00082   temp2 = vibrato_.tick() * modDepth_;
    +00083   temp = temp * (1.0 + temp2);
    +00084     
    +00085   lastFrame_[0] = temp * 0.5;
    +00086   return lastFrame_[0];
    +00087 }
    +00088 
    +00089 } // stk namespace
    +00090 
    +00091 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 1a024e0..f33f35a 100644 --- a/doc/html/WvIn_8h-source.html +++ b/doc/html/WvIn_8h-source.html @@ -49,7 +49,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..3ced55d --- /dev/null +++ b/doc/html/WvIn_8h_source.html @@ -0,0 +1,56 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    WvIn.h

    00001 #ifndef STK_WVIN_H
    +00002 #define STK_WVIN_H
    +00003 
    +00004 #include "Stk.h"
    +00005 
    +00006 namespace stk {
    +00007 
    +00008 /***************************************************/
    +00017 /***************************************************/
    +00018 
    +00019 class WvIn : public Stk
    +00020 {
    +00021 public:
    +00023   unsigned int channelsOut( void ) const { return data_.channels(); };
    +00024 
    +00026 
    +00029   const StkFrames& lastFrame( void ) const { return lastFrame_; };
    +00030 
    +00032   virtual StkFloat tick( unsigned int channel = 0 ) = 0;
    +00033 
    +00035   virtual StkFrames& tick( StkFrames& frames ) = 0;
    +00036 
    +00037 protected:
    +00038 
    +00039   StkFrames data_;
    +00040   StkFrames lastFrame_;
    +00041 
    +00042 };
    +00043 
    +00044 } // stk namespace
    +00045 
    +00046 #endif
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 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 cb8da3a..dd31006 100644 --- a/doc/html/WvOut_8h-source.html +++ b/doc/html/WvOut_8h-source.html @@ -82,7 +82,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 new file mode 100644 index 0000000..81c09e9 --- /dev/null +++ b/doc/html/WvOut_8h_source.html @@ -0,0 +1,89 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    WvOut.h

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

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +

    Class List

    Here are the classes, structs, unions and interfaces with brief descriptions: @@ -29,6 +29,7 @@ + @@ -54,8 +55,10 @@ + + @@ -78,9 +81,6 @@ - - - @@ -95,13 +95,14 @@ - + + @@ -123,7 +124,7 @@
    stk::ADSRSTK ADSR envelope class
    stk::DelaySTK non-interpolating delay line class
    stk::DelayASTK allpass interpolating delay line class
    stk::DelayLSTK linear interpolating delay line class
    RtAudio::DeviceInfoThe public device information structure for returning queried values
    stk::DrummerSTK drum sample player class
    stk::EchoSTK echo effect class
    stk::EffectSTK abstract effects parent class
    stk::InstrmntSTK instrument abstract base class
    stk::JCRevJohn Chowning's reverberator class
    stk::JetTableSTK jet table class
    stk::LentPitShiftPitch shifter effect class based on the Lent algorithm
    stk::MandolinSTK mandolin instrument model class
    stk::Mesh2DTwo-dimensional rectilinear waveguide mesh class
    stk::Skini::MessageA message structure to store and pass parsed SKINI messages
    stk::MessagerSTK input control message parser
    stk::MidiFileInA standard MIDI file reading/parsing class
    stk::ModalSTK resonance model abstract base class
    stk::ResonateSTK noise driven formant filter
    stk::RhodeySTK Fender Rhodes electric piano FM synthesis instrument
    RtAudioRealtime audio i/o C++ classes
    RtAudio::RtAudio::DeviceInfoThe public device information structure for returning queried values
    RtAudio::RtAudio::StreamOptionsThe structure for specifying stream options
    RtAudio::RtAudio::StreamParametersThe structure for specifying input or ouput stream parameters
    RtErrorException handling class for RtAudio & RtMidi
    RtMidiAn abstract base class for realtime MIDI input/output
    RtMidiInA realtime MIDI input class
    stk::SingWaveSTK "singing" looped soundfile class
    stk::SitarSTK sitar string model class
    stk::SkiniSTK SKINI parsing class
    stk::Skini::Skini::MessageA message structure to store and pass parsed SKINI messages
    stk::SocketSTK internet socket abstract base class
    stk::SphereSTK sphere class
    stk::StifKarpSTK plucked stiff string instrument
    stk::StkSTK base class
    stk::StkErrorSTK error handling class
    stk::StkFramesAn STK class to handle vectorized audio data
    RtAudio::StreamOptionsThe structure for specifying stream options
    RtAudio::StreamParametersThe structure for specifying input or ouput stream parameters
    stk::TapDelaySTK non-interpolating tapped delay line class
    stk::TcpClientSTK TCP socket client class
    stk::TcpServerSTK TCP socket server class
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 0d3b263..586476f 100644 --- a/doc/html/classRtAudio-members.html +++ b/doc/html/classRtAudio-members.html @@ -8,43 +8,43 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtAudio Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    RtAudio Member List

    This is the complete list of members for RtAudio, including all inherited members.
    abortStream(void)RtAudio [inline]
    Api enum nameRtAudio
    closeStream(void)RtAudio [inline]
    getCompiledApi(std::vector< RtAudio::Api > &apis)RtAudio [static]
    getCurrentApi(void)RtAudio [inline]
    getDefaultInputDevice(void)RtAudio [inline]
    getDefaultOutputDevice(void)RtAudio [inline]
    getDeviceCount(void)RtAudio [inline]
    getDeviceInfo(unsigned int device)RtAudio [inline]
    getStreamLatency(void)RtAudio [inline]
    getStreamSampleRate(void)RtAudio [inline]
    getStreamTime(void)RtAudio [inline]
    isStreamOpen(void) const RtAudio [inline]
    isStreamRunning(void) const RtAudio [inline]
    LINUX_ALSA enum valueRtAudio
    LINUX_OSS enum valueRtAudio
    MACOSX_CORE enum valueRtAudio
    openStream(RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL)RtAudio
    RtAudio(RtAudio::Api api=UNSPECIFIED)RtAudio
    RTAUDIO_DUMMY enum valueRtAudio
    showWarnings(bool value=true)RtAudio [inline]
    startStream(void)RtAudio [inline]
    stopStream(void)RtAudio [inline]
    UNIX_JACK enum valueRtAudio
    UNSPECIFIED enum valueRtAudio
    WINDOWS_ASIO enum valueRtAudio
    WINDOWS_DS enum valueRtAudio
    ~RtAudio()RtAudio
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    abortStream(void)RtAudio [inline]
    Api enum nameRtAudio
    closeStream(void)RtAudio [inline]
    getCompiledApi(std::vector< RtAudio::Api > &apis)RtAudio [static]
    getCurrentApi(void)RtAudio [inline]
    getDefaultInputDevice(void)RtAudio [inline]
    getDefaultOutputDevice(void)RtAudio [inline]
    getDeviceCount(void)RtAudio [inline]
    getDeviceInfo(unsigned int device)RtAudio [inline]
    getStreamLatency(void)RtAudio [inline]
    getStreamSampleRate(void)RtAudio [inline]
    getStreamTime(void)RtAudio [inline]
    isStreamOpen(void) const RtAudio [inline]
    isStreamRunning(void) const RtAudio [inline]
    LINUX_ALSA enum valueRtAudio
    LINUX_OSS enum valueRtAudio
    MACOSX_CORE enum valueRtAudio
    openStream(RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL)RtAudio
    RtAudio(RtAudio::Api api=UNSPECIFIED)RtAudio
    RTAUDIO_DUMMY enum valueRtAudio
    showWarnings(bool value=true)RtAudio [inline]
    startStream(void)RtAudio [inline]
    stopStream(void)RtAudio [inline]
    UNIX_JACK enum valueRtAudio
    UNSPECIFIED enum valueRtAudio
    WINDOWS_ASIO enum valueRtAudio
    WINDOWS_DS enum valueRtAudio
    ~RtAudio()RtAudio


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtAudio.html b/doc/html/classRtAudio.html index 17c6bcf..43b00e3 100644 --- a/doc/html/classRtAudio.html +++ b/doc/html/classRtAudio.html @@ -8,163 +8,146 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtAudio Class Reference

    Realtime audio i/o C++ classes. -More... -

    -#include <RtAudio.h> -

    +

    RtAudio Class Reference

    +

    Realtime audio i/o C++ classes. +More...

    -

    -List of all members. - - - +

    #include <RtAudio.h>

    - - - - - - - - -

    Classes

    struct  DeviceInfo
     The public device information structure for returning queried values. More...
    struct  StreamOptions
     The structure for specifying stream options. More...
    struct  StreamParameters
     The structure for specifying input or ouput stream parameters. More...

    Public Types

    enum  Api {
    -  UNSPECIFIED, -LINUX_ALSA, -LINUX_OSS, -UNIX_JACK, -
    -  MACOSX_CORE, -WINDOWS_ASIO, -WINDOWS_DS, -RTAUDIO_DUMMY -
    +

    List of all members.

    + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Classes

    struct  DeviceInfo
     The public device information structure for returning queried values. More...
    struct  StreamOptions
     The structure for specifying stream options. More...
    struct  StreamParameters
     The structure for specifying input or ouput stream parameters. More...

    Public Types

    enum  Api {
    +  UNSPECIFIED, +LINUX_ALSA, +LINUX_OSS, +UNIX_JACK, +
    +  MACOSX_CORE, +WINDOWS_ASIO, +WINDOWS_DS, +RTAUDIO_DUMMY +
    }
     Audio API specifier arguments. More...

    Public Member Functions

     RtAudio (RtAudio::Api api=UNSPECIFIED) throw ()
     The class constructor.
     ~RtAudio () throw ()
     The destructor.
    -RtAudio::Api getCurrentApi (void) throw ()
     Returns the audio API specifier for the current instance of RtAudio.
    unsigned int getDeviceCount (void) throw ()
     A public function that queries for the number of audio devices available.
    RtAudio::DeviceInfo getDeviceInfo (unsigned int device)
     Return an RtAudio::DeviceInfo structure for a specified device number.
    unsigned int getDefaultOutputDevice (void) throw ()
     A function that returns the index of the default output device.
    unsigned int getDefaultInputDevice (void) throw ()
     A function that returns the index of the default input device.
    void openStream (RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL)
     A public function for opening a stream with the specified parameters.
    void closeStream (void) throw ()
     A function that closes a stream and frees any associated stream memory.
    void startStream (void)
     A function that starts a stream.
    void stopStream (void)
     Stop a stream, allowing any samples remaining in the output queue to be played.
    void abortStream (void)
     Stop a stream, discarding any samples remaining in the input/output queue.
    -bool isStreamOpen (void) const throw ()
     Returns true if a stream is open and false if not.
    -bool isStreamRunning (void) const throw ()
     Returns true if the stream is running and false if it is stopped or not open.
    double getStreamTime (void)
     Returns the number of elapsed seconds since the stream was started.
    long getStreamLatency (void)
     Returns the internal stream latency in sample frames.
    unsigned int getStreamSampleRate (void)
     Returns actual sample rate in use by the stream.
    -void showWarnings (bool value=true) throw ()
     Specify whether warning messages should be printed to stderr.

    Static Public Member Functions

    static void getCompiledApi (std::vector< RtAudio::Api > &apis) throw ()
     A static function to determine the available compiled audio APIs.
     

    Audio API specifier arguments.

    + More...

    Public Member Functions

     RtAudio (RtAudio::Api api=UNSPECIFIED) throw ()
     The class constructor.
     ~RtAudio () throw ()
     The destructor.
    +RtAudio::Api getCurrentApi (void) throw ()
     Returns the audio API specifier for the current instance of RtAudio.
    unsigned int getDeviceCount (void) throw ()
     A public function that queries for the number of audio devices available.
    RtAudio::DeviceInfo getDeviceInfo (unsigned int device)
     Return an RtAudio::DeviceInfo structure for a specified device number.
    unsigned int getDefaultOutputDevice (void) throw ()
     A function that returns the index of the default output device.
    unsigned int getDefaultInputDevice (void) throw ()
     A function that returns the index of the default input device.
    void openStream (RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL)
     A public function for opening a stream with the specified parameters.
    void closeStream (void) throw ()
     A function that closes a stream and frees any associated stream memory.
    void startStream (void)
     A function that starts a stream.
    void stopStream (void)
     Stop a stream, allowing any samples remaining in the output queue to be played.
    void abortStream (void)
     Stop a stream, discarding any samples remaining in the input/output queue.
    +bool isStreamOpen (void) const throw ()
     Returns true if a stream is open and false if not.
    +bool isStreamRunning (void) const throw ()
     Returns true if the stream is running and false if it is stopped or not open.
    double getStreamTime (void)
     Returns the number of elapsed seconds since the stream was started.
    long getStreamLatency (void)
     Returns the internal stream latency in sample frames.
    unsigned int getStreamSampleRate (void)
     Returns actual sample rate in use by the stream.
    +void showWarnings (bool value=true) throw ()
     Specify whether warning messages should be printed to stderr.

    Static Public Member Functions

    static void getCompiledApi (std::vector< RtAudio::Api > &apis) throw ()
     A static function to determine the available compiled audio APIs.
    -

    Detailed Description

    -Realtime audio i/o C++ classes. -

    -RtAudio provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, Jack, and OSS), Macintosh OS X (CoreAudio and Jack), and Windows (DirectSound and ASIO) operating systems.

    -RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/

    -RtAudio: realtime audio i/o C++ classes Copyright (c) 2001-2009 Gary P. Scavone

    -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    -Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


    Member Enumeration Documentation

    - +

    Detailed Description

    +

    Realtime audio i/o C++ classes.

    +

    RtAudio provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, Jack, and OSS), Macintosh OS X (CoreAudio and Jack), and Windows (DirectSound and ASIO) operating systems.

    +

    RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/

    +

    RtAudio: realtime audio i/o C++ classes Copyright (c) 2001-2010 Gary P. Scavone

    +

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    +

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    +

    Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    +

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    +

    Member Enumeration Documentation

    +
    - +
    enum RtAudio::Api enum RtAudio::Api
    -

    -Audio API specifier arguments. -

    -

    Enumerator:
    - - - - - - - - - +

    Audio API specifier arguments.

    +
    Enumerator:
    UNSPECIFIED  -Search for a working compiled API.
    LINUX_ALSA  -The Advanced Linux Sound Architecture API.
    LINUX_OSS  -The Linux Open Sound System API.
    UNIX_JACK  -The Jack Low-Latency Audio Server API.
    MACOSX_CORE  -Macintosh OS-X Core Audio API.
    WINDOWS_ASIO  -The Steinberg Audio Stream I/O API.
    WINDOWS_DS  -The Microsoft Direct Sound API.
    RTAUDIO_DUMMY  -A compilable but non-functional API.
    + + + + + + + +
    UNSPECIFIED  +

    Search for a working compiled API.

    +
    LINUX_ALSA  +

    The Advanced Linux Sound Architecture API.

    +
    LINUX_OSS  +

    The Linux Open Sound System API.

    +
    UNIX_JACK  +

    The Jack Low-Latency Audio Server API.

    +
    MACOSX_CORE  +

    Macintosh OS-X Core Audio API.

    +
    WINDOWS_ASIO  +

    The Steinberg Audio Stream I/O API.

    +
    WINDOWS_DS  +

    The Microsoft Direct Sound API.

    +
    RTAUDIO_DUMMY  +

    A compilable but non-functional API.

    +
    +
    -

    -


    Constructor & Destructor Documentation

    - + +

    Constructor & Destructor Documentation

    +
    - + - - + + @@ -172,21 +155,20 @@ A compilable but non-functional API.
    -

    -The class constructor. -

    -The constructor performs minor initialization tasks. No exceptions can be thrown.

    -If no API argument is specified and multiple API support has been compiled, the default order of use is JACK, ALSA, OSS (Linux systems) and ASIO, DS (Windows systems). +

    The class constructor.

    +

    The constructor performs minor initialization tasks. No exceptions can be thrown.

    +

    If no API argument is specified and multiple API support has been compiled, the default order of use is JACK, ALSA, OSS (Linux systems) and ASIO, DS (Windows systems).

    +
    -

    - + +

    RtAudio::RtAudio RtAudio::RtAudio (RtAudio::Api  api = UNSPECIFIED RtAudio::Api  api = UNSPECIFIED  )  throw ()
    - + - + @@ -194,22 +176,21 @@ If no API argument is specified and multiple API support has been compiled, the
    -

    -The destructor. -

    -If a stream is running or open, it will be stopped and closed automatically. +

    The destructor.

    +

    If a stream is running or open, it will be stopped and closed automatically.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    RtAudio::~RtAudio RtAudio::~RtAudio (  )  throw ()
    - + - - + + @@ -217,21 +198,20 @@ If a stream is running or open, it will be stopped and closed automatically.
    -

    -A static function to determine the available compiled audio APIs. -

    -The values returned in the std::vector can be compared against the enumerated list values. Note that there can be more than one API compiled for certain operating systems. +

    A static function to determine the available compiled audio APIs.

    +

    The values returned in the std::vector can be compared against the enumerated list values. Note that there can be more than one API compiled for certain operating systems.

    +
    -

    - + +

    static void RtAudio::getCompiledApi static void RtAudio::getCompiledApi (std::vector< RtAudio::Api > &  apis std::vector< RtAudio::Api > &  apis  )  throw () [static]
    - + - + @@ -239,21 +219,20 @@ The values returned in the std::vector can be compared against the enumerated li
    -

    -A public function that queries for the number of audio devices available. -

    -This function performs a system query of available devices each time it is called, thus supporting devices connected after instantiation. If a system error occurs during processing, a warning will be issued. +

    A public function that queries for the number of audio devices available.

    +

    This function performs a system query of available devices each time it is called, thus supporting devices connected after instantiation. If a system error occurs during processing, a warning will be issued.

    +
    -

    - + +

    unsigned int RtAudio::getDeviceCount unsigned int RtAudio::getDeviceCount ( void   )  throw () [inline]
    - + - + @@ -261,21 +240,20 @@ This function performs a system query of available devices each time it is calle
    -

    -Return an RtAudio::DeviceInfo structure for a specified device number. -

    -Any device integer between 0 and getDeviceCount() - 1 is valid. If an invalid argument is provided, an RtError (type = INVALID_USE) will be thrown. If a device is busy or otherwise unavailable, the structure member "probed" will have a value of "false" and all other members are undefined. If the specified device is the current default input or output device, the corresponding "isDefault" member will have a value of "true". +

    Return an RtAudio::DeviceInfo structure for a specified device number.

    +

    Any device integer between 0 and getDeviceCount() - 1 is valid. If an invalid argument is provided, an RtError (type = INVALID_USE) will be thrown. If a device is busy or otherwise unavailable, the structure member "probed" will have a value of "false" and all other members are undefined. If the specified device is the current default input or output device, the corresponding "isDefault" member will have a value of "true".

    +
    -

    - + +

    RtAudio::DeviceInfo RtAudio::getDeviceInfo RtAudio::DeviceInfo RtAudio::getDeviceInfo ( unsigned int  device device  )  [inline]
    - + - + @@ -283,21 +261,21 @@ Any device integer between 0 and -

    -A function that returns the index of the default output device. -

    -If the underlying audio API does not provide a "default device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream. +

    A function that returns the index of the default output device.

    +

    If the underlying audio API does not provide a "default + device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream.

    + -

    - + +

    unsigned int RtAudio::getDefaultOutputDevice unsigned int RtAudio::getDefaultOutputDevice ( void   )  throw () [inline]
    - + - + @@ -305,18 +283,18 @@ If the underlying audio API does not provide a "default device", or if no device
    -

    -A function that returns the index of the default input device. -

    -If the underlying audio API does not provide a "default device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream. +

    A function that returns the index of the default input device.

    +

    If the underlying audio API does not provide a "default + device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream.

    +
    -

    - + +

    unsigned int RtAudio::getDefaultInputDevice unsigned int RtAudio::getDefaultInputDevice ( void   )  throw () [inline]
    - + @@ -330,7 +308,7 @@ If the underlying audio API does not provide a "default device", or if no device - + @@ -348,7 +326,7 @@ If the underlying audio API does not provide a "default device", or if no device - + @@ -372,14 +350,12 @@ If the underlying audio API does not provide a "default device", or if no device
    -

    -A public function for opening a stream with the specified parameters. -

    -An RtError (type = SYSTEM_ERROR) is thrown if a stream cannot be opened with the specified parameters or an error occurs during processing. An RtError (type = INVALID_USE) is thrown if any invalid device ID or channel number parameters are specified.

    -

    Parameters:
    +

    A public function for opening a stream with the specified parameters.

    +

    An RtError (type = SYSTEM_ERROR) is thrown if a stream cannot be opened with the specified parameters or an error occurs during processing. An RtError (type = INVALID_USE) is thrown if any invalid device ID or channel number parameters are specified.

    +
    Parameters:
    void RtAudio::openStream void RtAudio::openStream ( RtAudio::StreamParameters outputParameters,
    RtAudioFormat RtAudioFormat  format,
    RtAudioCallback RtAudioCallback  callback,
    - - + + @@ -387,19 +363,20 @@ An
    outputParameters Specifies output stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For input-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
    inputParameters Specifies input stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For output-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
    outputParameters Specifies output stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For input-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
    inputParameters Specifies input stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For output-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
    format An RtAudioFormat specifying the desired sample data format.
    sampleRate The desired sample rate (sample frames per second).
    *bufferFrames A pointer to a value indicating the desired internal buffer size in sample frames. The actual value used by the device is returned via the same pointer. A value of zero can be specified, in which case the lowest allowable value is determined.
    userData An optional pointer to data that can be accessed from within the callback function.
    options An optional pointer to a structure containing various global stream options, including a list of OR'ed RtAudioStreamFlags and a suggested number of stream buffers that can be used to control stream latency. More buffers typically result in more robust performance, though at a cost of greater latency. If a value of zero is specified, a system-specific median value is chosen. If the RTAUDIO_MINIMIZE_LATENCY flag bit is set, the lowest allowable value is used. The actual value used is returned via the structure argument. The parameter is API dependent.
    +
    -

    - + +

    - + - + @@ -407,21 +384,20 @@ An -

    -A function that closes a stream and frees any associated stream memory. -

    -If a stream is not open, this function issues a warning and returns (no exception is thrown). +

    A function that closes a stream and frees any associated stream memory.

    +

    If a stream is not open, this function issues a warning and returns (no exception is thrown).

    + -

    - + +

    void RtAudio::closeStream void RtAudio::closeStream ( void   )  throw () [inline]
    - + - + @@ -429,21 +405,20 @@ If a stream is not open, this function issues a warning and returns (no exceptio
    -

    -A function that starts a stream. -

    -An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already running. +

    A function that starts a stream.

    +

    An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already running.

    +
    -

    - + +

    void RtAudio::startStream void RtAudio::startStream ( void   )  [inline]
    - + - + @@ -451,21 +426,20 @@ An -

    -Stop a stream, allowing any samples remaining in the output queue to be played. -

    -An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped. +

    Stop a stream, allowing any samples remaining in the output queue to be played.

    +

    An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped.

    + -

    - + +

    void RtAudio::stopStream void RtAudio::stopStream ( void   )  [inline]
    - + - + @@ -473,21 +447,20 @@ An -

    -Stop a stream, discarding any samples remaining in the input/output queue. -

    -An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped. +

    Stop a stream, discarding any samples remaining in the input/output queue.

    +

    An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped.

    + -

    - + +

    void RtAudio::abortStream void RtAudio::abortStream ( void   )  [inline]
    - + - + @@ -495,21 +468,20 @@ An -

    -Returns the number of elapsed seconds since the stream was started. -

    -If a stream is not open, an RtError (type = INVALID_USE) will be thrown. +

    Returns the number of elapsed seconds since the stream was started.

    +

    If a stream is not open, an RtError (type = INVALID_USE) will be thrown.

    + -

    - + +

    double RtAudio::getStreamTime double RtAudio::getStreamTime ( void   )  [inline]
    - + - + @@ -517,21 +489,20 @@ If a stream is not open, an -

    -Returns the internal stream latency in sample frames. -

    -The stream latency refers to delay in audio input and/or output caused by internal buffering by the audio system and/or hardware. For duplex streams, the returned value will represent the sum of the input and output latencies. If a stream is not open, an RtError (type = INVALID_USE) will be thrown. If the API does not report latency, the return value will be zero. +

    Returns the internal stream latency in sample frames.

    +

    The stream latency refers to delay in audio input and/or output caused by internal buffering by the audio system and/or hardware. For duplex streams, the returned value will represent the sum of the input and output latencies. If a stream is not open, an RtError (type = INVALID_USE) will be thrown. If the API does not report latency, the return value will be zero.

    + -

    - + +

    long RtAudio::getStreamLatency long RtAudio::getStreamLatency ( void   )  [inline]
    - + - + @@ -539,20 +510,20 @@ The stream latency refers to delay in audio input and/or output caused by intern
    -

    -Returns actual sample rate in use by the stream. -

    -On some systems, the sample rate used may be slightly different than that specified in the stream parameters. If a stream is not open, an RtError (type = INVALID_USE) will be thrown. +

    Returns actual sample rate in use by the stream.

    +

    On some systems, the sample rate used may be slightly different than that specified in the stream parameters. If a stream is not open, an RtError (type = INVALID_USE) will be thrown.

    +
    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    unsigned int RtAudio::getStreamSampleRate unsigned int RtAudio::getStreamSampleRate ( void   )  [inline]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 0093bd0..2e93ad6 100644 --- a/doc/html/classRtError-members.html +++ b/doc/html/classRtError-members.html @@ -8,33 +8,33 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtError Member List

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

    - - - - - - - - - - - - - - - - - - +

    RtError Member List

    This is the complete list of members for RtError, including all inherited members.
    DEBUG_WARNING enum valueRtError
    DRIVER_ERROR enum valueRtError
    getMessage(void)RtError [inline, virtual]
    getType(void)RtError [inline, virtual]
    INVALID_DEVICE enum valueRtError
    INVALID_PARAMETER enum valueRtError
    INVALID_USE enum valueRtError
    MEMORY_ERROR enum valueRtError
    NO_DEVICES_FOUND enum valueRtError
    printMessage(void)RtError [inline, virtual]
    RtError(const std::string &message, Type type=RtError::UNSPECIFIED)RtError [inline]
    SYSTEM_ERROR enum valueRtError
    THREAD_ERROR enum valueRtError
    Type enum nameRtError
    UNSPECIFIED enum valueRtError
    WARNING enum valueRtError
    what(void) const RtError [inline, virtual]
    ~RtError(void)RtError [inline, virtual]
    + + + + + + + + + + + + + + + + + +
    DEBUG_WARNING enum valueRtError
    DRIVER_ERROR enum valueRtError
    getMessage(void)RtError [inline, virtual]
    getType(void)RtError [inline, virtual]
    INVALID_DEVICE enum valueRtError
    INVALID_PARAMETER enum valueRtError
    INVALID_USE enum valueRtError
    MEMORY_ERROR enum valueRtError
    NO_DEVICES_FOUND enum valueRtError
    printMessage(void)RtError [inline, virtual]
    RtError(const std::string &message, Type type=RtError::UNSPECIFIED)RtError [inline]
    SYSTEM_ERROR enum valueRtError
    THREAD_ERROR enum valueRtError
    Type enum nameRtError
    UNSPECIFIED enum valueRtError
    WARNING enum valueRtError
    what(void) const RtError [inline, virtual]
    ~RtError(void)RtError [inline, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtError.html b/doc/html/classRtError.html index 4cf276b..e7932a4 100644 --- a/doc/html/classRtError.html +++ b/doc/html/classRtError.html @@ -8,117 +8,120 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtError Class Reference

    Exception handling class for RtAudio & RtMidi. -More... -

    -#include <RtError.h> -

    +

    RtError Class Reference

    +

    Exception handling class for RtAudio & RtMidi. +More...

    -

    -List of all members. - - -

    Public Types

    enum  Type {
    -  WARNING, -DEBUG_WARNING, -UNSPECIFIED, -NO_DEVICES_FOUND, -
    -  INVALID_DEVICE, -MEMORY_ERROR, -INVALID_PARAMETER, -INVALID_USE, -
    -  DRIVER_ERROR, -SYSTEM_ERROR, -THREAD_ERROR -
    +

    #include <RtError.h>

    + +

    List of all members.

    + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +

    Public Types

    enum  Type {
    +  WARNING, +DEBUG_WARNING, +UNSPECIFIED, +NO_DEVICES_FOUND, +
    +  INVALID_DEVICE, +MEMORY_ERROR, +INVALID_PARAMETER, +INVALID_USE, +
    +  DRIVER_ERROR, +SYSTEM_ERROR, +THREAD_ERROR +
    }
     Defined RtError types. More...

    Public Member Functions

    RtError (const std::string &message, Type type=RtError::UNSPECIFIED) throw ()
     The constructor.
    -virtual ~RtError (void) throw ()
     The destructor.
    -virtual void printMessage (void) throw ()
     Prints thrown error message to stderr.
    -virtual const TypegetType (void) throw ()
     Returns the thrown error message type.
    -virtual const std::string & getMessage (void) throw ()
     Returns the thrown error message string.
    -virtual const char * what (void) const throw ()
     Returns the thrown error message as a c-style string.
     

    Defined RtError types.

    + More...

    Public Member Functions

    RtError (const std::string &message, Type type=RtError::UNSPECIFIED) throw ()
     The constructor.
    +virtual ~RtError (void) throw ()
     The destructor.
    +virtual void printMessage (void) throw ()
     Prints thrown error message to stderr.
    +virtual const TypegetType (void) throw ()
     Returns the thrown error message type.
    +virtual const std::string & getMessage (void) throw ()
     Returns the thrown error message string.
    +virtual const char * what (void) const throw ()
     Returns the thrown error message as a c-style 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.


    Member Enumeration Documentation

    - +

    Detailed Description

    +

    Exception handling class for RtAudio & RtMidi.

    +

    The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. See the RtAudio and RtMidi documentation to know which methods can throw an RtError.

    +

    Member Enumeration Documentation

    +
    -

    -Defined RtError types. -

    -

    Enumerator:
    - - - - - - - - - - - - +

    Defined RtError types.

    +
    Enumerator:
    WARNING  -A non-critical error.
    DEBUG_WARNING  -A non-critical error which might be useful for debugging.
    UNSPECIFIED  -The default, unspecified error type.
    NO_DEVICES_FOUND  -No devices found on system.
    INVALID_DEVICE  -An invalid device ID was specified.
    MEMORY_ERROR  -An error occured during memory allocation.
    INVALID_PARAMETER  -An invalid parameter was specified to a function.
    INVALID_USE  -The function was called incorrectly.
    DRIVER_ERROR  -A system driver error occured.
    SYSTEM_ERROR  -A system error occured.
    THREAD_ERROR  -A thread error occured.
    + + + + + + + + + + +
    WARNING  +

    A non-critical error.

    +
    DEBUG_WARNING  +

    A non-critical error which might be useful for debugging.

    +
    UNSPECIFIED  +

    The default, unspecified error type.

    +
    NO_DEVICES_FOUND  +

    No devices found on system.

    +
    INVALID_DEVICE  +

    An invalid device ID was specified.

    +
    MEMORY_ERROR  +

    An error occured during memory allocation.

    +
    INVALID_PARAMETER  +

    An invalid parameter was specified to a function.

    +
    INVALID_USE  +

    The function was called incorrectly.

    +
    DRIVER_ERROR  +

    A system driver error occured.

    +
    SYSTEM_ERROR  +

    A system error occured.

    +
    THREAD_ERROR  +

    A thread error occured.

    +
    +
    -

    -


    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)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 b6d0cbd..1b53f71 100644 --- a/doc/html/classRtMidi-members.html +++ b/doc/html/classRtMidi-members.html @@ -8,20 +8,20 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtMidi Member List

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

    - - - - - +

    RtMidi Member List

    This is the complete list of members for RtMidi, including all inherited members.
    closePort(void)=0RtMidi [pure virtual]
    getPortCount()=0RtMidi [pure virtual]
    getPortName(unsigned int portNumber=0)=0RtMidi [pure virtual]
    openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi"))=0RtMidi [pure virtual]
    openVirtualPort(const std::string portName=std::string("RtMidi"))=0RtMidi [pure virtual]
    + + + + +
    closePort(void)=0RtMidi [pure virtual]
    getPortCount()=0RtMidi [pure virtual]
    getPortName(unsigned int portNumber=0)=0RtMidi [pure virtual]
    openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi"))=0RtMidi [pure virtual]
    openVirtualPort(const std::string portName=std::string("RtMidi"))=0RtMidi [pure virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidi.gif b/doc/html/classRtMidi.gif new file mode 100644 index 0000000000000000000000000000000000000000..7caa12bf559a33d909827cf28b74f7368dc2d2a3 GIT binary patch literal 764 zcmVgMh73-9al^7Z!j`TO|$?EU`E0SqW^AVF^i4?;_*kQu{<$R0vWN3WvA zix@L%+=%}1-$9ASKo;~!P^2)E2uTJ+xr^mOmHu4PlIaj8Kb!ezqS6@=r#+sPfO7Mx z51r7HMg}Nd%CxD|r%eq&ol4c|hpJeqO3ljEserFw!-^eCwyfE+X9rwG%eJlCw@Tm2 zojX@;gaLH(>Ma|0uiw3PA>jQ>xbEP>h}i~ya5%AJvV9**4!hVv zL4yt}`ZL|i4K54dY(qdtMrhs-dSk13Vx1JE&cI@AE*8<-?ySG{2t~;Majytq& z+Pq22<_)`a^t8ftD~Iko`e^FJfq!3p{cH2#$*pe>?|rvyzS)(_S8uv{@$}A<;}?5g zI>T+^H?qxgd??<+vnv z2coBBh5I%6UV_r4=Uac671rVcNOtKLmtv0jW0{1JiDq73DiG$HhQXOwn*h8ir(0^? uiRYPm#@VNtQU0k{o`SN-XQ7JOiRf5#D!QnRT}3MCq*qO9>7`R80028MhK5=I literal 0 HcmV?d00001 diff --git a/doc/html/classRtMidi.html b/doc/html/classRtMidi.html index 51a90c0..e9948fc 100644 --- a/doc/html/classRtMidi.html +++ b/doc/html/classRtMidi.html @@ -8,66 +8,62 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtMidi Class Reference

    An abstract base class for realtime MIDI input/output. -More... -

    -#include <RtMidi.h> -

    +

    RtMidi Class Reference

    +

    An abstract base class for realtime MIDI input/output. +More...

    + +

    #include <RtMidi.h>

    Inheritance diagram for RtMidi:
    - -

    - -RtMidiIn -RtMidiOut +
    + + +RtMidiIn +RtMidiOut +
    -

    -List of all members. - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    -virtual void openPort (unsigned int portNumber=0, const std::string portName=std::string("RtMidi"))=0
     Pure virtual openPort() function.
    -virtual void openVirtualPort (const std::string portName=std::string("RtMidi"))=0
     Pure virtual openVirtualPort() function.
    -virtual unsigned int getPortCount ()=0
     Pure virtual getPortCount() function.
    -virtual std::string getPortName (unsigned int portNumber=0)=0
     Pure virtual getPortName() function.
    -virtual void closePort (void)=0
     Pure virtual closePort() function.
    + + + + + + + + + + +

    Public Member Functions

    +virtual void openPort (unsigned int portNumber=0, const std::string portName=std::string("RtMidi"))=0
     Pure virtual openPort() function.
    +virtual void openVirtualPort (const std::string portName=std::string("RtMidi"))=0
     Pure virtual openVirtualPort() function.
    +virtual unsigned int getPortCount ()=0
     Pure virtual getPortCount() function.
    +virtual std::string getPortName (unsigned int portNumber=0)=0
     Pure virtual getPortName() function.
    +virtual void closePort (void)=0
     Pure virtual closePort() function.
    -


    Detailed Description

    -An abstract base class for realtime MIDI input/output. -

    -This class implements some common functionality for the realtime MIDI input/output subclasses RtMidiIn and RtMidiOut.

    -RtMidi WWW site: http://music.mcgill.ca/~gary/rtmidi/

    -RtMidi: realtime MIDI i/o C++ classes Copyright (c) 2003-2009 Gary P. Scavone

    -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    -Any person wishing to distribute modifications to the Software is requested to send the modifications to the original developer so that they can be incorporated into the canonical version.

    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


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

    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-2010 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.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidi.png b/doc/html/classRtMidi.png index 8b42720d0f528fac2b65d4615ee0b02fdc9e65cd..09220298c2c9a3bbb089359eff6a8d00911ae46d 100644 GIT binary patch delta 389 zcmV;00eb$N1GfW^7zqdi0002Na11_?At!$bbW%=J0RR90|NsC0)yh;d0003-Nkl=`#=|#THI9-Fqut^6}iLd3b(I^uh3u4mAs%05(pybw;(w< zDBqP!H8>Ac7Cuk3I@ouMPXYnZAf)%z9ZHV;Dbv>Np$lkPhsxTzJsWK54MA127VUo_ z0m%+3wl$}Wj}C$eB4{?Kzs7>hij&v-J5Y?9iFO0UxS41>5KkFF1QA5gN>ChHyWKlM z1QA3KK?D&*(DAS;nlr|RJwk73(10+42pS0j0E7?_0%Ry(rYjkL3v%S7NqX&DkXkrR zP=9j{xIlJJp5p-l&_PJ=xkLF&3uJNRsCK2f?>i(D^{rM{&JMM6Do~?C`nSIX=?S6BP=7rE5l9`nXxLbq00000NkvXXu0mjfK!&2; delta 362 zcmV-w0hRu@1Dpep7zqRe00004fZ;!pAt!$UbW%=J06^y0W&i*IGD$>1R9J=W)lq80 zFboD@n?au?-@xt##s)i2VUYVDVV3OBM$(!r&L9P;)U?X4uWr(k5Om>MfiYy&YR;kK zp@UPw}JLHf<4$bu`>Pt4> zDfK41-?9-t%1Sk8Ep>HhGlZB*%JoGqiI=P)l_|M)sL~xuJX{-CI9UuxWw@iEj4hN3 z@{ST}NM;HxwJUc-O*({qv39h`H0V}wNA3I1p|&Fl85s@H6b+{*kdd*Vya7^~U!i^+ zpF#HwclybEgs_L^t7buqO#2-nQ78V3IP_YOysfCRZ%3+r0G{0ZCVh*>NB{r;07*qo IM6N<$f|fC(B>(^b diff --git a/doc/html/classRtMidiIn-members.html b/doc/html/classRtMidiIn-members.html index 821a597..668dd98 100644 --- a/doc/html/classRtMidiIn-members.html +++ b/doc/html/classRtMidiIn-members.html @@ -8,28 +8,28 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtMidiIn Member List

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

    - - - - - - - - - - - - - +

    RtMidiIn Member List

    This is the complete list of members for RtMidiIn, including all inherited members.
    cancelCallback()RtMidiIn
    closePort(void)RtMidiIn [virtual]
    getMessage(std::vector< unsigned char > *message)RtMidiIn
    getPortCount()RtMidiIn [virtual]
    getPortName(unsigned int portNumber=0)RtMidiIn [virtual]
    ignoreTypes(bool midiSysex=true, bool midiTime=true, bool midiSense=true)RtMidiIn
    openPort(unsigned int portNumber=0, const std::string Portname=std::string("RtMidi Input"))RtMidiIn [virtual]
    openVirtualPort(const std::string portName=std::string("RtMidi Input"))RtMidiIn [virtual]
    RtMidiCallback typedefRtMidiIn
    RtMidiIn(const std::string clientName=std::string("RtMidi Input Client"))RtMidiIn
    setCallback(RtMidiCallback callback, void *userData=0)RtMidiIn
    setQueueSizeLimit(unsigned int queueSize)RtMidiIn
    ~RtMidiIn()RtMidiIn
    + + + + + + + + + + + + +
    cancelCallback()RtMidiIn
    closePort(void)RtMidiIn [virtual]
    getMessage(std::vector< unsigned char > *message)RtMidiIn
    getPortCount()RtMidiIn [virtual]
    getPortName(unsigned int portNumber=0)RtMidiIn [virtual]
    ignoreTypes(bool midiSysex=true, bool midiTime=true, bool midiSense=true)RtMidiIn
    openPort(unsigned int portNumber=0, const std::string Portname=std::string("RtMidi Input"))RtMidiIn [virtual]
    openVirtualPort(const std::string portName=std::string("RtMidi Input"))RtMidiIn [virtual]
    RtMidiCallback typedefRtMidiIn
    RtMidiIn(const std::string clientName=std::string("RtMidi Input Client"))RtMidiIn
    setCallback(RtMidiCallback callback, void *userData=0)RtMidiIn
    setQueueSizeLimit(unsigned int queueSize)RtMidiIn
    ~RtMidiIn()RtMidiIn


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidiIn.gif b/doc/html/classRtMidiIn.gif new file mode 100644 index 0000000000000000000000000000000000000000..f4c5298b2935c203b697f0d549bd587b522bc39f GIT binary patch literal 459 zcmV;+0W|(cNk%w1VL1R$0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui0673q000C2IJ(^aFv=yWy*TU5yXs&la^Gm4-2R&WyA0d0emd zsN8sTd1rMPcW{Jpigaj8hJP`UR*;gF7KfHCn3*e^oF|^2BcY-)l%<*zs;jII0I#sI zva_@Xw70mqy1KTzzQ4c*!obAEv%3N%g?#Z$T zYPavW>1zfasH%f z(uPl&H*FTR$rR?%Svi|Fy%}?<)2kzsW`#Pm%+9M$wSL8_ljYE|V#R`0Ta_zRpk%{N zmCClP%d=zK&c#|+>fN_Ht*)hORV~=RDUl{tyclugr;np1mYkCENsgE^YtEPe06W7c B^hE#w literal 0 HcmV?d00001 diff --git a/doc/html/classRtMidiIn.html b/doc/html/classRtMidiIn.html index a770563..558a7fe 100644 --- a/doc/html/classRtMidiIn.html +++ b/doc/html/classRtMidiIn.html @@ -8,86 +8,73 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtMidiIn Class Reference

    A realtime MIDI input class. -More... -

    -#include <RtMidi.h> -

    +

    RtMidiIn Class Reference

    +

    A realtime MIDI input class. +More...

    + +

    #include <RtMidi.h>

    Inheritance diagram for RtMidiIn:
    - -

    - -RtMidi +
    + + +RtMidi +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Types

    -typedef void(* RtMidiCallback )(double timeStamp, std::vector< unsigned char > *message, void *userData)
     User callback function type definition.

    Public Member Functions

     RtMidiIn (const std::string clientName=std::string("RtMidi Input Client"))
     Default constructor that allows an optional client name.
    ~RtMidiIn ()
     If a MIDI connection is still open, it will be closed by the destructor.
    void openPort (unsigned int portNumber=0, const std::string Portname=std::string("RtMidi Input"))
     Open a MIDI input connection.
    void openVirtualPort (const std::string portName=std::string("RtMidi Input"))
     Create a virtual input port, with optional name, to allow software connections (OS X and ALSA only).
    void setCallback (RtMidiCallback callback, void *userData=0)
     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.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Types

    +typedef void(* RtMidiCallback )(double timeStamp, std::vector< unsigned char > *message, void *userData)
     User callback function type definition.

    Public Member Functions

     RtMidiIn (const std::string clientName=std::string("RtMidi Input Client"))
     Default constructor that allows an optional client name.
    ~RtMidiIn ()
     If a MIDI connection is still open, it will be closed by the destructor.
    void openPort (unsigned int portNumber=0, const std::string Portname=std::string("RtMidi Input"))
     Open a MIDI input connection.
    void openVirtualPort (const std::string portName=std::string("RtMidi Input"))
     Create a virtual input port, with optional name, to allow software connections (OS X and ALSA only).
    void setCallback (RtMidiCallback callback, void *userData=0)
     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.
    -


    Detailed Description

    -A realtime MIDI input class. -

    -This class provides a common, platform-independent API for realtime MIDI input. It allows access to a single MIDI input port. Incoming MIDI messages are either saved to a queue for retrieval using the getMessage() function or immediately passed to a user-specified callback function. Create multiple instances of this class to connect to more than one MIDI device at the same time. With the OS-X and Linux ALSA MIDI APIs, it is also possible to open a virtual input port to which other MIDI software clients can connect.

    -by Gary P. Scavone, 2003-2008.


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    A realtime MIDI input class.

    +

    This class provides a common, platform-independent API for realtime MIDI input. It allows access to a single MIDI input port. Incoming MIDI messages are either saved to a queue for retrieval using the getMessage() function or immediately passed to a user-specified callback function. Create multiple instances of this class to connect to more than one MIDI device at the same time. With the OS-X and Linux ALSA MIDI APIs, it is also possible to open a virtual input port to which other MIDI software clients can connect.

    +

    by Gary P. Scavone, 2003-2008.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -95,19 +82,18 @@ by Gary P. Scavone, 2003-2008.

    Constructor & Destructor Documentatio
    -

    -Default constructor that allows an optional client name. -

    -An exception will be thrown if a MIDI system initialization error occurs. +

    Default constructor that allows an optional client name.

    +

    An exception will be thrown if a MIDI system initialization error occurs.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    RtMidiIn::RtMidiIn RtMidiIn::RtMidiIn ( const std::string  clientName = std::string("RtMidi Input Client") clientName = std::string("RtMidi Input Client")  ) 
    - + @@ -127,23 +113,22 @@ An exception will be thrown if a MIDI system initialization error occurs.
    -

    -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.

    +

    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::openPort void RtMidiIn::openPort ( unsigned int  portNumber = 0,
    - + - + @@ -151,22 +136,21 @@ An optional port number greater than 0 can be specified. Otherwise, the default
    -

    -Create a virtual input port, with optional name, to allow software connections (OS X and ALSA only). -

    -This function creates a virtual MIDI input port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing for the other APIs). -

    Implements RtMidi.

    +

    Create a virtual input port, with optional name, to allow software connections (OS X and ALSA only).

    +

    This function creates a virtual MIDI input port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing for the other APIs).

    + +

    Implements RtMidi.

    -

    - + +

    void RtMidiIn::openVirtualPort void RtMidiIn::openVirtualPort ( const std::string  portName = std::string("RtMidi Input") portName = std::string("RtMidi Input")  )  [virtual]
    - + - + @@ -184,20 +168,19 @@ This function creates a virtual MIDI input port to which other software applicat
    -

    -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. +

    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::setCallback void RtMidiIn::setCallback (RtMidiCallback RtMidiCallback  callback,
    - + - + @@ -205,21 +188,20 @@ The callback function will be called whenever an incoming MIDI message is receiv
    -

    -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. +

    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.

    +
    -

    - + +

    void RtMidiIn::cancelCallback void RtMidiIn::cancelCallback (  ) 
    - + - + @@ -227,23 +209,22 @@ Subsequent incoming MIDI messages will be written to the queue and can be retrie
    -

    -Return a string identifier for the specified MIDI input port number. -

    -An exception is thrown if an invalid port specifier is provided. -

    Implements RtMidi.

    +

    Return a string identifier for the specified MIDI input port number.

    +

    An exception is thrown if an invalid port specifier is provided.

    + +

    Implements RtMidi.

    -

    - + +

    std::string RtMidiIn::getPortName std::string RtMidiIn::getPortName ( unsigned int  portNumber = 0 portNumber = 0  )  [virtual]
    - + - + @@ -251,18 +232,17 @@ An exception is thrown if an invalid port specifier is provided.
    -

    -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. +

    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::setQueueSizeLimit void RtMidiIn::setQueueSizeLimit ( unsigned int  queueSize queueSize  ) 
    - + @@ -288,21 +268,20 @@ If the queue size limit is reached, incoming messages will be ignored. The defau
    -

    -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. +

    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.

    +
    -

    - + +

    void RtMidiIn::ignoreTypes void RtMidiIn::ignoreTypes ( bool  midiSysex = true,
    - + - + @@ -310,20 +289,20 @@ By default, MIDI timing and active sensing messages are ignored during message i
    -

    -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. +

    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 documentation for this class was generated from the following file:
    double RtMidiIn::getMessage double RtMidiIn::getMessage ( std::vector< unsigned char > *  message message  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidiIn.png b/doc/html/classRtMidiIn.png index 6e595ec7fb769f9fd946f55b4b33ba38e9a4f6f0..11c83167d8431c683742b6bdca8d9aaf590bdedc 100644 GIT binary patch delta 266 zcmV+l0rmc@0=)u|7zqdi0001#JuM}XAt!$bbW%=J0RR90|NsC0)yh;d0002YNklC`PA zNXvj^?SpO(BmgfV<8(~{`c2Q6=(CgKnwI1X-npSqWK(|BXO*=}J7jRT`CoZ}48L|Y zucBP;{zR4%rD0i0l*Z*>?lxu0lqpkwQ6d_I;PWge<+_MKdX`OP*48lTGGu8VbaNm9 zcnKM`rf#0p6yWmv*?FIx^feEpeJZ{on|^|_%b%0AOUrzJfF*zN&zI470WF{n4j;r= Qxc~qF07*qoM6N<$f>m^Q)&Kwi delta 249 zcmVK(p?V2 zAP4|peAzQ_131C5U1(3e{}G0$>7QlE`e2%rrpEArnpSuR@r0Ki$7m&DWwD7U*I}WY zGh#VXFVU?E6=kJ*2-p=HBFmi(a(3LmSrn zR`tpRv-)GJL0?NI)CN7ps`bpXj`|BjG`z82lnHnJc`VQN00000NkvXXu0mjfAA57b diff --git a/doc/html/classRtMidiOut-members.html b/doc/html/classRtMidiOut-members.html index dd38027..bdfc004 100644 --- a/doc/html/classRtMidiOut-members.html +++ b/doc/html/classRtMidiOut-members.html @@ -8,23 +8,23 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtMidiOut Member List

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

    - - - - - - - - +

    RtMidiOut Member List

    This is the complete list of members for RtMidiOut, including all inherited members.
    closePort()RtMidiOut [virtual]
    getPortCount()RtMidiOut [virtual]
    getPortName(unsigned int portNumber=0)RtMidiOut [virtual]
    openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi Output"))RtMidiOut [virtual]
    openVirtualPort(const std::string portName=std::string("RtMidi Output"))RtMidiOut [virtual]
    RtMidiOut(const std::string clientName=std::string("RtMidi Output Client"))RtMidiOut
    sendMessage(std::vector< unsigned char > *message)RtMidiOut
    ~RtMidiOut()RtMidiOut
    + + + + + + + +
    closePort()RtMidiOut [virtual]
    getPortCount()RtMidiOut [virtual]
    getPortName(unsigned int portNumber=0)RtMidiOut [virtual]
    openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi Output"))RtMidiOut [virtual]
    openVirtualPort(const std::string portName=std::string("RtMidi Output"))RtMidiOut [virtual]
    RtMidiOut(const std::string clientName=std::string("RtMidi Output Client"))RtMidiOut
    sendMessage(std::vector< unsigned char > *message)RtMidiOut
    ~RtMidiOut()RtMidiOut


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidiOut.gif b/doc/html/classRtMidiOut.gif new file mode 100644 index 0000000000000000000000000000000000000000..5041efa0d547b1ff8b937e1eaf24b1c20416b4b4 GIT binary patch literal 496 zcmVt^gLtMM1y_Z3*X*7ukn zs^$R-ghyktqcjar#vN`ML@uo(A~VSA0;Sy}4=d7gaJewptJZ~`Pcb<%E-*kxyr=O(#X)u)7Qe)(b(L++uh*L;p5`u z=E>*h-|5}!?AY$_)A91o^!3d5_{aMD#r^(*0Sx$SAi-V+50+Dyk72Wf4u?ggHj!UN zV-P21jJUSZVMm4^fuR{mvZTqAC{voeDC`EyU@l+&iYc=f&6>Gx(i&MSz|NdMZ}|i; zbSI9PxO5V=HMD6_qc)Q=_4O30(5Xjt#w_ZxY0#-le;#F8HEd9?T*G=Ly0+|EwMpHg z=_!_OTe@(sntj{TE#AC7@9sS-b+FmKg$ctIoHj4m#&Qz_{>%97Q^)xF*0RTILdIC`Z literal 0 HcmV?d00001 diff --git a/doc/html/classRtMidiOut.html b/doc/html/classRtMidiOut.html index dc6e953..c62b44d 100644 --- a/doc/html/classRtMidiOut.html +++ b/doc/html/classRtMidiOut.html @@ -8,69 +8,61 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtMidiOut Class Reference

    A realtime MIDI output class. -More... -

    -#include <RtMidi.h> -

    +

    RtMidiOut Class Reference

    +

    A realtime MIDI output class. +More...

    + +

    #include <RtMidi.h>

    Inheritance diagram for RtMidiOut:
    - -

    - -RtMidi +
    + + +RtMidi +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     RtMidiOut (const std::string clientName=std::string("RtMidi Output Client"))
     Default constructor that allows an optional client name.
    ~RtMidiOut ()
     The destructor closes any open MIDI connections.
    void openPort (unsigned int portNumber=0, const std::string portName=std::string("RtMidi Output"))
     Open a MIDI output connection.
    -void closePort ()
     Close an open MIDI connection (if one exists).
    void openVirtualPort (const std::string portName=std::string("RtMidi Output"))
     Create a virtual output port, with optional name, to allow software connections (OS X and ALSA only).
    -unsigned int getPortCount ()
     Return the number of available MIDI output ports.
    std::string getPortName (unsigned int portNumber=0)
     Return a string identifier for the specified MIDI port type and number.
    void sendMessage (std::vector< unsigned char > *message)
     Immediately send a single message out an open MIDI output port.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

     RtMidiOut (const std::string clientName=std::string("RtMidi Output Client"))
     Default constructor that allows an optional client name.
    ~RtMidiOut ()
     The destructor closes any open MIDI connections.
    void openPort (unsigned int portNumber=0, const std::string portName=std::string("RtMidi Output"))
     Open a MIDI output connection.
    +void closePort ()
     Close an open MIDI connection (if one exists).
    void openVirtualPort (const std::string portName=std::string("RtMidi Output"))
     Create a virtual output port, with optional name, to allow software connections (OS X and ALSA only).
    +unsigned int getPortCount ()
     Return the number of available MIDI output ports.
    std::string getPortName (unsigned int portNumber=0)
     Return a string identifier for the specified MIDI port type and number.
    void sendMessage (std::vector< unsigned char > *message)
     Immediately send a single message out an open MIDI output port.
    -


    Detailed Description

    -A realtime MIDI output class. -

    -This class provides a common, platform-independent API for MIDI output. It allows one to probe available MIDI output ports, to connect to one such port, and to send MIDI bytes immediately over the connection. Create multiple instances of this class to connect to more than one MIDI device at the same time.

    -by Gary P. Scavone, 2003-2008.


    Constructor & Destructor Documentation

    - +

    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-2008.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -78,19 +70,18 @@ by Gary P. Scavone, 2003-2008.

    Constructor & Destructor Documentatio
    -

    -Default constructor that allows an optional client name. -

    -An exception will be thrown if a MIDI system initialization error occurs. +

    Default constructor that allows an optional client name.

    +

    An exception will be thrown if a MIDI system initialization error occurs.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    RtMidiOut::RtMidiOut RtMidiOut::RtMidiOut ( const std::string  clientName = std::string("RtMidi Output Client") clientName = std::string("RtMidi Output Client")  ) 
    - + @@ -110,23 +101,22 @@ An exception will be thrown if a MIDI system initialization error occurs.
    -

    -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.

    +

    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::openPort void RtMidiOut::openPort ( unsigned int  portNumber = 0,
    - + - + @@ -134,23 +124,22 @@ An optional port number greater than 0 can be specified. Otherwise, the default
    -

    -Create a virtual output port, with optional name, to allow software connections (OS X and ALSA only). -

    -This function creates a virtual MIDI output port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing with the other APIs). An exception is thrown if an error occurs while attempting to create the virtual port. -

    Implements RtMidi.

    +

    Create a virtual output port, with optional name, to allow software connections (OS X and ALSA only).

    +

    This function creates a virtual MIDI output port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing with the other APIs). An exception is thrown if an error occurs while attempting to create the virtual port.

    + +

    Implements RtMidi.

    -

    - + +

    void RtMidiOut::openVirtualPort void RtMidiOut::openVirtualPort ( const std::string  portName = std::string("RtMidi Output") portName = std::string("RtMidi Output")  )  [virtual]
    - + - + @@ -158,23 +147,22 @@ This function creates a virtual MIDI output port to which other software applica
    -

    -Return a string identifier for the specified MIDI port type and number. -

    -An exception is thrown if an invalid port specifier is provided. -

    Implements RtMidi.

    +

    Return a string identifier for the specified MIDI port type and number.

    +

    An exception is thrown if an invalid port specifier is provided.

    + +

    Implements RtMidi.

    -

    - + +

    std::string RtMidiOut::getPortName std::string RtMidiOut::getPortName ( unsigned int  portNumber = 0 portNumber = 0  )  [virtual]
    - + - + @@ -182,20 +170,20 @@ An exception is thrown if an invalid port specifier is provided.
    -

    -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. +

    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 documentation for this class was generated from the following file:
    void RtMidiOut::sendMessage void RtMidiOut::sendMessage ( std::vector< unsigned char > *  message message  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classRtMidiOut.png b/doc/html/classRtMidiOut.png index 9b2dadb01ef71008524821b39c74c3c13c5f0efd..ae613f8cba1a5f109fc6d374fd15b1d20fecf549 100644 GIT binary patch delta 295 zcmV+?0oeY%0@(tP7zqdi0001WRycH#At!$bbW%=J0RR90|NsC0)yh;d0002!NklNM(Aj{K6NWEYL40RSkapcL3v zzYUuo4bMXJ?b82w+W-&^==DVpJ=*{3+M{_4#*-c%k0svCbdPbWbblUZ*fgBG{ak3^jKlx{002ovPDHLkV1hZZi@E>+ delta 266 zcmV+l0rmdb0=)u|7zqRe00026rqy+kAt!$UbW%=J06^y0W&i*H(@8`@R7i>K(@_q> zAPfdz`m*P?Hz+4CdLf^7|0CEIG|FI1vj-CCvPu4alA>9-_39F?u~TCbA&L@NS1iv* zNjxT97;{@A#7;!-_AboPx-3o    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Class Index

    A | B | C | D | E | F | G | H | I | J | M | N | O | P | R | S | T | U | V | W

    +

    Class Index

    A | B | C | D | E | F | G | H | I | J | L | M | N | O | P | R | S | T | U | V | W
      A  
    -
    Envelope (stk)   JCRev (stk)   PRCRev (stk)   Socket (stk)   
    ADSR (stk)   
      F  
    -
    JetTable (stk)   
      R  
    -
    Sphere (stk)   
    Asymp (stk)   FileLoop (stk)   
      M  
    -
    ReedTable (stk)   StifKarp (stk)   
      B  
    -
    FileRead (stk)   Mandolin (stk)   Resonate (stk)   Stk (stk)   
    BandedWG (stk)   FileWrite (stk)   Mesh2D (stk)   Rhodey (stk)   StkError (stk)   
    BeeThree (stk)   FileWvIn (stk)   Messager (stk)   RtAudio   StkFrames (stk)   
    BiQuad (stk)   FileWvOut (stk)   MidiFileIn (stk)   RtAudio::DeviceInfo   
      T  
    -
    Blit (stk)   Filter (stk)   Modal (stk)   RtAudio::StreamOptions   TapDelay (stk)   
    BlitSaw (stk)   Fir (stk)   ModalBar (stk)   RtAudio::StreamParameters   TcpClient (stk)   
    BlitSquare (stk)   Flute (stk)   Modulate (stk)   RtError   TcpServer (stk)   
    BlowBotl (stk)   FM (stk)   Moog (stk)   RtMidi   Thread (stk)   
    BlowHole (stk)   FMVoices (stk)   Mutex (stk)   RtMidiIn   TubeBell (stk)   
    Bowed (stk)   FormSwep (stk)   
      N  
    -
    RtMidiOut   TwoPole (stk)   
    BowTable (stk)   Function (stk)   Noise (stk)   RtWvIn (stk)   TwoZero (stk)   
    Brass (stk)   
      G  
    -
    NRev (stk)   RtWvOut (stk)   
      U  
    +
    Effect (stk)   JCRev (stk)   PluckTwo (stk)   StifKarp (stk)   
    ADSR (stk)   Envelope (stk)   JetTable (stk)   PoleZero (stk)   Stk (stk)   
    Asymp (stk)   
      F  
    +
      L  
    +
    PRCRev (stk)   StkError (stk)   
      B  
    +
    FileLoop (stk)   LentPitShift (stk)   
      R  
    +
    StkFrames (stk)   
    BandedWG (stk)   FileRead (stk)   
      M  
    +
    ReedTable (stk)   RtAudio::StreamOptions   
    BeeThree (stk)   FileWrite (stk)   Mandolin (stk)   Resonate (stk)   RtAudio::StreamParameters   
    BiQuad (stk)   FileWvIn (stk)   Mesh2D (stk)   Rhodey (stk)   
      T  
    +
    Blit (stk)   FileWvOut (stk)   Skini::Message (stk)   RtAudio   TapDelay (stk)   
    BlitSaw (stk)   Filter (stk)   Messager (stk)   RtError   TcpClient (stk)   
    BlitSquare (stk)   Fir (stk)   MidiFileIn (stk)   RtMidi   TcpServer (stk)   
    BlowBotl (stk)   Flute (stk)   Modal (stk)   RtMidiIn   Thread (stk)   
    BlowHole (stk)   FM (stk)   ModalBar (stk)   RtMidiOut   TubeBell (stk)   
    Bowed (stk)   FMVoices (stk)   Modulate (stk)   RtWvIn (stk)   TwoPole (stk)   
    BowTable (stk)   FormSwep (stk)   Moog (stk)   RtWvOut (stk)   TwoZero (stk)   
    Brass (stk)   Function (stk)   Mutex (stk)   
      S  
    +
      U  
      C  
    -
    Generator (stk)   
      O  
    -
      S  
    -
    UdpSocket (stk)   
    Chorus (stk)   Granulate (stk)   OnePole (stk)   Sampler (stk)   
      V  
    -
    Clarinet (stk)   
      H  
    -
    OneZero (stk)   Saxofony (stk)   Vector3D (stk)   
      D  
    -
    HevyMetl (stk)   
      P  
    -
    Shakers (stk)   Voicer (stk)   
    Delay (stk)   
      I  
    -
    PercFlut (stk)   Simple (stk)   VoicForm (stk)   
    DelayA (stk)   Iir (stk)   Phonemes (stk)   SineWave (stk)   
      W  
    -
    DelayL (stk)   InetWvIn (stk)   PitShift (stk)   SingWave (stk)   Whistle (stk)   
    Drummer (stk)   InetWvOut (stk)   Plucked (stk)   Sitar (stk)   Wurley (stk)   
      E  
    -
    Instrmnt (stk)   PluckTwo (stk)   Skini (stk)   WvIn (stk)   
    Echo (stk)   
      J  
    -
    PoleZero (stk)   Skini::Message (stk)   WvOut (stk)   
    Effect (stk)   

    A | B | C | D | E | F | G | H | I | J | M | N | O | P | R | S | T | U | V | W

    +

      G  
    +
      N  
    +
    Sampler (stk)   UdpSocket (stk)   
    Chorus (stk)   Generator (stk)   Noise (stk)   Saxofony (stk)   
      V  
    +
    Clarinet (stk)   Granulate (stk)   NRev (stk)   Shakers (stk)   Vector3D (stk)   
      D  
    +
      H  
    +
      O  
    +
    Simple (stk)   Voicer (stk)   
    Delay (stk)   HevyMetl (stk)   OnePole (stk)   SineWave (stk)   VoicForm (stk)   
    DelayA (stk)   
      I  
    +
    OneZero (stk)   SingWave (stk)   
      W  
    +
    DelayL (stk)   Iir (stk)   
      P  
    +
    Sitar (stk)   Whistle (stk)   
    RtAudio::DeviceInfo   InetWvIn (stk)   PercFlut (stk)   Skini (stk)   Wurley (stk)   
    Drummer (stk)   InetWvOut (stk)   Phonemes (stk)   Socket (stk)   WvIn (stk)   
      E  
    +
    Instrmnt (stk)   PitShift (stk)   Sphere (stk)   WvOut (stk)   
    Echo (stk)   
      J  
    +
    Plucked (stk)   

    A | B | C | D | E | F | G | H | I | J | L | M | N | O | P | R | S | T | U | V | W

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1ADSR-members.html b/doc/html/classstk_1_1ADSR-members.html index 844a85e..6b2fb4b 100644 --- a/doc/html/classstk_1_1ADSR-members.html +++ b/doc/html/classstk_1_1ADSR-members.html @@ -8,65 +8,65 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::ADSR Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::ADSR Member List

    This is the complete list of members for stk::ADSR, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    ADSR(void)stk::ADSR
    ATTACK enum valuestk::ADSR
    channelsOut(void) const stk::Generator [inline]
    DECAY enum valuestk::ADSR
    DONE enum valuestk::ADSR
    Generator(void)stk::Generator [inline]
    getState(void) const stk::ADSR [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    keyOff(void)stk::ADSR
    keyOn(void)stk::ADSR
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::ADSR [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    RELEASE enum valuestk::ADSR
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setAllTimes(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)stk::ADSR
    setAttackRate(StkFloat rate)stk::ADSR
    setAttackTime(StkFloat time)stk::ADSR
    setDecayRate(StkFloat rate)stk::ADSR
    setDecayTime(StkFloat time)stk::ADSR
    setRawwavePath(std::string path)stk::Stk [static]
    setReleaseRate(StkFloat rate)stk::ADSR
    setReleaseTime(StkFloat time)stk::ADSR
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSustainLevel(StkFloat level)stk::ADSR
    setTarget(StkFloat target)stk::ADSR
    setValue(StkFloat value)stk::ADSR
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    SUSTAIN enum valuestk::ADSR
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::ADSR [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::ADSR [inline, virtual]
    ~ADSR(void)stk::ADSR
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    ADSR(void)stk::ADSR
    ATTACK enum valuestk::ADSR
    channelsOut(void) const stk::Generator [inline]
    DECAY enum valuestk::ADSR
    DONE enum valuestk::ADSR
    Generator(void)stk::Generator [inline]
    getState(void) const stk::ADSR [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    keyOff(void)stk::ADSR
    keyOn(void)stk::ADSR
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::ADSR [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    RELEASE enum valuestk::ADSR
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setAllTimes(StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)stk::ADSR
    setAttackRate(StkFloat rate)stk::ADSR
    setAttackTime(StkFloat time)stk::ADSR
    setDecayRate(StkFloat rate)stk::ADSR
    setDecayTime(StkFloat time)stk::ADSR
    setRawwavePath(std::string path)stk::Stk [static]
    setReleaseRate(StkFloat rate)stk::ADSR
    setReleaseTime(StkFloat time)stk::ADSR
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSustainLevel(StkFloat level)stk::ADSR
    setTarget(StkFloat target)stk::ADSR
    setValue(StkFloat value)stk::ADSR
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    SUSTAIN enum valuestk::ADSR
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::ADSR [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::ADSR [inline, virtual]
    ~ADSR(void)stk::ADSR
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1ADSR.gif b/doc/html/classstk_1_1ADSR.gif new file mode 100644 index 0000000000000000000000000000000000000000..d3dfe585fe7a8a616294f00b82d2946082df3ef1 GIT binary patch literal 793 zcmV+!1LpikNk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW#Ipk|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QK*b0a%DkjJzP`q7b{-=*){d$|xcLH2NrHkU$DqWHUU9NF$C*5)&hl zL>?KXky9#(q>oJo+2oKpx|m~>Q0`czlU@QjW|v&nc;lBiis>enXIeN3nslmp<{);1G|# literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1ADSR.html b/doc/html/classstk_1_1ADSR.html index 5ec5f97..b730805 100644 --- a/doc/html/classstk_1_1ADSR.html +++ b/doc/html/classstk_1_1ADSR.html @@ -8,157 +8,142 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::ADSR Class Reference

    STK ADSR envelope class. -More... -

    -#include <ADSR.h> -

    +

    stk::ADSR Class Reference

    +

    STK ADSR envelope class. +More...

    + +

    #include <ADSR.h>

    Inheritance diagram for stk::ADSR:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - -

    Public Types

    enum  {
    -  ATTACK, -DECAY, -SUSTAIN, -RELEASE, -
    -  DONE -
    +

    List of all members.

    + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Types

    enum  {
    +  ATTACK, +DECAY, +SUSTAIN, +RELEASE, +
    +  DONE +
    }
     ADSR envelope states. More...

    Public Member Functions

    ADSR (void)
     Default constructor.
    ~ADSR (void)
     Class destructor.
    -void keyOn (void)
     Set target = 1, state = ADSR::ATTACK.
    -void keyOff (void)
     Set target = 0, state = ADSR::RELEASE.
    -void setAttackRate (StkFloat rate)
     Set the attack rate.
    -void setDecayRate (StkFloat rate)
     Set the decay rate.
    -void setSustainLevel (StkFloat level)
     Set the sustain level.
    -void setReleaseRate (StkFloat rate)
     Set the release rate.
    -void setAttackTime (StkFloat time)
     Set the attack rate based on a time duration.
    -void setDecayTime (StkFloat time)
     Set the decay rate based on a time duration.
    -void setReleaseTime (StkFloat time)
     Set the release rate based on a time duration.
    -void setAllTimes (StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)
     Set sustain level and attack, decay, and release time durations.
    -void setTarget (StkFloat target)
     Set the target value.
    -int getState (void) const
     Return the current envelope state (ATTACK, DECAY, SUSTAIN, RELEASE, DONE).
    -void setValue (StkFloat value)
     Set to state = ADSR::SUSTAIN with current and target values of value.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
     

    ADSR envelope states.

    + More...

    Public Member Functions

    ADSR (void)
     Default constructor.
    ~ADSR (void)
     Class destructor.
    +void keyOn (void)
     Set target = 1, state = ADSR::ATTACK.
    +void keyOff (void)
     Set target = 0, state = ADSR::RELEASE.
    +void setAttackRate (StkFloat rate)
     Set the attack rate.
    +void setDecayRate (StkFloat rate)
     Set the decay rate.
    +void setSustainLevel (StkFloat level)
     Set the sustain level.
    +void setReleaseRate (StkFloat rate)
     Set the release rate.
    +void setAttackTime (StkFloat time)
     Set the attack rate based on a time duration.
    +void setDecayTime (StkFloat time)
     Set the decay rate based on a time duration.
    +void setReleaseTime (StkFloat time)
     Set the release rate based on a time duration.
    +void setAllTimes (StkFloat aTime, StkFloat dTime, StkFloat sLevel, StkFloat rTime)
     Set sustain level and attack, decay, and release time durations.
    +void setTarget (StkFloat target)
     Set the target value.
    +int getState (void) const
     Return the current envelope state (ATTACK, DECAY, SUSTAIN, RELEASE, DONE).
    +void setValue (StkFloat value)
     Set to state = ADSR::SUSTAIN with current and target values of value.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -

    Detailed Description

    -STK ADSR envelope class. -

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

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


    Member Enumeration Documentation

    - +

    Detailed Description

    +

    STK ADSR envelope class.

    +

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

    +

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

    +

    Member Enumeration Documentation

    +
    - +
    anonymous enum anonymous enum
    -

    -ADSR envelope states. -

    -

    Enumerator:
    - - - - - - +

    ADSR envelope states.

    +
    Enumerator:
    ATTACK  -Attack
    DECAY  -Decay
    SUSTAIN  -Sustain
    RELEASE  -Release
    DONE  -End of release
    + + + + +
    ATTACK  +

    Attack

    +
    DECAY  +

    Decay

    +
    SUSTAIN  +

    Sustain

    +
    RELEASE  +

    Release

    +
    DONE  +

    End of release

    +
    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    - + @@ -178,22 +163,22 @@ End of release
    -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::ADSR::tick StkFrames & stk::ADSR::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1ADSR.png b/doc/html/classstk_1_1ADSR.png index 608f0a07f2c4ca7c5a55b91b7962b076cdce8610..4efe476ea497784074d39c3aecca41b073901737 100644 GIT binary patch delta 479 zcmV<50U-X~1CRue7zqdi0000`fD9CoAt!$bbW%=J0RR90|NsC0)yh;d0004>NklAtcbmgG0blW>3>G2wX)Re+VXqQwWis5bggN2BK@T|gfwZ=q)C$|P5P7cme$H9 zNsaWc(GWqH2M_~K+RmZ_8c(*Z(SQhmppOmhsey|v5rWWP?x30f0kMYIR# zo#{8kNO zAPk1lCTpY{KyT1qs4L(92-O3qT?00gc&2qxoFL#6mNXvccON6>-s5?DyA2&8*@zS= zoTW*;0~#ZeF(k+5&^oQhk){xsqp&@ENArcrmmuoVOcq*i)TdJ>rOJa$D0d?Dq*s5X zWFkdMmE3RcN$AmioAmSa*c+m5kH-2d=;iY=`mrpR(UpH z&3jxa*$}ksAM{!Un!ro?*sv|VQh|RZ)r{=vl?s&RXiv0)XbYI!U-+Edot}E|68aDP zH%xlclm1^cj+pZUcZ6He9?b84f01j-)S7`8nX==0uH)!7T0J>ryzOYS8 zfKP6sT{CYcGc6SwEq8<(?JN^Z6>{FKDm8DNCi    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Asymp Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Asymp Member List

    This is the complete list of members for stk::Asymp, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Asymp(void)stk::Asymp
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    getState(void) const stk::Asymp [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    keyOff(void)stk::Asymp
    keyOn(void)stk::Asymp
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Asymp [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTarget(StkFloat target)stk::Asymp
    setTau(StkFloat tau)stk::Asymp
    setTime(StkFloat time)stk::Asymp
    setValue(StkFloat value)stk::Asymp
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Asymp [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Asymp [inline, virtual]
    ~Asymp(void)stk::Asymp
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Asymp(void)stk::Asymp
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    getState(void) const stk::Asymp [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    keyOff(void)stk::Asymp
    keyOn(void)stk::Asymp
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Asymp [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTarget(StkFloat target)stk::Asymp
    setTau(StkFloat tau)stk::Asymp
    setTime(StkFloat time)stk::Asymp
    setValue(StkFloat value)stk::Asymp
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Asymp [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Asymp [inline, virtual]
    ~Asymp(void)stk::Asymp
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Asymp.gif b/doc/html/classstk_1_1Asymp.gif new file mode 100644 index 0000000000000000000000000000000000000000..564e2b5929b3111b46c35dd1449e449605b48b57 GIT binary patch literal 801 zcmV++1K#{cNk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW$6Es|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QGN_0a%Dkj0e4_42?9F2tbYi*+`6uLhL9bibC>|VvaZ#iR6wv9^)f0 zNh(>SltWG#<&sQhiDQ&AHuJT9Kof?%C-)nSQEi fL!F8WX^VEE>Zz(Onp)nIDt;*IthCn3VFCa<{qT    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Asymp Class Reference

    STK asymptotic curve envelope class. -More... -

    -#include <Asymp.h> -

    +

    stk::Asymp Class Reference

    +

    STK asymptotic curve envelope class. +More...

    + +

    #include <Asymp.h>

    Inheritance diagram for stk::Asymp:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Asymp (void)
     Default constructor.
    ~Asymp (void)
     Class destructor.
    -void keyOn (void)
     Set target = 1.
    -void keyOff (void)
     Set target = 0.
    void setTau (StkFloat tau)
     Set the asymptotic rate via the time factor tau (must be > 0).
    -void setTime (StkFloat time)
     Set the asymptotic rate based on a time duration (must be > 0).
    -void setTarget (StkFloat target)
     Set the target value.
    -void setValue (StkFloat value)
     Set current and target values to value.
    -int getState (void) const
     Return the current envelope state (0 = at target, 1 otherwise).
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Asymp (void)
     Default constructor.
    ~Asymp (void)
     Class destructor.
    +void keyOn (void)
     Set target = 1.
    +void keyOff (void)
     Set target = 0.
    void setTau (StkFloat tau)
     Set the asymptotic rate via the time factor tau (must be > 0).
    +void setTime (StkFloat time)
     Set the asymptotic rate based on a time duration (must be > 0).
    +void setTarget (StkFloat target)
     Set the target value.
    +void setValue (StkFloat value)
     Set current and target values to value.
    +int getState (void) const
     Return the current envelope state (0 = at target, 1 otherwise).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Detailed Description

    -STK asymptotic curve envelope class. -

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

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

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

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK asymptotic curve envelope class.

    +

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

    +

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

    +

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

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -102,18 +90,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -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. +

    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.

    +
    -

    - + +

    void stk::Asymp::setTau void stk::Asymp::setTau ( StkFloat  tau tau  ) 
    - + @@ -133,22 +120,22 @@ The rate is computed as described above. The value of tau must be great
    -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Asymp::tick StkFrames & stk::Asymp::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Asymp.png b/doc/html/classstk_1_1Asymp.png index 52da5ecd14ba0cc4cf9f22b0ad5ea8f95139245b..4c78cec6fd1a180b22820104cdb94f011d62c946 100644 GIT binary patch delta 497 zcmVR8PT^wLj-OOVBmfO z8oTcmG#~=NVf3MQFQV;ikVXO&oVl-}mEjSl^;1R81sO85nHSJrkij*+B1roiO~`-M zYg9q%CE7K5H@_i7|1)%$r6tR2;rBr29LA1A=N!fkM1Sdo5KT1EL=#Ok(L}!!y@grY zB*=*V7#bpQ`vAP-fenIA(0Guxh6Y3cIQpJY4i70kXe%YSCOU76E=1HFTkbWWp)0=sn#LJ-|VnjJ?+jGD54T=ay&yf>>*8fPJ9VRV$9^uz1X=~Dmsktv z%-Do9`nw1>A^e6A{nO|$OG}p5!ta63IgA~L&N+-7i2l+EA)08Si6)w8qKSSd8ex_Y z)gjTJMLi^rB@r6W^lSHt65eeP4*W-FEK3gPy-nqi^$k8hvU{20iFO54xWodT@_UvIVh( zXpi<`t9EMiMg{Ve)eq{xx(dl-bdAnbAZdKjZ6cOfHhEh$eHiJa>qug0UWSB_=q!_! z<~6RAZ17t46P>F-6L?V{8@8o06_|fgU67K_RG>6Rd!iKtyMfXD!1v_p^w5K+(0|~+ zVbFsf^#7u<$0q1F(OrQCw>Uktb9FeQ9XO0Lp&hUfPVNAfGzXSNT~<(kfFrEWB%@^m zL>F{w5o}Uql4wM*>9k8vmWeucxdy$Q8c|s3THbs#DghQ)6SoMJo>UAr!vQ2+KG_xx iPvghFv2Ullz7Rk4    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BandedWG Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::BandedWG Member List

    This is the complete list of members for stk::BandedWG, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BandedWG(void)stk::BandedWG
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::BandedWG
    controlChange(int number, StkFloat value)stk::BandedWG [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::BandedWG [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BandedWG [virtual]
    pluck(StkFloat amp)stk::BandedWG
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BandedWG [virtual]
    setPreset(int preset)stk::BandedWG
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStrikePosition(StkFloat position)stk::BandedWG
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBowing(StkFloat amplitude, StkFloat rate)stk::BandedWG
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBowing(StkFloat rate)stk::BandedWG
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BandedWG [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BandedWG(void)stk::BandedWG
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BandedWG(void)stk::BandedWG
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::BandedWG
    controlChange(int number, StkFloat value)stk::BandedWG [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::BandedWG [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BandedWG [virtual]
    pluck(StkFloat amp)stk::BandedWG
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BandedWG [virtual]
    setPreset(int preset)stk::BandedWG
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStrikePosition(StkFloat position)stk::BandedWG
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBowing(StkFloat amplitude, StkFloat rate)stk::BandedWG
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBowing(StkFloat rate)stk::BandedWG
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BandedWG [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BandedWG(void)stk::BandedWG
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BandedWG.gif b/doc/html/classstk_1_1BandedWG.gif new file mode 100644 index 0000000000000000000000000000000000000000..cab631644cc2a2571e305f24aa44702532f51b11 GIT binary patch literal 835 zcmV-J1HAl4Nk%w1VPF7=0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui0AK)!000C2IJ(^aFv>}*6FBS5yZ>M)j+sK9XsVLt>b`K;#&qq@cCLf?js-ta zU#^hkh93G>a=FbY%DPvtIvU}8ur91O>WHq*TU+{QM3Ttg~TKMYJ z?C&&rE_-}{d~S$dQ)y#Bb7Vw~hlV$cK9`q*n42q_oS!U~prb0Dq^BFEsH>{0r>(A| z7PGXqwzUAcy1Tr+zQ4e_2EoL|#>dFXyTi)O&d<&U($Lh^*22@*+S|s`-rV5f%ihf5 z=G^7y>euP(?$7P-^2qV?_QCb{`n>u3{{8;+0SstwAVGNs54uaJP#wdD<{m-}CvhS= zi~A~KWVinDp2m*UK7xcd5@E@AB2Okusqz@hmc?Ge#CPzP&6_x9#oE~c7SBySe`XRT zG*-}}ieQlGQwI!+qZyWVpu~YHo2NvDRB?pGPmnidww&QQDQp?58ekD3Tgc7YC~dfq zjoVd5RuF2;GM#e>Zq!74(WbqNH!xL5QTdi_yI61u!Xf^AKyT<=cAbV8R?p5@**asj`|7e zlz|G0WS>!9$zz#vR{3S1R4!@dqnFB>DWE5A*=Mf0@`~cFzMdLvjKB^HrLjF03yW-q N%r@)nv(6>}06SZCqdNcq literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1BandedWG.html b/doc/html/classstk_1_1BandedWG.html index 36fc34a..6a5095a 100644 --- a/doc/html/classstk_1_1BandedWG.html +++ b/doc/html/classstk_1_1BandedWG.html @@ -8,100 +8,100 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BandedWG Class Reference

    Banded waveguide modeling class. -More... -

    -#include <BandedWG.h> -

    +

    stk::BandedWG Class Reference

    +

    Banded waveguide modeling class. +More...

    + +

    #include <BandedWG.h>

    Inheritance diagram for stk::BandedWG:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

    -Banded waveguide modeling class. -

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

    -Control Change Numbers:

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

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


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

    Detailed Description

    +

    Banded waveguide modeling class.

    +

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

    +

    Control Change Numbers:

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

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

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BandedWG.png b/doc/html/classstk_1_1BandedWG.png index 30f3f3a1bddb3bc08e1879469b2cb100321de0a9..6029f70d317600dc52ee3b9ddf7c4f124f1aa4e4 100644 GIT binary patch delta 496 zcmVC*2t~a#@&7-0A4CPU({{Qf-R@;(vMUM)FU04x1zXxA)Cl-10Eob?0W93V z20-`S2LK`fTr&M23DJO@g9+h)7fcZW1Q0*~0R#|0z-s|p zu%%5xjerLOAOgP}xA(#x002Y)I0i%@fZZ18M<8_<<;Z71iO>XgX*SAEacU{ue*&O+ z&FNNW-yZO@tRE%X2ej?)0bZgB;Awwf07j{2iEaW^gWBRbXKU~ZaAJ!177_3t0l}88 zTD~0dFhI`1glIs{!Gv(Y3#Nzw0tg_000Iag;I#k*TSDxG33wa;$*s#6tm778^_NW8 z0btH`24KTF07yy4wnev-r6QzKm=3p=*<zzNcQU}g@S1T4R1j_h)H^CaMHI~&-x%gMm`Q*yuo2ORh{z;){)P(^1`aD!ud z0)S1Wvgk`HU|I3W5$XOGpdtxX=T+s$L0HAnppZwPsnldbH;djgbPpJ0t$I+J0bQl4 zhdSK@sH;@-m;t${)aoGub^yLl=|O*U;3U9xYd6=e4mjX|13v(8(L!8H3@-%K6>$hq zwh@AS_-+S?ardJmmLhP@r}kuX=!6p!Wb)HH;-mPIizU06`_^(xzm9 jO!7}ZOaBa5ea(CUgBfH0PS    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BeeThree Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::BeeThree Member List

    This is the complete list of members for stk::BeeThree, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BeeThree(void)stk::BeeThree
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BeeThree [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BeeThree [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BeeThree(void)stk::BeeThree
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BeeThree(void)stk::BeeThree
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BeeThree [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BeeThree [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BeeThree(void)stk::BeeThree
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BeeThree.gif b/doc/html/classstk_1_1BeeThree.gif new file mode 100644 index 0000000000000000000000000000000000000000..99a03a722a2deba3c90bcbb8ce0ea5212dbab2ca GIT binary patch literal 1066 zcmV+_1l9XTNk%w1VORjb0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09XLP000C2IJ(^aFv>}%xH#+0yZ>O=DPn1!C`hJk>vHQW&t^>DxMt(Q)q{cH zPw*SkcDEuhqa@~#t)NfZ+!&|5>I<4`Du-1m)8{-6XxHMkBQCdR+%9-(@~&NRmbc6? z?(Zylb!2XYR%3;HTW4rsSs0IeLXMJfj5(M%f|;Bpo1LH@pP{4~qot*%sG+K>ovp5! z6|=OpwzB}ay1Tr+zQ4Z)z{AAF#>dFI!pY3d&d3JQ&(qY@(aY7@+QZk<+uz^--Pqyf z)#T>s&*&edT0}OuOUi*A=wp-cf+Yae(MsRGq^6;uzH;)(t?O_Tgzyzii+Ha(wwo3 z)k3;^Iql}5v4o-y#CbI*)viy#j_s*6ZB4ds|J41ertjY}0SF&Xytwh>$dS8D&b+zv z=gpTxpH98H@N3qyYu|nxJNNJ4p^pnszI^fV=F^v#uD<IUrgvwE9;Di>Qmmz={Zg`!C`gQ1`h#Qia zp@|lvNTG@mvIyLZFxteMEV<2yM~ybJmLn#!?WhBeOo27YR#y>)31vkxk;Y>o^eCEI zkpObX8&4XU)L@tu771BaLIsy;omEA~XO=XwSX5JvNtcdEoTXHnWHG4%kV{Oq=AEI* z=@y+pcqUj|h$wcWkGK(fgOi3LN~oefGP4#(JKdyvCc=woSeryXC3g=KL?F-)h6HUbHEbYEAq!lYm9KkQ-iHG#Y_V& kugp)+-Lu_S*Nr#Jdz0OFy?Wy<_uk|dZusGdf13aRJK_{G    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BeeThree Class Reference

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

    -#include <BeeThree.h> -

    +

    stk::BeeThree Class Reference

    +

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

    + +

    #include <BeeThree.h>

    Inheritance diagram for stk::BeeThree:
    - -

    - -stk::FM -stk::Instrmnt -stk::Stk +
    + + +stk::FM +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     BeeThree (void)
     Class constructor.
    ~BeeThree (void)
     Class destructor.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + +

    Public Member Functions

     BeeThree (void)
     Class constructor.
    ~BeeThree (void)
     Class destructor.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK Hammond-oid organ FM synthesis instrument. -

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

    +


    Detailed Description

    +

    STK Hammond-oid organ FM synthesis instrument.

    +

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

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

    -Control Change Numbers:

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

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -81,20 +81,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::BeeThree::BeeThree stk::BeeThree::BeeThree ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BeeThree.png b/doc/html/classstk_1_1BeeThree.png index 9517c2109651decb582a1b993bc17d6679778af5..afd133e3771594bbee52ae34ef6b31208de9afee 100644 GIT binary patch delta 591 zcmV-V0&q z5`_Npi05}^W5Wsc|^hY4Q7i~xkw~>0GZJLhO(~>%cJ%0kLXGV>A z?cLLDkL3$X@fsf8>##4y0rq!UfaiZw9!qf%*0uJnJ6dDoBKYJ~@L56lsc_coeK|m@r|&gb5QSd>UI)luc5C@C{&yz%~KEBsmR!;He-?m@r|&gb5Qq4J1WD&f*CFI*j7lZF}Qm z^kznH;PEkE73V`3C`BhSE*XGMyw6|rnk;&y8DQY%p=U;OeD7cVqi2Ev9@b8?#9reV zKK?~;17~>L3|gta`Wc-D_{}@BrI=v5s#i1i`x({v2z;Rwee3iNW9{Lou(x`7D)_7* d{A@TWegN(2H*aa7!a9moYHk#>BalF(zo1fo%=2?U;XM z&}yJekZPt2r)_LE$0zXAqu_D-**Jb0f81V$Z?}m$rts@l!?9z>jt%U&?jdf$tfwBu z(g_Sb#ZgE~67VP?@gbDH##rN%vWeTXqpoo>24S6beC(uG|On|ZXest@d@m? z?z#BQpZty;JH9H0iMGV!w+sImw{L(pIMD2ajpH(a?kfZf#26X~Ku4nV1OH<44j(I+ zHuQ?3#U-zlOLnJSO5S307*qoM6N<$g0}7OHUIzs diff --git a/doc/html/classstk_1_1BiQuad-members.html b/doc/html/classstk_1_1BiQuad-members.html index 5ce1eec..15bb371 100644 --- a/doc/html/classstk_1_1BiQuad-members.html +++ b/doc/html/classstk_1_1BiQuad-members.html @@ -8,61 +8,61 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BiQuad Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::BiQuad Member List

    This is the complete list of members for stk::BiQuad, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BiQuad()stk::BiQuad
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::BiQuad [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::BiQuad [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setA1(StkFloat a1)stk::BiQuad [inline]
    setA2(StkFloat a2)stk::BiQuad [inline]
    setB0(StkFloat b0)stk::BiQuad [inline]
    setB1(StkFloat b1)stk::BiQuad [inline]
    setB2(StkFloat b2)stk::BiQuad [inline]
    setCoefficients(StkFloat b0, StkFloat b1, StkFloat b2, StkFloat a1, StkFloat a2, bool clearState=false)stk::BiQuad
    setEqualGainZeroes(void)stk::BiQuad
    setGain(StkFloat gain)stk::Filter [inline]
    setNotch(StkFloat frequency, StkFloat radius)stk::BiQuad
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)stk::BiQuad
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::BiQuad [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::BiQuad [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::BiQuad [inline]
    ~BiQuad()stk::BiQuad
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BiQuad()stk::BiQuad
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::BiQuad [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::BiQuad [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setA1(StkFloat a1)stk::BiQuad [inline]
    setA2(StkFloat a2)stk::BiQuad [inline]
    setB0(StkFloat b0)stk::BiQuad [inline]
    setB1(StkFloat b1)stk::BiQuad [inline]
    setB2(StkFloat b2)stk::BiQuad [inline]
    setCoefficients(StkFloat b0, StkFloat b1, StkFloat b2, StkFloat a1, StkFloat a2, bool clearState=false)stk::BiQuad
    setEqualGainZeroes(void)stk::BiQuad
    setGain(StkFloat gain)stk::Filter [inline]
    setNotch(StkFloat frequency, StkFloat radius)stk::BiQuad
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)stk::BiQuad
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::BiQuad [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::BiQuad [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::BiQuad [inline]
    ~BiQuad()stk::BiQuad
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BiQuad.gif b/doc/html/classstk_1_1BiQuad.gif new file mode 100644 index 0000000000000000000000000000000000000000..2a9c9393dd500558860523f115c70570a850594b GIT binary patch literal 731 zcmV<10wn!MNk%w1VM_pr0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui080Rf000C2IJ(^aFv=-~y*TU5yZ@U4j$~b45uCK5S z0JF5Uwzs&s00z3fzQ4f1w!Ff{#>ck?%E-*kzskhU($mn()7Q+^(b(L@+uh*6-{IuB zx)f{At(N3e zCCbz-)vjpUk~M3VP+6lGLM4KvhWwe;jnf9MgI%YFvlLSTXmHp5_o{2@3Wf(HgT3x&2|$X|gA*7u--7lycDe;78n z;fWTas9}j8X6Rysz5FL4gCe2`po$7YnBR#z;$q^8Gu{|sekA7TUyu;i$fJ@T)(9ky z8Pd4qlpx+%q>vIiIb(}a7KkH@J_tEvlNXXXB#&l#iC>b&_2`_N%)zOgoXFAHCY!>+ Nr{|u0_8C9|06R9Nb0`1+ literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1BiQuad.html b/doc/html/classstk_1_1BiQuad.html index 33a8ca5..87f7ca0 100644 --- a/doc/html/classstk_1_1BiQuad.html +++ b/doc/html/classstk_1_1BiQuad.html @@ -8,101 +8,85 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BiQuad Class Reference

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

    -#include <BiQuad.h> -

    +

    stk::BiQuad Class Reference

    +

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

    + +

    #include <BiQuad.h>

    Inheritance diagram for stk::BiQuad:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

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

    -This class implements a two-pole, two-zero digital filter. Methods are provided for creating a resonance or notch in the frequency response while maintaining a constant filter gain.

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


    Member Function Documentation

    - +

    Detailed Description

    +

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

    +

    This class implements a two-pole, two-zero digital filter. Methods are provided for creating a resonance or notch in the frequency response while maintaining a constant filter gain.

    +

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

    +

    Member Function Documentation

    +
    - + @@ -128,18 +112,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

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

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

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

    +

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

    +
    -

    - + +

    void stk::BiQuad::setResonance void stk::BiQuad::setResonance ( StkFloat  frequency,
    - + @@ -159,21 +142,20 @@ This method determines the filter coefficients corresponding to two complex-conj
    -

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

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

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

    +

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

    +
    -

    - + +

    void stk::BiQuad::setNotch void stk::BiQuad::setNotch ( StkFloat  frequency,
    - + - + @@ -181,18 +163,17 @@ This method determines the filter coefficients corresponding to two complex-conj
    -

    -Sets the filter zeroes for equal resonance gain. -

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

    Sets the filter zeroes for equal resonance gain.

    +

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

    +
    -

    - + +

    void stk::BiQuad::setEqualGainZeroes void stk::BiQuad::setEqualGainZeroes ( void   ) 
    - + @@ -212,20 +193,19 @@ When using the filter as a resonator, zeroes places at z = 1, z = -1 will result
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::BiQuad::tick StkFrames & stk::BiQuad::tick ( StkFrames frames,
    - + @@ -257,20 +237,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::BiQuad::tick StkFrames & stk::BiQuad::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BiQuad.png b/doc/html/classstk_1_1BiQuad.png index f28fe89e7b4bf7250b7c71bf85e22bceff0cd641..a98c790fc6db2c3a4ca88cebe9c0287ea457001a 100644 GIT binary patch delta 444 zcmV;t0Ym<|1MLHl7zqdi0001(?B>FeAt!$bbW%=J0RR90|NsC0)yh;d0004eNkl^HG<{F0uj_2fD!(L zg&w=b0*C;pJf4i^2J2~-7?PIWl6|7(dD_FnAI{ZdD$ZG`4 zfdwMSB>kb5vp7i#D|Q*IYmF0Y zs;k4#y_XtSthp)Yel5Jet+6_9dM|(b81G}So@6=RX>Yx^w@}#+=E%y~59Y~wZ6AXb ztY8HzSi$-=7W_tnTk*mAiiM=sr8^wsxe3`}sgr$v#R5{|XQXA+{2t>ON}ZfHvRX!o z2*83RP8lrT6gq@ob6v(tYMfZQE;Zv`m@KW)_N%!${jB^lz3+YG+E4sqjnydmdTM;W m3-D-~^-gLbJ;Kk1*KS`~;GsDvODV+d=|g{CHFmHm{lZG0!j&_rZL?)B^_e zZ!x5+BMbsynnX&d&+ITxfUM>tfZh+YdHRA}6OBVGA{pb<2bhRv3rC`;{>16f0*QZ; z1F{hJEjsl>>?9V}VUsUlACJM<=h*gpA@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Blit Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Blit Member List

    This is the complete list of members for stk::Blit, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Blit(StkFloat frequency=220.0)stk::Blit
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    getPhase() const stk::Blit [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Blit [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset()stk::Blit
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Blit
    setHarmonics(unsigned int nHarmonics=0)stk::Blit
    setPhase(StkFloat phase)stk::Blit [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Blit [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Blit [inline, virtual]
    ~Blit()stk::Blit
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Blit(StkFloat frequency=220.0)stk::Blit
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    getPhase() const stk::Blit [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Blit [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset()stk::Blit
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Blit
    setHarmonics(unsigned int nHarmonics=0)stk::Blit
    setPhase(StkFloat phase)stk::Blit [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Blit [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Blit [inline, virtual]
    ~Blit()stk::Blit
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Blit.gif b/doc/html/classstk_1_1Blit.gif new file mode 100644 index 0000000000000000000000000000000000000000..df9521a6b76db8d8f448bf63900c76052e85ebc1 GIT binary patch literal 764 zcmV}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zWyAlH|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QGN~0a#e#B)h~2fQ>d@^I|tRmdHzwKXS7pH6{viql_yCdE}8s>X@T7 zK=znpluA;$&5+MLxg?er(ugFGPVzWqm&812rItjZ3FVhdCRrn!Z9=JLmT-dUVwG@) uDddzfjv1wwTau|~i!RQoB9|v3N}{46GCH55@j=?&hm=-o>7^Vd0029>{eGeV literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Blit.html b/doc/html/classstk_1_1Blit.html index fab0e18..19b9b43 100644 --- a/doc/html/classstk_1_1Blit.html +++ b/doc/html/classstk_1_1Blit.html @@ -8,83 +8,74 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Blit Class Reference

    STK band-limited impulse train class. -More... -

    -#include <Blit.h> -

    +

    stk::Blit Class Reference

    +

    STK band-limited impulse train class. +More...

    + +

    #include <Blit.h>

    Inheritance diagram for stk::Blit:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Blit (StkFloat frequency=220.0)
     Default constructor that initializes BLIT frequency to 220 Hz.
    ~Blit ()
     Class destructor.
    -void reset ()
     Resets the oscillator state and phase to 0.
    void setPhase (StkFloat phase)
     Set the phase of the signal.
    StkFloat getPhase () const
     Get the current phase of the signal.
    -void setFrequency (StkFloat frequency)
     Set the impulse train rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Blit (StkFloat frequency=220.0)
     Default constructor that initializes BLIT frequency to 220 Hz.
    ~Blit ()
     Class destructor.
    +void reset ()
     Resets the oscillator state and phase to 0.
    void setPhase (StkFloat phase)
     Set the phase of the signal.
    StkFloat getPhase () const
     Get the current phase of the signal.
    +void setFrequency (StkFloat frequency)
     Set the impulse train rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Detailed Description

    -STK band-limited impulse train class. -

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

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

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

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK band-limited impulse train class.

    +

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

    +

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

    +

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

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -92,20 +83,19 @@ Original code by Robin Davies, 2005. Revisions by Gary Scavone for STK, 2005.
    -

    -Set the phase of the signal. -

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

    Set the phase of the signal.

    +

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

    +
    -

    - + +

    void stk::Blit::setPhase void stk::Blit::setPhase ( StkFloat  phase phase  )  [inline]
    - + - + @@ -113,21 +103,20 @@ Set the phase of the signal, in the range 0 to 1.
    -

    -Get the current phase of the signal. -

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

    Get the current phase of the signal.

    +

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

    +
    -

    - + +

    StkFloat stk::Blit::getPhase StkFloat stk::Blit::getPhase (  )  const [inline]
    - + - + @@ -135,18 +124,17 @@ Get the phase of the signal, in the range [0 to 1.0).
    -

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

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

    Set the number of harmonics generated in the signal.

    +

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

    +
    -

    - + +

    void stk::Blit::setHarmonics void stk::Blit::setHarmonics ( unsigned int  nHarmonics = 0 nHarmonics = 0  ) 
    - + @@ -166,22 +154,22 @@ This function sets the number of harmonics contained in the resulting signal. It
    -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Blit::tick StkFrames & stk::Blit::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Blit.png b/doc/html/classstk_1_1Blit.png index 39d314de5224b17d8fcf2196549fc4082ecc9b11..1e16c3102ba5a91ba6ba13deb34802658d62e4e9 100644 GIT binary patch delta 452 zcmV;#0XzP~1N8%t7zqdi0000`fD9CoAt!$bbW%=J0RR90|NsC0)yh;d0004mNkl53sPfqGXV5u^*>QBvVRj(>(i1|OG-=YLNs}hMlHS59Z4y+Z zzeYm@?mhtD_)wie7c@Rh8>0ac08Za0l$VE;HRw{x;5yNDEnP&^JMD6R2K4dms$QDG zwR@!Z=}z>3LtKo_0f4Ww>jeSn^s zc0x@4ZiG7_{DzSJ({xy+p~_>!pF!swX2;PvhuMMjOHT-C(xgd~CQX|3N*ZC65Vbn6mk`eKLE3cD-pDNJ$T98)j&vvVaM?t+|Xc5tuvEv@&MUqO6-?=_N34Z9`p5 uTcE#np delta 401 zcmV;C0dD^F1H%K57zqRe0001$aN!k^At!$UbW%=J06^y0W&i*ISxH1eR9J=W)?IFd zAP@&|c-d!WZUDVOd!asg|08rhfa0nM*_yO=$R@J-6KBZA{kxBu;oj5uc)N{`3H1n= zFpg^E*@=b(s0MlYa_hd9    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BlitSaw Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::BlitSaw Member List

    This is the complete list of members for stk::BlitSaw, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlitSaw(StkFloat frequency=220.0)stk::BlitSaw
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::BlitSaw [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset()stk::BlitSaw
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlitSaw
    setHarmonics(unsigned int nHarmonics=0)stk::BlitSaw
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::BlitSaw [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::BlitSaw [inline, virtual]
    ~BlitSaw()stk::BlitSaw
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlitSaw(StkFloat frequency=220.0)stk::BlitSaw
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::BlitSaw [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset()stk::BlitSaw
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlitSaw
    setHarmonics(unsigned int nHarmonics=0)stk::BlitSaw
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::BlitSaw [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::BlitSaw [inline, virtual]
    ~BlitSaw()stk::BlitSaw
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BlitSaw.gif b/doc/html/classstk_1_1BlitSaw.gif new file mode 100644 index 0000000000000000000000000000000000000000..950e70b762c39c6371703fccb98ccd4127ec6e54 GIT binary patch literal 805 zcmV+=1KRvYNk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW$gcw|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QIkv0a#e#B)h~2fQ>fZD8xB0CWB*%y!;rXj5V6mBZ@eVD5Nhr-biGO zJ2n}li8)qz%#kZTDWjE6cBy5TRZ3|kmtGQsC6g{%D5Z-uektafV16kgoWP`*q?tp; zS!R)HQYq(*%?Jr4ig^l3q?|tvN+*+xrm5$Wj=K5hl4Lf@rjKEIIVhNIKAI$pQ66gP jlr63}>U?LOm@0{@hS(~qr^ffHtRL2D>#ewMm;eAf#iNnj literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1BlitSaw.html b/doc/html/classstk_1_1BlitSaw.html index 81e5295..85d9e90 100644 --- a/doc/html/classstk_1_1BlitSaw.html +++ b/doc/html/classstk_1_1BlitSaw.html @@ -8,76 +8,69 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BlitSaw Class Reference

    STK band-limited sawtooth wave class. -More... -

    -#include <BlitSaw.h> -

    +

    stk::BlitSaw Class Reference

    +

    STK band-limited sawtooth wave class. +More...

    + +

    #include <BlitSaw.h>

    Inheritance diagram for stk::BlitSaw:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    BlitSaw (StkFloat frequency=220.0)
     Class constructor.
    ~BlitSaw ()
     Class destructor.
    -void reset ()
     Resets the oscillator state and phase to 0.
    -void setFrequency (StkFloat frequency)
     Set the sawtooth oscillator rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

    BlitSaw (StkFloat frequency=220.0)
     Class constructor.
    ~BlitSaw ()
     Class destructor.
    +void reset ()
     Resets the oscillator state and phase to 0.
    +void setFrequency (StkFloat frequency)
     Set the sawtooth oscillator rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Detailed Description

    -STK band-limited sawtooth wave class. -

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

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

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK band-limited sawtooth wave class.

    +

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

    +

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

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -85,18 +78,17 @@ Based on initial code of Robin Davies, 2005. Modified algorithm code by Gary Sca
    -

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

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

    Set the number of harmonics generated in the signal.

    +

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

    +
    -

    - + +

    void stk::BlitSaw::setHarmonics void stk::BlitSaw::setHarmonics ( unsigned int  nHarmonics = 0 nHarmonics = 0  ) 
    - + @@ -116,22 +108,22 @@ This function sets the number of harmonics contained in the resulting signal. It
    -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::BlitSaw::tick StkFrames & stk::BlitSaw::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BlitSaw.png b/doc/html/classstk_1_1BlitSaw.png index 27a6480d1b9213015266e5a4845920818004de62..d8463524e5251a84adcce8081f228f9daae982ee 100644 GIT binary patch delta 484 zcmaFBJe6gF1SbbG0|P@q1CPi=MfG})k|4iehW`+7^;C!v0|Vm{PZ!6K3dXm04^C=U z5MT+ATK(g{|2<}75A9%L$Is_c@pRm%dv+A^dhm zV})?E^v*T+1uojVwfCBsp1Sj?`ohwdn}sEsiDe3Zmzuk5$+)=4wOdU0msb_1bmmD% z=P$=Ip76|KKhWB27*XQ%_`z07khL#gbANq2@wMa|jna+#J+97Mr&P1dc3t&>ZTbHH zZs>k{H7zb)eIlci#A9jKFVt&VqdS60LlS))peATkZ-cLDjui2f`8%~*;T>Ud&xZ0mt^XAf= zU|HVzInOsHzxj6S;@dN&X}t^Puav(KaNv1n@~+O>Yja z)oW$v{I_`BY{vJ(@zU|eihQ3(Yt}w8Uvk@Nzv80$20rO}^V_O_q%-9<0;7|`)78&q Iol`;+0GCeWvH$=8 delta 431 zcmV;g0Z{&x1mFXZ7zqRe0001$aN!k^At!$UbW%=J06^y0W&i*Ic1c7*R9J=WmPwAo zAP_~(CTps00J%Z;g?i=tAE9e92IC1Ombx7(mY5#!t7JKU_-={eE1r+%ZRikDTfm6n zEREbdpdkV(gM9q7b)A;uP$UH6FqDT^G(BK_-h_KJk%^Xz_Gwd+vOG|NQzfh>ds%<7 z5>Aq{q5NRXTHlDCe_pW3xoIDd?*DL!*=_z%yX9b07ntIsTQjlgmwlGbKFj z)@gd6)GcG%St*%lKNFJa8f{84+Q}Tx`X!x!nohDyC7dL!n{JSLOQCA|OmrLib-L*b Z@e2=5Id2s5PgMW_002ovPDHLkV1fnh!Vmxe diff --git a/doc/html/classstk_1_1BlitSquare-members.html b/doc/html/classstk_1_1BlitSquare-members.html index 11f1991..32e092a 100644 --- a/doc/html/classstk_1_1BlitSquare-members.html +++ b/doc/html/classstk_1_1BlitSquare-members.html @@ -8,53 +8,53 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BlitSquare Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::BlitSquare Member List

    This is the complete list of members for stk::BlitSquare, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlitSquare(StkFloat frequency=220.0)stk::BlitSquare
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    getPhase() const stk::BlitSquare [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::BlitSquare [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset()stk::BlitSquare
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlitSquare
    setHarmonics(unsigned int nHarmonics=0)stk::BlitSquare
    setPhase(StkFloat phase)stk::BlitSquare [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::BlitSquare [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::BlitSquare [inline, virtual]
    ~BlitSquare()stk::BlitSquare
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlitSquare(StkFloat frequency=220.0)stk::BlitSquare
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    getPhase() const stk::BlitSquare [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::BlitSquare [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset()stk::BlitSquare
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlitSquare
    setHarmonics(unsigned int nHarmonics=0)stk::BlitSquare
    setPhase(StkFloat phase)stk::BlitSquare [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::BlitSquare [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::BlitSquare [inline, virtual]
    ~BlitSquare()stk::BlitSquare
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BlitSquare.gif b/doc/html/classstk_1_1BlitSquare.gif new file mode 100644 index 0000000000000000000000000000000000000000..7bafba7d029b7d4899ede035551805fb173e735d GIT binary patch literal 829 zcmV-D1H$}ANk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW&Zz?|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QE1C0a#e#B)h~2fQ>fZD8xN4t|%ihIo|kVjYA4KPmelUI3kWP^1`H$ zI|k`wj8qb-WRO+rD5a9VJjrB^UOM^XlSzu1B$z{jN#>S4N{Qo^Q|>rsk!2bQrIlvd ziKdHiruZh1W`@~intIkKr=B$OiQ=4a7AYv1Mxwdro`s^w=A4l>Y2~AVa`|Vapt9Mg znuU6qXr^VJdZwp_W{D+|NH)}{HL)r*Yc;hVbSpKvlGtmAzs?tIe8aZ);jzdj1*<{)fLfx% literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1BlitSquare.html b/doc/html/classstk_1_1BlitSquare.html index dfdc4c1..af7149f 100644 --- a/doc/html/classstk_1_1BlitSquare.html +++ b/doc/html/classstk_1_1BlitSquare.html @@ -8,83 +8,73 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BlitSquare Class Reference

    STK band-limited square wave class. -More... -

    -#include <BlitSquare.h> -

    +

    stk::BlitSquare Class Reference

    +

    STK band-limited square wave class. +More...

    + +

    #include <BlitSquare.h>

    Inheritance diagram for stk::BlitSquare:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    BlitSquare (StkFloat frequency=220.0)
     Default constructor that initializes BLIT frequency to 220 Hz.
    ~BlitSquare ()
     Class destructor.
    -void reset ()
     Resets the oscillator state and phase to 0.
    void setPhase (StkFloat phase)
     Set the phase of the signal.
    StkFloat getPhase () const
     Get the current phase of the signal.
    -void setFrequency (StkFloat frequency)
     Set the impulse train rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    BlitSquare (StkFloat frequency=220.0)
     Default constructor that initializes BLIT frequency to 220 Hz.
    ~BlitSquare ()
     Class destructor.
    +void reset ()
     Resets the oscillator state and phase to 0.
    void setPhase (StkFloat phase)
     Set the phase of the signal.
    StkFloat getPhase () const
     Get the current phase of the signal.
    +void setFrequency (StkFloat frequency)
     Set the impulse train rate in terms of a frequency in Hz.
    void setHarmonics (unsigned int nHarmonics=0)
     Set the number of harmonics generated in the signal.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Detailed Description

    -STK band-limited square wave class. -

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

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

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

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK band-limited square wave class.

    +

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

    +

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

    +

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

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -92,20 +82,19 @@ Based on initial code of Robin Davies, 2005. Modified algorithm code by Gary Sca
    -

    -Set the phase of the signal. -

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

    Set the phase of the signal.

    +

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

    +
    -

    - + +

    void stk::BlitSquare::setPhase void stk::BlitSquare::setPhase ( StkFloat  phase phase  )  [inline]
    - + - + @@ -113,21 +102,20 @@ Set the phase of the signal, in the range 0 to 1.
    -

    -Get the current phase of the signal. -

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

    Get the current phase of the signal.

    +

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

    +
    -

    - + +

    StkFloat stk::BlitSquare::getPhase StkFloat stk::BlitSquare::getPhase (  )  const [inline]
    - + - + @@ -135,18 +123,17 @@ Get the phase of the signal, in the range [0 to 1.0).
    -

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

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

    Set the number of harmonics generated in the signal.

    +

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

    +
    -

    - + +

    void stk::BlitSquare::setHarmonics void stk::BlitSquare::setHarmonics ( unsigned int  nHarmonics = 0 nHarmonics = 0  ) 
    - + @@ -166,22 +153,22 @@ This function sets the number of harmonics contained in the resulting signal. It
    -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::BlitSquare::tick StkFrames & stk::BlitSquare::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BlitSquare.png b/doc/html/classstk_1_1BlitSquare.png index 0fe8f7f6e3efcf300765224d631ab8ecc307a17a..f3025b745ed289037f16cbca80bd26cabc40a939 100644 GIT binary patch delta 509 zcmVL2t|8q(*OVDeJCKeR$XT#crJA(M%Y(jrt zZKDXHO|&+$JHH``{%7bgE0?TY3x5W>wJ>%Zy0tKNAo@!uB+-dZbfOcT=tL*_PV^FH zWvM}y=#QaMD`+18J9cambb`iC+BGy#D*&Re3H|b@y#^_z2WujEJ-QR2JGNZUfE;ft zUAkcPj_5U=hzuYI$vAphkQrK>bb^00SH(F)vmhgybzzy#Ztb)l*vEqW0xg1Q6ZHU@ z8JiHNKSj`l=g}^BEx984h`M3=)RItjI~x}(N?o%xJzkzK`hz_ z+Md1-XiGWJTK4-x9DX)}Y|xuqJIzTD|GGi5AUkN^*R3Gj;+fVvZ5+jyu5Hmfg6LH= zowOE@O^AiN!J16SEC05zKl*o~^Lza$beR1B^z|kvcUUn-00000NkvXXu0mjf?o8^J delta 457 zcmV;)0XF`w1o{Jz7zqRe0001$aN!k^At!$UbW%=J06^y0W&i*IkV!;AR9J=WmPvAh zFc3xQjo12p11UF1E|eAbKSFv!fEjEmAr%~{T-Nl|`rWwj?>>&S?!7$U-d={zg}nzC z&d<`UqX#q!*csOF!_jrx!m&xn!f~DlU(oVFjP(%j(Lz?*F50I+QC&{u6Znc^ZA|`_t%CYtraOH@eZs>E;Kw=xSSl zCB$2FE_1iDM$cTJOvU}cI`LKDj2JpSae-{{)wiix65Eu0*ZpD8)z`7cGF^_8Qt643 zk(NEll)cNA_8mQSfo|}^A3HXuCoX@mN*$0TJ#m3r9IJ_CP<#O~{DZ%fSErjFJcYi% ze?y}i-RS>C<4Eh$fg9=K^w0yTOFEJKAJfT4a$xOJr_doO5Ht~N0wS4`+#vqPJkw1}8Wc5(@0Dnh zy6?JS^@isOOTN}*=h>}4o!_UIr>{yMdP95xSW`OXeIr~J00000NkvXXu0mjf-mKs2 diff --git a/doc/html/classstk_1_1BlowBotl-members.html b/doc/html/classstk_1_1BlowBotl-members.html index 0f0d48d..0fe9fc1 100644 --- a/doc/html/classstk_1_1BlowBotl-members.html +++ b/doc/html/classstk_1_1BlowBotl-members.html @@ -8,55 +8,55 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BlowBotl Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::BlowBotl Member List

    This is the complete list of members for stk::BlowBotl, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlowBotl(void)stk::BlowBotl
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::BlowBotl
    controlChange(int number, StkFloat value)stk::BlowBotl [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::BlowBotl [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BlowBotl [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlowBotl [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::BlowBotl
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::BlowBotl
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BlowBotl [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BlowBotl(void)stk::BlowBotl
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlowBotl(void)stk::BlowBotl
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::BlowBotl
    controlChange(int number, StkFloat value)stk::BlowBotl [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::BlowBotl [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BlowBotl [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlowBotl [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::BlowBotl
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::BlowBotl
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BlowBotl [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BlowBotl(void)stk::BlowBotl
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BlowBotl.gif b/doc/html/classstk_1_1BlowBotl.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb20ce04afecb251b8fa5983c1278141b4de0fae GIT binary patch literal 771 zcmV+e1N{6)Nk%w1VNn2x0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08s#l000C2IJ(^aFv>}pxH#+0yZ>M)C}L@zXhx=N>#lArgYazM2tK%FE2e2G7mW(#+4v)7RL%)zI19*xT0L;?d#b z=F8>h>dx!!#p&+xx$yGw^!4rc`0D!m=KcP}0Swq}Ai-}3?Im<)a3MK|>l#8tH}Rar zipDNtWVim&o5qg6K7#Bea^$X(Cg-KRhLV}BmoQ^mfCcLn%^5atmeHvyC(lGBvT(Rl zC%?om;HjoAM zV}TCsWHf0RK2M8Ct-4d|&#y1ZoK3sJzLqI*kF2(m9Jk)ezyS}wZ8$~a$B`e?y<2&3 z=gXmIl>Ux7N9!T63u6wFdq?jZ!DAF(k^DsS5YanSzmR=G_Xpt?E|^P$4gvt7fw%-P%zh6tgW)e0O32HE308QaE**BL zjENpnm?DWNK3L*`C8{Xmib2ds&`rSR{i!GFTyx zEY>*Vkw8uvNrqF}=wgCYf|w+hKUOIwkxFLCB!^i-spXPY1}UbQV}96VoH%}ICY3j? zS>~Ht%DLr{Ltd#Qgm`ZFq>yf&8R3(QGTNw@1wyKwq}Wkvou$+bsOhGhcG_P806X8j Bfx`d* literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1BlowBotl.html b/doc/html/classstk_1_1BlowBotl.html index ef90fbb..835bf64 100644 --- a/doc/html/classstk_1_1BlowBotl.html +++ b/doc/html/classstk_1_1BlowBotl.html @@ -8,87 +8,81 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BlowBotl Class Reference

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

    -#include <BlowBotl.h> -

    +

    stk::BlowBotl Class Reference

    +

    STK blown bottle instrument class. +More...

    + +

    #include <BlowBotl.h>

    Inheritance diagram for stk::BlowBotl:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

    -STK blown bottle instrument class. -

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

    -Control Change Numbers:

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -96,20 +90,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::BlowBotl::BlowBotl stk::BlowBotl::BlowBotl ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BlowBotl.png b/doc/html/classstk_1_1BlowBotl.png index 46892b1386dc099ee7174d8719e9185f373fd856..d33a7d855fbdf95d45efd1b5664296c91c5d5028 100644 GIT binary patch delta 463 zcmV;=0Wki}1AqjO7zqdi0001}VE5yZAt!$bbW%=J0RR90|NsC0)yh;d0004xNklI>i)IOfkh2Q+!a|qDR>% zcBFWd2qNfPn|8;H-zx${02B%$5Fpb8ei5i=(WV%&P2m;tRwP=c1^L-C?uiVE(#B3^ z+C0yml&$)+IMOFXUG+}X{EBFgYhQo$S&_@?ec26l6F79NOB%%r}EKq>rb z8WW`m^ozM{#^=XST#Pp_>-4-FDIuE4TI8HOoq3LGW!u#_Vqa{M7406?`(QhdBB3HX zvAx!+*3b7v^>?txR&_so=djvwh+7WGh55Zs@%O~&@dse+BAN*8ZX^Hz002ovPDHLk FV1kPD<7)r_ delta 412 zcmV;N0b~Av1kD4G7zqRe0001OkQ(BVAt!$UbW%=J06^y0W&i*IV@X6oR9J=WmQ8NN zAPj|J(>3-D%n7RYLS4=Mk5K=BLz)n|(^i_PAfpN34?j$l=%x2ydrfaO)}EC_vO7Sf ziUE?eHzx@REG|4?7dVoVhDc>WXv8TgaEr=5;X-{QMPN==Q{O6@t5dI-`e3fkwUd8V z#QWrwI3X|FB4cFyEk0`>r?WpIUv9ro-fmI(IQbW~FLIHK{HNsdOYV-`TnrH2MS{B{ zHX^9TiCu_Hk@lUW=1n);3` z<%IMM18LVGC#y?AJY(kx#Yj0%?!$PV@n^KiYcl*6e**ukHXOk**rxyh000O{MNUMn GLSTZGzP&#H diff --git a/doc/html/classstk_1_1BlowHole-members.html b/doc/html/classstk_1_1BlowHole-members.html index 46e3f2f..40b678f 100644 --- a/doc/html/classstk_1_1BlowHole-members.html +++ b/doc/html/classstk_1_1BlowHole-members.html @@ -8,57 +8,57 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BlowHole Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::BlowHole Member List

    This is the complete list of members for stk::BlowHole, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlowHole(StkFloat lowestFrequency)stk::BlowHole
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::BlowHole
    controlChange(int number, StkFloat value)stk::BlowHole [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::BlowHole [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BlowHole [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlowHole [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTonehole(StkFloat newValue)stk::BlowHole
    setVent(StkFloat newValue)stk::BlowHole
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::BlowHole
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::BlowHole
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BlowHole [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BlowHole(void)stk::BlowHole
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BlowHole(StkFloat lowestFrequency)stk::BlowHole
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::BlowHole
    controlChange(int number, StkFloat value)stk::BlowHole [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::BlowHole [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::BlowHole [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::BlowHole [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTonehole(StkFloat newValue)stk::BlowHole
    setVent(StkFloat newValue)stk::BlowHole
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::BlowHole
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::BlowHole
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::BlowHole [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~BlowHole(void)stk::BlowHole
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BlowHole.gif b/doc/html/classstk_1_1BlowHole.gif new file mode 100644 index 0000000000000000000000000000000000000000..f36a6a0d1dc6c5797ae5fced807522393f3907d2 GIT binary patch literal 789 zcmV+w1M2)oNk%w1VO9W$0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09F8q000C2IJ(^aFv>}zxH#+0yZ>OgDPn1!s7I!3>uT#O&tgp9IA-6$)q{cH zPw*SgcC;ceqa@;xte{WY+!&|5stby0Du-1m)8{-6X4m4iBQCdP+%9-(@~&I)l()<= z?(ZpiC3|jcV}*QMXJ}wq7>;~GjgfGRIhQnon42M*oSz(?praR}q@bp!oT;jqtgSf} zva__c6acuny1Tr+zP$#&!o$SH#>W7`$ji*l#RkyM($mh+%GB7|zShy&-rn5T-{aKc zgnt4$L8+w!1DCl_4m5)`0@Jt?fw4L0StI;!MQG_$ zM+P7rK|>6+QuM{qno89`0`$d?R5Fgj5V@)%sRlxj5UC*}_R&}>bP#o2a_9|HN{Qf> zh5J;1rZ!_eXiX~@>?5*kg^~^Xc23*BgA*$btXJ{U#eM-tR@>q3q&br(r8P{*%~PL0 z19=VYYBcFsrcd7ht-40));nQuVlBIC%-gtW?NhmO7w_JPmi?{?mt z|J=uWk_0H=fCLt3;DHDx7=(YuEXW`+4n8PMgcABfVTHV0*h>Joa5$kPxp;_-h#mey zqKPMNSmK1bc$gxDyS%vKFd72jpb$3B7-New;+SKPKZY1$gd+MFV~Q@W$YGI6^7tc@ zOqO_Jl1&DQB$7MYC}W2pR{3O=0|NP_j$CdSWsO3nN#&SSPAR5~UADMon?Yvi?C!StjY37htvKeQQ6dLL#my*_qCWcyKYT=d`UfL    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BlowHole Class Reference

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

    -#include <BlowHole.h> -

    +

    stk::BlowHole Class Reference

    +

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

    + +

    #include <BlowHole.h>

    Inheritance diagram for stk::BlowHole:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

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

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

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

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

    -Control Change Numbers:

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -106,20 +99,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::BlowHole::BlowHole stk::BlowHole::BlowHole ( StkFloat  lowestFrequency lowestFrequency  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BlowHole.png b/doc/html/classstk_1_1BlowHole.png index 4d02b92537237daa01aec6996f780d65446c03f5..34eb9954df33de518ea71707a9b742da991a90b8 100644 GIT binary patch delta 470 zcmV;{0V)2^1BV2V7zqdi0000=yzH8hAt!$bbW%=J0RR90|NsC0)yh;d0004&NklYd@e);wcT`KP0w(DBZ2$PoW7D0b!Ct-i5 zWn6^XFlm_$$2%d|f5rOzp)ZWQGWl*cXBXFp&Dq6uVjp%Af(f~ zB|dO6MYBM?P|GBtt_)k&pho0YUrI`|cD87Z<-FRCs;yaFHdd0?Y~gyge_BHG9e$4= zqHCEh!Z}+$XGOTE?X+dBs(QEY7NK^Ah zFbqY>Zig{o&fe;asZ+_EW+snUZm+xEH*RtHg-c|=^opsh(GS_D-))ZD&46SlV zm)V3_jZqIO)DjsjA&*-YRSAj40aHD+AHk*_J7$&dw9SmRb%;~2(^ao>M&x?USWS-pZyK{pa1L5I_vE7Ss1q|4j&dC%H}&jth<9W z>)zSep0vrr1Tlun0!`==Hh^}8|m=Ij~v#5ex~7n&_&j~Cw!000UA07*qo IM6N<$g29u&asU7T diff --git a/doc/html/classstk_1_1BowTable-members.html b/doc/html/classstk_1_1BowTable-members.html index b39f17a..96636eb 100644 --- a/doc/html/classstk_1_1BowTable-members.html +++ b/doc/html/classstk_1_1BowTable-members.html @@ -8,48 +8,48 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BowTable Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::BowTable Member List

    This is the complete list of members for stk::BowTable, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BowTable(void)stk::BowTable [inline]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setOffset(StkFloat offset)stk::BowTable [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSlope(StkFloat slope)stk::BowTable [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::BowTable [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::BowTable [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::BowTable [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    BowTable(void)stk::BowTable [inline]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setOffset(StkFloat offset)stk::BowTable [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSlope(StkFloat slope)stk::BowTable [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::BowTable [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::BowTable [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::BowTable [inline]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BowTable.gif b/doc/html/classstk_1_1BowTable.gif new file mode 100644 index 0000000000000000000000000000000000000000..59097fe025b98b8e013daf9eb02a50dccf268564 GIT binary patch literal 803 zcmV+;1Kj*aNk%w1VORi&0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09XKs000C2IJ(^aFv>}%xH#+0yZ>O=DPn1!C`hJk>vHQW&t^>DxMt(Q)q{cH zPw*SkcDEuhqa@~#t)NfZ+!&|5>I<4`Du-1m)8{-6XxHMkBQCdR+%9-(@~&NRmbc6? z?(Zylb!2XYR%3;HTW4rsSs0IeLXMJfj5(M%f|;Bpo1LH@pP{4~qot*%sG+K>ovp5! z6|=OpwzB}ay1Tr+zQ4Z)z{AAF#>dFI!pY3d&d3JQ&(qY@(aY7@+QZk<+uz^--Pqyf z)#T>s&*|WqOnC6!wW8oMCVLf;+QxYyR~jMttLHhC zu|~?;m69XUNret=p?Y9V}cdlm>`Qn;OJwBGV0Rfk1iIuB8Md+DWr%b-pC`2 zI2!5Wj8DQSC6PfwnPHVzE(v6oOv*TkkYr8?<(Vs<$z_>h+9+k1Y?`U%oN?~BWtlvV zc_c7v>WF5QW+wULpl{-dW{6JG322&zs#zzMc&>@%o``yBB$s+N3F)CV_9&>5nz{+1 hhkk+xr>UiOc&e(YYPhPatzIbMthCl@Yl8^@06Vn5p%efB literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1BowTable.html b/doc/html/classstk_1_1BowTable.html index 1a9188d..361e3b4 100644 --- a/doc/html/classstk_1_1BowTable.html +++ b/doc/html/classstk_1_1BowTable.html @@ -8,65 +8,59 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::BowTable Class Reference

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

    -#include <BowTable.h> -

    +

    stk::BowTable Class Reference

    +

    STK bowed string table class. +More...

    + +

    #include <BowTable.h>

    Inheritance diagram for stk::BowTable:
    - -

    - -stk::Function -stk::Stk +
    + + +stk::Function +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    BowTable (void)
     Default constructor.
    void setOffset (StkFloat offset)
     Set the table offset value.
    void setSlope (StkFloat slope)
     Set the table slope value.
    -StkFloat tick (StkFloat input)
     Take one sample input and map to one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.
    + + + + + + + + + + + + +

    Public Member Functions

    BowTable (void)
     Default constructor.
    void setOffset (StkFloat offset)
     Set the table offset value.
    void setSlope (StkFloat slope)
     Set the table slope value.
    +StkFloat tick (StkFloat input)
     Take one sample input and map to one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.
    -


    Detailed Description

    -STK bowed string table class. -

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

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + - + @@ -74,21 +68,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -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. +

    Set the table offset value.

    +

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

    +
    -

    - + +

    void stk::BowTable::setOffset void stk::BowTable::setOffset ( StkFloat  offset offset  )  [inline]
    - + - + @@ -96,18 +89,17 @@ The table offset is a bias which controls the symmetry of the friction. If you w
    -

    -Set the table slope value. -

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

    Set the table slope value.

    +

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

    +
    -

    - + +

    void stk::BowTable::setSlope void stk::BowTable::setSlope ( StkFloat  slope slope  )  [inline]
    - + @@ -127,18 +119,17 @@ The table slope controls the width of the friction pulse, which is related to bo
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFrames & stk::BowTable::tick StkFrames & stk::BowTable::tick ( StkFrames frames,
    - + @@ -170,20 +161,20 @@ The -

    -Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::BowTable::tick StkFrames & stk::BowTable::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1BowTable.png b/doc/html/classstk_1_1BowTable.png index 0da8955d15f41a5fdd94d43cf7aa040f515ba947..15e5e97a4beee0e9798fa953e69e8269dcae81d1 100644 GIT binary patch delta 486 zcmV0EYqjEG0PFxl5|I9WKNixK<;Fk*z61L(NF z4aVu)2LmwzFp&Jvx|hH;FGO{D2&}sIz?onHRpXf!AEoFL@__#-F#ON{J+6ofB!3%mZBd3PRWVv1y0F{>;`^eR}f4v!2}abFu?>*?QpVi zL>D9YFTjWqdI|vAF^OFR&(fMK8ZZze0K+a1C}&FgP_Z(pOINV)WVfCg@aa|IdZ`aS zLyX2cV|`qE$^b0D7Tij)1GZB999Vyg)+=5SaisAlDN5OFK|juWH;~&yMkbX2_~3ef(a&gYH+dupUV;a>tF;km-3DpNo`WY zJ@9pdh1~%IA>{V6xj=Hv59*iQ0U-~?VZgEx#Z#wsto{>R0@YrXzqv>bYc*0fM_GMN z+yGp!W5B(w3M}WU)w8C$cv^}9SU#;3R=Tmq*Wz``c3a~tMJZ8pwK7<6?xJ~D@LfUh cyTMNO1(^LMWvOb-g#Z8m07*qoM6N<$f+LjR9{>OV delta 431 zcmV;g0Z{&z1mFXZ7zqRe0001yg)u0RAt!$UbW%=J06^y0W&i*Ic1c7*R9J=WmRoYe zAPhy}r{9Pj$lXD^p?-P)OQ@dMq?nqdnMpk;89(F$T*)5hhR=ZrAIs@@zXY67&j1T9 z`5cUL)rB!5D8fS^`!Y?KCqtC=fd}N=gPAvgHA7#<2JJH8I`55sTkv*2|d&@lu*uNxDd@PsGafv2x)!EVt2_7cJ|xhb!E~U1lA~mj!$i?cl1~MeoNLxmQDsEC zEpUJWr}9)`dBt=sg82Z_Z*UvJcfccC Z!8aNgNim|;Qx*UK002ovPDHLkV1hyD!5RPn diff --git a/doc/html/classstk_1_1Bowed-members.html b/doc/html/classstk_1_1Bowed-members.html index b1f590d..21238d8 100644 --- a/doc/html/classstk_1_1Bowed-members.html +++ b/doc/html/classstk_1_1Bowed-members.html @@ -8,56 +8,56 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Bowed Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Bowed Member List

    This is the complete list of members for stk::Bowed, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Bowed(StkFloat lowestFrequency)stk::Bowed
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Bowed
    controlChange(int number, StkFloat value)stk::Bowed [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Bowed [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Bowed [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Bowed [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setVibrato(StkFloat gain)stk::Bowed
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBowing(StkFloat amplitude, StkFloat rate)stk::Bowed
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBowing(StkFloat rate)stk::Bowed
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Bowed [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Bowed(void)stk::Bowed
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Bowed(StkFloat lowestFrequency)stk::Bowed
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Bowed
    controlChange(int number, StkFloat value)stk::Bowed [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Bowed [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Bowed [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Bowed [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setVibrato(StkFloat gain)stk::Bowed
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBowing(StkFloat amplitude, StkFloat rate)stk::Bowed
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBowing(StkFloat rate)stk::Bowed
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Bowed [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Bowed(void)stk::Bowed
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Bowed.gif b/doc/html/classstk_1_1Bowed.gif new file mode 100644 index 0000000000000000000000000000000000000000..851ee97fc2a06c4f7b7109c0c15f92987ab74fa9 GIT binary patch literal 750 zcmVZFy*TU5yZ@X5j$~;6V4%6gCTYVP;e9@; zd+upxUx9d6L}Of47m9d3iH&QAHIpxXl$SD+n42J$oS&Ybo1vnYq@|Oms5TU>uCK5T z0JF5Uwzs&svj)1ozQ4f1x4go|#>cn@%E-*kz{!*}H_|y9P&i($F0StI-Ai-h=4+cx9a9l%s53@0hsE#7F zi56{P%t-!gBgbkVn|b6oGGj?#u~MpBxnPw`0jgfIh$%Bt%~CXP($OTSP#!oi%y_c$ z(@qSbJm1J+#Al11GFy~%kwYZ|6F`gzm5Bq0Dpe>-iNZ`uMrltsKGAB8LkLAuuW9&j zU9?Co+OA^j?CCIdklneEe2$d@SS;YRff3);fCUX$Fj(oD^|H9_R<}Aqz0J&u^Qg_9 zD}fFzhIFdYrVXX8!LqgM3Gz--l>HD|$b#2yFSMq6x9#2wfg=?Djd*b54w3t!U0eBb z=e?LWl&+BaLF)vu2h{G5`#$gZz}FKW8@ev?@6fYTpN@Sy^A+I_d*`UW{rmXy>)+46 zzO{T?J^WWofCA1!V1Wk;m|!mf80d?C-ZYrYg1Sg3VTA)mSmA}Y5ai4xacThatx3qKz|>xS@z6QaGR^H^L}njWP;pWQQ%9Sfr0Z4tXPy zBz|aQk~%V&Bb7(i=wyRjzBuBMEb<5?m`!R~    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Bowed Class Reference

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

    -#include <Bowed.h> -

    +

    stk::Bowed Class Reference

    +

    STK bowed string instrument class. +More...

    + +

    #include <Bowed.h>

    Inheritance diagram for stk::Bowed:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

    -STK bowed string instrument class. -

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

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

    -Control Change Numbers:

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

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


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

    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 - 2010.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Bowed.png b/doc/html/classstk_1_1Bowed.png index 66e9c01324e314269a3900ff984044dbd487adec..3bd7e93172d9bc79a9de7a2fb5298e98228584cc 100644 GIT binary patch delta 451 zcmV;!0X+V{1M~xs7zqdi0001bF#WrcAt!$bbW%=J0RR90|NsC0)yh;d0004lNklbpPD_9fL+W^yEwRa_X^mJe233SUfJyi( z414Sz2B-oE3+=}kzQlZgXqOl&;Nf-5R>ehrX7fBhq&Zz>7kmqgX-*1oFU|fvtLA@t z0W8gS{9b?<=DkVmzp%_l-C8S)^ZpzwB~i=7N=ejGu@_g97%^hRh!GmPQ+BM5+T_054b+huv~BnJfSJ+d;`{Hz z!&c#FVw&fe53gY{%>x$Y3v4`^W14?AFw3JI|8cz^{tO$c$s3*6vsmV%?!8a+HLE0Q znOG@_S}OM9Y7!$xj2JOu#6&~{iA|7q`NR@1NQl%TT@cGyoW70$BKBwTpksiA?PC`l z{#)JeIvFkIUH|rYoNwK^?ZZR)#Qy%>`5%K{Q$OwAbD33BL4sY002ovPDHLkV1l#8)`tK9 delta 397 zcmV;80doHI1HS{17zqRe0002Lz!18TAt!$UbW%=J06^y0W&i*IRY^oaR9J=WmP>NO zAPk0K(>2l!L~oE>s4L(92-O1_aBxFAS;SN14A|mBLh*R?hx?R;Tb{7b>tIMW17ynh z3?sce!3YU#QD8t1eZV9Dk!Axy5yzO2Wl7EkXGtq2p--@ENoxrwNy+OYe>h3Xm6Cs! zz-QxNIKqCgg*{-CAK<{gM$W%tAKNRjZJWwEiM_Vcg)MAh?}q(19pZ9g@8J!DzrQKKfJz`W< zhxx}?E~>-*B1jqxuJP*M6I(juxy^Y|3tQO2E{egFg)|dCUIFtPfOI5ASTg?@g8(T- z$D;gAeDNHh!Fc3f(otP0l_7G31`Fj`&t`nIxlig?iKZBD>9LZu!PsP}!(!Q9F~7RA rNm4nmC6Y=NI#xRW78d5%+z0p#5uqK`=v^m;00000NkvXXu0mjfCtJ0$ diff --git a/doc/html/classstk_1_1Brass-members.html b/doc/html/classstk_1_1Brass-members.html index 383b731..9253b4e 100644 --- a/doc/html/classstk_1_1Brass-members.html +++ b/doc/html/classstk_1_1Brass-members.html @@ -8,56 +8,56 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Brass Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Brass Member List

    This is the complete list of members for stk::Brass, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Brass(StkFloat lowestFrequency)stk::Brass
    channelsOut(void) const stk::Instrmnt [inline]
    clear()stk::Brass
    controlChange(int number, StkFloat value)stk::Brass [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Brass [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Brass [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Brass [virtual]
    setLip(StkFloat frequency)stk::Brass
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Brass
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Brass
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Brass [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Brass()stk::Brass
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Brass(StkFloat lowestFrequency)stk::Brass
    channelsOut(void) const stk::Instrmnt [inline]
    clear()stk::Brass
    controlChange(int number, StkFloat value)stk::Brass [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Brass [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Brass [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Brass [virtual]
    setLip(StkFloat frequency)stk::Brass
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Brass
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Brass
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Brass [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Brass()stk::Brass
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Brass.gif b/doc/html/classstk_1_1Brass.gif new file mode 100644 index 0000000000000000000000000000000000000000..0e64c2b59cdcde87abc7b4833c9acc2988fc8f9b GIT binary patch literal 739 zcmV<90v!EENk%w1VN3vs0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui089Xg000C2IJ(^aFv>ZFy*TU5yZ@X5j$~;6V4%6gCTYVP;e9@; zd+upxUx9d6L}Of47m9d3iH&QAHIpxXl$SD+n42J$oS&Ybo1vnYq@|Oms5TU>uCK5T z0JF5Uwzs&svj)1ozQ4f1x4go|#>cn@%E-*kz{!*}H_|y9P&i($F0StI-Ai-h=4+cx9a9l%s53@0hsE#7F zi56{P%t-!gBgbkVn|b6oGGj?#u~MpBxnPw`0jgfIh$%Bt%~CXP($OTSP#!oi%y_c$ z(@qSbJm1J+#Al11GFy~%kwYZ|6F`gzm5Bq0Dpe>-iNZ`uMrltsKGAB8LkLAuuW9&j zU9?Co+OA^j?CCIdklneEe2$d@SS;YRff3);fCUX$Fj(oD^|H9_R<}Aqz0J&u^Qg_9 zD}fFzhIFdYrVXX8!LqgM3Gz--l>HD|$b#2yFSMq6x9#2wfg=?Djd*b54w3t!U0eBb z=e?LWl&+BaLF)vu2h{G5`#$gZz}FKW8@ev?@6fYTpN@Sy^A+I_d*`UW{rmXy>)+46 zzN&m%J^WWofCA1!V1Wk;m>@6#80d?C>@4_8g8)#di-i?Nh+!@S`jFv=w_s>tgA{s5 zOM(*OlH!04en{epEsA(zi7>htAR!S*ll2p!U=8Dgz0fCeh)paCQR06W3BcVqwn literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Brass.html b/doc/html/classstk_1_1Brass.html index c5bae5d..34113bb 100644 --- a/doc/html/classstk_1_1Brass.html +++ b/doc/html/classstk_1_1Brass.html @@ -8,92 +8,86 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Brass Class Reference

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

    -#include <Brass.h> -

    +

    stk::Brass Class Reference

    +

    STK simple brass instrument class. +More...

    + +

    #include <Brass.h>

    Inheritance diagram for stk::Brass:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

    -STK simple brass instrument class. -

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

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

    -Control Change Numbers:

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -101,20 +95,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

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

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

    Class constructor, taking the lowest desired playing frequency.

    +

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

    +
    -

    -


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

    stk::Brass::Brass stk::Brass::Brass ( StkFloat  lowestFrequency lowestFrequency  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Brass.png b/doc/html/classstk_1_1Brass.png index 1af8b09e1a913dfbd8433aee3ffa971c5f516054..ffc40bad1e7e4b2247d4554a5ee67d13a458b23b 100644 GIT binary patch delta 445 zcmV;u0Yd(~1MUNm7zqdi0001bF#WrcAt!$bbW%=J0RR90|NsC0)yh;d0004fNklOi1w6cu*{-3fZ?7+9MnC7AZ_tG5ySKWWy zZ-AxQ%I^(`VLqG0{tL@|)$NV4dEK95r6g*ZSSg8GD)!=T5+g>87%^hRL`39B9CB#d zAognvs)*At=J^zV2m@3B1P`iEU|d$%pF-Oz>Lnekt9J1?9Tw_J4ccvce8S8aa`F53 z<>^+TG%?L<%$N7DnC1zK@&{}#%{hO~8<^$M%75PP#b04lH~F9wdlt)l)xGzPzGsz0 zEfXsxQA@>M+)ZM{h!G=3jF^asAaMxtj!!HHgM?u1Qx@hQH!(oOelH$(tcL3;$IlC_ z8famk8fKH>s_7`_jOzUtHES_9=G+%)p0J*#(R*nQIrMPA99wz2c6h6SmO8sT*)9}UK+uG00000NkvXXu0mjf-CWfd delta 394 zcmV;50d@ZF1H1!}7zqRe0002Lz!18TAt!$UbW%=J06^y0W&i*IQb|NXR9J=WmPu~I zFbqYdP1hoCK=lUgg}UB@l9lm4mmlzD! z!OI@iknpCL6zR2L)C_>`_rCG@QQqTZ+rMGMb)eamDtq1@puOl1jL^rX>(IO&9Wk1& z!}2~>o9pO#F(f+-uJPBuCboRY1sO0gJtW-$Aq->|3wUVE_OC07*qoM6N<$g2NlY4FCWD diff --git a/doc/html/classstk_1_1Chorus-members.html b/doc/html/classstk_1_1Chorus-members.html index 28e7e7c..e950a82 100644 --- a/doc/html/classstk_1_1Chorus-members.html +++ b/doc/html/classstk_1_1Chorus-members.html @@ -8,52 +8,52 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Chorus Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Chorus Member List

    This is the complete list of members for stk::Chorus, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    Chorus(StkFloat baseDelay=6000)stk::Chorus
    clear(void)stk::Chorus [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::Chorus [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setModDepth(StkFloat depth)stk::Chorus [inline]
    setModFrequency(StkFloat frequency)stk::Chorus
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::Chorus [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Chorus [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Chorus [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    Chorus(StkFloat baseDelay=6000)stk::Chorus
    clear(void)stk::Chorus [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::Chorus [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setModDepth(StkFloat depth)stk::Chorus [inline]
    setModFrequency(StkFloat frequency)stk::Chorus
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::Chorus [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Chorus [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Chorus [inline]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Chorus.gif b/doc/html/classstk_1_1Chorus.gif new file mode 100644 index 0000000000000000000000000000000000000000..d8fb4362baff046232a01496c76f1c6c12020e37 GIT binary patch literal 729 zcmV;~0w(=ONk%w1VM+jq0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui07?Le000C2IJ(^aFv=N)y*TU5yZ@R3j$~b45uCK5R z0JF5Uwzs&s00z3fzQ4f1wYch>%E-*kzRJYT($dh&)7Qw=(b(L=+uh*5-{IuA zDk30Ss7dAi-b;4~kPbk0G~&4s$__cxxiX zVHc@oi^rC{tcqB}x^`6)s=ak@+bm%{D7RSP|qSQ5+J5P~^-K zG*SjQe>_b3;%MihqfmSfVoE2&AwpsR9etYBs8bAAw>Co5(+gLpMVBHS+kws6MvnN% z1v^wwBuIAic-54-?DpRX|Ag^RZ*9@U`6liTW!fLi}%g&9EcR}CYfcF-@koYs>$C2xT9b5Tw z=MtftlU|W}GV2(ztJA)nJ9CBK4~8c=K45u&=l7+@x4vHcvhd@}pHIKO{rKE_?l|ZfCfT{OM?dv_@IRRb(rBS5*~=5g%A=* zqJt-bD58oiS~%f|wlIj{gbsda;)es;s7r_--l*Y%HMWSOk2&^u;fzA&h-8ts_(    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Chorus Class Reference

    STK chorus effect class. -More... -

    -#include <Chorus.h> -

    +

    stk::Chorus Class Reference

    +

    STK chorus effect class. +More...

    + +

    #include <Chorus.h>

    Inheritance diagram for stk::Chorus:
    - -

    - -stk::Effect -stk::Stk +
    + + +stk::Effect +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Chorus (StkFloat baseDelay=6000)
     Class constructor, taking the median desired delay length.
    -void clear (void)
     Reset and clear all internal state.
    -void setModDepth (StkFloat depth)
     Set modulation depth.
    -void setModFrequency (StkFloat frequency)
     Set modulation frequency.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

     Chorus (StkFloat baseDelay=6000)
     Class constructor, taking the median desired delay length.
    +void clear (void)
     Reset and clear all internal state.
    +void setModDepth (StkFloat depth)
     Set modulation depth.
    +void setModFrequency (StkFloat frequency)
     Set modulation frequency.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    -


    Detailed Description

    -STK chorus effect class. -

    -This class implements a chorus effect. It takes a monophonic input signal and produces a stereo output signal.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK chorus effect class.

    +

    This class implements a chorus effect. It takes a monophonic input signal and produces a stereo output signal.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -81,22 +73,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

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

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

    Class constructor, taking the median desired delay length.

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::Chorus::Chorus stk::Chorus::Chorus ( StkFloat  baseDelay = 6000 baseDelay = 6000  ) 
    - + - + @@ -104,18 +95,17 @@ An -

    -Return the specified channel value of the last computed stereo frame. -

    -Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Return the specified channel value of the last computed stereo frame.

    +

    Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFloat stk::Chorus::lastOut StkFloat stk::Chorus::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + @@ -135,18 +125,17 @@ Use the -

    -Input one sample to the effect and return the specified channel value of the computed stereo frame. -

    -Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Input one sample to the effect and return the specified channel value of the computed stereo frame.

    +

    Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFloat stk::Chorus::tick StkFloat stk::Chorus::tick ( StkFloat  input,
    - + @@ -166,18 +155,17 @@ Use the -

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

    -The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

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

    +

    The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFrames & stk::Chorus::tick StkFrames & stk::Chorus::tick ( StkFrames frames,
    - + @@ -209,20 +197,20 @@ The -

    -Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object. -

    -The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.

    +

    The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Chorus::tick StkFrames & stk::Chorus::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Chorus.png b/doc/html/classstk_1_1Chorus.png index fe5bab7274163b6f4bfa67cf7769ade4fe27bd72..d18bb19c8810c174a6862395f422476d4dcfd19e 100644 GIT binary patch delta 446 zcmdnO{GNG&1SbbG0|P_3UhkiYit6ZuST1_s7DPZ!6K3dXm0FHUM! z;9(8OoAdC$eWkpI!NS6;X18CK=_N0hc<9m8w?0=pJ9qLTw^c1o9EU6$RQ|BE+LpC5 zxiGY3-ikb|er1pOk)*Devwpe6gJ-Z~X^d&!E4 zRh>;7e>52!TpB(`v)^BE=Ren9r(S90j9ZKf+pHoE{OZ3VpuiN}Y@8eVdur-m?WN3j zI97)`%~k#3uy*yWr}t046Si59#Mv+W<#@eeX`Ht2g|2naf>v*6-X~Hs*YmGn==YDm z_RIgm>H??8>=jX#E0=3-X=Q5=te@)iYJQ+Y_OF67o$HzxzM6lo`CRuEfrN>buih;V z{(jlwRB+W7zqRe00028-eCQaAt!$UbW%=J06^y0W&i*IN=ZaPR9J=WmP?Mq zAPk1_rfcjQKyT2w(5!O*Bh&^=p@9Zfk=oJN%7eg%e;X;X-Oq}-TRgVwpP)jd{6>lt zjwq7Rgu;lF*GSyymYz!6DM1JrrG098!&nT$28k0 gE}p$nu=c0j0h{pyWCDaeO#lD@07*qoM6N<$f+1M6OaK4? diff --git a/doc/html/classstk_1_1Clarinet-members.html b/doc/html/classstk_1_1Clarinet-members.html index 4c1c232..988e3a0 100644 --- a/doc/html/classstk_1_1Clarinet-members.html +++ b/doc/html/classstk_1_1Clarinet-members.html @@ -8,55 +8,55 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Clarinet Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Clarinet Member List

    This is the complete list of members for stk::Clarinet, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    Clarinet(StkFloat lowestFrequency)stk::Clarinet
    clear(void)stk::Clarinet
    controlChange(int number, StkFloat value)stk::Clarinet [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Clarinet [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Clarinet [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Clarinet [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Clarinet
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Clarinet
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Clarinet [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Clarinet(void)stk::Clarinet
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    Clarinet(StkFloat lowestFrequency)stk::Clarinet
    clear(void)stk::Clarinet
    controlChange(int number, StkFloat value)stk::Clarinet [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Clarinet [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Clarinet [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Clarinet [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Clarinet
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Clarinet
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Clarinet [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Clarinet(void)stk::Clarinet
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Clarinet.gif b/doc/html/classstk_1_1Clarinet.gif new file mode 100644 index 0000000000000000000000000000000000000000..c2c1cb86b89f65b047d0c8306aad67477048b2ad GIT binary patch literal 758 zcmV}Vy*TU5yZ@a6j$~;6V4&H=CTYVP;eAf3 zd+upxUx9d6L}Of47m9d3iH&QAHIp!Yl$SD+n42S(oSy=opqrwjm!+nYsHrp*uCK7M z5CF8bwzs&sy0iwnzQ4f1!nwV}#>dFI2FuCK&ce&Z&(qYr(bCn~$k*7~-oxGB;=tkK z=EUdeyXETX?Cs|7@Z$3G-u3p``1#cP{LlXWH47+kTfuk-#}P~jjp4V24u3(6xQ?Pe zi`6D#yruqeW37%J0f6*4a$`whvQnyC$$*v1RW4t^j2VfhshKwEXcAN?4;&bCJX!H+ zCq~enZ{#rIvqevtElRq`p`w8aAV!4B!~ryQDwL!{Em+N@iE1Oy9e9+2%!h74M+5ToKDPEY>ZWuV4!IovWA-+^TMKs>-an73a>C zK7$rB`jqI>hEP+&sd@v;*RUzfJ86-2#AqRt;m&Q08*gyee)krB%=T^K!;v>s9?ZBy z=M14IlzxzULF)ps|I^Nodp_^>z|UshoIE-664Cn-508C2_v+xgQ(qCDqx<;t>)+46 zzrBC_^ySh+fVd1upe+U-NK1kWGN?-c3kKszEf7j*Ooa$yxJ!i^K8Rq1;&cdrg9~yv zAcr0bNFjp|wiqFc2KsOdi71ZvB84D|m?MrQ=2#((WtcmHiDa5$V#%YMGwOJyi#Kkm<(MZX oN#=?`c1U7?f6^DIdV``@sCkEymnd_KD)--`kVY!04+#JOI~IX~)c^nh literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Clarinet.html b/doc/html/classstk_1_1Clarinet.html index 2ac7508..f5529f3 100644 --- a/doc/html/classstk_1_1Clarinet.html +++ b/doc/html/classstk_1_1Clarinet.html @@ -8,88 +8,83 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Clarinet Class Reference

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

    -#include <Clarinet.h> -

    +

    stk::Clarinet Class Reference

    +

    STK clarinet physical model class. +More...

    + +

    #include <Clarinet.h>

    Inheritance diagram for stk::Clarinet:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

    -STK clarinet physical model class. -

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

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

    -Control Change Numbers:

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -97,20 +92,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

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

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

    Class constructor, taking the lowest desired playing frequency.

    +

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

    +
    -

    -


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

    stk::Clarinet::Clarinet stk::Clarinet::Clarinet ( StkFloat  lowestFrequency lowestFrequency  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Clarinet.png b/doc/html/classstk_1_1Clarinet.png index 2f2c5d494857c4cd0e341d6d439f1cd2e01beea4..4ff3d41b079116c92db9807f8931549ad4501f77 100644 GIT binary patch delta 456 zcmV;(0XP221Nj4x7zqdi0001$@|J~>At!$bbW%=J0RR90|NsC0)yh;d0004qNkl5sHY@eNtDb*u zbipcZJ?LGCX}+h_ey*i{0q;e)TmLTMvWS^%Q!Nl9FiB* zQZ$Gl4nxf2IsYjQ5CITCh(G{8EwCSfv{~p9r|Gn<_Cq(JGn%yfj{K|{;>zhK7}L|e z;?s$hzSjEmO)XY>(jxs%n;*})(j9-zN@+bf1HA()ZSE=GdTQU%Qon#t{?^~aY9^Pe z)tbrWYLD(IHEPtTQKLrfGLRVsi4{;w(NHEG05m@>TPEIUSl(iFs7V7#vHzI9H(cl` z3v>^P4coq;DWc2#Fq~OY9gY=aq1SA}RW%>7i>p7UN-s6n5XWeC(FI@WS#vbf>QFDA y+suV0v{h;AL0jR=8x0RlX|3T~Pwo3!X8Zxx9w6nSRMw9G0000!YD==dAgN%c0xn80ku#QtF?PuFiie zK8IePw&PRoUMz0J%|4eW@pYE`JNLFdm)o{E;aTq4^Db_2i@OTxlWB6f? znp;tWz;0yJ9au_yT{tPO!978B3A$Hb{Zbr5;hJ0F@HyGMLF|x&?tv2?aNVtV!D}a+ zbhi?P0hfzgsRc7KJC5?}&-eP=@-KhOzbtNXi@VR!RA9m>iK}o>c_LlcS}L`loaPYH zF*-+yFv{q8AYEw&(3X1hf&=S;=-;I`>Rtp-VCx6=q15|DUV$T*=!OGooF3V3j?ir! z?)#;kE    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Delay Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Delay Member List

    This is the complete list of members for stk::Delay, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    contentsAt(unsigned long tapDelay)stk::Delay
    Delay(unsigned long delay=0, unsigned long maxDelay=4095)stk::Delay
    energy(void) const stk::Delay
    Filter(void)stk::Filter [inline]
    getDelay(void) const stk::Delay [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::Delay [inline]
    nextOut(void)stk::Delay [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(unsigned long delay)stk::Delay
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::Delay
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Delay [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Delay [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Delay [inline]
    ~Delay()stk::Delay
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTo(unsigned long tapDelay, StkFloat value)stk::Delay
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    contentsAt(unsigned long tapDelay)stk::Delay
    Delay(unsigned long delay=0, unsigned long maxDelay=4095)stk::Delay
    energy(void) const stk::Delay
    Filter(void)stk::Filter [inline]
    getDelay(void) const stk::Delay [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::Delay [inline]
    nextOut(void)stk::Delay [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(unsigned long delay)stk::Delay
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::Delay
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Delay [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Delay [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Delay [inline]
    ~Delay()stk::Delay
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Delay.gif b/doc/html/classstk_1_1Delay.gif new file mode 100644 index 0000000000000000000000000000000000000000..36784d69387201243d6d2185c81aea209ac7857d GIT binary patch literal 690 zcmV;j0!{r#Nk%w1VL||i0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui073wW000C2IJ(^aFv>ZEy*TU5yYI>;jwBhDXj-0X>t^gLt1%i__ZRHBkoTra z>!-sIeW{vfhhrW!z~=4wQF4yN-jiv>A%mpoFM8EBQP%QhT*8t)=??b00nXo?cxL{^ z+r52YVOmpbfl`EYcrZdUjw_9il5mlemW-E~n3|k=oHCxDE}^0{6sM@E6acKPuCK7M zuLiQUwzs&sthBnlzP|tl!obAEu)@5?%D>3N%g?#Z$~k%IWIG?Crqs@V@f%y7l(B`1!W`{IdT3brTqmAhCc3cO_)DkY2-H2opv$IFVpQ zffsM7+Q|MXDI`e|CQnid14s@JE__U}q;q9S%OsVIj44F33luLrq;z?c zh7Zp}Z;To`v!Uo7re%TxifJZK&NWrJ)clF`<_)AiZr^|A&fN^_~DK+zW5-CGES)9g#Y!IkdgN_WaN2E{?lZV YszHgGl%`Qhnw6q$r{$JhYMB54J8*(vssI20 literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Delay.html b/doc/html/classstk_1_1Delay.html index 2573fa6..0847617 100644 --- a/doc/html/classstk_1_1Delay.html +++ b/doc/html/classstk_1_1Delay.html @@ -8,84 +8,74 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Delay Class Reference

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

    -#include <Delay.h> -

    +

    stk::Delay Class Reference

    +

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

    + +

    #include <Delay.h>

    Inheritance diagram for stk::Delay:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

     Delay (unsigned long delay=0, unsigned long maxDelay=4095)
     The default constructor creates a delay-line with maximum length of 4095 samples and zero delay.
    ~Delay ()
     Class destructor.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setDelay (unsigned long delay)
     Set the delay-line length.
    +unsigned long getDelay (void) const
     Return the current delay-line length.
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.
    StkFloat addTo (unsigned long tapDelay, StkFloat value)
     Sum the provided value into the delay line at tapDelay samples from the input.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    StkFloat nextOut (void)
     Return the value that will be output by the next call to tick().
    +StkFloat energy (void) const
     Calculate and return the signal energy in the delay-line.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK non-interpolating delay line class. -

    -This class implements a non-interpolating digital delay-line. If the delay and maximum length are not specified during instantiation, a fixed maximum length of 4095 and a delay of zero is set.

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

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK non-interpolating delay line class.

    +

    This class implements a non-interpolating digital delay-line. If the delay and maximum length are not specified during instantiation, a fixed maximum length of 4095 and a delay of zero is set.

    +

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

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -105,22 +95,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -The default constructor creates a delay-line with maximum length of 4095 samples and zero delay. -

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

    The default constructor creates a delay-line with maximum length of 4095 samples and zero delay.

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::Delay::Delay stk::Delay::Delay ( unsigned long  delay = 0,
    - + - + @@ -128,21 +117,20 @@ An -

    -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. +

    Set the maximum delay-line length.

    +

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

    + -

    - + +

    void stk::Delay::setMaximumDelay void stk::Delay::setMaximumDelay ( unsigned long  delay delay  ) 
    - + - + @@ -150,21 +138,20 @@ This method should generally only be used during initial setup of the delay line
    -

    -Set the delay-line length. -

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

    Set the delay-line length.

    +

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

    +
    -

    - + +

    void stk::Delay::setDelay void stk::Delay::setDelay ( unsigned long  delay delay  ) 
    - + - + @@ -172,21 +159,50 @@ The valid range for delay is from 0 to the maximum delay-line length.
    -

    -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). +

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

    +

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

    +
    -

    - + +

    StkFloat stk::Delay::contentsAt StkFloat stk::Delay::contentsAt ( unsigned long  tapDelay tapDelay  ) 
    - + + + + + + + + + + + + + + + + +
    StkFloat stk::Delay::nextOut StkFloat stk::Delay::addTo (unsigned long  tapDelay,
    StkFloat  value 
    )
    +
    +
    + +

    Sum the provided value into the delay line at tapDelay samples from the input.

    +

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

    + +
    +
    + +
    +
    + + + - + @@ -194,18 +210,17 @@ The tap point is determined modulo the delay-line length and is relative to the
    -

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

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

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

    +

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

    +
    -

    - + +

    StkFloat stk::Delay::nextOut ( void   )  [inline]
    - + @@ -225,20 +240,19 @@ This method is valid only for delay settings greater than zero!
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::Delay::tick StkFrames & stk::Delay::tick ( StkFrames frames,
    - + @@ -270,20 +284,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Delay::tick StkFrames & stk::Delay::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Delay.png b/doc/html/classstk_1_1Delay.png index 5d335513f9aa911c5e3d4394d2f9333fbe69a7ba..3edec252ae5f05858b2ebd8178c412fa771f6f8b 100644 GIT binary patch delta 434 zcmV;j0Zsm>1LFgb7zqdi0001F`OOHCAt!$bbW%=J0RR90|NsC0)yh;d0004UNklC*2t~a#@&7-0A3zI=)mgg9Yyz3dDB=+=?f6=*u$7B~mWV9^L@;vzj{5@y zZr=$4AOc{*WiYxIh<+AGr4HWK-8+QD+R(1WREb}R8!O2jAZ#IyoF|3okJpi%oKk;C z6SK={-T9g&;s6o91h!W9A%BmkHOz=3Y7H}9KzvC@5|M~RBq9-sc(N;O<)WY^;sF67 z=qUiOZ&*1;ELU6vKm@?VwgHGhoDaZ`wxkd$UFhk!DBpgHMM$j9o~3XQ%R(l^l*P?- z<i%Uf@qeBSRzo&oCP<_A0vi+8w5~_G`UCe0G!V}8W6k_&C{oMYPakD84~|gr)3*G- ccoz}2AJbzTkVfjo{{R3007*qoM6N<$f^x#W%K!iX delta 374 zcmV-+0g3+O1E>R#7zqRe0001?2_OlPAt!$UbW%=J06^y0W&i*IK1oDDR9J=WmCKF8 zAP|P(k~1?Mz;=){v?upp!p;i}HV%rMNY(~~1`MC)C86IvM#J6H^YL>*A|})oFkyT~ zAn!T^BtSh!c9Zdykl#?;N4mopw>~0Iusws=iBbr0xF;-1$+Qy%a|Kq*HdBtmiE@9Y z)DNm9?)%Xn-$smI!*<+uC$AIB?`h(;ET@UL)G~=lOyZdMhkBb82LLMh=@D3eR74}T zEOLC1MC+8O#8wHBT@l_w6e$H2eI=SGnJ7L08lo24RCKi>8nI1BQA})&&{|&X>6Z{w zZznN{Nqmlg(Qskl(_f6pD}b)ykO*S5>k;4}1aCKiKC%f$kf9mGI=0?SMbL!o-7Xt~ zZW}^6&Bm`8YLw!`9Qi_M9zNGn@>mIu!imzc^uubAGzL8#65fr7FeKcyh~aDa1E|;O US+!ofi2wiq07*qoM6N<$f*8Z2x&QzG diff --git a/doc/html/classstk_1_1DelayA-members.html b/doc/html/classstk_1_1DelayA-members.html index e299a85..d2fb05c 100644 --- a/doc/html/classstk_1_1DelayA-members.html +++ b/doc/html/classstk_1_1DelayA-members.html @@ -8,58 +8,58 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::DelayA Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::DelayA Member List

    This is the complete list of members for stk::DelayA, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::DelayA [virtual]
    contentsAt(unsigned long tapDelay)stk::DelayA
    DelayA(StkFloat delay=0.5, unsigned long maxDelay=4095)stk::DelayA
    Filter(void)stk::Filter [inline]
    getDelay(void) const stk::DelayA [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::DelayA [inline]
    nextOut(void)stk::DelayA [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(StkFloat delay)stk::DelayA
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::DelayA
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::DelayA [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::DelayA [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::DelayA [inline]
    ~DelayA()stk::DelayA
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::DelayA [virtual]
    contentsAt(unsigned long tapDelay)stk::DelayA
    DelayA(StkFloat delay=0.5, unsigned long maxDelay=4095)stk::DelayA
    Filter(void)stk::Filter [inline]
    getDelay(void) const stk::DelayA [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::DelayA [inline]
    nextOut(void)stk::DelayA [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(StkFloat delay)stk::DelayA
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::DelayA
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::DelayA [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::DelayA [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::DelayA [inline]
    ~DelayA()stk::DelayA
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1DelayA.gif b/doc/html/classstk_1_1DelayA.gif new file mode 100644 index 0000000000000000000000000000000000000000..8e8d409c051daedec87f04fa526adf1736ef9c72 GIT binary patch literal 734 zcmV<40wMiJNk%w1VM_pr0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui080Rf000C2IJ(^aFv=-~y*TU5yZ@U4j$~b45uCK5S z0JF5Uwzs&s00z3fzQ4f1w!Ff{#>ck?%E-*kzskhU($mn()7Q+^(b(L@+uh*6-{IuB zx)f{At(N3e zCCbz-)vjpUk~M3VP+6lGLM4KvQ;e#rc=--bp;`kwv zHg4!+k}M*4V~thjsO6O&?s%k@RsPqdi9l`%C5%Wil;(@8t;yy_ZoVm7DoSnwu QDI9!!_UY%J0VDtbJ4)Gf#sB~S literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1DelayA.html b/doc/html/classstk_1_1DelayA.html index 4b91029..32d6f1d 100644 --- a/doc/html/classstk_1_1DelayA.html +++ b/doc/html/classstk_1_1DelayA.html @@ -8,84 +8,72 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::DelayA Class Reference

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

    -#include <DelayA.h> -

    +

    stk::DelayA Class Reference

    +

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

    + +

    #include <DelayA.h>

    Inheritance diagram for stk::DelayA:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     DelayA (StkFloat delay=0.5, unsigned long maxDelay=4095)
     Default constructor creates a delay-line with maximum length of 4095 samples and delay = 0.5.
    ~DelayA ()
     Class destructor.
    -void clear (void)
     Clears all internal states of the delay line.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setDelay (StkFloat delay)
     Set the delay-line length.
    -StkFloat getDelay (void) const
     Return the current delay-line length.
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     DelayA (StkFloat delay=0.5, unsigned long maxDelay=4095)
     Default constructor creates a delay-line with maximum length of 4095 samples and delay = 0.5.
    ~DelayA ()
     Class destructor.
    +void clear (void)
     Clears all internal states of the delay line.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setDelay (StkFloat delay)
     Set the delay-line length.
    +StkFloat getDelay (void) const
     Return the current delay-line length.
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK allpass interpolating delay line class. -

    -This class implements a fractional-length digital delay-line using a first-order allpass filter. If the delay and maximum length are not specified during instantiation, a fixed maximum length of 4095 and a delay of 0.5 is set.

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

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK allpass interpolating delay line class.

    +

    This class implements a fractional-length digital delay-line using a first-order allpass filter. If the delay and maximum length are not specified during instantiation, a fixed maximum length of 4095 and a delay of 0.5 is set.

    +

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

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -105,22 +93,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Default constructor creates a delay-line with maximum length of 4095 samples and delay = 0.5. -

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

    Default constructor creates a delay-line with maximum length of 4095 samples and delay = 0.5.

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::DelayA::DelayA stk::DelayA::DelayA ( StkFloat  delay = 0.5,
    - + - + @@ -128,21 +115,20 @@ An -

    -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. +

    Set the maximum delay-line length.

    +

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

    + -

    - + +

    void stk::DelayA::setMaximumDelay void stk::DelayA::setMaximumDelay ( unsigned long  delay delay  ) 
    - + - + @@ -150,21 +136,20 @@ This method should generally only be used during initial setup of the delay line
    -

    -Set the delay-line length. -

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

    Set the delay-line length.

    +

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

    +
    -

    - + +

    void stk::DelayA::setDelay void stk::DelayA::setDelay ( StkFloat  delay delay  ) 
    - + - + @@ -172,21 +157,20 @@ The valid range for delay is from 0.5 to the maximum delay-line length.
    -

    -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). +

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

    +

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

    +
    -

    - + +

    StkFloat stk::DelayA::contentsAt StkFloat stk::DelayA::contentsAt ( unsigned long  tapDelay tapDelay  ) 
    - + - + @@ -194,18 +178,17 @@ 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(). -

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

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

    +

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

    +
    -

    - + +

    StkFloat stk::DelayA::nextOut StkFloat stk::DelayA::nextOut ( void   )  [inline]
    - + @@ -225,20 +208,19 @@ This method is valid only for delay settings greater than zero!
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::DelayA::tick StkFrames & stk::DelayA::tick ( StkFrames frames,
    - + @@ -270,20 +252,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::DelayA::tick StkFrames & stk::DelayA::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1DelayA.png b/doc/html/classstk_1_1DelayA.png index ada21f473f068edc6f92a2bd04b8c073c0d419a7..39e2c9b5112ceced142b2c217cc20e7a1e1011cf 100644 GIT binary patch delta 453 zcmX@g{Ec~n1SbbG0|Ud1H_r}DR8+6$C<*clX7~>QS5Ji)F)%Q;db&751ZX^U{tX&h-drP2MYHwxPt^M)mAErfp~;Fp!DoN+!t=6` z41x?>`}vQ(3=jMLT4AE-sefjBb3dx>U4HenU(wvfJ39~CZY=3@d)r?$MSgXE{q3#K zWwM_}zx`Tb)1PRYYq{_8Hn)4b-(+g1+n>33>L&l^E&I0hC$@@)MI^R<&A#^3{E};& zvJN}9%Y@|&0ngf|ny-0!YA>q*W5DcJj2#ZDP78cADmJ*NO<4X|slK#l^U>KUNlRne zzFHkWIqT7@AGL2&`?Rz3PSx%e+iHJqW7xg=HGAJAgKW+O+Pv@U-o37=*z6Vi31h?otEj{ajc=rBe!(j^?>S$rR@EEXscl z*aEE^IgMTHBqr8igCAfUug=`>vE}kg%N=#U|x@GO6FIhg9RE@nD;9N4noj#YI&J* z7q%Fsq84)RxcA!WuVB=`#FS_;LMjY^MS*WnPijF#OEyjEy$Ds$=FMq&wjIWz?0~Li x4Rso1c~@CUq)4@&n#_?-X%002ovPDHLkV1i@0vQ+>8 diff --git a/doc/html/classstk_1_1DelayL-members.html b/doc/html/classstk_1_1DelayL-members.html index 055e341..9ca7a9a 100644 --- a/doc/html/classstk_1_1DelayL-members.html +++ b/doc/html/classstk_1_1DelayL-members.html @@ -8,58 +8,58 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::DelayL Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::DelayL Member List

    This is the complete list of members for stk::DelayL, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    contentsAt(unsigned long tapDelay)stk::DelayL
    DelayL(StkFloat delay=0.0, unsigned long maxDelay=4095)stk::DelayL
    Filter(void)stk::Filter [inline]
    getDelay(void) const stk::DelayL [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::DelayL [inline]
    nextOut(void)stk::DelayL [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(StkFloat delay)stk::DelayL
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::DelayL
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::DelayL [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::DelayL [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::DelayL [inline]
    ~DelayL()stk::DelayL
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    contentsAt(unsigned long tapDelay)stk::DelayL
    DelayL(StkFloat delay=0.0, unsigned long maxDelay=4095)stk::DelayL
    Filter(void)stk::Filter [inline]
    getDelay(void) const stk::DelayL [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::DelayL [inline]
    nextOut(void)stk::DelayL [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(StkFloat delay)stk::DelayL
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::DelayL
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::DelayL [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::DelayL [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::DelayL [inline]
    ~DelayL()stk::DelayL
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1DelayL.gif b/doc/html/classstk_1_1DelayL.gif new file mode 100644 index 0000000000000000000000000000000000000000..42fa3339855d9e6c3c4d056a2b9ff727c0e1f043 GIT binary patch literal 773 zcmV+g1N!_&Nk%w1VMzdp0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui07(Fd000C2IJ(^aFvZS_vFh-zlPz?5zP>oRcOtzS&r158cB6ZR0Y3dw#q3073bS{&$)6&`uR>m(vZCH*i z>Cqf{byj>$csX2vRBecOYJD}4kCK#Pm6soLn46lLmz|!JprMhYq%;(%s;jIF0I#sI zva__c2DP}ky1Tr%x4po@!nOv#!^g+~2g`;N!32 zkxaN(?m4r4)#SdL<| zi4-wL)ad?@<3f+QT8SJ<@)RjkCYPl2gmUE&NG>I{9K^$imp?FOD(Y~@(Vi8fZdR!y zWy2Psf_h#6^`{ZdpNhI10>Lzcn?N>w;!H#prcthGii(Bf!)GS1foLkd)70pQs!@qr zbsLwcQVc=4IJNV1E*d9-y2kv3c5u$ZhFR!L>|rru4vrtoKrFdX<-;U1YmNY*v**vC zLyH~_aG!CMz!o&0q3(9t(nublmH_r&1`mk*qNZ~MNvhu1$o zyUfl100t=FfCLt3U=RFFhhT!uEy&<;4n7!Mgc9~fp=begmf>mtp|)XbA7U8dXd8|g zT8JiomZE7ZYMA1JJ^)Z6iJ*NLqlTW{C}WN|vS{LrJML&>k0SyZq>)JWNaBw*y2xRZ zK^}Rcl17SXC6O&giRFzpa!DnJEdrTgm{2kq<&Z=AIHi-mUq^?a$DQlKqTIhkCcIqjo2><{) D0~v{| literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1DelayL.html b/doc/html/classstk_1_1DelayL.html index 3d6d866..b47b46a 100644 --- a/doc/html/classstk_1_1DelayL.html +++ b/doc/html/classstk_1_1DelayL.html @@ -8,80 +8,69 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::DelayL Class Reference

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

    -#include <DelayL.h> -

    +

    stk::DelayL Class Reference

    +

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

    + +

    #include <DelayL.h>

    Inheritance diagram for stk::DelayL:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     DelayL (StkFloat delay=0.0, unsigned long maxDelay=4095)
     Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.
    ~DelayL ()
     Class destructor.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setDelay (StkFloat delay)
     Set the delay-line length.
    -StkFloat getDelay (void) const
     Return the current delay-line length.
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     DelayL (StkFloat delay=0.0, unsigned long maxDelay=4095)
     Default constructor creates a delay-line with maximum length of 4095 samples and zero delay.
    ~DelayL ()
     Class destructor.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setDelay (StkFloat delay)
     Set the delay-line length.
    +StkFloat getDelay (void) const
     Return the current delay-line length.
    StkFloat contentsAt (unsigned long tapDelay)
     Return the value at tapDelay samples from the delay-line input.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    StkFloat nextOut (void)
     Return the value which will be output by the next call to tick().
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK linear interpolating delay line class. -

    -This class implements a fractional-length digital delay-line using first-order linear interpolation. If the delay and maximum length are not specified during instantiation, a fixed maximum length of 4095 and a delay of zero is set.

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

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK linear interpolating delay line class.

    +

    This class implements a fractional-length digital delay-line using first-order linear interpolation. If the delay and maximum length are not specified during instantiation, a fixed maximum length of 4095 and a delay of zero is set.

    +

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

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -101,22 +90,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

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

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

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

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::DelayL::DelayL stk::DelayL::DelayL ( StkFloat  delay = 0.0,
    - + - + @@ -124,21 +112,20 @@ An -

    -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. +

    Set the maximum delay-line length.

    +

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

    + -

    - + +

    void stk::DelayL::setMaximumDelay void stk::DelayL::setMaximumDelay ( unsigned long  delay delay  ) 
    - + - + @@ -146,21 +133,20 @@ This method should generally only be used during initial setup of the delay line
    -

    -Set the delay-line length. -

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

    Set the delay-line length.

    +

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

    +
    -

    - + +

    void stk::DelayL::setDelay void stk::DelayL::setDelay ( StkFloat  delay delay  ) 
    - + - + @@ -168,21 +154,20 @@ The valid range for delay is from 0 to the maximum delay-line length.
    -

    -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). +

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

    +

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

    +
    -

    - + +

    StkFloat stk::DelayL::contentsAt StkFloat stk::DelayL::contentsAt ( unsigned long  tapDelay tapDelay  ) 
    - + - + @@ -190,18 +175,17 @@ 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(). -

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

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

    +

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

    +
    -

    - + +

    StkFloat stk::DelayL::nextOut StkFloat stk::DelayL::nextOut ( void   )  [inline]
    - + @@ -221,20 +205,19 @@ This method is valid only for delay settings greater than zero!
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::DelayL::tick StkFrames & stk::DelayL::tick ( StkFrames frames,
    - + @@ -266,20 +249,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::DelayL::tick StkFrames & stk::DelayL::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1DelayL.png b/doc/html/classstk_1_1DelayL.png index 1e32622b74832da044209c8d13b4c0ad1fdb0ef6..cbb333cd914e6f744ad6eb46c82e539029f5a6db 100644 GIT binary patch delta 448 zcmV;x0YCn}1Mvfp7zqdi0001-88-isAt!$bbW%=J0RR90|NsC0)yh;d0004iNklj;JUH#YB>RO9Bzh8i13& zPr{YEK>~;Xm@2vG(`!=u%OIr(T;0-}Bq^~K%_mphRGnKQt?rYoI>+%F>h#B(-KKxz zqVDv&Id0SW+$HJFq_DTtPSmZt{*+W}6e^5VYZNMu^pUemQj(ICq$DNj>q$pcl!Ia- zNzX|jf?fgu=enKSr0LFz1P}o*CFcc*K-?X`35~TRr2%@`Z_3y7H;|-6OJbWG(kpcX zY3S)fuN>FvW~6ZxE1xEg-&A+{?K*$1XO~ZKlHN!PdrN)k+q~8&R2Zq&C{!HjBWIVS zBqb?HNlMb!lModJL47Cb5edbtc_wDNFW)5%ckhsZQsh*$eZBy9H(vQ9PUFn9GR<5jtbFPmw+6o^iMsO!DQoA+&aNy$)PZ|` q#{0U*B07zqRe00014>D&I1At!$UbW%=J06^y0W&i*IR7pfZR9J=W)=_T5 zAPfLd_}Mq+2Id4+ccFdd{zsUN4TL}wYpS$N1654|FSdyk#qQHE9`2d0$KOy9? zS5I|Os5nt4W2vTWZ`wG%CUZYjAKUxXwpmiz)I0aM)KW|Rn)+A$L}?QM`cLRw?Jo|h zZzkxB0@CMQzuiT(WjNo{JA^P2w*CX#o=AF*ZRH*Z#0tX>@T@5ZjpZphg z%JWsobF92f_(9PRN+tz^BGD-T&Isan)l0@2O9T2&NnO6|vDVcq&d9~nQhr{#NB-yR qSI<7w    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Drummer Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Drummer Member List

    This is the complete list of members for stk::Drummer, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    Drummer(void)stk::Drummer
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Drummer [virtual]
    noteOn(StkFloat instrument, StkFloat amplitude)stk::Drummer [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Drummer [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Drummer(void)stk::Drummer
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    Drummer(void)stk::Drummer
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Drummer [virtual]
    noteOn(StkFloat instrument, StkFloat amplitude)stk::Drummer [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Drummer [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Drummer(void)stk::Drummer
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Drummer.gif b/doc/html/classstk_1_1Drummer.gif new file mode 100644 index 0000000000000000000000000000000000000000..86e1acb6cb7785e2ff62ce5dbafb75301548903c GIT binary patch literal 775 zcmV+i1Ni($Nk%w1VN?K!0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08{{o000C2IJ(^aFv>}vxH#+0yZ>OADPn1!C`YDj>tgFG&tOd7xM0)4)q{cH zPw*SccC#Wdqa@ytsi05V+!&|5Y72U5Du-1m)8{-6WY^-gBQCdJ+%9-(@~&BNl()<= z?(ZmhB71IZV}*QMXJ}wq7>;~GjgfGRIhSUbnl6Hyo*SK?qB@qNrl6&#s-&x}tgfmR zva__c5&*cly1Tr+zPtv%!o$SH#>Tdx!!%IWU$!1DCI@b&Wd`0o1q>;3-D0Sq{9Ai-}3=^0FjZ6U*H4j-bE*e)W) zWfm{8(`f!KBS&H$KMD&e(q2h~C$o`EscU63TQFnFv;gZ=sG2lx;>@&Dl+K=tx{&z* zs1KSCKeZSwQIsjtR94hL0`$d?R5Fgj5V_hR4Nw<-Tv}PAijsKwVvk?ah^CofnmMMJR!VuMi&su5=Z;*y zS?7{i;<%=SNcuQtnO`QU=b=QF_~)7yD%t3Tj9S>Gq>)ZIsil=dc&VlccIxS;pc0q> F06Q=Eisb+R literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Drummer.html b/doc/html/classstk_1_1Drummer.html index 05a2ca5..5c8651d 100644 --- a/doc/html/classstk_1_1Drummer.html +++ b/doc/html/classstk_1_1Drummer.html @@ -8,63 +8,58 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Drummer Class Reference

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

    -#include <Drummer.h> -

    +

    stk::Drummer Class Reference

    +

    STK drum sample player class. +More...

    + +

    #include <Drummer.h>

    Inheritance diagram for stk::Drummer:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Drummer (void)
     Class constructor.
    ~Drummer (void)
     Class destructor.
    void noteOn (StkFloat instrument, StkFloat amplitude)
     Start a note with the given drum type and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + +

    Public Member Functions

     Drummer (void)
     Class constructor.
    ~Drummer (void)
     Class destructor.
    void noteOn (StkFloat instrument, StkFloat amplitude)
     Start a note with the given drum type and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK drum sample player class. -

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -72,19 +67,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::Drummer::Drummer stk::Drummer::Drummer ( void   ) 
    - + @@ -104,22 +98,22 @@ An -

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

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

    Implements stk::Instrmnt.

    +

    Start a note with the given drum type and amplitude.

    +

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

    + +

    Implements stk::Instrmnt.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    void stk::Drummer::noteOn void stk::Drummer::noteOn ( StkFloat  instrument,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Drummer.png b/doc/html/classstk_1_1Drummer.png index 4fd1e6e00ab25771dd9fff262a8e88d0c6ccdd82..72e2627e7d7c59a41510d5b010397a4ace0b4104 100644 GIT binary patch delta 456 zcmV;(0XP211Nj4x7zqdi0000^Nj#^KAt!$bbW%=J0RR90|NsC0)yh;d0004qNklZ(LCtlUtbOf|?$m5OZ=TV5j^#M$V z|AgWk+d}~n01nWLe)u+O_XBAHqd+#ij_Pi|*`Dcj{$JuxcWZzx)W@F`YA=5KnpJ;) zy-*szmdOg`hxyqj`eroZEBb!R3v0iM<{Y3#pg9MqA?S;$Pn0N8qC|-jeLZ>vv~Eh`@LI>1k`mKY#)v0GtaE2+&Ro^hY3d7G=qZmQ}i`?KTr-rVQ%w=lBJxRA#pU`h~=$FF7bxva=nVy!+u`$S)b2DBe|^CP}6YwR-s0000JmMJu delta 408 zcmV;J0cZaC1IYuB7zqRe0001sxzVPPAt!$UbW%=J06^y0W&i*IUr9tkR9J=WmQ8NN zAPj|J)3wbFOmEO$sH@!n2=xyRnNgr*s*yUXJxoI21D+j4dg*gH(nnp4_g6*>*&VS` zEh{K#Z-P=GG(Z+$@gq)9*@#F_M!`!Nqe8c7(TXzx9hD;{Xf**nt%(5gyvZLX0=Rzy zq-n8M-n5L+X#{!+z3_3L#@G4q@6fmH8R)hxE4Y9@rviZn8tDH*!)H0_R%!Pm2dX@X z;_j;0yc9KD>|A7swBJ!`rbhjWI~ZQho`l@R?da~RidnKMzQq>Ny?`5(${6jgO6PR? z9Hs86Y;KI!=Bj*74A%k08v#E@py7YB&LezQpn(SZS5aJ!1gj_I7exJzI9z&<0{5mU zCIrZaas%Lh&f4QqK8PO-ImQ|Gtn4yRVv    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Echo Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Echo Member List

    This is the complete list of members for stk::Echo, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear()stk::Echo [virtual]
    Echo(unsigned long maximumDelay=(unsigned long) Stk::sampleRate())stk::Echo
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(void) const stk::Echo [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(unsigned long delay)stk::Echo
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setMaximumDelay(unsigned long delay)stk::Echo
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Echo [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Echo [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Echo [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear()stk::Echo [virtual]
    Echo(unsigned long maximumDelay=(unsigned long) Stk::sampleRate())stk::Echo
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(void) const stk::Echo [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDelay(unsigned long delay)stk::Echo
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setMaximumDelay(unsigned long delay)stk::Echo
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Echo [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Echo [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Echo [inline]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Echo.gif b/doc/html/classstk_1_1Echo.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba06e15173a52b1649614243b81a397b1816b649 GIT binary patch literal 694 zcmV;n0!jTxNk%w1VL||i0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui073wW000C2IJ(^aFv>ZEy*TU5yYI>;jwBhDXj-0X>t^gLt1%i__ZRHBkoTra z>!-sIeW{vfhhrW!z~=4wQF4yN-jiv>A%mpoFM8EBQP%QhT*8t)=??b00nXo?cxL{^ z+r52YVOmpbfl`EYcrZdUjw_9il5mlemW-E~n3|k=oHCxDE}^0{6sM@E6acKPuCK7M zuLiQUwzs&sthBnlzP|tl!obAEu)@5?%D>3N%g?#Z$~k%IWIG?Crqs@V@f%y7l(B`1!W`{IdT3brTqmAhCc3cO_)DkY2-H2opv$IFVpQ zffsM7+Q|MXDI`e|CQnilL8T54E7UP#QGml9yX@N`*R=r&T~Oao&WAm8)3+aqh?wt7vSOO>dW8 zVf!?yO)Es1{v7j?tWi68;i`O*a`1-2h6N{1;&t%|#E#K6j=YjGnvR$=JNTB7UuS#B z9_n)@8ep^1rbD9!xVm3!Yp+?y9yq(zXVA50<#u&@UT=86+XYuQ{9JKz$HOJ(yxVqj zh0m9Zdk!u-b?Mx&Z%dA~yZ7(l!;2UHd`I~J=hHVgp9?(z_qDpmC&nI^d-$^O+tRPA zK7B0qJiNyWe*@-MAA0@;XkdN?3Me3a_cizmgabzC;Dr+sh@pf2{fCu=tx$NOh8?sDdU%V42+sH4j19J!A%h&&h~tDIN@(GRA!_&@gfSKfYU_5c6? literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Echo.html b/doc/html/classstk_1_1Echo.html index 3258c9a..31cfe4c 100644 --- a/doc/html/classstk_1_1Echo.html +++ b/doc/html/classstk_1_1Echo.html @@ -8,74 +8,66 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Echo Class Reference

    STK echo effect class. -More... -

    -#include <Echo.h> -

    +

    stk::Echo Class Reference

    +

    STK echo effect class. +More...

    + +

    #include <Echo.h>

    Inheritance diagram for stk::Echo:
    - -

    - -stk::Effect -stk::Stk +
    + + +stk::Effect +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Echo (unsigned long maximumDelay=(unsigned long) Stk::sampleRate())
     Class constructor, taking the longest desired delay length (one second default value).
    -void clear ()
     Reset and clear all internal state.
    -void setMaximumDelay (unsigned long delay)
     Set the maximum delay line length in samples.
    -void setDelay (unsigned long delay)
     Set the delay line length in samples.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the effect and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

     Echo (unsigned long maximumDelay=(unsigned long) Stk::sampleRate())
     Class constructor, taking the longest desired delay length (one second default value).
    +void clear ()
     Reset and clear all internal state.
    +void setMaximumDelay (unsigned long delay)
     Set the maximum delay line length in samples.
    +void setDelay (unsigned long delay)
     Set the delay line length in samples.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the effect and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object.
    -


    Detailed Description

    -STK echo effect class. -

    -This class implements an echo effect.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK echo effect class.

    +

    This class implements an echo effect.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -83,19 +75,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -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. +

    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

    - + +

    Member Function Documentation

    +
    stk::Echo::Echo stk::Echo::Echo ( unsigned long  maximumDelay = (unsigned long) Stk::sampleRate() maximumDelay = (unsigned long) Stk::sampleRate()  ) 
    - + @@ -115,18 +106,17 @@ The default delay value is set to 1/2 the maximum delay length.
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFrames & stk::Echo::tick StkFrames & stk::Echo::tick ( StkFrames frames,
    - + @@ -158,20 +148,20 @@ The -

    -Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Echo::tick StkFrames & stk::Echo::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Echo.png b/doc/html/classstk_1_1Echo.png index 7d376340310f66dba1d498b6a85dcb870fab9d18..1441e0d5528e49e9d4fb25f3690461be4bb6725a 100644 GIT binary patch delta 428 zcmbQoe3yBG1SbbG0|P_K&$Ap871irGN`m}?8U91S)l(rx3=E7po-U3d6^w7^UOabL zfuq&d&W23 z;A6p`_MPqGd8Umd ziYl*5>#S(#h-Y$N{d~fI_bXCqM+CRFNy~K+0671ZuSv%+Hq6Ml+-3)?X zL>L@g9DYka{>ixTp78<4EzJoUHVh7vc#kMPZp^TDWU&n1sM5W0QJ86yc*wCut<5(? zHz_>RVY@gzSbURXMCUc9FPq)pY<=M5Qty-I8#SZPBvp0)bwb-~lGbeS|-Z{L}l%&?`P=Vnuewc5ddB zJR(SD9Red#dQK9?@Qu*dNW%x-qY&yCK{~E;0jZNE6B@83)+||RCkt5xYb~`>$s&J3 zMJb;L*Am+E=(l$x#$Q9-Zq1X|iRJq=aa)$t#E;Z6iAhZ2nD~EwYled;K9ensT7vXv zz(&+w%W>Egkz`b&@LG$Jj5o(9yjFB%Vwc4Ti-EW&O0Tsnu_Sh0+tpEct?5X$M7-WV z_xHr~+eu7f62C{_s5uzK^j9NnBH~zec}V1CMW90fZ-htZJ;*H+JaPvel>)C*C    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Effect Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Effect Member List

    This is the complete list of members for stk::Effect, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear()=0stk::Effect [pure virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear()=0stk::Effect [pure virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Effect.gif b/doc/html/classstk_1_1Effect.gif new file mode 100644 index 0000000000000000000000000000000000000000..d266af6ffad536f600d7946aea0c08bc12ed7f1a GIT binary patch literal 2072 zcmV+z2}*y*TU5@AzOSj$~<`X!><*>%MR-&vb3ycuo&O@BhG{ za7Zi~j{}`@$!t2G(5O_(J6f;UtS~w4dcWYXcs#CZ&**fIOK!X0@VNYIR@?7H_I%Ip z`~QD+c!Ps_fQN{Qii*j!O9R>)+46 zzyAOK0On`kfExq=ih%?sXaRzrFsR^z5ID$*gb-G!0ELTSXyJnzCeq=C1b!F+f+Fg- z03{cS$bgCfun1y&E;c~o1Q;?HE#US?@0m3X>Yrj>#IIiQ*+8W`o10+P9+l0Zr?|>V~SQ62~eTueSPItYXkAD{i)ek?XCq1?cOqzy=#Buf#4uU$Mwi{%~xv z%sQY~v(VD;Y_!z6U|6--a&T?7+-9(Bx5R!6?ycgE+iJPyj*4!&o36{QqVB#sXT0)q zNpHP7-ixnc{PyebzW@g;@W2EYZ1BMdC#>+o3^(lX!w^R-@x&0PmDk0>==+7nUU000 z$5VhTg~(Bm428*0psX3j!KmDX%S^z$gv>F}tb@%t;EaRLH}GtO&!4dj4A9aF{hq}c z8|@3xGcYZK)7~om3e+%A{esojBHgmou3+7Q*DQcd8rQ9etu5K}X+1RBY9F06C}wXE zw+3@Z{r1*yvz_MEel`U$JQeuC?=lMs9DB+!n#2wC+mKs#9Zjt20; zOGSL~LLHC1PRcL8Q}E7*^m+6$HBbFg(_fF0_1dSBefNZX06z8+KtDbZ+@C-E_v$-S ze*0Rn4?i#F!=L{A2+5B>7WeNzl>Yuh0ssS81o07&e*-+=780mH^f9o3GkG8ce7ZjIhL`A5S^SH4q~oe1zjcEXl))B*TP&tfWEw2+T;fvX}W|Wfuj)No-(pnK@J> z4XZfJW=iCdgv_QF*~ma#W)hgVR7VhpDatkI&zr=|raGVb$X}xGmP!=o2+ioubgI*n z)1+n>y{MlwTC<$NRAw!&q0e0kv7OQ!qdvjNPlFsZn*P!g=o!DrNJ;LHmgHRHD)Xtv zdhk<-551v9wFyXSU{sa0G^RZ{Im-e%@uUrfq#ElfK#5Y6pcvd`BoDex3fgp>9@XGQ z>S@G2)|8`+WT;Rfxej;IG@wZJrBde^PkUB1g|uA91?PDTs$LbDE3GP26{>}NXtAj> zeX2`;T1~35vzXURr~{H>R=2LRlSY+m13Xe!S?Us+gk_*9&)5dmGrT^6EV51sObkg&%SOlwPxye>?B9@m3P3c-W3(atf^{=T_D``3F zS)Dpouye$%N=yn7VrFrqDePz|QEJZ8O7$FvI!kLrl(k7k z?of-V$vuvCtaF`2Z<8xooQ5=<#7!S`eGAu7`Vyl&{Nq8kI>F6Sw!ZcaFMjcP-~Gn_zmO)6>LE+29UuGEO3A!tUwAM(82`7@Pi%fKMDI+!yV@E{y;op z5#x`lI=E literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Effect.html b/doc/html/classstk_1_1Effect.html index dcb9ca1..acce00b 100644 --- a/doc/html/classstk_1_1Effect.html +++ b/doc/html/classstk_1_1Effect.html @@ -8,68 +8,65 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Effect Class Reference

    STK abstract effects parent class. -More... -

    -#include <Effect.h> -

    +

    stk::Effect Class Reference

    +

    STK abstract effects parent class. +More...

    + +

    #include <Effect.h>

    Inheritance diagram for stk::Effect:
    - -

    - -stk::Stk -stk::Chorus -stk::Echo -stk::JCRev -stk::NRev -stk::PitShift -stk::PRCRev +
    + + +stk::Stk +stk::Chorus +stk::Echo +stk::JCRev +stk::LentPitShift +stk::NRev +stk::PitShift +stk::PRCRev +
    -

    -List of all members. - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Effect (void)
     Class constructor.
    -unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    -const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    -virtual void clear ()=0
     Reset and clear all internal state.
    -void setEffectMix (StkFloat mix)
     Set the mixture of input and "effected" levels in the output (0.0 = input only, 1.0 = effect only).
    + + + + + + + + + + +

    Public Member Functions

    Effect (void)
     Class constructor.
    +unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    +virtual void clear ()=0
     Reset and clear all internal state.
    +void setEffectMix (StkFloat mix)
     Set the mixture of input and "effected" levels in the output (0.0 = input only, 1.0 = effect only).
    -


    Detailed Description

    -STK abstract effects parent class. -

    -This class provides common functionality for STK effects subclasses. It is general enough to support both monophonic and polyphonic input/output classes.

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


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

    Detailed Description

    +

    STK abstract effects parent class.

    +

    This class provides common functionality for STK effects subclasses. It is general enough to support both monophonic and polyphonic input/output classes.

    +

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

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Effect.png b/doc/html/classstk_1_1Effect.png index 8407b112c77a7f24b5f18d50c2a51905689f2ddd..c16c75eab5d2978162f83a066293895685d57aa9 100644 GIT binary patch literal 1344 zcmYjR4^Wb47{|4mXg&%KZPyJG+h%g zkSw_sLYCRG!uv3i=9QQ!NhRIq2fPf`;)`b(bq&#m5@Zum)sTYiJvHKECKHKhJ z$|Yf-Uv9$FJIH!$dkyn0|Gi|la17)D&O+wALpNCp1JK}``dWvtbh^}G%%V^RXjQFEyS_(8BXb zU1dYx`PuO2+d zw=_BX_ctdZ=iv}<4Uu0QVAE@t)wijYu+ZvQs>~N|ChrY5*Ety4zN^xLf<-9}U#L}| zHCru4U4iGdfrY@O1Y)TE8S==nvmrceXaz-MVk{%%#>JR4{4>XU6s9FA@`c5GP3%OU zC3|$XB+t_RW)m9`$jBETG(2ljec5cfG?v|e;`RB%^x3q8<$f>hts!>CSc0|WP}5!; zHQ)dcw}eg3i?eQzUMOyrv}U3zgTsQ9ICgDePLcYnT0#BYb)Ze%cq8p3J^9W+doIPG zH?Mz8)rQ)8K7aGDmt?P~K2zP(o!c2z+$jdR*N3Yow?E#{X`YvZEztiahMVtOGWIALdjwj(1^!^W;@RWE05 ztyk^>^#;?=pw09!U$Rv)nN@N8#dF4LpQrGSYe?pzT#K|{;20wtl%-qV|O?~T=Y4n7)m3T_-i7|Gw7=ib89C|y$##L1dyFb8ZI z+a~zyDl;rPZ6l2?4b8n^DiZHom$tFWAd4i()v}RQZS07vBJYibUYb7bg1tOKfZ`|G z{*2AZR=MKk&82{mgbraj>^60rdo2GS#%V0XRT60;#a8;n{6`Gc?^3Fu2>tFb0F6Oy Iip@IoADnWm-v9sr literal 1168 zcmeAS@N?(olHy`uVBq!ia0y~yU=jkdJ6M>3q(h;61CWvk@CkAK|NlRb`Tzfc`STMd z09jys;J|_EL;s%uxr`-2e!&b5&u*kKFtDh3x;TbZ%y~OEJMXrEK#Qu#iTsJ?3e}B^ z_69UC?fWly>Nuag(9%`*Qu;?EEy{9w%oqFDaPUovou+?nd;Iq=k5@O>?%emYT8VR# z0uXi1Yx!(uFZFt@GN=5zyH`|t%+2KY_a0`7c&0qDt_7HjzUO$T>cjN#$0E;p?2tWjC#BBbI7MvN0# zT!aMdpYFeOd^ht7K~IPE=gZYEC`}Tm-4pk|Z-I+S;1N+_CC&~Ng-Hz_Oe8U8O+J$K zF0;D)!vA$&m-WL8$WRknEt7jgV_Io+;fv_+9};9eb6&2N`B|cJCTW|l?afE7$E1$6 za<0$&7#CN&Bg}?{=k~OB({0o)O)lMKxbaxD-QU8w8Y;`?$SO1%3a;C*Tt#tna^$R= z8_#$strw0kOpjB41oEpz#Twzt_YrBgt^aAExjchO=+Bh@PR0M8rK?P8_z^xyz_SBP ziWDAg!Sv&oNfoxS^UFQ&nAzQ1qtGO@xrxK;440CIp?1fDBSZ`28}$Es{r&yH?DOXT z_k2J9aR2gE{bm>@9PXGmZRO?Xy{jITAM=>JJ-9fxBCYtoesN-+bZ*=H#GdcZ(;|G| z`DtB@ePy)Gc>6UGg^+ivwXY_pj#dOK=Z965CJN2FyxiB%_ z*|%##f!JN!;`h5IC>0c+`+4WXCxM0Ej~7q8UvwtAy5rX}<9Wt%vJZcq@;x1>9eH`? zw(zN!AI>xpaN-l+H1pn`&A%q?4HFkK`>yXIZa?{0l+C?QLG!nN-+e{s(zUem-kmQM zZ%x{8^obS6fx#pUyZQS0qaCM*P=92F=lRh-xy!cz+bBnFZ?VAset61$m!)LE{ zF{)Pfr?QZBwz+kU`=M*^=AG5i`}}{x_Fo(Q=A7?a)}C?KI_It<+iRAFsilk7d`zFZ z-t*1cv-bj5UB4-~yV~mJ$K1H!=HqkD@qJwWy7Skx#|O9Cx)g3zy3g-nQr2CoH*N2_ zIi3;itS5dQzIQS5@Cfi&h%*0*em@Pgg&e IbxsLQ0O}|cW&i*H diff --git a/doc/html/classstk_1_1Envelope-members.html b/doc/html/classstk_1_1Envelope-members.html index 5b5b8fc..77d0770 100644 --- a/doc/html/classstk_1_1Envelope-members.html +++ b/doc/html/classstk_1_1Envelope-members.html @@ -8,55 +8,55 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Envelope Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Envelope Member List

    This is the complete list of members for stk::Envelope, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Envelope(void)stk::Envelope
    Generator(void)stk::Generator [inline]
    getState(void) const stk::Envelope [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    keyOff(void)stk::Envelope [inline]
    keyOn(void)stk::Envelope [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Envelope [inline]
    operator=(const Envelope &e)stk::Envelope
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setRate(StkFloat rate)stk::Envelope [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTarget(StkFloat target)stk::Envelope [inline]
    setTime(StkFloat time)stk::Envelope [inline]
    setValue(StkFloat value)stk::Envelope [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Envelope [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Envelope [inline, virtual]
    ~Envelope(void)stk::Envelope
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Envelope(void)stk::Envelope
    Generator(void)stk::Generator [inline]
    getState(void) const stk::Envelope [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    keyOff(void)stk::Envelope [inline]
    keyOn(void)stk::Envelope [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Envelope [inline]
    operator=(const Envelope &e)stk::Envelope
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setRate(StkFloat rate)stk::Envelope [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTarget(StkFloat target)stk::Envelope [inline]
    setTime(StkFloat time)stk::Envelope [inline]
    setValue(StkFloat value)stk::Envelope [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Envelope [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Envelope [inline, virtual]
    ~Envelope(void)stk::Envelope
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Envelope.gif b/doc/html/classstk_1_1Envelope.gif new file mode 100644 index 0000000000000000000000000000000000000000..d896cb340659db395af84fa4a365602b32065d68 GIT binary patch literal 813 zcmV+|1Je9QNk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW%U1&|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QE1D0a#cfV%EeM&Wk9@2;+_7;JAy4LI7Z+jlK}cON=QJsbrErGRb0) z!1ySnjzdmKrH(FEX{D7)UP+~vU9M>4kuF*|W|os+sU?>`dda4nXPSv(m{MX%rkY#Q z_~xENrYUBLSH@{)n|OwKC!K@}dZeIWx>;tCgxZN{o^tXTrJ_k9*(R8J8oH&KhC(^z rlXcdKlA<{)1T&m} literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Envelope.html b/doc/html/classstk_1_1Envelope.html index 4708e55..f27022d 100644 --- a/doc/html/classstk_1_1Envelope.html +++ b/doc/html/classstk_1_1Envelope.html @@ -8,93 +8,80 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Envelope Class Reference

    STK linear line envelope class. -More... -

    -#include <Envelope.h> -

    +

    stk::Envelope Class Reference

    +

    STK linear line envelope class. +More...

    + +

    #include <Envelope.h>

    Inheritance diagram for stk::Envelope:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Envelope (void)
     Default constructor.
    ~Envelope (void)
     Class destructor.
    -Envelopeoperator= (const Envelope &e)
     Assignment operator.
    -void keyOn (void)
     Set target = 1.
    -void keyOff (void)
     Set target = 0.
    -void setRate (StkFloat rate)
     Set the rate.
    -void setTime (StkFloat time)
     Set the rate based on a time duration.
    -void setTarget (StkFloat target)
     Set the target value.
    -void setValue (StkFloat value)
     Set current and target values to value.
    -int getState (void) const
     Return the current envelope state (0 = at target, 1 otherwise).
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Envelope (void)
     Default constructor.
    ~Envelope (void)
     Class destructor.
    +Envelopeoperator= (const Envelope &e)
     Assignment operator.
    +void keyOn (void)
     Set target = 1.
    +void keyOff (void)
     Set target = 0.
    +void setRate (StkFloat rate)
     Set the rate.
    +void setTime (StkFloat time)
     Set the rate based on a time duration.
    +void setTarget (StkFloat target)
     Set the target value.
    +void setValue (StkFloat value)
     Set current and target values to value.
    +int getState (void) const
     Return the current envelope state (0 = at target, 1 otherwise).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Detailed Description

    -STK linear line envelope class. -

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

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK linear line envelope class.

    +

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

    +

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

    +

    Member Function Documentation

    +
    - + @@ -114,22 +101,22 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


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

    StkFrames & stk::Envelope::tick StkFrames & stk::Envelope::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Envelope.png b/doc/html/classstk_1_1Envelope.png index e97e739759c04a235b956f05cec7aa27ade09bd0..c90e7e83a7147126f745e5f2ce1ee66de3f8468c 100644 GIT binary patch delta 497 zcmVEW>jq~!ev>Hr!)~AVF2QoEuF*j%qWU`HS0_p!|C**(G zZPY+)6MY-GoWCJS|1&zQm8DkKhJOZKYnUBJ*BWLA(qDQ)l1@75q?1lM>7-vtZ(*%$ z64a7@8x0ZAeE?iIXp=z~G!CY%(SQg5()S7N zxH0PobD-&C9>@dTed@~Xfit?_bKb^2kW-qroIftIo^7LE`@fZ}H4u9*9n4w#j;x)K nd*8gUFZy@V`Fs6#I;{NwfjTA-SOSiF00000NkvXXu0mjf&u!=V delta 439 zcmV;o0Z9I$1n2{h7zqRe0001$aN!k^At!$UbW%=J06^y0W&i*Ien~_@R9J=WmRoYe zAPhy}C*P8G0Np{mp?-P)OQ;?|zz-6p^|VgG9#G6dxzc2u>pn(?dymhLx0j(qBwLXp zg=cA!=mCup$rzIK`RG2a=}096<|wquH#FavVmU-Tn#n@z7xn3+q*VDp3FS_tp7ejJ z6eUumRLTA3o`fFVACvw*J@$s!AGd?&KS3{_r_r}%IgLKGCzGD^q$fR2Pd|7>7u$lk zh3JS5v2{CpbmIc~BfB5eg?$xLz!Vx?xj@qV;@iY5v26;rYyL3N#n+MKQeB3`Sm;X0 zo#s8RlxzuF_KL1upc%a6j}2?-$_0NGsTtYQl?#;SXiv0)Xb&)jfADwm>h$!3r_dMp zZ    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FM Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::FM Member List

    This is the complete list of members for stk::FM, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int)=0stk::FM [pure virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int)=0stk::FM [pure virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FM.gif b/doc/html/classstk_1_1FM.gif new file mode 100644 index 0000000000000000000000000000000000000000..ee4eaeaba7b4762cde6bcbc1ea3c78d8d6e5b252 GIT binary patch literal 2821 zcmV+g3;Og&Nk%w1VYvdp0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui0J#Fd000C22)f+}*y*TU5yZ_)ajAUt^XsWJk>xOVF&vb3yc&_h!@BcuN zU`Q+)kI1BQ$!szQ!Kidfty-_xtab|;IKSYq_zUHl&*-#z&2GCT-m!d6UzXqaynfH` z`^|B6f`emse}{;Pii?bWfrOBeNrsJ;mY0~BnjMdl0Yjfm0i&S;p{0?Oo2#s?uCH#L zk*A_Xw5F0ns<6DhzQ4dRvUH=M#kWVO#-GT8yTQ=W($l=da<{al$i=pxxT)0P;^X9r z)?>=2%1PYc?U2vq^7HidLFee&#$ed%g7NkO3LHo<1HNnCaQRD^Fq5@g)*heeY(%i|j=Np?igErCW zv#8OdRe%azii9ZAr%Luu+uiw9b|Lz@3xNrmmh7&7Z%mXpw$B-j)FhE(d<;$2EP(7v$Tt~J&b+yz z<<6r^&jWqB_3LMLpCLW__wXOMk53=|{QCIM-_Oq< z{Qmy_0ABZBfCM@>V1Wo8cVL1H`nF($5Z3l!gcQ0qVTBlyc43AbX0~C6Ac7Rwh$NQy zLWn3*Q(`gJO;@Jjy}!-q>xDdgwRVGT~x+^}>dO5VH^W|#`OL*|)U5+S9RaAH9cM`>oHj-3ph zxsp3{4i)F0d(3IXol0!ekxKfgiRht9yb0)|K!BO(JIUnP5}B4NIw_Zsc3Nc^96@Pl zH;dv~YMX9)s_GenYRYIvu9h0>rcOAz>a8Dy~=2mRoMP=QgG8yC1OIt`X_N zo2`lX=4+z8{Ic<3zX1R7Z@>goCtAS>yRuor46kxp!w_HcaKschGH}HhdzbOXh+NF^ z$Blt3GIb-D+=j;{ryK&xDz`kD%P?cXa?CVOFmuf~J8*N(JOi+E&p7`KG|fT}4Rg^( zw~TbsDKE`*$xc5la@10POm)>8UyU`!T5nBp*Iq*mcGwJ$O*X=2pZy{!Y`5+9+i=G% z_uO>XO^Vt`2EdBmcn8V%CV%&BW8j$(F1U+^Uy}IYAue8ttJ4W2G~<)w%Iz~~K>9)jwqBSY$Db5CFS*k_;q;^9;8 z{s-ur|6csnE5E$*>c5YF`ubBYzvO%SUxw({1_BDOJO*4t0uKnD1*XA)4BQR`&oIFV zTBm|sz@P=Aqd_fnaD&YGAQnUj!sFQOgeXj*3g=crX{D`&oq8b*0kyChx~zsaY+7h? zs6!m`5NbbES`bwx!y!(oh(<&b5|bFDB{FeGPJCjGq9{cdQL+AtD7s?LPQ%46dhv^3 z45JvwNX9an@r-CpqZ-%9#x}a~jc|;k9Op>KI@X#+ym zz>qHs1|ny$NEtK|JHLFiy>cGZVlpXD`o*33V#Kojzlyz~pHOc-oVm zl}IN(Ew)c=_Hz;X+-5BQ2~L65vRV2XkpU7qA~-M(Z58rq9=j?M*DKn zjjq6<9$i64Ly7{Bk`x6aJ!uI{s?rjqw521M*H_>m)1?4JUNsfKO>-KQo$~Z1KKZmd$t6L}0*11Nhu68YgT=S||yz*72e&y>{|4P@V61K2vJ*>M7t5|vk zHm`dnY-ImB*d>fTSF3>? z?r76N+N!`7R>`gIHMslR*FKh1)Lkt)j5{b|F;}?G-N<#ttE1qe_PXhg#*iq^Q_p_QIJ`aGuP>;l=*aK~|T&6XJ8MKpy^P1@lpFeAX^t1^s6= zby-*>K6HkMl4brzc)>vi^h+F_VJbV8xeWeQflHj`DXV!*O}?w3Q~l|d*!I%F;#H!} zOX))mOC!j2HKTevsy2O>)>j&cAW%#Vs+0~7x*Cbh&wK2 z)pi@>tN;~LA&pTH1MR@+6dkpP~$NT3FVR>r5JM*5yT+9iFw8t3$a-Of8*_ci^ zbp2cL^8Wnk&E_nZYaVEsTYcmsCbiP9&gn`6T)j}gIm!FIbRl?}-tgWulgym;G09cS zEk`ff+uLoZ^V;jP0_~a69qU3%`q-vIu->CiC|6H?(q6~AzAug@Nc)}Q*xoJN(aon< zU-|Jm4L6u|{a_z2n8$06v8@;0?$O(s<*C=YxK%&nal5(d4c`;#u2f$|4`kf(tQs8w(^FBbS!C&*PPm{luiRV_GG zF9=l<*jO>xR5hqnH&|3TC{#Q6Q$5I2GpJZUm{UWDR2(Q)MHp8{h=NO~f+g54Noayi z$bwVof>j8ES15y7XoF99E>Q@DTZn^UsDoq3gJtN0X9$EawT3OgQf&B!B;bZ{_=a*g Xhih1ecGyyQn1?5|hkO`P2><{)gP5Gp literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1FM.html b/doc/html/classstk_1_1FM.html index 814187e..e4d9e74 100644 --- a/doc/html/classstk_1_1FM.html +++ b/doc/html/classstk_1_1FM.html @@ -8,119 +8,108 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FM Class Reference

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

    -#include <FM.h> -

    +

    stk::FM Class Reference

    +

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

    + +

    #include <FM.h>

    Inheritance diagram for stk::FM:
    - -

    - -stk::Instrmnt -stk::Stk -stk::BeeThree -stk::FMVoices -stk::HevyMetl -stk::PercFlut -stk::Rhodey -stk::TubeBell -stk::Wurley +
    + + +stk::Instrmnt +stk::Stk +stk::BeeThree +stk::FMVoices +stk::HevyMetl +stk::PercFlut +stk::Rhodey +stk::TubeBell +stk::Wurley +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

    -STK abstract FM synthesis base class. -

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

    -Control Change Numbers:

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

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -128,20 +117,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

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

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

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

    +

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

    +
    -

    -


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

    stk::FM::FM stk::FM::FM ( unsigned int  operators = 4 operators = 4  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FM.png b/doc/html/classstk_1_1FM.png index 6777d19f3fe099218225bdddc53fc411b436be2a..1005fbb8d07d7b2a56f06ff8fc8e3494dfc5e2b8 100644 GIT binary patch literal 1685 zcmZ`)dpJ~S7$5CJF3D)KYCP4NNl#2BMm02*l1o#XgiX0KA#%wciE3P0$|dQB8H`aG zRv5J|<1|P#h%?nH)Xp(UIh$r@$|ah_?4kB)_m4f#bAG?~J>T~|@B4e-_dH*^3*AXq z8>fxIV03A_>|HUK1t4m-Xnuzxg`8Q6(lQrkcL$Y9g__A`dfi&$bVZx_Bc)LP$>B93_H8Tg5&G9Knm@1gV~t z;gscxQDF9NfWpNG-7*QMjSzYo@6kJkEr4h$a90Dk=bZ%llfKa)5Ai*R43SQUsj+k# z_rm+$o&j5?@AF8g_sGW_1E|fX`!D<=;J;{L2&uDlzF^^>uQqQm^vEyZpFtzFcw6M5 z^!_+N;H}k@J=uFR8bKo@&+9afDp_iZx8(%Ru6OW!*dC(=jOrqEvxmXRx##I4&<1O2 zbC#9iiy+0i@Y0ueY9h;s)#Ejgh{B>Smux(-RqPEz@ZNTD8w9&DPz?w|=Hq{eBpV7~ zfKZxEYj3LTc6tK4qNT_}nz3kH3@ZE^wd@f$Ef$M>K0aMwVHj7?z6->gd{vdSkSj4@WN{L)W7qN5eh~`mSSnuf2 zwlHh+8yCp|>|w;M0$=eW_DCcn3|Du4W;0nZo+AC2$QH&jW^i7y>7ds~53#&sLtcj} zU$X2}IoNvz7xG8bCk=q$nlI@2nJ234MCx+0AN>;AY$Ysq+fKQ0Ii!jqIoOr7vGh4F z0h%mPMk%}6Y9xAngY4XhfpV$Y{+Oe+8VfCDt1Fq$bK+Xz19rZ6yU5D(-X zyQN{I6#)o(U+Cdj68hT$iTP@Z0PY|H-F<>7_+&sWFD#^Rlb~5X=-}(;*H}|i0>gII zgmTB>r5Vh7@C|loLXb%j{H!8HQ6!ld3OAW4$#t8tBLn@R-HDDu+ZBK;g6X&2mLbrr zexc)Gxwpx*#o}B4rJ5!W1Qp6a9^6xg8?k0 z#e2%1JcgAQg7BG?kln-mQuxyux|;ZWGB`e7D(otJ*)Gj`P~`q@mBcS$`k0yHaOK_F zb&P5K4^-gR?Ww>q&}X`5?Wjdb&aL|Jm7UXm@uQIBM#0sx-XOWo12NO)RbG39-Q-?n zc~0T4^0EW1uxiPahj=Qxvc!^>D21(tW^XEI({pOqJSZZ*E<5|?G8W0#p8E$AlRY9!*omMJgb)yDqhiG+3RZ%m zLRo^5KocaFAcznp5H{HoZh(YE2mwJNRw-!|hqg2Q(dqc(obNev-!t=__q=z`1s8;) zlDxV+1OiclIoZ2GAYar-xqhvTbe?|_S}ZMUE^rSAi9{kriKPC{ofB82^l{YJ*JGbZ zMy1O&@oorri0ycPCJF@Hg>m2B?M&Gpx(jM_orOa1Qf)HgIkU}qX=l?4yHoeRFw%?6Ri&~naK=J{ z`{)ax+HCDHpxClf$Ty^7vpdOEY@Ol;3I(;D1Wu@l@RL*i{wna@(GNH_jVu zzLzbrS>l$CY5aw9OgqJ@tmwvF&7OFaWfPn3mmN8o&9P|+MR~KK{`<=eg)=4z(!J?* zUIKg3se71xt^lzFiCAqTm2U)r$(_X)%4oe_*3O4OsjTNrIhZ5lu&DA-*O~(DNl3?) zcu2UD6~s(O6QX`iS!(P@y{+Bn_^kF)l09xO2|KWAi?q$I=^SBjk3x04?*k4_p2~tz zqNaM7<)Ogccs@0@r6+E)fc+~Fxu{89rn#WxW zqrU$x2BkJ_MZyHw+LZN>E<5CRmT+uX6*F|2NeSrH@j!8;z%w4NKuExdi6i?K80vrT zV%4k#)x&=>*T*L1RF#!z;wN)hykpGwk#vT#f4n!sXPT*aEo^}U{ zeI6<{p@~2rX=@LHqLSl@zsSKUSqsrNWgx$=v$Lk&ea4e?*2ewvwdI zqk~^+t;8c_A`BeeP3|OE1h|je6WsfR?05u&k`#*qV>b`%x z{C07mzFQ=FHvqh86y@XHdFSKGKD&2UTS(AFQjS3&0_8o4z7v;I+N za5;ledhDqm+gO7sI(JW-z-k|e+u@hhWyDO+y;bB)+U3mPT0rFloK$5;HwAbkKa#Ng z{1Vu;GnIN((b*FN7!HOCk-*4oWxkK~Yc5<4bQ#l76P7^#Y8x`z>18ESHL*thOn`uo z2qw-q2Dz8d?c5?O@Mo)#^3IWA22PE}=1omxucp=*X?q035h~a2wPRfRA zAfKKV^@$aDs}cPRBvpKw85{y<+q&SMx3tb>PLN_euuWF_TtQ$C2z&CO6B&O3&0=v4 diff --git a/doc/html/classstk_1_1FMVoices-members.html b/doc/html/classstk_1_1FMVoices-members.html index 3dae1c6..52e573c 100644 --- a/doc/html/classstk_1_1FMVoices-members.html +++ b/doc/html/classstk_1_1FMVoices-members.html @@ -8,64 +8,64 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FMVoices Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::FMVoices Member List

    This is the complete list of members for stk::FMVoices, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FMVoices [virtual]
    FM(unsigned int operators=4)stk::FM
    FMVoices(void)stk::FMVoices
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::FMVoices [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FMVoices [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::FMVoices [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~FMVoices(void)stk::FMVoices
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FMVoices [virtual]
    FM(unsigned int operators=4)stk::FM
    FMVoices(void)stk::FMVoices
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::FMVoices [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FMVoices [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::FMVoices [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~FMVoices(void)stk::FMVoices
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FMVoices.gif b/doc/html/classstk_1_1FMVoices.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ef0523d79b10a5723840685ea1dbd0293bcf4c7 GIT binary patch literal 1002 zcmV~m5IF12yZ>M)hRSH3Xlj;f>%Jfh&$KGnc<$YLfcc?- z5GVi=bG)1}s96?unB+_NqdGaqs_#mZwwz1imD>D0k(XN5nDvm)Z=ClluAac{+1v#_ zcaD8|FMB9`aBgLXeqCv5Vp|!IenXFwa*a@#Xqudtou4p-prak4q^D7ssH+^Nte~#1 zoffpUwzm`jy1Tr+zQ4f12EoL|#>dFXzQfAR&d<&U($Lh^*1FQn*W290+0)(O;sD>; z&Kq3^m?juQLCQlkmsnT0ZaV%f{ifIj(&6_wS$l95T=gwF@bpQ?O ziRh}KW)}UqGeb}-RVKJBjoNetR5xrS2?_%!s~JdRig*=a%8(>QY?2xhYsZQmMP#pH z*^u@_SfzE;>fIYRYTh_=Exi?tHYr>ZauFSJdN-2czkH>BD7#m3&dOVbaS~gDh(VaigA(q*TZJc3XqRDFQNm$njA&w6B6O|6 z844Ok;?;FHLW*Ld38tD}F6ic)3LMB?JaZ#exvI_s!H@EU-xz=qmuF~0&(Y%sFwvT`gh z#V%_svfK5?n%xY<&BuDaoB zJMX;oh8u6U`R-dTyydzJOsxFg%WuC2XR9r}    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FMVoices Class Reference

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

    -#include <FMVoices.h> -

    +

    stk::FMVoices Class Reference

    +

    STK singing FM synthesis instrument. +More...

    + +

    #include <FMVoices.h>

    Inheritance diagram for stk::FMVoices:
    - -

    - -stk::FM -stk::Instrmnt -stk::Stk +
    + + +stk::FM +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     FMVoices (void)
     Class constructor.
    ~FMVoices (void)
     Class destructor.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + +

    Public Member Functions

     FMVoices (void)
     Class constructor.
    ~FMVoices (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK singing FM synthesis instrument. -

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

    +


    Detailed Description

    +

    STK singing FM synthesis instrument.

    +

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

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

    -Control Change Numbers:

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

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -87,20 +85,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::FMVoices::FMVoices stk::FMVoices::FMVoices ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FMVoices.png b/doc/html/classstk_1_1FMVoices.png index 2f5499fd75006adbde1804e3df22ced545d75522..ffcd4a84746accb452c836aa50212160d75f2123 100644 GIT binary patch delta 591 zcmV-V0At!$bbW%=J0RR90|NsC0)yh;d0006GNkl>+DYqWo#y+5_J6hGB27h}TYeWi=Qupj&N&W`v>&@qXw#-mn>KCQv_D}lagi2@ z3fgzDA%c3?P7kBWf7Av<08~6gAb_71=tm&yEXtCXc3G_F`k|XBGbO2avE}z|CEY^1 zyKTC;a$m<+HF<5@^eMZpNoUs=nzMh~vi3DOZ|g&^o$NX57}(oa69F`?33kHf`FpY15`n`xEvO7ip2GpnW$RBJe{1a5+DB*|ux=!@LcM z0I2vk*@c7%1b(QKC3oId(g9lTt9CJ4+dov(i@9F)5 zPiQ~ij*B!Ed2ab#?40B9Ks)C+JkoybKA}yUHf`FpY196Mjkrh%dq~=UY9m!+ZMWs@ z=eB6))_$?=8g^*yL-!4&q?{B-V@#-71^$UtLuljNELUbI+^g zK44dgVNE*Qw_!a`PwDOTM!GwixRw1TIA*t}jp{wX> d_IKKG@dMf1IWH|p&qM$K002ovPDHLkV1iSiFh&3X delta 494 zcmV3-D-~^+Y3(YF`Kf>4s6DA)BYO<;9Mufr(7*~p(>V9V8%YCPb_$)jo%y+K6`@8f+$%;0x@ou-{EvY>GMG zDksAy<)c#FsWP#P55n-<@W~g)alB5(@4=Vf2l3akJcvJB8N&@X-0=Hw^T;t?G*Atu zHJSJ(9#O54TF62fDQF0}zrit!n)nwKBcmk{%GWKPR0Cx}5z46cw#Qe=lz9=#4!&Ar z#wD3^9IG{!`92=AHR`+wWrJ@kb1i=izYRB!G>Gj?sR(T1    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileLoop Member List

    This is the complete list of members for stk::FileLoop, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::FileLoop Member List

    This is the complete list of members for stk::FileLoop, including all inherited members.
    addPhase(StkFloat angle)stk::FileLoop
    addPhaseOffset(StkFloat angle)stk::FileLoop
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTime(StkFloat time)stk::FileLoop [virtual]
    channelsOut(void) const stk::WvIn [inline, protected]
    closeFile(void)stk::FileLoop [inline, virtual]
    FileLoop(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileLoop
    FileLoop(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileLoop
    FileWvIn(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn [protected]
    FileWvIn(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn [protected]
    getFileRate(void) const stk::FileLoop [inline, virtual]
    getSize(void) const stk::FileLoop [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [protected, static]
    handleError(std::string message, StkError::Type type)stk::Stk [protected, static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline, protected]
    isFinished(void) const stk::FileWvIn [inline, protected]
    lastFrame(void) const stk::WvIn [inline, protected]
    lastOut(unsigned int channel=0)stk::FileLoop [inline]
    normalize(void)stk::FileLoop [inline, virtual]
    normalize(StkFloat peak)stk::FileLoop [inline, virtual]
    openFile(std::string fileName, bool raw=false, bool doNormalize=true)stk::FileLoop [virtual]
    printErrors(bool status)stk::Stk [inline, protected, static]
    rawwavePath(void)stk::Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::FileLoop [inline, virtual]
    sampleRate(void)stk::Stk [inline, protected, static]
    setFrequency(StkFloat frequency)stk::FileLoop [inline]
    setInterpolate(bool doInterpolate)stk::FileWvIn [inline, protected]
    setRate(StkFloat rate)stk::FileLoop [virtual]
    setRawwavePath(std::string path)stk::Stk [protected, static]
    setSampleRate(StkFloat rate)stk::Stk [protected, static]
    showWarnings(bool status)stk::Stk [inline, protected, static]
    sleep(unsigned long milliseconds)stk::Stk [protected, static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [protected, static]
    STK_FLOAT64stk::Stk [protected, static]
    STK_SINT16stk::Stk [protected, static]
    STK_SINT24stk::Stk [protected, static]
    STK_SINT32stk::Stk [protected, static]
    STK_SINT8stk::Stk [protected, static]
    swap16(unsigned char *ptr)stk::Stk [protected, static]
    swap32(unsigned char *ptr)stk::Stk [protected, static]
    swap64(unsigned char *ptr)stk::Stk [protected, static]
    tick(unsigned int channel=0)stk::FileLoop [virtual]
    tick(StkFrames &frames)stk::FileLoop [virtual]
    ~FileLoop(void)stk::FileLoop
    ~FileWvIn(void)stk::FileWvIn [protected]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addPhase(StkFloat angle)stk::FileLoop
    addPhaseOffset(StkFloat angle)stk::FileLoop
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTime(StkFloat time)stk::FileLoop [virtual]
    channelsOut(void) const stk::WvIn [inline, protected]
    closeFile(void)stk::FileLoop [inline, virtual]
    FileLoop(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileLoop
    FileLoop(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileLoop
    FileWvIn(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn [protected]
    FileWvIn(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn [protected]
    getFileRate(void) const stk::FileLoop [inline, virtual]
    getSize(void) const stk::FileLoop [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [protected, static]
    handleError(std::string message, StkError::Type type)stk::Stk [protected, static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline, protected]
    isFinished(void) const stk::FileWvIn [inline, protected]
    lastFrame(void) const stk::WvIn [inline, protected]
    lastOut(unsigned int channel=0)stk::FileLoop [inline]
    normalize(void)stk::FileLoop [inline, virtual]
    normalize(StkFloat peak)stk::FileLoop [inline, virtual]
    openFile(std::string fileName, bool raw=false, bool doNormalize=true)stk::FileLoop [virtual]
    printErrors(bool status)stk::Stk [inline, protected, static]
    rawwavePath(void)stk::Stk [inline, protected, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::FileLoop [inline, virtual]
    sampleRate(void)stk::Stk [inline, protected, static]
    setFrequency(StkFloat frequency)stk::FileLoop [inline]
    setInterpolate(bool doInterpolate)stk::FileWvIn [inline, protected]
    setRate(StkFloat rate)stk::FileLoop [virtual]
    setRawwavePath(std::string path)stk::Stk [protected, static]
    setSampleRate(StkFloat rate)stk::Stk [protected, static]
    showWarnings(bool status)stk::Stk [inline, protected, static]
    sleep(unsigned long milliseconds)stk::Stk [protected, static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [protected, static]
    STK_FLOAT64stk::Stk [protected, static]
    STK_SINT16stk::Stk [protected, static]
    STK_SINT24stk::Stk [protected, static]
    STK_SINT32stk::Stk [protected, static]
    STK_SINT8stk::Stk [protected, static]
    swap16(unsigned char *ptr)stk::Stk [protected, static]
    swap32(unsigned char *ptr)stk::Stk [protected, static]
    swap64(unsigned char *ptr)stk::Stk [protected, static]
    tick(unsigned int channel=0)stk::FileLoop [virtual]
    tick(StkFrames &frames)stk::FileLoop [virtual]
    ~FileLoop(void)stk::FileLoop
    ~FileWvIn(void)stk::FileWvIn [protected]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileLoop.gif b/doc/html/classstk_1_1FileLoop.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5cbb57db1868505256705acd994c548273fc875 GIT binary patch literal 1050 zcmV+#1m*ijNk%w1VNw9V0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08#+J000C2IJ(^aFv>}rxH#+0yZ>N#DPn1!s79u2>k8{D&t6R5w><|J4+cP= zz$bj^WW--4Iiwv?z+RNODN1=%*3-mH3aQa$uW1~-tVC-kOlG^b+^>{79;#FDQ;~FjgfDQIF~Yln42G(oS!O|prf6lq^F^%s;R53o~<|) zva__c5CFKjy1Tr+zPkp$!o$SH#>BzL%FE2f2G7mW(#_Aw)7RL&)zI19+1u9M;?m*c z=FH{i>dx!!#_8_yy72Py^!4ud`0M)n=l%Z10SxGEAi-}3?Inz7a3MK|?HWQvH&LC$ zipMTuWVilNoW_pAK7#ZmawM;kCg-KZhLV}BmoQ^mfTijc%^5atmeF}CCr?FZ>UfYN zvS|>#MDqGq(9O?0z?!MA}oMP>8azTDN!(9=Ohx56OGuRO(0RSnze&ZHffYN z^0T&T37=fYv|Y>eYf}?t^IBc1G!fW9P(Q#`JN3|5!$S9N!21(%Wl)qalTEDoY3EIu zKiA+a8ffVpGE=Lr;IHLM*Cwm2B*$&`GH|wUZ_7=QcW>XyV8;f2n|N^J8IiwJ&XIXY z=fi}Lln#=5N9!B0W7J-e`$X>$!8;VckbFY(2hkH$ACP_PeXHZkpLzOdeJ7;v-_5T- zME>ahFz}Z}ACeG47+*&DCtzV3w3Ss=4{k=_6@xi;NFxx2B^Xv596<P67i6Ve4{MVnC`hj_$nDvo)nwh1cDcXE&#s|QgaKYJdRYHF&gw(9Duu!_oRteVbB>#exvsw)7t?z*Y3zy>QUsl5*CXR*d6;;Zbk za3afWoz6Zh?X=0o~viN>e|U}yL7%A@0$Uv zTOhso)>&_-^3J*MzV7A;u)m)6Yi literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1FileLoop.html b/doc/html/classstk_1_1FileLoop.html index bf2a597..3482b80 100644 --- a/doc/html/classstk_1_1FileLoop.html +++ b/doc/html/classstk_1_1FileLoop.html @@ -8,105 +8,87 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileLoop Class Reference

    STK file looping / oscillator class. -More... -

    -#include <FileLoop.h> -

    +

    stk::FileLoop Class Reference

    +

    STK file looping / oscillator class. +More...

    + +

    #include <FileLoop.h>

    Inheritance diagram for stk::FileLoop:
    - -

    - -stk::FileWvIn -stk::WvIn -stk::Stk +
    + + +stk::FileWvIn +stk::WvIn +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    FileLoop (unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Default constructor.
    FileLoop (std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Class constructor that opens a specified file.
    ~FileLoop (void)
     Class destructor.
    void openFile (std::string fileName, bool raw=false, bool doNormalize=true)
     Open the specified file and load its data.
    -void closeFile (void)
     Close a file if one is open.
    -void reset (void)
     Clear outputs and reset time (file) pointer to zero.
    void normalize (void)
     Normalize data to a maximum of +-1.0.
    void normalize (StkFloat peak)
     Normalize data to a maximum of +-peak.
    -unsigned long getSize (void) const
     Return the file size in sample frames.
    StkFloat getFileRate (void) const
     Return the input file sample rate in Hz (not the data read rate).
    void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    void setFrequency (StkFloat frequency)
     Set the data interpolation rate based on a looping frequency.
    -void addTime (StkFloat time)
     Increment the read pointer by time samples, modulo file size.
    void addPhase (StkFloat angle)
     Increment current read pointer by angle, relative to a looping frequency.
    void addPhaseOffset (StkFloat angle)
     Add a phase offset to the current read pointer.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    FileLoop (unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Default constructor.
    FileLoop (std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)
     Class constructor that opens a specified file.
    ~FileLoop (void)
     Class destructor.
    void openFile (std::string fileName, bool raw=false, bool doNormalize=true)
     Open the specified file and load its data.
    +void closeFile (void)
     Close a file if one is open.
    +void reset (void)
     Clear outputs and reset time (file) pointer to zero.
    void normalize (void)
     Normalize data to a maximum of +-1.0.
    void normalize (StkFloat peak)
     Normalize data to a maximum of +-peak.
    +unsigned long getSize (void) const
     Return the file size in sample frames.
    StkFloat getFileRate (void) const
     Return the input file sample rate in Hz (not the data read rate).
    void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    void setFrequency (StkFloat frequency)
     Set the data interpolation rate based on a looping frequency.
    +void addTime (StkFloat time)
     Increment the read pointer by time samples, modulo file size.
    void addPhase (StkFloat angle)
     Increment current read pointer by angle, relative to a looping frequency.
    void addPhaseOffset (StkFloat angle)
     Add a phase offset to the current read pointer.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    -


    Detailed Description

    -STK file looping / oscillator class. -

    -This class provides audio file looping functionality. Any audio file that can be loaded by FileRead can be looped using this class.

    -FileLoop supports multi-channel data. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK file looping / oscillator class.

    +

    This class provides audio file looping functionality. Any audio file that can be loaded by FileRead can be looped using this class.

    +

    FileLoop supports multi-channel data. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

    +

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

    +

    Member Function Documentation

    +
    - + @@ -132,23 +114,22 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Open the specified file and load its data. -

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

    Reimplemented from stk::FileWvIn.

    +

    Open the specified file and load its data.

    +

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

    + +

    Reimplemented from stk::FileWvIn.

    -

    - + +

    void stk::FileLoop::openFile void stk::FileLoop::openFile ( std::string  fileName,
    - + - + @@ -156,23 +137,22 @@ Data from a previously opened file will be overwritten by this function. An
    -

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

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

    Reimplemented from stk::FileWvIn.

    +

    Normalize data to a maximum of +-1.0.

    +

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

    + +

    Reimplemented from stk::FileWvIn.

    -

    - + +

    void stk::FileLoop::normalize void stk::FileLoop::normalize ( void   )  [inline, virtual]
    - + - + @@ -180,23 +160,22 @@ This function has no effect when data is incrementally loaded from disk.
    -

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

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

    Reimplemented from stk::FileWvIn.

    +

    Normalize data to a maximum of +-peak.

    +

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

    + +

    Reimplemented from stk::FileWvIn.

    -

    - + +

    void stk::FileLoop::normalize void stk::FileLoop::normalize ( StkFloat  peak peak  )  [inline, virtual]
    - + - + @@ -204,23 +183,22 @@ This function has no effect when data is incrementally loaded from disk.
    -

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

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

    Reimplemented from stk::FileWvIn.

    +

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

    +

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

    + +

    Reimplemented from stk::FileWvIn.

    -

    - + +

    StkFloat stk::FileLoop::getFileRate StkFloat stk::FileLoop::getFileRate ( void   )  const [inline, virtual]
    - + - + @@ -228,23 +206,22 @@ WAV, SND, and AIF formatted files specify a sample rate in their headers. STK RA
    -

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

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

    Reimplemented from stk::FileWvIn.

    +

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

    +

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

    + +

    Reimplemented from stk::FileWvIn.

    -

    - + +

    void stk::FileLoop::setRate void stk::FileLoop::setRate ( StkFloat  rate rate  )  [virtual]
    - + - + @@ -252,21 +229,20 @@ If the rate value is negative, the data is read in reverse order.
    -

    -Set the data interpolation rate based on a looping frequency. -

    -This function determines the interpolation rate based on the file size and the current Stk::sampleRate. The frequency value corresponds to file cycles per second. The frequency can be negative, in which case the loop is read in reverse order. +

    Set the data interpolation rate based on a looping frequency.

    +

    This function determines the interpolation rate based on the file size and the current Stk::sampleRate. The frequency value corresponds to file cycles per second. The frequency can be negative, in which case the loop is read in reverse order.

    +
    -

    - + +

    void stk::FileLoop::setFrequency void stk::FileLoop::setFrequency ( StkFloat  frequency frequency  )  [inline]
    - + - + @@ -274,21 +250,20 @@ This function determines the interpolation rate based on the file size and the c
    -

    -Increment current read pointer by angle, relative to a looping frequency. -

    -This function increments the read pointer based on the file size and the current Stk::sampleRate. The anAngle value is a multiple of file size. +

    Increment current read pointer by angle, relative to a looping frequency.

    +

    This function increments the read pointer based on the file size and the current Stk::sampleRate. The anAngle value is a multiple of file size.

    +
    -

    - + +

    void stk::FileLoop::addPhase void stk::FileLoop::addPhase ( StkFloat  angle angle  ) 
    - + - + @@ -296,21 +271,20 @@ This function increments the read pointer based on the file size and the current
    -

    -Add a phase offset to the current read pointer. -

    -This function determines a time offset based on the file size and the current Stk::sampleRate. The angle value is a multiple of file size. +

    Add a phase offset to the current read pointer.

    +

    This function determines a time offset based on the file size and the current Stk::sampleRate. The angle value is a multiple of file size.

    +
    -

    - + +

    void stk::FileLoop::addPhaseOffset void stk::FileLoop::addPhaseOffset ( StkFloat  angle angle  ) 
    - + - + @@ -318,23 +292,22 @@ This function determines a time offset based on the file size and the current
    -

    -Return the specified channel value of the last computed frame. -

    -For multi-channel files, use the lastFrame() function to get all values from the last computed frame. If no file data is loaded, the returned value is 0.0. The channel argument must be less than the number of channels in the file data (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Reimplemented from stk::FileWvIn.

    +

    Return the specified channel value of the last computed frame.

    +

    For multi-channel files, use the lastFrame() function to get all values from the last computed frame. If no file data is loaded, the returned value is 0.0. The channel argument must be less than the number of channels in the file data (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Reimplemented from stk::FileWvIn.

    -

    - + +

    StkFloat stk::FileLoop::lastOut StkFloat stk::FileLoop::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + - + @@ -342,23 +315,22 @@ For multi-channel files, use the -

    -Compute a sample frame and return the specified channel value. -

    -For multi-channel files, use the lastFrame() function to get all values from the computed frame. If no file data is loaded, the returned value is 0.0. The channel argument must be less than the number of channels in the file data (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Reimplemented from stk::FileWvIn.

    +

    Compute a sample frame and return the specified channel value.

    +

    For multi-channel files, use the lastFrame() function to get all values from the computed frame. If no file data is loaded, the returned value is 0.0. The channel argument must be less than the number of channels in the file data (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Reimplemented from stk::FileWvIn.

    -

    - + +

    StkFloat stk::FileLoop::tick StkFloat stk::FileLoop::tick ( unsigned int  channel = 0 channel = 0  )  [virtual]
    - + - + @@ -366,22 +338,22 @@ For multi-channel files, use the -

    -Fill the StkFrames argument with computed frames and return the same reference. -

    -The number of channels in the StkFrames argument should equal the number of channels in the file data. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no file data is loaded, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation and Stk::showWarnings() has been set to true). -

    Reimplemented from stk::FileWvIn.

    +

    Fill the StkFrames argument with computed frames and return the same reference.

    +

    The number of channels in the StkFrames argument should equal the number of channels in the file data. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no file data is loaded, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation and Stk::showWarnings() has been set to true).

    + +

    Reimplemented from stk::FileWvIn.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames& stk::FileLoop::tick StkFrames& stk::FileLoop::tick ( StkFrames frames frames  )  [virtual]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileLoop.png b/doc/html/classstk_1_1FileLoop.png index 3dd0e52460a3a96e7adc3e3fac2cbad99d231456..4587e18b4747df6ff243e39c026a3f93641b0fc2 100644 GIT binary patch delta 594 zcmV-Y0T*Tp#At!$bbW%=J0RR90|NsC0)yh;d0006JNklZBV2!bjvs%u zCkrp;RC{ci_c)O+Li)dSha-+}y$>0qJJTN-qdW5gBTV8P zME(E?5!h+{walGJKm>rHDrEZuK?mGHmhFNb#LN~_wvf5VDo>x@1;&JLAXld!vPTPF zcJmBU^->q8`h3>I!pm6-_$wqI8$^FT0O|kI9gaA@^*&^b?o5AVjPA?}kS}qZNFs?O zl1L(nd>(Rgk1&aI5P2CABG6L+NV%4V`nAk3vNs$@0wMqmwG46&(72M!UzE)iS>?fO zTr4iu)U55+$h@xArdF;X>C?NwO85$CPgyTekVeuPX@z%@OM`Zhs+XVasbznvzRWj- zm&^9-$&QaB`Pd-xQAq!n?r_ZGTkk{8vpdrtInVCQ3y?2y{3XF&vX|^7d&yq1m;b7l zaE}0QHAG&9L@@L0piS?cVF%e8jw68(@;_BAs%vQoKqrCr2O-TgvdT*ttG3NrQq7PL zv_`f?)5|erJH8dZLfTVSuLeGmR(Ka_lKV*2%TM+k?PV5T%<0)v%q7zqRe0001GtSR7;At!$UbW%=J06^y0W&i*I$4Nv%R9J=Wm`!rS zAPj}^qFE!|0D6P=BHd))RqlU;q90@uV}~|QCuyb07;HWyJ!kBBywfx zql|zV(+G()+aMtW$~scox@}2v8sxI6Fqqn;7i9T?&S?X#k%cmn3#^k`-4tz9$Etr= zwXZ3n>LiF1mHSz=r!{gboE#&^pWs)_PoKM!htp|y@-Et)bkfPcNxEO+m@N=y zbq+U@tyvN$L{0>kWNVh>!0smXNV7nxM79mR>Sv_o?eeN6H=f3e@`h?L4aj?$xWMmy#<0NcXw#jHv zpM(HWGSOL?O~7Os%1Ve($%z(Y    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileRead Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::FileRead Member List

    This is the complete list of members for stk::FileRead, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channels(void) const stk::FileRead [inline]
    close(void)stk::FileRead
    fileRate(void) const stk::FileRead [inline]
    FileRead(void)stk::FileRead
    FileRead(std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)stk::FileRead
    fileSize(void) const stk::FileRead [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isOpen(void)stk::FileRead
    open(std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)stk::FileRead
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    read(StkFrames &buffer, unsigned long startFrame=0, bool doNormalize=true)stk::FileRead
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~FileRead(void)stk::FileRead
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channels(void) const stk::FileRead [inline]
    close(void)stk::FileRead
    fileRate(void) const stk::FileRead [inline]
    FileRead(void)stk::FileRead
    FileRead(std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)stk::FileRead
    fileSize(void) const stk::FileRead [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isOpen(void)stk::FileRead
    open(std::string fileName, bool typeRaw=false, unsigned int nChannels=1, StkFormat format=STK_SINT16, StkFloat rate=22050.0)stk::FileRead
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    read(StkFrames &buffer, unsigned long startFrame=0, bool doNormalize=true)stk::FileRead
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~FileRead(void)stk::FileRead
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileRead.gif b/doc/html/classstk_1_1FileRead.gif new file mode 100644 index 0000000000000000000000000000000000000000..34c58722877a39b93fc1e227a4873210b1fa1df4 GIT binary patch literal 530 zcmV+t0`2`rNk%w1VN(E50P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08;=^000C2IJ(^aFv>}txH#+0yZ>N_DPn1!=tib&>t5?C&tFX6xIG6K4+cP= zz$cXHWW--4IlLWFz+RNODN1?N*3-mH3aQa$uW1~-tVC-kOlH5f+^>{79;#XJQ;~FjgfDQIF~bmn42J)oS!O|prf6lq^F^%s;R530-mlp z6|=Opwh#chy1Tr+zQ4Q%z{AAF#>d9O$ji*l#|F^O($mt=%GB7|zt+*(-rn5T-{aKc zb0xbvTn_8 z4SQDZP^N0R=IvUyF5bR*!_pnQHmM}Ob`ehnES2%xw11a=?MvA1VY!$WOD2nW?Bu*wg}07AZMw2r)~sI#t_nHs-@T;qvaP(?^WDONjWQD}ycqG~hLImTuDo{h UtdpOomVPy-_3PNP(@X#WJAM=y7ytkO literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1FileRead.html b/doc/html/classstk_1_1FileRead.html index 1433f37..928f842 100644 --- a/doc/html/classstk_1_1FileRead.html +++ b/doc/html/classstk_1_1FileRead.html @@ -8,79 +8,69 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileRead Class Reference

    STK audio file input class. -More... -

    -#include <FileRead.h> -

    +

    stk::FileRead Class Reference

    +

    STK audio file input class. +More...

    + +

    #include <FileRead.h>

    Inheritance diagram for stk::FileRead:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

    -STK audio file input class. -

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

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

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

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK audio file input class.

    +

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

    +

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

    +

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

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -101,7 +91,7 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des

    - + @@ -118,19 +108,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Overloaded constructor that opens a file during instantiation. -

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

    Overloaded constructor that opens a file during instantiation.

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::FileRead::FileRead stk::FileRead::FileRead ( std::string  fileName, StkFormat  format = STK_SINT16, format = STK_SINT16,
    - + @@ -151,7 +140,7 @@ An - + @@ -168,21 +157,20 @@ An -

    -Open the specified file and determine its formatting. -

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

    Open the specified file and determine its formatting.

    +

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

    + -

    - + +

    void stk::FileRead::open void stk::FileRead::open ( std::string  fileName, StkFormat  format = STK_SINT16, format = STK_SINT16,
    - + - + @@ -190,18 +178,17 @@ An -

    -Return the file sample rate in Hz. -

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

    Return the file sample rate in Hz.

    +

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

    + -

    - + +

    StkFloat stk::FileRead::fileRate StkFloat stk::FileRead::fileRate ( void   )  const [inline]
    - + @@ -227,20 +214,20 @@ WAV, SND, and AIF formatted files specify a sample rate in their headers. By def
    -

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

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

    Read sample frames from the file into an StkFrames object.

    +

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

    +
    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    void stk::FileRead::read void stk::FileRead::read ( StkFrames buffer,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileRead.png b/doc/html/classstk_1_1FileRead.png index 952ee0f70287dd26d8df39787bcd2f7eb90db7fc..48d3eb4d3d84cdf916a15242d7c4bf47b33e3f53 100644 GIT binary patch delta 330 zcmV-Q0k!_@0{jAy7zqdi0000|__>^sAt!$bbW%=J0RR90|NsC0)yh;d0003CNklNsC=0z&D^W^d2W8}-E5Ze?=acBku^iv`U_Oz#;Ju(+m2-nBhrMCB zI%e)74`h3PWAdCDShHSxNIhiKdp9KlTi-C zAP9!_rO&_(^aRUxp*{8fM;Hj&x@cpw^r4xgQPfZPq0zlY?cttr(C&@NL7DQ z7Wb7q5W480P4pCc;&HcZY3}}tuI~%bWnC{oFY3TVCpyvpLUGi=pA36!L)#&_K~4Xe?Q==TT8^Cc6#`>g5z5jfy5e-BA}e)agpJLPk*{d&{yDkWq`u zH{?9wSfM6hLp2o`u|rj>uh5QG5g;a2ZDmy*@VgG2`&$zoLdPHX2Y@u3>6!>FDF6Tf M07*qoM6N<$f^r3k4FCWD diff --git a/doc/html/classstk_1_1FileWrite-members.html b/doc/html/classstk_1_1FileWrite-members.html index f08fd0e..cab8bb2 100644 --- a/doc/html/classstk_1_1FileWrite-members.html +++ b/doc/html/classstk_1_1FileWrite-members.html @@ -8,52 +8,52 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileWrite Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::FileWrite Member List

    This is the complete list of members for stk::FileWrite, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(void)stk::FileWrite
    FILE_AIFstk::FileWrite [static]
    FILE_MATstk::FileWrite [static]
    FILE_RAWstk::FileWrite [static]
    FILE_SNDstk::FileWrite [static]
    FILE_WAVstk::FileWrite [static]
    FileWrite(void)stk::FileWrite
    FileWrite(std::string fileName, unsigned int nChannels=1, FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)stk::FileWrite
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isOpen(void)stk::FileWrite
    open(std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)stk::FileWrite
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    write(StkFrames &buffer)stk::FileWrite
    ~FileWrite()stk::FileWrite [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(void)stk::FileWrite
    FILE_AIFstk::FileWrite [static]
    FILE_MATstk::FileWrite [static]
    FILE_RAWstk::FileWrite [static]
    FILE_SNDstk::FileWrite [static]
    FILE_WAVstk::FileWrite [static]
    FileWrite(void)stk::FileWrite
    FileWrite(std::string fileName, unsigned int nChannels=1, FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)stk::FileWrite
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isOpen(void)stk::FileWrite
    open(std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FILE_WAV, Stk::StkFormat format=STK_SINT16)stk::FileWrite
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    write(StkFrames &buffer)stk::FileWrite
    ~FileWrite()stk::FileWrite [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileWrite.gif b/doc/html/classstk_1_1FileWrite.gif new file mode 100644 index 0000000000000000000000000000000000000000..a0fafc8b6a2b7af3254cbd3a1811ce1021254009 GIT binary patch literal 534 zcmV+x0_punNk%w1VN(E50P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08;=^000C2IJ(^aFv>}txH#+0yZ>N_DPn1!=tib&>t5?C&tFX6xIG6K4+cP= zz$cXHWW--4IlLWFz+RNODN1?N*3-mH3aQa$uW1~-tVC-kOlH5f+^>{79;#XJQ;~FjgfDQIF~bmn42J)oS!O|prf6lq^F^%s;R530-mlp z6|=Opwh#chy1Tr+zQ4Q%z{AAF#>d9O$ji*l#|F^O($mt=%GB7|zt+*(-rn5T-{aKc zDEZtxL6RQnhrEK5pC?uVP+y z`RXN0STASMgex    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileWrite Class Reference

    STK audio file output class. -More... -

    -#include <FileWrite.h> -

    +

    stk::FileWrite Class Reference

    +

    STK audio file output class. +More...

    + +

    #include <FileWrite.h>

    Inheritance diagram for stk::FileWrite:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Static Public Attributes

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

    Public Member Functions

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

    Static Public Attributes

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


    Detailed Description

    -STK audio file output class. -

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

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

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

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK audio file output class.

    +

    This class provides output support for various audio file formats.

    +

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

    +

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

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -95,13 +83,13 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des

    - + - + @@ -112,19 +100,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

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

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

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

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::FileWrite::FileWrite stk::FileWrite::FileWrite ( std::string  fileName, FILE_TYPE  type = FILE_WAV, type = FILE_WAV,
    Stk::StkFormat  format = STK_SINT16  format = STK_SINT16 
    - + @@ -139,13 +126,13 @@ An - + - + @@ -156,21 +143,20 @@ An -

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

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

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

    +

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

    + -

    - + +

    void stk::FileWrite::open void stk::FileWrite::open ( std::string  fileName, FileWrite::FILE_TYPE  type = FILE_WAV, type = FILE_WAV,
    Stk::StkFormat  format = STK_SINT16  format = STK_SINT16 
    - + - + @@ -178,96 +164,91 @@ An -

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

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

    Write sample frames from the StkFrames object to the file.

    +

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

    + -

    -


    Member Data Documentation

    - + +

    Member Data Documentation

    +
    void stk::FileWrite::write void stk::FileWrite::write ( StkFrames buffer buffer  ) 
    - +
    const FILE_TYPE stk::FileWrite::FILE_RAW [static] const FILE_TYPE stk::FileWrite::FILE_RAW [static]
    +

    STK RAW file type.

    -

    -STK RAW file type.

    -

    - +

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

    WAV file type.

    -

    -WAV file type.

    -

    - +

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

    SND (AU) file type.

    -

    -SND (AU) file type.

    -

    - +

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

    AIFF file type.

    -

    -AIFF file type.

    -

    - +

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

    Matlab MAT-file type.

    -

    -Matlab MAT-file type.

    -

    -


    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)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileWrite.png b/doc/html/classstk_1_1FileWrite.png index c8084b09a8e704b01bd5b19adbac5a233fcf980c..b1161bf5b283714f59a04a3da7e4bd14a6cfe014 100644 GIT binary patch delta 333 zcmV-T0kZz<0{;S#7zqdi0000|__>^sAt!$bbW%=J0RR90|NsC0)yh;d0003FNkld`Bdou6HT<~9fINI@Bf5~iZK6C-IwfWE$%-i^$%w#4rnaNCMGVjC0{3w_% zD49!{C}z(#+BDP^)VyUzOV6}R!vsp<-TjQpO72ckXN-jOtu7 z`F5>|#@R9H(>=m7iRGELPkBPbK(@_qC zAPfLd_}O>c8^8&c?LzzV{zq6_3dp7ev-n{~XNJnNv>4rUH16&Z2jj{#L`ox4q%cHD z&UzFhQUWB2^K%m4}uwk92-;~)1M    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileWvIn Member List

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

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::FileWvIn Member List

    This is the complete list of members for stk::FileWvIn, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTime(StkFloat time)stk::FileWvIn [virtual]
    channelsOut(void) const stk::WvIn [inline]
    closeFile(void)stk::FileWvIn [virtual]
    FileWvIn(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn
    FileWvIn(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn
    getFileRate(void) const stk::FileWvIn [inline, virtual]
    getSize(void) const stk::FileWvIn [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isFinished(void) const stk::FileWvIn [inline]
    lastFrame(void) const stk::WvIn [inline]
    lastOut(unsigned int channel=0)stk::FileWvIn [inline]
    normalize(void)stk::FileWvIn [virtual]
    normalize(StkFloat peak)stk::FileWvIn [virtual]
    openFile(std::string fileName, bool raw=false, bool doNormalize=true)stk::FileWvIn [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::FileWvIn [virtual]
    sampleRate(void)stk::Stk [inline, static]
    setInterpolate(bool doInterpolate)stk::FileWvIn [inline]
    setRate(StkFloat rate)stk::FileWvIn [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::FileWvIn [virtual]
    tick(StkFrames &frames)stk::FileWvIn [virtual]
    ~FileWvIn(void)stk::FileWvIn
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTime(StkFloat time)stk::FileWvIn [virtual]
    channelsOut(void) const stk::WvIn [inline]
    closeFile(void)stk::FileWvIn [virtual]
    FileWvIn(unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn
    FileWvIn(std::string fileName, bool raw=false, bool doNormalize=true, unsigned long chunkThreshold=1000000, unsigned long chunkSize=1024)stk::FileWvIn
    getFileRate(void) const stk::FileWvIn [inline, virtual]
    getSize(void) const stk::FileWvIn [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isFinished(void) const stk::FileWvIn [inline]
    lastFrame(void) const stk::WvIn [inline]
    lastOut(unsigned int channel=0)stk::FileWvIn [inline]
    normalize(void)stk::FileWvIn [virtual]
    normalize(StkFloat peak)stk::FileWvIn [virtual]
    openFile(std::string fileName, bool raw=false, bool doNormalize=true)stk::FileWvIn [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::FileWvIn [virtual]
    sampleRate(void)stk::Stk [inline, static]
    setInterpolate(bool doInterpolate)stk::FileWvIn [inline]
    setRate(StkFloat rate)stk::FileWvIn [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::FileWvIn [virtual]
    tick(StkFrames &frames)stk::FileWvIn [virtual]
    ~FileWvIn(void)stk::FileWvIn
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileWvIn.gif b/doc/html/classstk_1_1FileWvIn.gif new file mode 100644 index 0000000000000000000000000000000000000000..824cfc7d8b9193f14998e97753db1cc997bebaf8 GIT binary patch literal 986 zcmV<0110=NNk%w1VNw9V0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08#+J000C2IJ(^aFv>}rxH#+0yZ>N#DPn1!s79u2>k8{D&t6R5w><|J4+cP= zz$bj^WW--4Iiwv?z+RNODN1=%*3-mH3aQa$uW1~-tVC-kOlG^b+^>{79;#FDQ;~FjgfDQIF~Yln42G(oS!O|prf6lq^F^%s;R53o~<|) zva__c5CFKjy1Tr+zPkp$!o$SH#>BzL%FE2f2G7mW(#_Aw)7RL&)zI19+1u9M;?m*c z=FH{i>dx!!#_8_yy72Py^!4ud`0M)n=l%Z10SxGEAi-}3?Inz7a3MK|?HWQvH&LC$ zipMTuWVilNoW_pAK7#ZmawM;kCg-KZhLV}BmoQ^mfTijc%^5atmeF}CCr?FZ>UfYN zvS|>#MDqGq(9O?0z?!MA}oMP>8azTDN!(9=Ohx56OGuRO(0RSnze&ZHffYN z^0T&T37=fYv|Y>eYf}?t^IBc1G!fW9P(Q#`JN3|5!$S9N!21(%Wl)qalTEDoY3EIu zKiA+a8ffVpGE=Lr;IHLM*Cwm2B*$&`GH|wUZ_7=QcW>XyV8;f2n|N^J8IiwJ&XIXY z=fi}Lln#=5N9!B0W7J-e`$X>$!8;VckbFY(2hkH$ACP_PeUjqKpHIKO{rmXuL;nS2 zzy7cO{_z4}fVvDwAT9>}hu|>sEeJpW{N)0ngS|}1poI}W$e=J7?qcDG8D3c7gh6O% zqJR}rSfYv&vS=cN2_o3xiw?rrB8@2Gcp`}|;t1f3F?LAej0H+^BabZF2x5&rN=W2@ zLvonni$*S}WPv+2DPx8_5=kMJI(m3xi%Tw9WR6H8nWLCGVrb@=Z3_70hc;TtB$`eN z3Fnt;0_o*`F$Nf@e}e-0Cv=4(dZ=@WGMe9`kVY!$eEt-0;4YS4ic0~UY6<|SnH~sg zr=pJPX{ef_>glSie#)wh3w-F$7eI&WKv&n@6Atb%7 literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1FileWvIn.html b/doc/html/classstk_1_1FileWvIn.html index 4df0f81..3968ce0 100644 --- a/doc/html/classstk_1_1FileWvIn.html +++ b/doc/html/classstk_1_1FileWvIn.html @@ -8,104 +8,87 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileWvIn Class Reference

    STK audio file input class. -More... -

    -#include <FileWvIn.h> -

    +

    stk::FileWvIn Class Reference

    +

    STK audio file input class. +More...

    + +

    #include <FileWvIn.h>

    Inheritance diagram for stk::FileWvIn:
    - -

    - -stk::WvIn -stk::Stk -stk::FileLoop +
    + + +stk::WvIn +stk::Stk +stk::FileLoop +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

    -STK audio file input class. -

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

    -FileWvIn supports multi-channel data. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

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

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

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

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK audio file input class.

    +

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

    +

    FileWvIn supports multi-channel data. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

    +

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

    +

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

    +

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

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -143,19 +126,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Overloaded constructor for file input. -

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

    Overloaded constructor for file input.

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::FileWvIn::FileWvIn stk::FileWvIn::FileWvIn ( std::string  fileName,
    - + @@ -181,23 +163,22 @@ An -

    -Open the specified file and load its data. -

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

    Reimplemented in stk::FileLoop.

    +

    Open the specified file and load its data.

    +

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

    + +

    Reimplemented in stk::FileLoop.

    -

    - + +

    virtual void stk::FileWvIn::openFile virtual void stk::FileWvIn::openFile ( std::string  fileName,
    - + - + @@ -205,23 +186,22 @@ Data from a previously opened file will be overwritten by this function. An
    -

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

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

    Reimplemented in stk::FileLoop.

    +

    Normalize data to a maximum of +-1.0.

    +

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

    + +

    Reimplemented in stk::FileLoop.

    -

    - + +

    virtual void stk::FileWvIn::normalize virtual void stk::FileWvIn::normalize ( void   )  [virtual]
    - + - + @@ -229,23 +209,22 @@ This function has no effect when data is incrementally loaded from disk.
    -

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

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

    Reimplemented in stk::FileLoop.

    +

    Normalize data to a maximum of +-peak.

    +

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

    + +

    Reimplemented in stk::FileLoop.

    -

    - + +

    virtual void stk::FileWvIn::normalize virtual void stk::FileWvIn::normalize ( StkFloat  peak peak  )  [virtual]
    - + - + @@ -253,23 +232,22 @@ This function has no effect when data is incrementally loaded from disk.
    -

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

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

    Reimplemented in stk::FileLoop.

    +

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

    +

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

    + +

    Reimplemented in stk::FileLoop.

    -

    - + +

    virtual StkFloat stk::FileWvIn::getFileRate virtual StkFloat stk::FileWvIn::getFileRate ( void   )  const [inline, virtual]
    - + - + @@ -277,23 +255,22 @@ WAV, SND, and AIF formatted files specify a sample rate in their headers. STK RA
    -

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

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

    Reimplemented in stk::FileLoop.

    +

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

    +

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

    + +

    Reimplemented in stk::FileLoop.

    -

    - + +

    virtual void stk::FileWvIn::setRate virtual void stk::FileWvIn::setRate ( StkFloat  rate rate  )  [virtual]
    - + - + @@ -301,23 +278,22 @@ If the rate value is negative, the data is read in reverse order.
    -

    -Increment the read pointer by time samples. -

    -Note that this function will not modify the interpolation flag status. -

    Reimplemented in stk::FileLoop.

    +

    Increment the read pointer by time samples.

    +

    Note that this function will not modify the interpolation flag status.

    + +

    Reimplemented in stk::FileLoop.

    -

    - + +

    virtual void stk::FileWvIn::addTime virtual void stk::FileWvIn::addTime ( StkFloat  time time  )  [virtual]
    - + - + @@ -325,21 +301,20 @@ Note that this function will not modify the interpolation flag status.
    -

    -Turn linear interpolation on/off. -

    -Interpolation is automatically off when the read rate is an integer value. If interpolation is turned off for a fractional rate, the time index is truncated to an integer value. +

    Turn linear interpolation on/off.

    +

    Interpolation is automatically off when the read rate is an integer value. If interpolation is turned off for a fractional rate, the time index is truncated to an integer value.

    +
    -

    - + +

    void stk::FileWvIn::setInterpolate void stk::FileWvIn::setInterpolate ( bool  doInterpolate doInterpolate  )  [inline]
    - + - + @@ -347,24 +322,23 @@ Interpolation is automatically off when the read rate is an integer value. If in
    -

    -Return the specified channel value of the last computed frame. -

    -If no file is loaded, the returned value is 0.0. The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    See also:
    lastFrame()
    +

    Return the specified channel value of the last computed frame.

    +

    If no file is loaded, the returned value is 0.0. The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    See also:
    lastFrame()
    -

    Reimplemented in stk::FileLoop.

    +

    Reimplemented in stk::FileLoop.

    -

    - + +

    StkFloat stk::FileWvIn::lastOut StkFloat stk::FileWvIn::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + - + @@ -372,25 +346,24 @@ If no file is loaded, the returned value is 0.0. The channel argume
    -

    -Compute a sample frame and return the specified channel value. -

    -For multi-channel files, use the lastFrame() function to get all values from the computed frame. If no file data is loaded, the returned value is 0.0. The channel argument must be less than the number of channels in the file data (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::WvIn.

    +

    Compute a sample frame and return the specified channel value.

    +

    For multi-channel files, use the lastFrame() function to get all values from the computed frame. If no file data is loaded, the returned value is 0.0. The channel argument must be less than the number of channels in the file data (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    -

    Reimplemented in stk::FileLoop.

    +

    Implements stk::WvIn.

    + +

    Reimplemented in stk::FileLoop.

    -

    - + +

    virtual StkFloat stk::FileWvIn::tick virtual StkFloat stk::FileWvIn::tick ( unsigned int  channel = 0 channel = 0  )  [virtual]
    - + - + @@ -398,24 +371,24 @@ For multi-channel files, use the -

    -Fill the StkFrames argument with computed frames and return the same reference. -

    -The number of channels in the StkFrames argument must equal the number of channels in the file data. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no file data is loaded, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). -

    Implements stk::WvIn.

    +

    Fill the StkFrames argument with computed frames and return the same reference.

    +

    The number of channels in the StkFrames argument must equal the number of channels in the file data. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no file data is loaded, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation).

    -

    Reimplemented in stk::FileLoop.

    +

    Implements stk::WvIn.

    + +

    Reimplemented in stk::FileLoop.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    virtual StkFrames& stk::FileWvIn::tick virtual StkFrames& stk::FileWvIn::tick ( StkFrames frames frames  )  [virtual]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileWvIn.png b/doc/html/classstk_1_1FileWvIn.png index 630408070c8059d72af77cb77518204ba0833f0c..f2c8704dfc6e83f169cfdc676db1bfd7d9464588 100644 GIT binary patch delta 593 zcmV-X0T*Tp#At!$bbW%=J0RR90|NsC0)yh;d0006INkl{KG+;Ls3%Y(?;3&co8#?nvX?-xuCJtIeN4df^>=&Iq^fp5uQ< z?NQ;yoNA9R^M9Pk2O;BsbcZ92Z~Y!JrEq3EGNo|l1;~duP9%{;5=kVHMBWcMhsQKa za1i+qNQl6v_0uZfL;@lJ9MvG(7X%$}2U)fYdJvbbr0gN}kXN2xy&H@P-$8D=AF{^^ zUr+N4(#+BxFz2<`!@^511^f|`j}3n!Z-9*d(H)L7zV&;^l){JHOLq z)>LlWvqv2tNAj^jhry5f7JndK{cj?Pkr7jt^{6m!df-#Pwa7z2I_ f$>-%&$nf|BnT0b)g7zqRe0001GtSR7;At!$UbW%=J06^y0W&i*I$4Nv%R9J=WnM-nm zFbsxak*qDhPjSia#o6b`@#}E%K8}Zzr)XDFNhSX#srgc{DFs3& znZuK0o-A=DM41S#$vj!&kC5Hi5}8sU>&>MFrRXy<`7bC+$r20NB(r3RN$V=nC0W`d zcTCAPQuC!Bk}vt2tfZ1kz9tE+)|r3CIQ_-Q*anR~&(JG$ilj-`$|Q7P*b|L>uLmIw zjSNJx4?~`0(g?y02o(I&koP$u#$*dp^hk=&uz<*3wvd!?^ocYgX-V=v`x$9Oy6KkD zX-|_Puf0q@@*OEzC)=OmlHD5PJVFkihm*HqIGj91`x&PDJl1rd$J&3{r`BwjV!_D& zn@IV@?vR+EGC4bk3zZcJq;DJ@_CX}G(vpyJ6eu+wplKmf!3Y4?BqlN|Es0ORpiJiH za1z}W$=Nwvb)Q*jDbo(H*1l($-}zrB-L=T(r}!Iw=ckov=Y@L!0000    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileWvOut Member List

    This is the complete list of members for stk::FileWvOut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::FileWvOut Member List

    This is the complete list of members for stk::FileWvOut, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    closeFile(void)stk::FileWvOut
    FileWvOut(unsigned int bufferFrames=1024)stk::FileWvOut
    FileWvOut(std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FileWrite::FILE_WAV, Stk::StkFormat format=STK_SINT16, unsigned int bufferFrames=1024)stk::FileWvOut
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    openFile(std::string fileName, unsigned int nChannels, FileWrite::FILE_TYPE type, Stk::StkFormat format)stk::FileWvOut
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)stk::FileWvOut [virtual]
    tick(const StkFrames &frames)stk::FileWvOut [virtual]
    WvOut(void)stk::WvOut [inline]
    ~FileWvOut()stk::FileWvOut [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    closeFile(void)stk::FileWvOut
    FileWvOut(unsigned int bufferFrames=1024)stk::FileWvOut
    FileWvOut(std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FileWrite::FILE_WAV, Stk::StkFormat format=STK_SINT16, unsigned int bufferFrames=1024)stk::FileWvOut
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    openFile(std::string fileName, unsigned int nChannels, FileWrite::FILE_TYPE type, Stk::StkFormat format)stk::FileWvOut
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)stk::FileWvOut [virtual]
    tick(const StkFrames &frames)stk::FileWvOut [virtual]
    WvOut(void)stk::WvOut [inline]
    ~FileWvOut()stk::FileWvOut [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileWvOut.gif b/doc/html/classstk_1_1FileWvOut.gif new file mode 100644 index 0000000000000000000000000000000000000000..b31e23179f5b071bd83c8db97e97c6ca5eca9943 GIT binary patch literal 811 zcmV+`1JwLSNk%w1VO#)+0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09*iw000C2IJ(^aFv>}*5;*J4yZ>M)iq~kKXlj;f>%Jfh&$KGnc<$YLfcc?- z5GVi=bG)1}s96?unB+_NqdGaqs_#mZwwz1imD>D0kptz%nDvm)Z=ClluAac{+1v#_ zcaD8|FMB9`aBgLXeqCuwVp|!IenXFwa*a@#P=uPDC!C(4F_@yID4?dP0;sB`tgWH1 zu$>mQwzs$y0K2@szQ4f1!T<)t#>dFX%FD&e&d<=$2Gh~i*4Mn#&Dh-C#@f{0;^VvE z+vMon=jrU$>+SH)@A34<^Y!?^_xb$g{r|uA0jwu*V7!6`+aXMtZXrW*4j+n(D6t#G zir6kPMF1WgRGu9egeHT zw5QObdPu3@@+Xp05R{mlQksG(mZyuZVr@FLDjP|H>X@;VRne0nUGIzy^Hl7Zwp!h$ zV3map6G&ps!d*L;Y7n=AoZ>B$cdy?SuaxME)?AmB>ySlBLkx!Lt;flKe^YCDDsi|B-!1_Z#73lwXm)MEei%Gt{4u z|MGC^904eufCCaZ(m<3XsNjMOHt67k5Jt$LfzAj);W8Fpm`sKm9>ZaW!+aP_0K1SF zVuB^6I3h150?^`!Lm2a7i8BIYVvWAw$f7VU_84L>I;sdHjv2;ylR!Zq*k~PkFV~{RV66KdWlIUiaT5>68m1M4oCXrXF zIpvctz6s@=ai+;5mqFq=rj1?h`RAdGvRI~^fi8L|lTC)1XqJJBNTZ`-`Wfk$B2t>@ pl4g2ZDu^DUiK?Kh@~A4RnzqWRtTw(1Vyv`EsOzr0_8MUV06Vm9o$CMq literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1FileWvOut.html b/doc/html/classstk_1_1FileWvOut.html index f844bab..1a24031 100644 --- a/doc/html/classstk_1_1FileWvOut.html +++ b/doc/html/classstk_1_1FileWvOut.html @@ -8,70 +8,63 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FileWvOut Class Reference

    STK audio file output class. -More... -

    -#include <FileWvOut.h> -

    +

    stk::FileWvOut Class Reference

    +

    STK audio file output class. +More...

    + +

    #include <FileWvOut.h>

    Inheritance diagram for stk::FileWvOut:
    - -

    - -stk::WvOut -stk::Stk +
    + + +stk::WvOut +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     FileWvOut (unsigned int bufferFrames=1024)
     Default constructor with optional output buffer size argument.
     FileWvOut (std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FileWrite::FILE_WAV, Stk::StkFormat format=STK_SINT16, unsigned int bufferFrames=1024)
     Overloaded constructor used to specify a file name, type, and data format with this object.
    -virtual ~FileWvOut ()
     Class destructor.
    void openFile (std::string fileName, unsigned int nChannels, FileWrite::FILE_TYPE type, Stk::StkFormat format)
     Open a new file with the specified parameters.
    void closeFile (void)
     Close a file if one is open.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (const StkFrames &frames)
     Output the StkFrames data.
    + + + + + + + + + + + + + + +

    Public Member Functions

     FileWvOut (unsigned int bufferFrames=1024)
     Default constructor with optional output buffer size argument.
     FileWvOut (std::string fileName, unsigned int nChannels=1, FileWrite::FILE_TYPE type=FileWrite::FILE_WAV, Stk::StkFormat format=STK_SINT16, unsigned int bufferFrames=1024)
     Overloaded constructor used to specify a file name, type, and data format with this object.
    +virtual ~FileWvOut ()
     Class destructor.
    void openFile (std::string fileName, unsigned int nChannels, FileWrite::FILE_TYPE type, Stk::StkFormat format)
     Open a new file with the specified parameters.
    void closeFile (void)
     Close a file if one is open.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (const StkFrames &frames)
     Output the StkFrames data.
    -


    Detailed Description

    -STK audio file output class. -

    -This class inherits from WvOut. It provides a "tick-level" interface to the FileWrite class.

    -FileWvOut writes samples to an audio file and supports multi-channel data. It is important to distinguish the tick() method that outputs a single sample to all channels in a sample frame from the overloaded one that takes a reference to an StkFrames object for multi-channel and/or multi-frame data.

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

    -Currently, FileWvOut is non-interpolating and the output rate is always Stk::sampleRate().

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK audio file output class.

    +

    This class inherits from WvOut. It provides a "tick-level" interface to the FileWrite class.

    +

    FileWvOut writes samples to an audio file and supports multi-channel data. It is important to distinguish the tick() method that outputs a single sample to all channels in a sample frame from the overloaded one that takes a reference to an StkFrames object for multi-channel and/or multi-frame data.

    +

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

    +

    Currently, FileWvOut is non-interpolating and the output rate is always Stk::sampleRate().

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -79,18 +72,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Default constructor with optional output buffer size argument. -

    -The output buffer size defines the number of frames that are accumulated between writes to disk. +

    Default constructor with optional output buffer size argument.

    +

    The output buffer size defines the number of frames that are accumulated between writes to disk.

    +
    -

    - + +

    stk::FileWvOut::FileWvOut stk::FileWvOut::FileWvOut ( unsigned int  bufferFrames = 1024 bufferFrames = 1024  ) 
    - + @@ -105,13 +97,13 @@ The output buffer size defines the number of frames that are accumulated between - + - + @@ -128,19 +120,18 @@ The output buffer size defines the number of frames that are accumulated between
    -

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

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

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

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::FileWvOut::FileWvOut stk::FileWvOut::FileWvOut ( std::string  fileName, FileWrite::FILE_TYPE  type = FileWrite::FILE_WAV, type = FileWrite::FILE_WAV,
    Stk::StkFormat  format = STK_SINT16, format = STK_SINT16,
    - + @@ -172,21 +163,20 @@ An -

    -Open a new file with the specified parameters. -

    -If a file was previously open, it will be closed. An StkError will be thrown if any of the specified arguments are invalid or a file error occurs during opening. +

    Open a new file with the specified parameters.

    +

    If a file was previously open, it will be closed. An StkError will be thrown if any of the specified arguments are invalid or a file error occurs during opening.

    + -

    - + +

    void stk::FileWvOut::openFile void stk::FileWvOut::openFile ( std::string  fileName,
    - + - + @@ -194,21 +184,20 @@ If a file was previously open, it will be closed. An -

    -Close a file if one is open. -

    -Any data remaining in the internal buffer will be written to the file before closing. +

    Close a file if one is open.

    +

    Any data remaining in the internal buffer will be written to the file before closing.

    + -

    - + +

    void stk::FileWvOut::closeFile void stk::FileWvOut::closeFile ( void   ) 
    - + - + @@ -216,23 +205,22 @@ Any data remaining in the internal buffer will be written to the file before clo
    -

    -Output a single sample to all channels in a sample frame. -

    -An StkError is thrown if an output error occurs. -

    Implements stk::WvOut.

    +

    Output a single sample to all channels in a sample frame.

    +

    An StkError is thrown if an output error occurs.

    + +

    Implements stk::WvOut.

    -

    - + +

    void stk::FileWvOut::tick void stk::FileWvOut::tick ( const StkFloat  sample sample  )  [virtual]
    - + - + @@ -240,22 +228,22 @@ An -

    -Output the StkFrames data. -

    -An StkError will be thrown if an output error occurs. An StkError will also be thrown if _STK_DEBUG_ is defined during compilation and there is an incompatability between the number of channels in the FileWvOut object and that in the StkFrames object. -

    Implements stk::WvOut.

    +

    Output the StkFrames data.

    +

    An StkError will be thrown if an output error occurs. An StkError will also be thrown if _STK_DEBUG_ is defined during compilation and there is an incompatability between the number of channels in the FileWvOut object and that in the StkFrames object.

    + +

    Implements stk::WvOut.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    void stk::FileWvOut::tick void stk::FileWvOut::tick ( const StkFrames frames frames  )  [virtual]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FileWvOut.png b/doc/html/classstk_1_1FileWvOut.png index e282e99c26cb838464426a863dbb8dfe501730e1..ef9d680c733ecfebc2eba85cf31dea622046c5f0 100644 GIT binary patch delta 475 zcmV<10VMv^1B?Wa7zqdi00018o_tf0At!$bbW%=J0RR90|NsC0)yh;d0004-NklC?FF58?`e23q<$u1Z9#=CA8=pe$2G4|EHUWtm*)y|VcCtXqGs zU#OO)U#DGYO!L`7{J-OgQO-p@IsY+ut%-UjUTdPBivQtmAx@k)apJ^@6aOH-Bt}^z zEr>q|hX~@(K9&QOLg3> z@fwe1nd0M>9>!hG_b$|&2o70o-C0@sR%RFKx?sT9KG${|x`odc;@^!Y#t$;%Cl-_) RBYpq?002ovPDHLkV1m|)>V^OS delta 419 zcmV;U0bKr!1k?kN7zqRe0001(Zjn-vAt!$UbW%=J06^y0W&i*IYDq*vR9J=W)=Q4V zAPfLd*v#7I24-$BbD^$s|04|k0EzM;krJuum{x(17cf>;Is9H~;U`~c-=D=3X^)sG zr?Z@7G~kp774b`$>Q+0P7bKD>kY7pZnDZM(ICdNb(>ZT7;8}y|M;!!1H6K)O2El)n z%#a+l#9kIpM|{wn-^MTgaqP6$-h(^%*YqTxrq_e~*~~b1?%er(-0R2_yw-s!*D?mt z9-QKoTfgGi%0}T@9m*wPT5+;UO&wo4-&mb;D;tSu$Y)ii@T_IqE}xZ+0*^V(%0`2l znNqdx1j7p^>Rj?(W@(+7Q_cBp-0OcxuOpp1ckaA2ywn0**)x6sue}^T>I{Emg!&BD z9Q0    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Filter Member List

    This is the complete list of members for stk::Filter, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Filter Member List

    This is the complete list of members for stk::Filter, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFrames &frames, unsigned int channel=0)=0stk::Filter [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFrames &frames, unsigned int channel=0)=0stk::Filter [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Filter.gif b/doc/html/classstk_1_1Filter.gif new file mode 100644 index 0000000000000000000000000000000000000000..47d61e09b09b68afdb8d9c6278e72c2cb7a556cc GIT binary patch literal 4318 zcmV<45FzhJNk%w1VZ;C^1M&a>|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui0K@<&0{{d5IJ(^aFv>}*0yyiM)j^ZGkXsWJk>%MR-4`glMc&?dp@Bcs_ zO-C#mZM>jz$%GA$&}cN-tXh>%sdkIJdcQNScnqR~1%Xo<7HF^0>hmc}u8+;&^}Ds# z$K`Z(f>L-*ZEA;pEPIG)ie7<(l0}6}ihgg8hbfq6k&~b|l}e0yjC`4hfT659qok>5 zr!JSXRiCZ79

    vjanm%@v|!;e?R$HvLZnZI$GZYYV|U((aL)pF!O z;Nh&}b}#XD*&TgH8e} zv}i}8NCgp1$`s1drciY}jY?Hy)vHpmYPB(St5*zNzitgH7Ax7ZRnMZ0s&;MDwr-Qc zjcar+U7>dG`pm0WC*Qs`{{n_7c<{=?hD{<)OmZ>f8g3#>o=my2<;$2eYnI$Mz*f(C zL1Pt7mvmLrZc#^7jh1y&*J5Gc04;km2HLml$o9G$a&8c?ag*t-mAHpCw~-6ypc=QE zZfOhVR0WRXGLgd|=vEm>5M zPND;4l+#Q}r7>1s`IDA=aoJOrUiKJfPGF8XNSS8Zfo7UytjVSrZoauioN`J*XPr*r zS<;<)7QttqSpoXdpMu^%XrWdiI?a48R8U?HyKm^Sqk$J<-HcZ$;PpbU*{`vcYo4WA)5tS?IP)vE%Mz0yp7D)VABn}0QZCIsUZ{bG61sv97NE8 zs%msZNarwg(Mz|yWwlZN(=-lGS8a9A=s>Nt6I_Sm_17+3Z78UnrmeQ7VO#35+x86I zsN9Ouji}v);w`A&fb!j^-+BU$r{HxGE~nvdBF?7bX)O4NZ_Uo{F`Zm>M8`SnOW7jV2?bPUQ`|L{l&Jgdq z8?C{A4y!^AxG+RCNQwI;NDLQBCthYI*yoA|YjSNJ|Gi!YCx+ot_ zyf~!T`>yx;9$bIN=DgpELIbNzzb`e**}B~4GKv}SfCzk8s4n(A`>oF#A1j;w(h)y| zQO|k_V;=;WK)yt2?|eAhAi=zKt#0iMe+0~)@{V^sEKD#I#+ye3U(i7kWQ~Q+;@}J6 zfkRL1a1t>TUJXZZ!yck4dOkDa5mhKXB}U_i_lTVor+5J*!p;7QS8N6A9{OwA8UIcN9w=zp_WK^l>a%496d}GDx!o zvPy^CNg|=R$Xzv(iI0>-A+IvYw4jZOm|Pnp1rbEw4bf5Nb0V!aIS^5{ij;Ner0zZ$ zf+Cu7e5g!Fu`XyY=l!o<`NQHgl!d~6S6i92g4Ono_AS^tKW!C=e~1+0uz zDA~XaY*>(8)x2LbrKZJc;!A$A_$D@y=`rzflNGLv!7{_yz!5HtnFGw%IYW`adfHQB z783@>z#nN4BhZ=3#1-!Ewx%R3k|oc^h(1qqL7!ha_7nbG_}I)(Sl zVM4NNJ?yAQyE#zbiFBms^yVvnkWoshbfr8aX76C?LYWqirZxSj*l?OclBz0`K2QMCwqKnpCDL#i>t)>QSWHCaPA|s&K+;R<$}Ou6EU{wgRgo#Y!!*%FC?d zLhD)8Dm1pX)vZp0Yh2}8RJwZ5u0+J^UG*wWzJk)PtpsdfOBK|@W@M;bP-X2}+JTMo z6s7ch>0?{K*h@)vvb(b>{4g5^&F;?-v~1o)fhmKNB2TBg1g$|aC{B{W(z6sa=FLJ2 z&=M*Wp|3@4F>%Sjf@<@D=`*bWD!T#4w$pzt{w!xNQ6^mCp5(H?YFEMd89;afx2Nd5 zr*^eVklrSDTM1UO5)3gO1wS&DTYlVS37uTNJP(kH?e zhDH=_X5V{L913{A`)wj;A$wH*E?9#9<>7-F8et$#n8F0!?1hh2;V2sR!xkW~S1U;s z60=3HeMNC&RqRq0Th_(Jg>j5!oBL{2h~ zkNhMh>zK)SaWajeoFpmB*mWSzvIIm-hz(Pg%Tw?&hcoSpz*v*T5~%3(43s}H3!XUAELUHnI6{6259Of;u)l72HB&H zpysc^`NzNE@nD?$VO24C8EniQ6vr zwqL-_VsVp++$uJAV9clO3UO#nhOy*WUGtOnnPv0JW>E}(mLRCiehvT3S z{j(^~ZL8kfrne6@pGDDk%h_lR9=@10yxm3dV8yT9p$%8~;~x@v$w&Pjl|OueF~0aN zL|*gaFu1`xPgH<6M&NoiJxfrJSJi{W^@C!)U184=+5<`UbhZ7Wa4%QgJH+=f;XPb| zFA(DM!}xI%zFU!R6Xmm&`BHLzDn(y#(vu+KRRevQIY0TtX5RWEz<$)U|L2N>zXUQw zIXNYAc|@n54M|EL$ zfVbccNYE!p(uY<@h)CPkgin@)X0?Qh z@8Tf=$cx7f7fKFRcmopp!a#|GT9e#?~& zfQMhqlrlE={$+GX2^+U_4n#1(l`)G}X$Y2x6!%^8lU&NBX-el?A0vZOH)#dfPOn&9 ztwvuBQ$P~GM~Si)Q8oi}oG6X4 zNKp*7R2q0;w1|0msEjN3hmjSI6E=?SSB~k}Y;Tr@yI_ZXSbov=iA3;*a7c|K)`nb# zhVNK~YuIi6s8s;jU~D*$;Z~4c$dFcbkl?6>5-E@qnUEDpkP2CD4oOuI*;E&~kc6d= zASREQLXYOCfar*js~C^?$Z+nclFN9H{K$f?HHaQZiTPz~Cz*nR_%Z3#3;I`&1BePO zM_V2K2y>m7jn2e($rzA|h<{>Ng16W{tObBimx@lgk{8vA##oHhQ(JTAfb7VBw7`I4 z$6U75Pn1?`SlJ`M2#nP*j0@$JhsbDbIgLU&gB>W9NB4}DxJ_4ymph4g(e*7Nl!<@0 zi5&+%+NhWiHj_LEgoC+xDH)N0C}v}6gO%x#m$_^t87n54l`+YZkeOzo36o+Yk|WuY zOx2NRvXN5dno;$U8kv#l2AkN1n@%O0YNDI1>6=Q$n^Q%bw`rU02AoJGoL5Dh$7!7N zhMY!4aH<(ppV=#?X_-%nnblb?FNvL6>6xr~ch||8*~yGJnUn`e8Ln2Ea#)ik2Z{cS z=z-WJn&&umMQKofXJ0p&iA(8?p2(hcXr9<|isR&TIg~+E*_Pfpn!kixQ`e0K`jv3U zahaKeM2U2`7>#N9p!zA65crl6m<)1BO9X0+cDY_niJB-0mC$&iCFpV!>UaPOie-6? zhe=!dnRod`Li~wgd0C5_`I_n|Y}-jM-ASI`S!_iLGvg_w@Ti^P$#_TVq@AgxQHli9 zX;@1NDattpUAk4w`JB#KhGY6~&{=wC8cAQu1#9|MVM?ZNYNlm6aB2ETZTc#8+DLaA zR&h$FbDDa2`hrXx|H87}z3bAS$s77e9T8OcMw5Ma$r-1sWt*5bB#Ia>XktS=A zCyS9D8?qofdm?*9B%4+(n|m({H!-_bKP9o5w6KyHuRKYb+Nzl{{u#6us;CJ2q~KYw z;^~N|IvF68sU`@oD*Ch1Du~bmpHZu86dQh}Rf)(5n3Z@kj=8FvN~Mwdex{BUqGflfQacpT8m;a*t#r#?beVR@Xs>4L zuyJ>)C+C-p>$U-Vuku=$KZmYcsgyX1pb?a-li0IUOPD~bw?jF!sH>N!>$9dyutb}v zs_VLxIlHA>yRCb>p{KK$w54-Xvu<;3yyj+UCziYkEr@eLKy?1j-ygNlaYqZ13sOwn1wkxo+nVYn+ORDC(oak$Tz>$}p;cG6#JHB0JGhcmxL+5S`gE)@hqtp3!>tOybnyyVw`nnIlm-lc zzcvxPkax2twsPl<>dALKy1;8;s6W%g$HrMqoUl&Z7fOsPPmHvZTEhps6;nJbRXo26 Ms~6*oNeKV|JB06cG5`Po literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Filter.html b/doc/html/classstk_1_1Filter.html index 2cb4a61..bccf251 100644 --- a/doc/html/classstk_1_1Filter.html +++ b/doc/html/classstk_1_1Filter.html @@ -8,87 +8,79 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Filter Class Reference

    STK abstract filter class. -More... -

    -#include <Filter.h> -

    +

    stk::Filter Class Reference

    +

    STK abstract filter class. +More...

    + +

    #include <Filter.h>

    Inheritance diagram for stk::Filter:
    - -

    - -stk::Stk -stk::BiQuad -stk::Delay -stk::DelayA -stk::DelayL -stk::Fir -stk::FormSwep -stk::Iir -stk::OnePole -stk::OneZero -stk::PoleZero -stk::TapDelay -stk::TwoPole -stk::TwoZero +
    + + +stk::Stk +stk::BiQuad +stk::Delay +stk::DelayA +stk::DelayL +stk::Fir +stk::FormSwep +stk::Iir +stk::OnePole +stk::OneZero +stk::PoleZero +stk::TapDelay +stk::TwoPole +stk::TwoZero +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Filter (void)
     Class constructor.
    -unsigned int channelsIn (void) const
     Return the number of input channels for the class.
    -unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    -virtual void clear (void)
     Clears all internal states of the filter.
    void setGain (StkFloat gain)
     Set the filter gain.
    -StkFloat getGain (void) const
     Return the current filter gain.
    -const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)=0
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

    Filter (void)
     Class constructor.
    +unsigned int channelsIn (void) const
     Return the number of input channels for the class.
    +unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    +virtual void clear (void)
     Clears all internal states of the filter.
    void setGain (StkFloat gain)
     Set the filter gain.
    +StkFloat getGain (void) const
     Return the current filter gain.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)=0
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Detailed Description

    -STK abstract filter class. -

    -This class provides limited common functionality for STK digital filter subclasses. It is general enough to support both monophonic and polyphonic input/output classes.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK abstract filter class.

    +

    This class provides limited common functionality for STK digital filter subclasses. It is general enough to support both monophonic and polyphonic input/output classes.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -96,18 +88,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Set the filter gain. -

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

    Set the filter gain.

    +

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

    +
    -

    - + +

    void stk::Filter::setGain void stk::Filter::setGain ( StkFloat  gain gain  )  [inline]
    - + @@ -127,22 +118,22 @@ The gain is applied at the filter input and does not affect the coefficient valu
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implemented in stk::BiQuad, stk::Delay, stk::DelayA, stk::DelayL, stk::Fir, stk::FormSwep, stk::Iir, stk::OnePole, stk::OneZero, stk::PoleZero, stk::TapDelay, stk::TwoPole, and stk::TwoZero.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implemented in stk::BiQuad, stk::Delay, stk::DelayA, stk::DelayL, stk::Fir, stk::FormSwep, stk::Iir, stk::OnePole, stk::OneZero, stk::PoleZero, stk::TapDelay, stk::TwoPole, and stk::TwoZero.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    virtual StkFrames& stk::Filter::tick virtual StkFrames& stk::Filter::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Filter.png b/doc/html/classstk_1_1Filter.png index ed2688b095e990186a4223e15b74c60fa267a126..c92bd085560ad47d1031a75edfdcfc53ed8ff609 100644 GIT binary patch literal 2607 zcmb7`d00|;7sp*H$+SS*2zwI?Y#VJLiIL30TdrY>qn6_`Wp1ISQ)H3mh?Cg3l;#*? z;=EdtW#)#Yq^6PPQawd3;g+DKDH1A*n(|($cdD7c*LD_>1bb2CH}jM%HIEx^m#Lk=$cl}aTTDwPkjvV1Osk?Q;K;X_)j zvJd9|+ls4(C1pE8rZ(P~##BeB16ZZu5Xg}$dv?zQntA=b)$I!V8`k8qpK zF58JZs8PUE9Gdr(Z#sLGotgW(RijG-))9zlpA0ZoVrl068-|6X;CyaPQpba$ebH*_ z8UU5wh+ih-DxNW0-yy52d-lqfGo;d8haN1BVe3PnhG1TGjYVGtXRHE_U%z;N@B#w7 z>o}LZ(vfTYY~mMtelPO|WN^sd`AOOOfgyYEo9O-@|Dr1!A4A%9jyB1BXDur9(>Df{ zRmHuxk4U!ZBoX)pdY);g3L^>Ykx^5jeav`zO_d{oQ^ZrY&_U3ExuAY0MbQ&JnnOb{QEl^hdXX^zNAhj(A; zJ-s2X5S%zWXmZ24Dx|JIoGYeas60Q#x*w2|1Un>Pws7f?SO zeG;Bhh|Xw3&im-J+$E^k(k^au`JLmO?`UVIU6ljZwln_hE{Ht(o(V%uSpm!sLQ;W) zc)&6)0*9tcIs%>JixyQva*Q51=+Gq z2@iQSUu7GHJKP_MS^QNW{;g9Lh_KM)w6Jxxt@BI5k-q5at1DYmhsHKu1Oywu5ejc` zFsadnaYfc9z|#|LdwACcMs}ld3`{R4lX%c8Is)hSN#voJ?$fsZN7oMH>+@io%p)OY zVu=MTi{vpU{=F|GbT|+eauJW~)RNJANs>iivz=$8g{?Ls|8v895xPfH<_>2gDW2dG zBU7T^sJ-pFiIKSb9w=2yF8B4DzH(L5DcsGT>OtivAGf97D(CqQ+3ak!5C+CUB;(Hf z5?P1O4E0EoyM?|rJu-tDbj$)y>2Ckz!IA|D&{PQ+MIfWh)0fJ~7pLWy#$YMT8*c`* z`dN48u<}$%VN{nx*{T5w(BOb_;wHp5IusM{mQ(o$UROn^XTO8`8Ffn@o-m&A%72NH zlv*XEU2D0eTsc~8$V%MPUX?kgm2E~|yYfsg2V1mZcms@A()JVxX5&~nXq~Vj=KYK} zgX0w^v5PhM%QQilxFKEZ4l^9S#myJ@_C_mo_+PemGlV%9an^%hxfRK@)lNE>-?Q^D z6y?oH=qgr>#DK;naP2ztGD%ju5!EZoLfJIe+7&fXh0+!ffMTDq&v=>Ko1ahuWqw1r zuT!eY;Eei4yzb9K^GgDu7;@)jQC-;mLu;un$!WIT=Bww#L=NW(lZ0Fp7hAK}HRILBzIm7?h{NA;6sqGr`6!$aZ zonVN1@5`l`LibRC2XE7!*lF>$Ho;)x|113Cf-1a>=ywU>+}TcL8#^17&N2aFtS@>C z{{64bzWsH)8EISpiT~o<4DCixp4F6h(+7Hnht3JtyfXqE&$z~`zfdMsyKx0l2JX4U z!LwRJM&Z{?NXD&DA01|%8%X*t)UnAF_KwaeVP4|trdM3Y^1tSSBl{|broZA~(}Fmt zr{Z8|#fIB_3#irmnLDW}$P^(PJ*Czol*8%L--JI!gRIFFq<8rDQ_Adf>bIw zc?y-?XM*MYG`&6)(P1_l1Crci|G0~Br5?HK9@((Wm5FTJEQN;f)|Z zhz846V}5i$@@Zqc(#(VB!G1~qiaarLoQS{QSHL*=_#jLcbDd$i z1O#9KaUm~pR`n9?-mA_`uJI)rY;woVFadB1y>w4dcx)|1PKR%AH)EvmnoCg+tabdS z!*e{70(Q|_e?Ye3^ar7+DP=sP@~!*xjjY5laGL8fMx|OnQq9B}+N8puo_6VpfD{}t z>%%kX5^OQ~Wp`%xK%%Z{!+FIngzCkHzG&{&q9$p8B`TX@u>Szq%z@hvd^|nr%|Z9$ zSv+l!oCgDP0DvIWk#N06R;@t_pLWX=G%J=(o~|%(N>NrbT$9XuO!w_Zd=?s-p0E7q z#ut2_6(3eODURGR0Ul8ZoL)IN0&aP6$1QWr0V-62R45b|DqP1hL`Bmva}={NM!_v|)bXd7 z$`L^e9Y=7<(#9|wDUbU?+9;Zn;xcAvW#!wR1yd%aHkqBl1;73SvV!?Lmvro#GnJ$(2uxnpxi z;VQ*@<9q-vv!j;)fE}MaP_Dj-ti_4QXqgi*eQK}j`{y&-yy)`qZ}*hDthLiJ*DLCN zgZ+$J6Hi*Kzz|7h-s)+Gr>DBwb#mIBZ|~i-xv5D%YfgOvD)sM>+A^4kZ@_6fb|5IS zXT-R@n}%bncS-j=#^I?j$**D_daH{CyZuuB@c>!@^&5US*ez z7%xqHH|D7;o3dWP_n2K1_gWxcqdcUEuQdyVOfkg)FVnvQ6qnXnqLClRfWYJfZBrR6 z>uH~rbIzxj1D{N#M{6zB{zF-Mv#Z@QsSGJxaH{|=J=i7R?*Wd^C`Dvu_Mm#vxALFN-GCxA9Y|D<*&Yw#xm&0 zV|q}GxfIPkjN-l;J%{R?x~O$|>4;f+B>}~%q0#ZOzAFq!b>ObQ;y{40@DK;CNgi=u zaSWspH^>}ZYd(Jy>JcH+KN^qy^KYzHTRrE+MxPURr@8-r-3W%bdd_qpMQ~ICZ z6#*}-2J3}>KtI*q+TC%R-E(>VX)VT+LZDk+y3Z2)5>m4@my@tlUb?^Us)+_RMZZ0U zT%+BWU?LN-v2Oyq;;dK_6KH$=#jE}}>#HU|;~Rqf{%)3?^Vc}TUWOMgWyPU6;KY;V z4;YFH_7qqqPG28AwoTsRS7g4HPyS<6HHL|zo zu^}%5h)D^*c7{rQcCQ4|(=kR*`o&wamb5YI8j=RpAoGZ zkDD#c3P@8?kp6^VL{nAKv8>h01fZM}ZTtALQy`wxfP5GKDO2M3VS&GHC;DndT?J;V z@)^-JwK$^M_iWV~QZjW;?-U90jel@)rInsTgPb#T#|a_V`LlVRfez(J-^2Uc3MC{DypB{BiW%^-(?zNjh7f zb#57FWKrRO4>PQf4;E17420GZvg_9q^%U*)rPV{76=$RA;!FB6gLeK7Be`Zj(0)Tq z$t~5P(kIjclrB7(#ol#t%~trl*pOZ7fm%CBYAuYSSKm)!4XRxfaiXR%C?EP(yB@+d zfrID(VVH1LZ>T2RzwSofj!2wuHJkE4I}~BGoE49@T|GNEyft#$T&NM70PWsQe93Cu zedvH73C6eKnqb0*;v^L;LSgUxO97jeU{m4ul$;SK2}0f}9_ap8iv}{|i08NbwJpUe zM(aDb|8JdNAsD(9d&~==(M=0a@-hNj>Ym`{WIRhg&KYe`jXLlB2N|oy6(>^}MVE`i zA@lw4+JsO%7=AF zk@6*kO#P#lhaWABB@NZWzUi>D?S?gUY2=hja!hT(SHj*Xho?wu_#SNxN<4%_>WsM(_zR%>V!Z diff --git a/doc/html/classstk_1_1Fir-members.html b/doc/html/classstk_1_1Fir-members.html index 060ee94..c6b2306 100644 --- a/doc/html/classstk_1_1Fir-members.html +++ b/doc/html/classstk_1_1Fir-members.html @@ -8,55 +8,55 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Fir Member List

    This is the complete list of members for stk::Fir, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Fir Member List

    This is the complete list of members for stk::Fir, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    Fir(void)stk::Fir
    Fir(std::vector< StkFloat > &coefficients)stk::Fir
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::Fir [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &coefficients, bool clearState=false)stk::Fir
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Fir [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Fir [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Fir [inline]
    ~Fir(void)stk::Fir
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    Fir(void)stk::Fir
    Fir(std::vector< StkFloat > &coefficients)stk::Fir
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::Fir [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &coefficients, bool clearState=false)stk::Fir
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Fir [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Fir [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Fir [inline]
    ~Fir(void)stk::Fir
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Fir.gif b/doc/html/classstk_1_1Fir.gif new file mode 100644 index 0000000000000000000000000000000000000000..97a54907ac733c981a9062446685a0753e259a02 GIT binary patch literal 656 zcmV;B0&o3CNk%w1VLkwe0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui06qYS000C2IJ(^aFiI$@y*TU5J62vOjvYvzsAr~ZE39rj!eda`UZCRw&WALS zFLxRCNI{M6wlrpbOq-LF#2AM>=dyS^0tX?e54zcU%_?v>%OqXNo2s&VgwyF*k=$~{ zm$_$mRBAa{Qhb3?hF*+ugffsNkCBugla-izm@%50EuEezprI$Dq%#w#s;j90uCK7M zva_!Sw70mqy1BNyzQ4c#2E)O{#<9b_$IHLT#LUpV&e7Dk%GKD&+1s$!+}PgV)ZyaL zZD0kYC%M-(nlg1F3? z2+mMMZ7e4)_rk^@9vwmf&l<85KX2(J;Yh@7|muZ{c z`~ipLNw#-IdCmKUFAKYV0rM4{m+;+bc5z-~cgYU!iY(dMw92%cJw~^AU1!di z?}g?yT3_kRr%|U4xSDlqg0E}EmOWcoZQHd!m(wkdH{;vBxdq=gJX>*az>{x#%DlPr z=g^}!udRc60PEOiR}Xd_K=)hBU48$x9a#7Av(PUqk8Ar5@8W5xhaZ1_EcWu_)4%@x zyjTAFuiz)2eXyW+9)aGm6ySop2$)`f;vqO6gbgAH;C}R_r{RCOIC!Cd7;boBh8f&K(FOC*tXft9~V`Vo=mg7M?79`z|KnD3-0suRc%uw?H literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Fir.html b/doc/html/classstk_1_1Fir.html index 3eaa40d..66768db 100644 --- a/doc/html/classstk_1_1Fir.html +++ b/doc/html/classstk_1_1Fir.html @@ -8,76 +8,68 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Fir Class Reference

    STK general finite impulse response filter class. -More... -

    -#include <Fir.h> -

    +

    stk::Fir Class Reference

    +

    STK general finite impulse response filter class. +More...

    + +

    #include <Fir.h>

    Inheritance diagram for stk::Fir:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Fir (void)
     Default constructor creates a zero-order pass-through "filter".
     Fir (std::vector< StkFloat > &coefficients)
     Overloaded constructor which takes filter coefficients.
    ~Fir (void)
     Class destructor.
    void setCoefficients (std::vector< StkFloat > &coefficients, bool clearState=false)
     Set filter coefficients.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

    Fir (void)
     Default constructor creates a zero-order pass-through "filter".
     Fir (std::vector< StkFloat > &coefficients)
     Overloaded constructor which takes filter coefficients.
    ~Fir (void)
     Class destructor.
    void setCoefficients (std::vector< StkFloat > &coefficients, bool clearState=false)
     Set filter coefficients.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK general finite impulse response filter class. -

    -This class provides a generic digital filter structure that can be used to implement FIR filters. For filters with feedback terms, the Iir class should be used.

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

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

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

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK general finite impulse response filter class.

    +

    This class provides a generic digital filter structure that can be used to implement FIR filters. For filters with feedback terms, the Iir class should be used.

    +

    In particular, this class implements the standard difference equation:

    +

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

    +

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

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -85,19 +77,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Overloaded constructor which takes filter coefficients. -

    -An StkError can be thrown if the coefficient vector size is zero. +

    Overloaded constructor which takes filter coefficients.

    +

    An StkError can be thrown if the coefficient vector size is zero.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::Fir::Fir stk::Fir::Fir ( std::vector< StkFloat > &  coefficients coefficients  ) 
    - + @@ -117,18 +108,17 @@ An -

    -Set filter coefficients. -

    -An StkError can be thrown if the coefficient vector size is zero. The internal state of the filter is not cleared unless the clearState flag is true. +

    Set filter coefficients.

    +

    An StkError can be thrown if the coefficient vector size is zero. The internal state of the filter is not cleared unless the clearState flag is true.

    + -

    - + +

    void stk::Fir::setCoefficients void stk::Fir::setCoefficients ( std::vector< StkFloat > &  coefficients,
    - + @@ -148,20 +138,19 @@ An -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::Fir::tick StkFrames & stk::Fir::tick ( StkFrames frames,
    - + @@ -193,20 +182,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Fir::tick StkFrames & stk::Fir::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Fir.png b/doc/html/classstk_1_1Fir.png index 2f9b7859dcf651e229c0bd18e5a42f85f68652a8..1ebadbed91ea84c4f03cadf20af9147cf2b1c0fa 100644 GIT binary patch delta 388 zcmV-~0ek*}1GWQ@7zqdi0001pjHn)wAt!$bbW%=J0RR90|NsC0)yh;d0003+Nkl#XxUGXEUUUDSX1BUNx~iqGM-ruZcOVdsexCr+IBx8q1fK}H+#EjeY? zW54qNKYu$=ivFFW&3-Dpf_kQ)K%_(gkmr*-$YTmNK-5%2oHt{LK^j4FZFP1bw3Zc4r34K(2hCM zsNvuM<1CUyTAX;;fx;ieACqhLkBvUrBY*z?y?=kZ z_x>)*x88SEw|ZhHUtWj!ZCMWS!~Q3q{IB>m@-O890DQus!!iF5UW6Zo4^24Apun^6 zi#)_&2twu(ZVVKD()Nb`G)p4`iZlC?Jw$&csyT^_j`S^ iC;l4!eqEn$yze)K%GzK?{M9u80000    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Flute Member List

    This is the complete list of members for stk::Flute, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Flute Member List

    This is the complete list of members for stk::Flute, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Flute
    controlChange(int number, StkFloat value)stk::Flute [virtual]
    Flute(StkFloat lowestFrequency)stk::Flute
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Flute [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Flute [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEndReflection(StkFloat coefficient)stk::Flute
    setFrequency(StkFloat frequency)stk::Flute [virtual]
    setJetDelay(StkFloat aRatio)stk::Flute
    setJetReflection(StkFloat coefficient)stk::Flute
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Flute
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Flute
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Flute [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Flute(void)stk::Flute
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Flute
    controlChange(int number, StkFloat value)stk::Flute [virtual]
    Flute(StkFloat lowestFrequency)stk::Flute
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Flute [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Flute [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEndReflection(StkFloat coefficient)stk::Flute
    setFrequency(StkFloat frequency)stk::Flute [virtual]
    setJetDelay(StkFloat aRatio)stk::Flute
    setJetReflection(StkFloat coefficient)stk::Flute
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Flute
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Flute
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Flute [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Flute(void)stk::Flute
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Flute.gif b/doc/html/classstk_1_1Flute.gif new file mode 100644 index 0000000000000000000000000000000000000000..8d675ad5e42c7740d0dcdcbe37aba0a0bfa81b4b GIT binary patch literal 733 zcmV<30wVoKNk%w1VN3vs0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui089Xg000C2IJ(^aFv>ZFy*TU5yZ@X5j$~;6V4%6gCTYVP;e9@; zd+upxUx9d6L}Of47m9d3iH&QAHIpxXl$SD+n42J$oS&Ybo1vnYq@|Oms5TU>uCK5T z0JF5Uwzs&svj)1ozQ4f1x4go|#>cn@%E-*kz{!*}H_|y9P&i($F0StI-Ai-h=4+cx9a9l%s53@0hsE#7F zi56{P%t-!gBgbkVn|b6oGGj?#u~MpBxnPw`0jgfIh$%Bt%~CXP($OTSP#!oi%y_c$ z(@qSbJm1J+#Al11GFy~%kwYZ|6F`gzm5Bq0Dpe>-iNZ`uMrltsKGAB8LkLAuuW9&j zU9?Co+OA^j?CCIdklneEe2$d@SS;YRff3);fCUX$Fj(oD^|H9_R<}Aqz0J&u^Qg_9 zD}fFzhIFdYrVXX8!LqgM3Gz--l>HD|$b#2yFSMq6x9#2wfg=?Djd*b54w3t!U0eBb z=e?LWl&+BaLF)vu2h{G5`#$gZz}FKW8@ev?@6fYTpN@Sy^A+I_d*`UW{rmXy>)+46 zzNCCxJ^WWofCA1!V1Wk;n4mBL80d?A4(8GzGYbYY;e@(iIADg&R4Czv0bVE}E+RVU zgMl7?2uz70V#p$i5d!dHj1Owa;f6BW2%sahlqh3_E?TIgia-w8BaA-+iQ<{)j<0b? literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Flute.html b/doc/html/classstk_1_1Flute.html index 33ca9e7..584be89 100644 --- a/doc/html/classstk_1_1Flute.html +++ b/doc/html/classstk_1_1Flute.html @@ -8,100 +8,92 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Flute Class Reference

    STK flute physical model class. -More... -

    -#include <Flute.h> -

    +

    stk::Flute Class Reference

    +

    STK flute physical model class. +More...

    + +

    #include <Flute.h>

    Inheritance diagram for stk::Flute:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Flute (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Flute (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setJetReflection (StkFloat coefficient)
     Set the reflection coefficient for the jet delay (-1.0 - 1.0).
    -void setEndReflection (StkFloat coefficient)
     Set the reflection coefficient for the air column delay (-1.0 - 1.0).
    -void setJetDelay (StkFloat aRatio)
     Set the length of the jet delay in terms of a ratio of jet delay to air column delay lengths.
    -void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath velocity to instrument with given amplitude and rate of increase.
    -void stopBlowing (StkFloat rate)
     Decrease breath velocity with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Flute (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Flute (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setJetReflection (StkFloat coefficient)
     Set the reflection coefficient for the jet delay (-1.0 - 1.0).
    +void setEndReflection (StkFloat coefficient)
     Set the reflection coefficient for the air column delay (-1.0 - 1.0).
    +void setJetDelay (StkFloat aRatio)
     Set the length of the jet delay in terms of a ratio of jet delay to air column delay lengths.
    +void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath velocity to instrument with given amplitude and rate of increase.
    +void stopBlowing (StkFloat rate)
     Decrease breath velocity with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK flute physical model class. -

    -This class implements a simple flute physical model, as discussed by Karjalainen, Smith, Waryznyk, etc. The jet model uses a polynomial, a la Cook.

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

    -Control Change Numbers:

      -
    • Jet Delay = 2
    • Noise Gain = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Breath Pressure = 128
    -

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -109,20 +101,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

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

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

    Class constructor, taking the lowest desired playing frequency.

    +

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

    +
    -

    -


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

    stk::Flute::Flute stk::Flute::Flute ( StkFloat  lowestFrequency lowestFrequency  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Flute.png b/doc/html/classstk_1_1Flute.png index f398e610ee8f4d65953207bc55aa4d7a5255f50a..7993440c7e4a22f3e5f3e98b584e09f713190280 100644 GIT binary patch delta 437 zcmV;m0ZRU`1Lgye7zqdi0001bF#WrcAt!$bbW%=J0RR90|NsC0)yh;d0004XNklf~+XIwnmMM>alNIh<4OB}Lk+8~yTK^0*RU=scc z!ydbb0jdDPM*A^_FR^}os4EN==;3wDcEwHo%;t5TlsVmHH+&0=WlkD!uT1})b#s5c z0aj)^{@#EX=Ceuczp%_#-P$ON>;4=oB~i=7N=ejGu@`rf7%^hRh!G?Ags`>B#pZXgh8>7S3=pw@OwTwBbx&J$ zj@9*Oi9U^(`*nfYau>HFyNy+3#HM#-7zqRe0002Lz!18TAt!$UbW%=J06^y0W&i*IMoC0LR9J=WmP>NO zFbIatrfb0sP;by)s4L(92nC^sACf~lS;SMZa3u5@^iRgazkIu5`HGJCybnffzlf0| zJ;FGx1{f2g9V(1eN*^#Sz?{0FqC|a6$$X@D!%@?QY3TtLt!a}mXv#$&m(8H5DCK`7 zLGC8SsE1v|#7>y=1MI|4FZoyOV|^vIuCA_5?6pcKHnEAl8}{FPNU;-jhHn^p62s~` zWY|+OBr@qW#c6FAX9JMtdztw1s?2e=>7TLcI>_uw)H!c2@V4m=W9nngb)ANlyD5gQSc0cM+yo0?DMVYrHCBio1_97E zkkdhm;t`Wl0YLW^OOGR_WXN|LV-PCVs)?AR1Z%p-s=WQ(wh~~}RFp!M071c%((9Pm c3G;n`zf9B|U    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FormSwep Member List

    This is the complete list of members for stk::FormSwep, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::FormSwep Member List

    This is the complete list of members for stk::FormSwep, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    FormSwep(void)stk::FormSwep
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::FormSwep [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::FormSwep [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius)stk::FormSwep
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStates(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)stk::FormSwep
    setSweepRate(StkFloat rate)stk::FormSwep
    setSweepTime(StkFloat time)stk::FormSwep
    setTargets(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)stk::FormSwep
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::FormSwep [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::FormSwep [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::FormSwep [inline]
    ~FormSwep()stk::FormSwep
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    FormSwep(void)stk::FormSwep
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::FormSwep [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::FormSwep [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius)stk::FormSwep
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStates(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)stk::FormSwep
    setSweepRate(StkFloat rate)stk::FormSwep
    setSweepTime(StkFloat time)stk::FormSwep
    setTargets(StkFloat frequency, StkFloat radius, StkFloat gain=1.0)stk::FormSwep
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::FormSwep [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::FormSwep [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::FormSwep [inline]
    ~FormSwep()stk::FormSwep
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FormSwep.gif b/doc/html/classstk_1_1FormSwep.gif new file mode 100644 index 0000000000000000000000000000000000000000..a9effee7f3ba171e1551b79aefeeb36c469a0c65 GIT binary patch literal 852 zcmV-a1FQT;Nk%w1VO;=-0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09^ox000C2IJ(^aFv>~m5;*J4yZ>M)j>>4BXo{9<>%Jlj&$KJocn;pW5MaMh zU>NiPdl;TBSoAcRN2C%q1XiJ)ruB!#OX6p_L zu(6&Nwzs&s7681xzQ4f1!ovUt#K*|V%FE2f&Ck%$%?8xc*4Nn7#@O85$=cQ4;^V#G z+vMop=jrU(?eEv?@bk;^^!LQ}`1`;5{Qv&`?F%UI9>Ie14kCP~a3Q;f4$(o3IBp_E zbr%O_#Ap6-V?2-aI)aQQa^$m;CYhm3sca=nWG-LklPM9QuA4Y>QlQ0iRZpI?ehv~E zD=1M$Il8zZVki&NLW};~i5iCr8%T(>vp!gx9{J;gA0!-ytwh=+Kww<&OCSW z=Fp=L2PeI{b=>BzYu`?MyLa2&zl#qq-aGm7+Rvl6u717r_U@s>kI#HQedYG=8_%zQ zc>e$Y-~lKgZv*znUxB(Eh#+Zf3XwLJ*oY!XgbA%qt;nBjsOBG_Sp9|8c^h$NP1 z;)y7xsG^D!x;I3N>%9nLc{0xUU5z$whhuI5%+}*>BSOcNc01zs    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::FormSwep Class Reference

    STK sweepable formant filter class. -More... -

    -#include <FormSwep.h> -

    +

    stk::FormSwep Class Reference

    +

    STK sweepable formant filter class. +More...

    + +

    #include <FormSwep.h>

    Inheritance diagram for stk::FormSwep:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    FormSwep (void)
     Default constructor creates a second-order pass-through filter.
    ~FormSwep ()
     Class destructor.
    -void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    void setResonance (StkFloat frequency, StkFloat radius)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    -void setStates (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
     Set both the current and target resonance parameters.
    -void setTargets (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
     Set target resonance parameters.
    void setSweepRate (StkFloat rate)
     Set the sweep rate (between 0.0 - 1.0).
    void setSweepTime (StkFloat time)
     Set the sweep rate in terms of a time value in seconds.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return a reference to one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    FormSwep (void)
     Default constructor creates a second-order pass-through filter.
    ~FormSwep ()
     Class destructor.
    +void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    void setResonance (StkFloat frequency, StkFloat radius)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    +void setStates (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
     Set both the current and target resonance parameters.
    +void setTargets (StkFloat frequency, StkFloat radius, StkFloat gain=1.0)
     Set target resonance parameters.
    void setSweepRate (StkFloat rate)
     Set the sweep rate (between 0.0 - 1.0).
    void setSweepTime (StkFloat time)
     Set the sweep rate in terms of a time value in seconds.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return a reference to one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK sweepable formant filter class. -

    -This class implements a formant (resonance) which can be "swept" over time from one frequency setting to another. It provides methods for controlling the sweep rate and target frequency.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK sweepable formant filter class.

    +

    This class implements a formant (resonance) which can be "swept" over time from one frequency setting to another. It provides methods for controlling the sweep rate and target frequency.

    +

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

    +

    Member Function Documentation

    +
    - + @@ -106,21 +94,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

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

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

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

    +

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

    +
    -

    - + +

    void stk::FormSwep::setResonance void stk::FormSwep::setResonance ( StkFloat  frequency,
    - + - + @@ -128,21 +115,20 @@ This method determines the filter coefficients corresponding to two complex-conj
    -

    -Set the sweep rate (between 0.0 - 1.0). -

    -The formant parameters are varied in increments of the sweep rate between their current and target values. A sweep rate of 1.0 will produce an immediate change in resonance parameters from their current values to the target values. A sweep rate of 0.0 will produce no change in resonance parameters. +

    Set the sweep rate (between 0.0 - 1.0).

    +

    The formant parameters are varied in increments of the sweep rate between their current and target values. A sweep rate of 1.0 will produce an immediate change in resonance parameters from their current values to the target values. A sweep rate of 0.0 will produce no change in resonance parameters.

    +
    -

    - + +

    void stk::FormSwep::setSweepRate void stk::FormSwep::setSweepRate ( StkFloat  rate rate  ) 
    - + - + @@ -150,18 +136,17 @@ The formant parameters are varied in increments of the sweep rate between their
    -

    -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. +

    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 stk::FormSwep::setSweepTime void stk::FormSwep::setSweepTime ( StkFloat  time time  ) 
    - + @@ -181,20 +166,19 @@ This method adjusts the sweep rate based on a given time for the formant paramet
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::FormSwep::tick StkFrames & stk::FormSwep::tick ( StkFrames frames,
    - + @@ -226,20 +210,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::FormSwep::tick StkFrames & stk::FormSwep::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1FormSwep.png b/doc/html/classstk_1_1FormSwep.png index a28d9c5154f19b1b21720adc8d0e5d677c7f4d60..d336132b3069706442fa90190734b2feaaa068ef 100644 GIT binary patch delta 486 zcmVDc;C_dW z-S?0Vr~(KiYaHG4^u9x=(*l*)-4E!7iIlGU2Wh@gW{9zrp3$Q+gQ`AM#=oO8^PqpK zrcA48uWEGjo*|udqi34TS(%)_5WSR4d@8+^Onff=r_T)Oq?1lM>7=8AqU_pI(0RegU!nO4(bRsEUaJwrO_n{1gTb5i zB@>@Z|LHSBI_ad7PCDtNlfEDwnI=fgl=LO&kkGfn-<-Bb^!ufsW;i+^VkfjO*&B72 zut%^Dwx%r?f%KF*y)HrX^ll_T1Q7d6TEzDC7%sBgLLUse$Nh!4ZE*J;^YT*4oao2B zkFwg|x|bn6D)R-s=@N?JCSK@%uIerQG&<1Tlxej&h6xpH=|}I~nR)XE&AbVIna=xt c1$w6a0Zu0;j_fEpK>z>%07*qoM6N<$g5?|XJOBUy delta 421 zcmV;W0b2f-1l9wP7zqRe0001Ytom$`At!$UbW%=J06^y0W&i*IY)M2xR9J=WmO*aB zAPhzErfZuUzzM4MLbJ;Kk5C&7fi?_5N>nMbCmI5Im~TglzWZK^Pxlp9;(@#mc_fM< z`qO+!cQZctK$((VHFZQ^NeG@y34}Z~Tm>r9g*E$3BGz9k~VV<9>F)_ou<{1?9;R zA`~7tDWWWZ639ycSa?p(7p8w*;|zc@WL};j>^xtjg3;+OZ6;0Tn$z+sRsAiW29Pu@ zuX_IQQZI015zy<0W4=zY(<3FR1jtp>XwkKc@n^_x1n0dkDYyJ^2AYNMRA$aX7S> P00000NkvXXu0mjf#%R&Q diff --git a/doc/html/classstk_1_1Function-members.html b/doc/html/classstk_1_1Function-members.html index d7fde48..a03a266 100644 --- a/doc/html/classstk_1_1Function-members.html +++ b/doc/html/classstk_1_1Function-members.html @@ -8,43 +8,43 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Function Member List

    This is the complete list of members for stk::Function, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Function Member List

    This is the complete list of members for stk::Function, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)=0stk::Function [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)=0stk::Function [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Function.gif b/doc/html/classstk_1_1Function.gif new file mode 100644 index 0000000000000000000000000000000000000000..59d5bc0cb3f564dc63e9c0b10ab2f2c0afb485ad GIT binary patch literal 1531 zcmVNk%w1VJiWM0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui04o8A000C22)f+|Q9XRXFyZ>M)j+kYhXsWJk>#~C&&vb3yc&_h!KfJ)8 za7ZkoV!fnt$yEM~(5Q4uWgwf_takUTdcWXs9GRdNPNKmX}_PTY!C>kv4^$e4l5Pn5U>inpu&Kf}fm_ zeUgT$wzom6SfPZWII*eAujucI^Y*MaZz!|V9P?UVdX-T43)^&1H1U%-QE_7Pk-2cbhm3K>eIVep|v zDG?`5ta$#hqZ^GNd2sYd@TQ#Euir3z{|crOc(7q3g%2wZl6bLW7L6ZEJ`s7c<)fD~1F5XJb5qZt zQE(1@c{J(CrcXakt$H!*)`wri9xQwI-`chh(%a3ux9{J;g9{(-J2$2PJdqo>qLK^Y*HU4D7tk~mgrsIoa)di=LvRt zljofYvdQNZdqxxJpJk#+s1(E{s_3GO4tMB7xIJ1_q>=*VRHb)aim6;!ZTeQHo_-qY zT$GN=QmLkvgleiDt;#A`ud3y0tPageD_OUWW$S`i_3G=dzy>Squ*4Q??6Jru{;TY= zzDgC?kVHanhT2BJTpWEmQG= zQSTl1ihC}-^UjoS9slyR?@|G?QLq#TtC6r63nSLAQVkao@fQ<&F>X#6cVIxq9A_Xw z#~p7Ba>gHzjIqcj=k(Ib6n)I{%h0&=@-Q;boDMQJqZD(_I@ipz7CZl}QP4t5ghA08 zxr{VJL@zzi(N3qNbks0SP4y&D^FRtV^fb|1IeRS8bP`+Zu#F^NV*?5rR)c-ED8h&{ z2ybAU!-Ya+haC?qkLaDm*gfQ3_u6}#O*j*P6aF?ji|3F{-*)SeH7LFQ$g|DkqRgVX zJ&*u1iZYoug!3PjpJRCFffOE(=X0x`x=3v=Gq>e~zmttHoj{~~ov0IP)=B5`P4Cb5n@_hI<08jn*W_L~gIpFIJ zy7xCE?)USJk8eNs!B2m^=nyc%i|oHp-}dg;zWmv5f0WQg@8UK;?U$sD&L+P- zysv)WdtCt|s6PSn?*W=v;M=aZn+dKDe;hoZ2NT#gS2)gqw02*y0J zaT#vRqU}0&JH}a1hJsvV`FwUYAR4lg1-T+7v#`cZazm4zL>wqX=>$rW5|8~m<;_y5 z$})7al};EXEI;S~Q?~MzvxMCxbNM$}^741KRAmK!Ny`QV^OU$GX8e4qOaTnDnZSf* hFLx=;Lb9@&l1rI3xA}pRar2wp^d>mRIkE%*06S9w2z&ql literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Function.html b/doc/html/classstk_1_1Function.html index 1714889..48729d3 100644 --- a/doc/html/classstk_1_1Function.html +++ b/doc/html/classstk_1_1Function.html @@ -8,57 +8,55 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Function Class Reference

    STK abstract function parent class. -More... -

    -#include <Function.h> -

    +

    stk::Function Class Reference

    +

    STK abstract function parent class. +More...

    + +

    #include <Function.h>

    Inheritance diagram for stk::Function:
    - -

    - -stk::Stk -stk::BowTable -stk::JetTable -stk::ReedTable +
    + + +stk::Stk +stk::BowTable +stk::JetTable +stk::ReedTable +
    -

    -List of all members. - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Function (void)
     Class constructor.
    -StkFloat lastOut (void) const
     Return the last computed output sample.
    -virtual StkFloat tick (StkFloat input)=0
     Take one sample input and compute one sample of output.
    + + + + + + +

    Public Member Functions

    Function (void)
     Class constructor.
    +StkFloat lastOut (void) const
     Return the last computed output sample.
    +virtual StkFloat tick (StkFloat input)=0
     Take one sample input and compute one sample of output.
    -


    Detailed Description

    -STK abstract function parent class. -

    -This class provides common functionality for STK classes that implement tables or other types of input to output function mappings.

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


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

    Detailed Description

    +

    STK abstract function parent class.

    +

    This class provides common functionality for STK classes that implement tables or other types of input to output function mappings.

    +

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

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Function.png b/doc/html/classstk_1_1Function.png index 994faee2819ac3d63e99680ee84b70f32130533b..92dc3efd97c6fd5a19b05f9d021c4153c7cbe094 100644 GIT binary patch delta 797 zcmeyvcA9O11SbbG0|P@xt8LLlMfG})k|4iehW`+7^;C!v0|V17PZ!6K3dXm0qt`uF z;Awa`%j@RG7_Ztp7eww7lQqYU!ieM@C_p+@4P^-d?+*-iKc- z@KD*|Rae?PkDe*3+F-DL)6KfrW$cG_zOR)?-yM7GRp$XNu+c!`)}^d8owQQ@zO}25 zXNg^96bmz6ao|wb%|6kvh(y5 zu{rZHZr1O;9sRfVxlXR?r>f45hgSDboP1$Eb4B%E*FPED+Wt=*zbxJ8wfa@r--~8p zE3=H(f7y4b$?}d}*gcKyr>X^3ui?FH6t=fAbk5u74y(?t=B@rP=Z$5Qjr`S%>E{pb zt@@BYuNUf=h{Ug3!;F&+S63J2#M*{!Uct9v!z@SEda&(>$Wz5&y+FCL>Q(N%4%aJ7={(|+Kr+?K)ls!6h zdgq1BT1z+0e8gOBc`EbQ))nHpS3Q=k`ICIq^8eim$@s@ro2>Ff?q9vSz5avF)RRm8 z{qgHdn$;Nfg+2M?n$TT_?+Yhi%!`~|cIDNqRcTjG25y#GdDLd@Y@PQ9Pk;7~-xh85 zyR)R(q*iCCqWmoL6JINzrk9{#2&rp6(H+)IA4ADZU>Rdl<|LSQ!FWbkzL Kb6Mw<&;$U(l96Np delta 846 zcmV-U1F`(e2K)w)7zqRe0000@bAt!$UbW%=J06^y0W&i*K5=lfsRCt{2oNbQd zAPj~RjWoZ38^B&*wJYs;Mp~)&Kf>Y<2uYw*x5{Ac_-#8O)Qq2C(<)N&vdH!JTcjsE zJf*iJ(GSBitp5%xra(s@Qi$rX0<^SX`Q!t^1embGI2j8kC}8wr1`6>oUDL4g({q0t z=zXcw{5K~EcEkO)r{qagvk@65k$aqNk{JE7^VpM_ki44oI49l<-VClRe z8|Zzq|ACZZ-9Ba$bfpvP{dSv;(34UuttoF<5*e06h9!|AWEuX!d{Y>p)7e zbpGH#DVEY794N)on(~Gvkzq+>SP~hQL|=h*`x<=+v849PbF(FNBeh=)OD4mT$gm_b zEQt(DBEypCJ75j=4E^nQ|AZlf?MHv^Z9kH_`6b$UMOaU4){?q0EQuS#lDJ{}vPs+f zx>-AVk9*!j+IC7GuxgbBJjQ?Ch#gkPOSblO8fjz~E3})nOV^`Vy%AlkgO^zU#~!OK z=>VI_^MM`->S1{5J7UGK6@Nej-y6|joxFf8>|lo?33&+AM@Tqvgw>REz-{-~#z(~J z1=t^sSb^#WM4B8b=W!mfVV%81u84pGb0bpMhE;1Pc)VmT4iHjx*u#HHTa|?k>o}st zI(vzH@pP33tfr(xy$*KbJ)Lrr?t|E3WrOaBT@W`f0SAyR1(C6E(Ug?mmvn&O#2S*& z6jRuxd@cS^BiR|zru@MRCwUFxRzRiAt=M2u2p-5S4%_3o)q43Px0;d;F!iuT7z@_U zcqL--he*o@mQv`9*ate1z4TUMJgvmXWnVrrd&8308&OoO=EdT%j07*qoM6N<$f`90l$N&HU diff --git a/doc/html/classstk_1_1Generator-members.html b/doc/html/classstk_1_1Generator-members.html index 5e1c7bb..06b2526 100644 --- a/doc/html/classstk_1_1Generator-members.html +++ b/doc/html/classstk_1_1Generator-members.html @@ -8,44 +8,44 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Generator Member List

    This is the complete list of members for stk::Generator, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Generator Member List

    This is the complete list of members for stk::Generator, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFrames &frames, unsigned int channel=0)=0stk::Generator [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFrames &frames, unsigned int channel=0)=0stk::Generator [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Generator.gif b/doc/html/classstk_1_1Generator.gif new file mode 100644 index 0000000000000000000000000000000000000000..d003207695b5e2fa5b7ab2001a97eeda17e5e236 GIT binary patch literal 3839 zcmV|OxH#+0yZ>M)dV^q|XsWJk>%Oo%jC5_^I8erX@Bgq_ zZb&SOcEF@^$r2i$&?1sat@@nNtoCT_dS%+SEqmW;6yE(6 z$mxJac1vq$g?lP+hG&RWe}RxVgGqaMZHR?>Xnb*zoiuauj7wY|NTUbnf$yR*T`D{z&-j>XVqcbAMO)tqi@*4Nm!(cc)yed9mG z;GW{->Otq<>Fe+-=Iw#+@%JY4^mO+4@%sD5^z*k4V8Ac~36e8-u#Uoq@*1|PK(V65 zixnkm%wqmvqsNaMI)WUz(SS*kC=Z$xnX=`#l_y=w%mtI>%$uKV;@k;IC(oZ_d;%TH zk*LuvLXRrNk#wok5lx>;^$>Nc)eKdyUd^g?D%Y-0zk*#VcI?rzW{ILr3v?}8o^Idb zj4O90-MTLC;!UY{FUh`sK>`l!aWG+xh7UJPtoQ?)$B-jSo=my2<;$4Y;0<7vb6w9; zLBAF4lyq9tN>PthZIpFa*B3m)j?D(p>4xdDozO+7YOqg80=p;b-lkC*FhV`6nTTAZnOkh79&s zo`oU`Xd!gz6&PTA<4yP9g(d37o{bpdSYv26@|dHKJ3h7FQA4&=BvF|qspOJOR@PWg zPo5Q}S}{!tSCv-YR8y97!NlcGjD1;5m}25WW|^#RNznU5O%O*c@x&BYtVA=|=Bu$L;g)mm zIsK^nt-Ou28*RDEehf~*@W!Gpy9p`t!=Ic&thAV7<=x!QvKvp+f)!Lutv z<5M&dN0X5BJxfEn>eKKWMLN-S;>eyt98aAh0qYVw#YO{^D+nmC! zsoa;+O{v|I;{B-JjPk9h--rTksNjSWE~w#vBJQW+d@`=5<9I@Dr{r}0QZA?EaANMJ z=4*0}rsrjXE~e;TlFlXGWv8w>sRDcbbsttw8tm(^pKT27bTb)^vb<|p}P&d zUo3A6G%Ia;F0qcB$hfyIkBdFs9&)@U#g;3KyZQp%`s^@>%>DS|Gpw)m-6xO2@R+*3 zFU;?oT)r~$zra2X#q)3qDQd*LKfm-t89U5Wu>u(xwi?m7=vB=4?L9!lEoYnWx70M+{@dHRKrT5ZC zN>u{klvJUhD`No54y3XR9Q+r%uE)bALW79nq8T$t)(KzU4wt03#xI5$Ep15glYsc4 z_#W7?5h`(%LbHO#00x;|UhtLBLDIGHD6`2Bprc%LaSZq2|p3Xt1P5~-e zd>Ry@a?z+^5UNs?DkY@m%BfF zMJxVHmD09iWTglhsRY?1OSuNIqfoSKMDQ93VD_%0A*rif0jq&qN{g4i zPzcK6d5azGV=XEzgK@L7CyN)d^to4ovGcg>{)}uh;c3B=0dQT@n(Iqt2+w=swz-of zU;RjWS%>H^gf0t4ZD%X9#0J-euf>322ix5&_!W2Qy})|q8eag+cck^b??>|+Tl}^+ z3h$*If2pfiSMe1RZcT7T4s2GY8pXkCQR`YIj6(`n*uqrAaE3J;OAg!8!yg85U`1S5 z5|`M->P2yiRcv1tx0uBc9!iYc;^GNNfk`w2mBWb0e;

    V09hM*-OJY)85psbYn{8Kl3uRxuu^n&8KP`>X`_G_@@ZP zyJ_*3R~G!^^r^)x>C#fIvGck$D87bl-O}^WNozJpcRT4S7aPl2zU!5bneA(HJImfS zXtu3PZLt;k+zwDSPk%g@Ae)%oT5>mu;cXXri1q|pIhCM7&p0}UF{}^TcP9rxI?>*@f$>WYa*AZX@&V^ zLildm;x@A|&G7PaV|y9Ngfsrfz}0AX^}N@q=(Mfb+|N??Io6cU;B(DK=JH__3y=A!Ffse+zZMAOmZv&UO z3!B-_UzTWE4}I$+cQdfV&TD6ytXP_M88gg&c2+|>iOo*AM@t#`lH1_q@Tfe|H5ziu ze@f$$&nw9{F9ys%E%bc_z2|pj@z$^Yk`w>a!{;4w4afc?w;$B(?_GNg=e{JpxA5-| zwR?XDpTfhJNb(m|e1#uh!pm35^VJ&tMok~B6>q(QUw^OB1779cuY1hF&3%HYp7e3; zJo+)a^4>Ducwe_)`Tl#>{`Z|(f$?8;APlQnovWGfcIH`-=5sk0fO)ol-W5y>WNKYk zK76Ni=T%(d$8|gBYs}Sad`5Pq@PG&SeUm46E61 zBUpl0H$V4>dIUV`Vn1vGlcn2#1Ier--!2h`i^B#s`Vc2PkekSm@VJE!sgSK!V9wZP6**lC`H7|oWtCWD zpx8Eq$W?|ol5bOzT6K~iiBv4vkaMV#SoM+<8HbW6aWZLDGzpQ=my=YrlNPy%&4-gW zX?s5YDOEtpksuS2M23>OAc{fRaTw{88DM%zlaWOyhEe&163LVC=yLa0LbgayFsYGX z$#SizJT19ru<&NPs9ir-g!{CXxQ2g6cbE8hjq|jXWQdA^7K_zLS@&mBqu0}q4sg#d*m;$*jIwx!-L}}87m7KSc zjwh9RrJAJ&m7wXG>_wN$rj@hFl^%JStC^6w*_XRnlhMSK+h?2Wc9c++l&$%QLur&n z>3hiORLZ%J&nbM->5|uJRMUxz)roxBNmSd}Q{CB<<4Jwr=~LnPQ|Flj#95rY8JqsN zxtzc`mByKI@kyN>NuTeTeyoX~7pZ{#({rZfnW7||W@&Wx*K7kwmIjKM+xS`d)Qv&6 zgCw+|!l;kj*^$#^b=!1}92l5|MwQ_JgCQu3?I>E+kayHr3b4ta+gPG9w{*3YqNq8I zWyhlF^q4C+YNWZDCz_b_c#HtkqU;BtcxQ}yd3bs!TH{!lqhX_&96r8*#+Vfv){*`U4Il}-wa!ReJ038wzJGVSSBWV$!&X;bN0 zRON|%c`8$TdQ^RClg$a8gBp{Ex`%%XQ-PXPi|SI1iWHB^Qjr=}g=(FN`qGD!3VUo- zrzu6IT>3L!Duwr%q5oN%`&p#@X{w<)ruAuZF&d!x2&Ap`nP=*z@+g7|%A^bmrw;j` zNtk~N    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Generator Class Reference

    STK abstract unit generator parent class. -More... -

    -#include <Generator.h> -

    +

    stk::Generator Class Reference

    +

    STK abstract unit generator parent class. +More...

    + +

    #include <Generator.h>

    Inheritance diagram for stk::Generator:
    - -

    - -stk::Stk -stk::ADSR -stk::Asymp -stk::Blit -stk::BlitSaw -stk::BlitSquare -stk::Envelope -stk::Granulate -stk::Modulate -stk::Noise -stk::SineWave -stk::SingWave +
    + + +stk::Stk +stk::ADSR +stk::Asymp +stk::Blit +stk::BlitSaw +stk::BlitSquare +stk::Envelope +stk::Granulate +stk::Modulate +stk::Noise +stk::SineWave +stk::SingWave +
    -

    -List of all members. - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Generator (void)
     Class constructor.
    -unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    -const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)=0
     Fill the StkFrames object with computed sample frames, starting at the specified channel.
    + + + + + + + + +

    Public Member Functions

    Generator (void)
     Class constructor.
    +unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    virtual StkFramestick (StkFrames &frames, unsigned int channel=0)=0
     Fill the StkFrames object with computed sample frames, starting at the specified channel.
    -


    Detailed Description

    -STK abstract unit generator parent class. -

    -This class provides limited common functionality for STK unit generator sample-source subclasses. It is general enough to support both monophonic and polyphonic output classes.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK abstract unit generator parent class.

    +

    This class provides limited common functionality for STK unit generator sample-source subclasses. It is general enough to support both monophonic and polyphonic output classes.

    +

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

    +

    Member Function Documentation

    +
    - + @@ -88,22 +84,22 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Fill the StkFrames object with computed sample frames, starting at the specified channel. -

    -The channel argument plus the number of output channels must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implemented in stk::ADSR, stk::Asymp, stk::Blit, stk::BlitSaw, stk::BlitSquare, stk::Envelope, stk::Granulate, stk::Modulate, stk::Noise, stk::SineWave, and stk::SingWave.

    +

    Fill the StkFrames object with computed sample frames, starting at the specified channel.

    +

    The channel argument plus the number of output channels must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implemented in stk::ADSR, stk::Asymp, stk::Blit, stk::BlitSaw, stk::BlitSquare, stk::Envelope, stk::Granulate, stk::Modulate, stk::Noise, stk::SineWave, and stk::SingWave.

    -

    -


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

    virtual StkFrames& stk::Generator::tick virtual StkFrames& stk::Generator::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Generator.png b/doc/html/classstk_1_1Generator.png index ee99170118aa9f32112931a2f29fa8101b21ecc1..148db29c93b9f59d15b04e4f7aed429b3d35e1c9 100644 GIT binary patch literal 2289 zcmb7Ge^gR=7Pp+K$xS&;mT4v1l#=5QMroT=lxcD@e9QCvk?M+s4oNmB_^vEaRVc-oq6|LUFd&iB6i-Z}SkKlgq< z=cNY*c$=D7nHU)vnfmPWBETol$Y}YK&y3+nA6J(T9~%PwgTI3y2o52riNiVeBOEQ= zO-)Vbn;`}K_}OVfKoIFVzYc7ao=K3=kpd)v#3tjx4rOn z55PPTRZf3tY%8E&Q%^}qq13K_u}n?0YB^fj>0gL`9;Mwvt*w?WX0z{p)0F`v?EzAr zy0Dyl6>g0focq?AajpG zfdsw4s_V_rfyRZcdYX1-p-3+p=gYF@aW_Q*W27e)E^7GfT>zf^d#F&3o3?_-`QL-OyN4DhYlm#@(AD$4lKoCa z_S%dM;x(4HwO@UWvm>KD z=72}?5syoja)rF&FH3mn`rJt8G^i+P#``s-md$v-;dIgX$SK+`4s+!@!0!WHv`$iW zy`^sVGNh+&9hLq3tM5-_i^C$1k$40?kh^!I^b(rwGjV8S5gZ`vyn>d+ltGF^B=S>H zY?hm5_R>@WuIwC87TksipA84Qv`6Y(hZ-DLWtjR&l)&-L;`1DAUO>SkV|gL6TQAi@ z&EXbH#c87mhMg{A`FkWEuuAhd+VZ`bY{jQ=UNswC($ao$@pUzA4bg=uuDGo(Zd}`O zysTnubU@9#H)7RONb<{LB@1iQbXOQf%09%Z_*vk-T}$j11gKD3VVf4>pB{a>&0cr5;^m)DnEhC(>3%~ zbI=K9=mU)ZT>-vzWu!Ab{-U89zeN}3j4xsHJf+|l#PRT18;nonr*>5q>V9EoTSNS!~1!B zxVdui+EvF0-K|IMSDrCAWoC)O6bjCP#89}Z@$8CAkO_2xdM}(c;?1j6VkIKk7Yn$Y z=~d9SS&1#atgSqwp5xsi7|Z+R?JN=FA2G|)m(jMe+`De&Sj{G2gM9`Atfvb638DWS zdoWyH6NHZUxpAG=x*X`rx}Sg;Lg8;sp$5(u|C~xZEK>kHj%W98D;Gn- zwX9LVw~UZ-Kf!5I9Fa^^-rRiyk15UyUk{CiEk5~f+J*#NmY7)@Kv_9(hpAG%EFFV6 z9Wv~Dp$^sx->>PA*gI4!NMN8ooes|o>0+{tysyeZK>`> zXq_%_{N+!(r#ZP~vZPX)fJ5Pvd6wph{6p;kN)$i(!qf-}P8n(k8vICRGx9&K^Jk=z zvA;Qtt4{^OtJ>xc|N`uAn-Vv#q0N zV2;r_Hua1?U74#Jb@HH!|KTik3n`>aZAGMHZHv?LG+Lksnn&wT!YOTNden|x`tK2f`K zJKPZN8XD6|elq`a%|L)oEMQd_47_T&C}iT1rIG+t2}7Il8`y$DU-#5?=Tk_QxIM#L zu}TWdL+iTd98gPB*xLle4yz1|mY@JOGTdFkvzN}hDuDX9T&(lZW?TUlG|Kj$8yyF?RY{4tzm zpfPE@yE`@&t+pn|wT9?_D}YVf#D2ReTadFpsICYY-FIVWK1VDVe7q$*C&XfyUVuE@ z6yN=$z7(sZZBeb)e~ky^&08E2HHg$#;kiBUA&P)-u|o#S(q211VXqgfxxz> z6AC*~RUVo3W-jVvH}y!pb$rB<5#g?Wj4M55vA-n}tTGR*Kz#jp^Z{^6^j1E?C|^by zW}=iFIJsYi3QBlLAVkhfx3U^m)KZ-gid#MKaJP5(E`QI!c`uI#;WNZMl;bBgCv3vo~*4pgG8Sb})Z7 mA_1FC^Dt~-4$c8Iwtw|PVP)g*4F8`P`Ft1P_3+zc7ybaT;oeUG literal 1660 zcmZXVeOya>9LMJ-6e-*kUW|(n4VAhs_Z*kpuBWEfmAV-BqC^kkRngi(oot<-cpYn(I>-BqmKi@xppYP}U`<>nx671qU z*_lKlxvcpqD9m2@B+^$8hdbESw*^sG?ZtEB`ta2RLD(fh)WGoeb9VL5si~<+dqybi z?XZJkAvDs8o_D)Rq!HuS1pN@6TA-0`&Fv2GJh9^;doQ3_(KI&Kr6}o*mA>*ey|M1d z{j+{o9;+#w-d^F46KSob)MjN_O1siFsJi#Wb`&~{xKgC~QwqSQ6xsPs-qS5%TT`8s z+r7a*%Cn}*gWsFYquo$BPbriw3h84d8|7J{)+$JC%rmj(7kaVC8l#JC0wv)gUyhQ6 zEQv)t1;BacUSckvoU-BROsAGY~`oqeo1AQS11TizJz0%p^-0bu{9!Yj=3pxuU~ zQoN`H@`76H_A=I`NK&6x+d9EomWelfo1+T0fcSom?wB|B8kFfWS7kfQI}4}Irt~^B zx`L=Ji$$>UH!!uW;}9UY6Q~m-YM6<2$^V18A@scVRYds3F8FzwdqKSCt8P)3NWq*t zYm7Ste6O6vPpMq#Z|+U>MT(qXCY~}ZVdgiJV;!T7BXe&+G9d;nn@>8}dg z&@8k?IOdJ8qWNpw7teNm%w6OlormS2+#seiG!C-(YoJ2GY@$F2ugV^OLM6xs=g?b- zEYy#3>YSMF%iMG|Us`Xorf}O*vaBqEa3KOw1&n^i8^$KkdoQo{6m|BvPcoqt$*5Rc za_wu+m+aPrO=HrdYa0TwN7q%0ZQvbGOPe|2Phx#PqjuvVqCaY};SOFuKeGpyoP|AH z$V3N2M`e5_kBXlz(+=cPxvQ{ThNXIC%QONoXM>w>CmE!8lx|ODL#V857QD&z_D48R z;kQlhf?vY)6tm$_@{!@+ z#k~%A5LlaLeUT%&MJ}o7XtC5qm{p8{nIPJOl`#AI2;Z>V#tqFx%ZK3m?JdGR1NXfH za>$aUOgzK15Ws^iU&f}3XJjwUIjEnKldw20%u2IG>*OO;@spsnYLLd}PpEQ!%Hqk$#-RFHX8{7Q~HeS7iD^0Z#nP=NSnTmw#+0 zV(bmN#1d|VA|1mKg6n2DqUBzb$)S9EDp^C6>Fgd`ZMo}8gT;aZ9Y^qEhuP38!NJVIDFIuDt3WZvP zOHhDWaSPK&rd@gPRgl)K4hg!ua{IBr01WNP-v9sr diff --git a/doc/html/classstk_1_1Granulate-members.html b/doc/html/classstk_1_1Granulate-members.html index 6b39d4d..d702122 100644 --- a/doc/html/classstk_1_1Granulate-members.html +++ b/doc/html/classstk_1_1Granulate-members.html @@ -8,55 +8,55 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Granulate Member List

    This is the complete list of members for stk::Granulate, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Granulate Member List

    This is the complete list of members for stk::Granulate, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    Granulate(void)stk::Granulate
    Granulate(unsigned int nVoices, std::string fileName, bool typeRaw=false)stk::Granulate
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(unsigned int channel=0)stk::Granulate [inline]
    openFile(std::string fileName, bool typeRaw=false)stk::Granulate
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::Granulate
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setGrainParameters(unsigned int duration=30, unsigned int rampPercent=50, int offset=0, unsigned int delay=0)stk::Granulate
    setRandomFactor(StkFloat randomness=0.1)stk::Granulate
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStretch(unsigned int stretchFactor=1)stk::Granulate
    setVoices(unsigned int nVoices=1)stk::Granulate
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Granulate
    tick(StkFrames &frames, unsigned int channel=0)stk::Granulate [inline, virtual]
    ~Granulate(void)stk::Granulate
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    Granulate(void)stk::Granulate
    Granulate(unsigned int nVoices, std::string fileName, bool typeRaw=false)stk::Granulate
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(unsigned int channel=0)stk::Granulate [inline]
    openFile(std::string fileName, bool typeRaw=false)stk::Granulate
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::Granulate
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setGrainParameters(unsigned int duration=30, unsigned int rampPercent=50, int offset=0, unsigned int delay=0)stk::Granulate
    setRandomFactor(StkFloat randomness=0.1)stk::Granulate
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStretch(unsigned int stretchFactor=1)stk::Granulate
    setVoices(unsigned int nVoices=1)stk::Granulate
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Granulate
    tick(StkFrames &frames, unsigned int channel=0)stk::Granulate [inline, virtual]
    ~Granulate(void)stk::Granulate
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Granulate.gif b/doc/html/classstk_1_1Granulate.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ed2f7b3ed77ed9bdd122a79bead081772e8bfb0 GIT binary patch literal 811 zcmV+`1JwLSNk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW%B=$|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QE2H79KN+I03*YV~rxlSRyYta?_(PKN9oeE+z^A0FFTt2_upz*4U(y zM-o}&lu24xC6YQi2_=@m6uBjrJ%YKVj!^=6rHfVyDP@=|lF4P6Ns37(k5wMYrk!f? z2&I)?W;rIGV9sb}o>    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Granulate Class Reference

    STK granular synthesis class. -More... -

    -#include <Granulate.h> -

    +

    stk::Granulate Class Reference

    +

    STK granular synthesis class. +More...

    + +

    #include <Granulate.h>

    Inheritance diagram for stk::Granulate:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Granulate (void)
     Default constructor.
    Granulate (unsigned int nVoices, std::string fileName, bool typeRaw=false)
     Constructor taking input audio file and number of voices arguments.
    ~Granulate (void)
     Class destructor.
    void openFile (std::string fileName, bool typeRaw=false)
     Load a monophonic soundfile to be "granulated".
    void reset (void)
     Reset the file pointer and all existing grains to the file start.
    void setVoices (unsigned int nVoices=1)
     Set the number of simultaneous grain "voices" to use.
    void setStretch (unsigned int stretchFactor=1)
     Set the stretch factor used for grain playback (1 - 1000).
    void setGrainParameters (unsigned int duration=30, unsigned int rampPercent=50, int offset=0, unsigned int delay=0)
     Set global grain parameters used to determine individual grain settings.
    void setRandomFactor (StkFloat randomness=0.1)
     This factor is used when setting individual grain parameters (0.0 - 1.0).
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    -StkFloat tick (unsigned int channel=0)
     Compute one sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill the StkFrames object with computed sample frames, starting at the specified channel.
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Granulate (void)
     Default constructor.
    Granulate (unsigned int nVoices, std::string fileName, bool typeRaw=false)
     Constructor taking input audio file and number of voices arguments.
    ~Granulate (void)
     Class destructor.
    void openFile (std::string fileName, bool typeRaw=false)
     Load a monophonic soundfile to be "granulated".
    void reset (void)
     Reset the file pointer and all existing grains to the file start.
    void setVoices (unsigned int nVoices=1)
     Set the number of simultaneous grain "voices" to use.
    void setStretch (unsigned int stretchFactor=1)
     Set the stretch factor used for grain playback (1 - 1000).
    void setGrainParameters (unsigned int duration=30, unsigned int rampPercent=50, int offset=0, unsigned int delay=0)
     Set global grain parameters used to determine individual grain settings.
    void setRandomFactor (StkFloat randomness=0.1)
     This factor is used when setting individual grain parameters (0.0 - 1.0).
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    +StkFloat tick (unsigned int channel=0)
     Compute one sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill the StkFrames object with computed sample frames, starting at the specified channel.
    -


    Detailed Description

    -STK granular synthesis class. -

    -This class implements a real-time granular synthesis algorithm that operates on an input soundfile. Multi-channel files are supported. Various functions are provided to allow control over voice and grain parameters.

    -The functionality of this class is based on the program MacPod by Chris Rolfe and Damian Keller, though there are likely to be a number of differences in the actual implementation.

    -by Gary Scavone, 2005 - 2009.


    Member Function Documentation

    - +

    Detailed Description

    +

    STK granular synthesis class.

    +

    This class implements a real-time granular synthesis algorithm that operates on an input soundfile. Multi-channel files are supported. Various functions are provided to allow control over voice and grain parameters.

    +

    The functionality of this class is based on the program MacPod by Chris Rolfe and Damian Keller, though there are likely to be a number of differences in the actual implementation.

    +

    by Gary Scavone, 2005 - 2010.

    +

    Member Function Documentation

    +
    - + @@ -104,21 +92,20 @@ by Gary Scavone, 2005 - 2009.

    Member Function Documentation

    -

    -Load a monophonic soundfile to be "granulated". -

    -An StkError will be thrown if the file is not found, its format is unknown or unsupported, or the file has more than one channel. +

    Load a monophonic soundfile to be "granulated".

    +

    An StkError will be thrown if the file is not found, its format is unknown or unsupported, or the file has more than one channel.

    +
    -

    - + +

    void stk::Granulate::openFile void stk::Granulate::openFile ( std::string  fileName,
    - + - + @@ -126,21 +113,20 @@ An -

    -Reset the file pointer and all existing grains to the file start. -

    -Multiple grains are offset from one another in time by grain duration / nVoices. +

    Reset the file pointer and all existing grains to the file start.

    +

    Multiple grains are offset from one another in time by grain duration / nVoices.

    + -

    - + +

    void stk::Granulate::reset void stk::Granulate::reset ( void   ) 
    - + - + @@ -148,21 +134,20 @@ Multiple grains are offset from one another in time by grain duration / nVoices.
    -

    -Set the number of simultaneous grain "voices" to use. -

    -Multiple grains are offset from one another in time by grain duration / nVoices. For this reason, it is best to set the grain parameters before calling this function (during initialization). +

    Set the number of simultaneous grain "voices" to use.

    +

    Multiple grains are offset from one another in time by grain duration / nVoices. For this reason, it is best to set the grain parameters before calling this function (during initialization).

    +
    -

    - + +

    void stk::Granulate::setVoices void stk::Granulate::setVoices ( unsigned int  nVoices = 1 nVoices = 1  ) 
    - + - + @@ -170,18 +155,17 @@ Multiple grains are offset from one another in time by grain duration / nVoices.
    -

    -Set the stretch factor used for grain playback (1 - 1000). -

    -Granular synthesis allows for time-stetching without affecting the original pitch of a sound. A stretch factor of 4 will produce a resulting sound of length 4 times the orignal sound. The default parameter of 1 produces no stretching. +

    Set the stretch factor used for grain playback (1 - 1000).

    +

    Granular synthesis allows for time-stetching without affecting the original pitch of a sound. A stretch factor of 4 will produce a resulting sound of length 4 times the orignal sound. The default parameter of 1 produces no stretching.

    +
    -

    - + +

    void stk::Granulate::setStretch void stk::Granulate::setStretch ( unsigned int  stretchFactor = 1 stretchFactor = 1  ) 
    - + @@ -213,21 +197,20 @@ Granular synthesis allows for time-stetching without affecting the original pitc
    -

    -Set global grain parameters used to determine individual grain settings. -

    -Each grain is defined as having a length of duration milliseconds which must be greater than zero. For values of rampPercent (0 - 100) greater than zero, a linear envelope will be applied to each grain. If rampPercent = 100, the resultant grain "window" is triangular while rampPercent = 50 produces a trapezoidal window. In addition, each grain can have a time delay of length delay and a grain pointer increment of length offset, which can be negative, before the next ramp onset (in milliseconds). The offset parameter controls grain pointer jumps between enveloped grain segments, while the delay parameter causes grain calculations to pause between grains. The actual values calculated for each grain will be randomized by a factor set using the setRandomFactor() function. +

    Set global grain parameters used to determine individual grain settings.

    +

    Each grain is defined as having a length of duration milliseconds which must be greater than zero. For values of rampPercent (0 - 100) greater than zero, a linear envelope will be applied to each grain. If rampPercent = 100, the resultant grain "window" is triangular while rampPercent = 50 produces a trapezoidal window. In addition, each grain can have a time delay of length delay and a grain pointer increment of length offset, which can be negative, before the next ramp onset (in milliseconds). The offset parameter controls grain pointer jumps between enveloped grain segments, while the delay parameter causes grain calculations to pause between grains. The actual values calculated for each grain will be randomized by a factor set using the setRandomFactor() function.

    +
    -

    - + +

    void stk::Granulate::setGrainParameters void stk::Granulate::setGrainParameters ( unsigned int  duration = 30,
    - + - + @@ -235,21 +218,20 @@ Each grain is defined as having a length of duration milliseconds which
    -

    -This factor is used when setting individual grain parameters (0.0 - 1.0). -

    -This random factor is applied when all grain state durations are calculated. If set to 0.0, no randomness occurs. When randomness = 1.0, a grain segment of length duration will be randomly augmented by up to +- duration seconds (i.e., a 30 millisecond length will be augmented by an extra length of up to +30 or -30 milliseconds). +

    This factor is used when setting individual grain parameters (0.0 - 1.0).

    +

    This random factor is applied when all grain state durations are calculated. If set to 0.0, no randomness occurs. When randomness = 1.0, a grain segment of length duration will be randomly augmented by up to +- duration seconds (i.e., a 30 millisecond length will be augmented by an extra length of up to +30 or -30 milliseconds).

    +
    -

    - + +

    void stk::Granulate::setRandomFactor void stk::Granulate::setRandomFactor ( StkFloat  randomness = 0.1 randomness = 0.1  ) 
    - + - + @@ -257,19 +239,18 @@ This random factor is applied when all grain state durations are calculated. If
    -

    -Return the specified channel value of the last computed frame. -

    -The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    See also:
    lastFrame()
    +

    Return the specified channel value of the last computed frame.

    +

    The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    See also:
    lastFrame()
    -

    - + +

    StkFloat stk::Granulate::lastOut StkFloat stk::Granulate::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + @@ -289,22 +270,22 @@ The channel argument must be less than the number of output channel
    -

    -Fill the StkFrames object with computed sample frames, starting at the specified channel. -

    -The channel argument plus the number of output channels must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill the StkFrames object with computed sample frames, starting at the specified channel.

    +

    The channel argument plus the number of output channels must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Granulate::tick StkFrames & stk::Granulate::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Granulate.png b/doc/html/classstk_1_1Granulate.png index c71d55e306743be9bdfe3ae4bbbacb3f9b51aefc..546c97cbf7eb590949f0378b5a13cfaae5cac073 100644 GIT binary patch delta 498 zcmVQ zpwV*g&_K=r93u~7dXcuZA$KJ}M=?|^bqYBeVX48(*KMOi?kGFt@}ObQo`&wx|A?Gkp9veLYg#b(xgd~CVeHng+}u@jhx}$1MrERm~=X!u`_Iq266`A^fsU_9=Yy8wo*ImK$q?5Dnj2_v&{jS-dfu1 zI%{^M+i)j(z#*=TW7ZdBMoZGoAcude#W|yWK}Oow#h2-9)m^Oz`?w%a&{7aRM4dqH zjNOo~{;r3+A^e7r{%JZa(o&SQ?)RWe3A5wqQo`&&`b%#JY0{)glO|1?^p!NiA|Yyr zq(4U^jS1j*^7eMMj zFbsyRP1cfbVD|>?g}UPYN2p#HlK_d^GSj5?WU!Dw%aUNopFVmkdtY*csOF^VV(J!m*{0h2y*qenZQT!q!cELOlp;PGU2%s(UX6p zDm4==Qmd4HOHc9 z@ZT`#K@a+W(bO{%cAN;$P9ubauC`;nY|xnC9t{W-mN_BG2}p9MUXs;BSZN82U`tM; z+LSO{ajCR!KtBtpE;yL3X~2cH    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::HevyMetl Member List

    This is the complete list of members for stk::HevyMetl, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::HevyMetl Member List

    This is the complete list of members for stk::HevyMetl, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    HevyMetl(void)stk::HevyMetl
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::HevyMetl [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::HevyMetl [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~HevyMetl(void)stk::HevyMetl
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    HevyMetl(void)stk::HevyMetl
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::HevyMetl [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::HevyMetl [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~HevyMetl(void)stk::HevyMetl
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1HevyMetl.gif b/doc/html/classstk_1_1HevyMetl.gif new file mode 100644 index 0000000000000000000000000000000000000000..c6158c0d1bffa5740e81dcd2a2a62efa65abb90a GIT binary patch literal 1061 zcmV+=1ls#YNk%w1VOIda0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09OFO000C2IJ(^aFv>}#xH#+0yZ>OwDPn1!=trh(>u&2S&t**CcxKI;f$Du-1m)8{-6X4m4iBQCdR+%9-(@~&O+l()<= z?(ZylC3|jcV}*QMXJ}wq7>;~GjgfGRIhQwrn42P+oSz+@praU~q@$*%pQ);wtgV+7 zva__c6#%%oy1Tr+zP$#&!o$SH#>cq9$ji*l#s<*N($mt=%GB7|zt+*(-rwBU-{aWg zgnt4$mZ_xzVPz(x%Bq+`1$es{O$h!sS7CZ9KnL)4kGlXaACHF4yi$m$d2N= zi58h*%=rF}<3Nw-Hi9H3a-^`5Cg-IDx02yMTQFnFv;eDSDN8nCy~2th)mh78$9WvS3X^mWOhH%=)f zl6zKe)C-#0l=Z-MEnTsX%(f+Jc5K`^Zvz)z%y=+g#!VXo7Cf1)hrE;KRGzdJF(Eg1 zfd&l(cC@R~remQ_jYBl+8mnLTl+DRC?XNR)>#p?=WlLSYe*>^4d>ZlM&B7tq$ZdIY z=gxu)m;Rf2OY1AKr_^qe`$+E~!Fv?Xk$gt;7SU5wACbL7_Y2`8lwXj(K>NL+Ki9tu zKmI@e`PjGHfCSQXn`#GQVq1bR#Ks^B3qB}S4v{e-No03*;$Rno8Dd2m8HTW+7(!Tf zNLV1w<^o`zbr_gtDz=b@UwugO;*Bzl=vh>EeBmN#JS>(}k6Qhhf^CyoWfWyG%9t6B z7%DawkP@0vrIlCaxM7x#aY?0@UxEqYmSSp9;F)L+0Kl4Tw&~`ZaK;HIfO6JpXPtE3 zsi&UD?dj*AfCjo|pMn-@Xram-s_3G3Cd%lekhYm;qYi>!Y_an(LywD%$IzzZx1WqO}%l=dhs~?W^pZ z%dUChv(QE>?X=WZYb~_RW*bDd&2G!Bvfh4MY`EgmN^YD1IBRFRZL({qyY0%!F1*gt z3+KG+x@j+<=bjrc0QUL|@VwjNd#}E13X$-_05jaLy9y7SZomPn+i=4WTTHLP7iWBN z#~)8@F~}b$T=BmGn|$HO9Jj1)#x9fG?!Ms?T<6C1MvSq;JR7{S%qGjLamfgyd@#Hs z5AE}t90y(W(nK@N^TNY< literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1HevyMetl.html b/doc/html/classstk_1_1HevyMetl.html index 4f24e63..45ef726 100644 --- a/doc/html/classstk_1_1HevyMetl.html +++ b/doc/html/classstk_1_1HevyMetl.html @@ -8,68 +8,68 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::HevyMetl Class Reference

    STK heavy metal FM synthesis instrument. -More... -

    -#include <HevyMetl.h> -

    +

    stk::HevyMetl Class Reference

    +

    STK heavy metal FM synthesis instrument. +More...

    + +

    #include <HevyMetl.h>

    Inheritance diagram for stk::HevyMetl:
    - -

    - -stk::FM -stk::Instrmnt -stk::Stk +
    + + +stk::FM +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     HevyMetl (void)
     Class constructor.
    ~HevyMetl (void)
     Class destructor.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + +

    Public Member Functions

     HevyMetl (void)
     Class constructor.
    ~HevyMetl (void)
     Class destructor.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK heavy metal FM synthesis instrument. -

    -This class implements 3 cascade operators with feedback modulation, also referred to as algorithm 3 of the TX81Z.

    +


    Detailed Description

    +

    STK heavy metal FM synthesis instrument.

    +

    This class implements 3 cascade operators with feedback modulation, also referred to as algorithm 3 of the TX81Z.

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

    -Control Change Numbers:

      -
    • Total Modulator Index = 2
    • Modulator Crossfade = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -77,20 +77,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::HevyMetl::HevyMetl stk::HevyMetl::HevyMetl ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1HevyMetl.png b/doc/html/classstk_1_1HevyMetl.png index 6c862f6e92f6b60e78c9cd038fc63c8b3cb17800..5dbff2acc962d5b7b0e709844fb8469c40859d46 100644 GIT binary patch delta 594 zcmV-Y0 zRTn+C?E)eIoS_F}dc|#51u=JyVzu;^tAL;1>iez`ztv$1=xyw}z7CUh+pdHCH`{*? zTkEEEsH@i2&8PW(p!+}Fpzr)b3Ja zM9}@d3laF{*gXxG|B?%c0B|%!Ab{-_=$}ApFUpXqTL$Vp+cX`erzG_Xdj7SmoEg-v zs&@}(J=bnlhu3cFUUq#QPOd-6=k9-4#&aF^T)ok{YGtANYQt`#3k~JHHTl zW$^uO&M|P1n{x~t6SQRA{`PDbnkT`0^0-tle2x7+~(V#H5U*8 z;OIYa3kMMhY*RZ+ZqHTDOxE&Vaf>&)_GX6Kf4*+E4u9sF`cBr({NJmCspNmKZ+Bh3 zALu^84f@V6L|z$uzngOm9OUL414p@!+YfZ<(xpq6E?v4M5EBU@w?_A?E|P1P<5y>{ z`QG2BUvjnky$htI`>qY_E`WN}e~b$=-MM8rYNj>4H2jnU*D-P3RoG|oimSIXxcy|c z5EHuh&)3b?VRZfWG5nyttM5K!-Rh#Xj9JBx>fmcO?gx8e&aM09ydPE{r;z9P_c>ec g2UGZ-e5@N2KLMdO))}O-_W%F@07*qoM6N<$g5v}%FaQ7m delta 509 zcmV3-D$O%R>7n)V?e}pkMPDzItsx(qt+3E+v3$dLldTRKYkFW5(OvgvSc|rLG zTrf|QwjeP5F401#cI= zS)9O}#vY8T#nn{{&SG)8%7WLx+irhMg~JD6_qwOTum0qB*kOl16?U&PU==n19@+mR zHFj5&1oq+9?uKw{cT16=Y^2fH9l!`~?T$SRtpXdn8^W#KsbE@Ztadkq2jTDm*uCzl z@T))h9d_8^PlaJVQb_aHduKS-?-Vv?r}_>lj$xpcdl&*Fo(jwjrFpC{qzGv%9Lq}L z^%R7va5*T029`|%-_HR|pu)T}&|J@mGH(l%G!!lc(??QxQ=sG=Z*Y_W*BLr#)a    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Iir Member List

    This is the complete list of members for stk::Iir, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Iir Member List

    This is the complete list of members for stk::Iir, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Iir(void)stk::Iir
    Iir(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)stk::Iir
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::Iir [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)stk::Iir
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)stk::Iir
    setGain(StkFloat gain)stk::Filter [inline]
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)stk::Iir
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Iir [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Iir [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Iir [inline]
    ~Iir(void)stk::Iir
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Iir(void)stk::Iir
    Iir(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)stk::Iir
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::Iir [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setCoefficients(std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)stk::Iir
    setDenominator(std::vector< StkFloat > &aCoefficients, bool clearState=false)stk::Iir
    setGain(StkFloat gain)stk::Filter [inline]
    setNumerator(std::vector< StkFloat > &bCoefficients, bool clearState=false)stk::Iir
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::Iir [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Iir [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::Iir [inline]
    ~Iir(void)stk::Iir
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Iir.gif b/doc/html/classstk_1_1Iir.gif new file mode 100644 index 0000000000000000000000000000000000000000..fae02daafcc35a5fd9eb89d97e75e8058accb1c5 GIT binary patch literal 644 zcmV-~0(<>ONk%w1VLkwe0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui06qYS000C2IJ(^aFiI$@y*TU5J62vOjvYvzsAr~ZE39rj!eda`UZCRw&WALS zFLxRCNI{M6wlrpbOq-LF#2AM>=dyS^0tX?e54zcU%_?v>%OqXNo2s&VgwyF*k=$~{ zm$_$mRBAa{Qhb3?hF*+ugffsNkCBugla-izm@%50EuEezprI$Dq%#w#s;j90uCK7M zva_!Sw70mqy1BNyzQ4c#2E)O{#<9b_$IHLT#LUpV&e7Dk%GKD&+1s$!+}PgV)ZyaL zZD0kYC%M-(nlg1F3? z2+mMMZ7e4)_rk^@9vwmf&l<85KX2(J;Yh@7|muZ{c z`~ipLNw#-IdCmKUFAKYV0rM4{m+;+bc5z-~cgYU!iY(dMw92%cJw~^AU1!di z?}g?yT3_kRr%|U4xSDlqg0E}EmOWcoZQHd!m(wkdH{;vBxdq=gJX>*az>{x#%DlPr z=g^}!udRc60PEOiS3hdjm eVQMFymSSluj@DvmFPd0lWzyAX    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Iir Class Reference

    STK general infinite impulse response filter class. -More... -

    -#include <Iir.h> -

    +

    stk::Iir Class Reference

    +

    STK general infinite impulse response filter class. +More...

    + +

    #include <Iir.h>

    Inheritance diagram for stk::Iir:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Iir (void)
     Default constructor creates a zero-order pass-through "filter".
     Iir (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)
     Overloaded constructor which takes filter coefficients.
    ~Iir (void)
     Class destructor.
    void setCoefficients (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)
     Set filter coefficients.
    void setNumerator (std::vector< StkFloat > &bCoefficients, bool clearState=false)
     Set numerator coefficients.
    void setDenominator (std::vector< StkFloat > &aCoefficients, bool clearState=false)
     Set denominator coefficients.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Iir (void)
     Default constructor creates a zero-order pass-through "filter".
     Iir (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients)
     Overloaded constructor which takes filter coefficients.
    ~Iir (void)
     Class destructor.
    void setCoefficients (std::vector< StkFloat > &bCoefficients, std::vector< StkFloat > &aCoefficients, bool clearState=false)
     Set filter coefficients.
    void setNumerator (std::vector< StkFloat > &bCoefficients, bool clearState=false)
     Set numerator coefficients.
    void setDenominator (std::vector< StkFloat > &aCoefficients, bool clearState=false)
     Set denominator coefficients.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK general infinite impulse response filter class. -

    -This class provides a generic digital filter structure that can be used to implement IIR filters. For filters containing only feedforward terms, the Fir class is slightly more efficient.

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

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

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

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

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK general infinite impulse response filter class.

    +

    This class provides a generic digital filter structure that can be used to implement IIR filters. For filters containing only feedforward terms, the Fir class is slightly more efficient.

    +

    In particular, this class implements the standard difference equation:

    +

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

    +

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

    +

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

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -101,19 +91,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Overloaded constructor which takes filter coefficients. -

    -An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero. +

    Overloaded constructor which takes filter coefficients.

    +

    An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::Iir::Iir stk::Iir::Iir ( std::vector< StkFloat > &  bCoefficients,
    - + @@ -139,18 +128,17 @@ An -

    -Set filter coefficients. -

    -An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero. If a[0] is not equal to 1, the filter coeffcients are normalized by a[0]. The internal state of the filter is not cleared unless the clearState flag is true. +

    Set filter coefficients.

    +

    An StkError can be thrown if either of the coefficient vector sizes is zero, or if the a[0] coefficient is equal to zero. If a[0] is not equal to 1, the filter coeffcients are normalized by a[0]. The internal state of the filter is not cleared unless the clearState flag is true.

    + -

    - + +

    void stk::Iir::setCoefficients void stk::Iir::setCoefficients ( std::vector< StkFloat > &  bCoefficients,
    - + @@ -170,18 +158,17 @@ An -

    -Set numerator coefficients. -

    -An StkError can be thrown if coefficient vector is empty. Any previously set denominator coefficients are left unaffected. Note that the default constructor sets the single denominator coefficient a[0] to 1.0. The internal state of the filter is not cleared unless the clearState flag is true. +

    Set numerator coefficients.

    +

    An StkError can be thrown if coefficient vector is empty. Any previously set denominator coefficients are left unaffected. Note that the default constructor sets the single denominator coefficient a[0] to 1.0. The internal state of the filter is not cleared unless the clearState flag is true.

    + -

    - + +

    void stk::Iir::setNumerator void stk::Iir::setNumerator ( std::vector< StkFloat > &  bCoefficients,
    - + @@ -201,18 +188,17 @@ An -

    -Set denominator coefficients. -

    -An StkError can be thrown if the coefficient vector is empty or if the a[0] coefficient is equal to zero. Previously set numerator coefficients are unaffected unless a[0] is not equal to 1, in which case all coeffcients are normalized by a[0]. Note that the default constructor sets the single numerator coefficient b[0] to 1.0. The internal state of the filter is not cleared unless the clearState flag is true. +

    Set denominator coefficients.

    +

    An StkError can be thrown if the coefficient vector is empty or if the a[0] coefficient is equal to zero. Previously set numerator coefficients are unaffected unless a[0] is not equal to 1, in which case all coeffcients are normalized by a[0]. Note that the default constructor sets the single numerator coefficient b[0] to 1.0. The internal state of the filter is not cleared unless the clearState flag is true.

    + -

    - + +

    void stk::Iir::setDenominator void stk::Iir::setDenominator ( std::vector< StkFloat > &  aCoefficients,
    - + @@ -232,20 +218,19 @@ An -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::Iir::tick StkFrames & stk::Iir::tick ( StkFrames frames,
    - + @@ -277,20 +262,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Iir::tick StkFrames & stk::Iir::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Iir.png b/doc/html/classstk_1_1Iir.png index 3994f2dc45fc026cb54d73ad433fef02570a87da..56ad6019f03ed916b0b0b7014dd6e59b693fa25a 100644 GIT binary patch delta 379 zcmV->0fhej0<8m(7zqdi0001pjHn)wAt!$bbW%=J0RR90|NsC0)yh;d0003zNklS1QUSi6A}&MBwHCg7hJd zS8j&`A^=>g4(4=#k3AqpE*dh@Pq_B^wsH1JeI!2W>!LQe7av%+6K|i$`6ugCd^dk? zSm)EcGQ^WF>P^&L!*AlXruZCQYl=_eZ+4zIapJ^@e>%ST{%@jOk_h4>AObrDfR>vo zXZUSp!2uBfuCEUu0%9{n5#Nmqt+USa%KURY_oDvGAE{?rQ+y7uHN_|KH#<+9IC0{{KOILZ3NqS=M|oG6 zra!<>cLz$*e{|GzymYU4>qIY^X8G%ZV$U!cPhRc=dI(FA+C5T Zz5tWQ8oeYG9Kiqp002ovPDHLkV1lvwtg8S3 delta 331 zcmV-R0krjn2qh3G0^&G!VJ#WQpM2!`beMV5vtQGLdv!k#w@l%R#AMew z$z8>fkwTY5A})^HkB}F(j*zunaCe}-NS0BhpSTw*x#}l>l|Dt+>Yplou_ylA_d9?8 zcJKeYDBs%OMcvBAPCma5@!LEf;)neYKKNhpYvf;XohtmK6002ovPDHLkV1j&_q^SS^ diff --git a/doc/html/classstk_1_1InetWvIn-members.html b/doc/html/classstk_1_1InetWvIn-members.html index 1fde0a9..8c763a7 100644 --- a/doc/html/classstk_1_1InetWvIn-members.html +++ b/doc/html/classstk_1_1InetWvIn-members.html @@ -8,49 +8,49 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::InetWvIn Member List

    This is the complete list of members for stk::InetWvIn, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::InetWvIn Member List

    This is the complete list of members for stk::InetWvIn, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::WvIn [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    InetWvIn(unsigned long bufferFrames=1024, unsigned int nBuffers=8)stk::InetWvIn
    isConnected(void)stk::InetWvIn
    lastFrame(void) const stk::WvIn [inline]
    lastOut(unsigned int channel=0)stk::InetWvIn [inline]
    listen(int port=2006, unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, Socket::ProtocolType protocol=Socket::PROTO_TCP)stk::InetWvIn
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::InetWvIn [virtual]
    tick(StkFrames &frames)stk::InetWvIn [virtual]
    ~InetWvIn()stk::InetWvIn
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::WvIn [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    InetWvIn(unsigned long bufferFrames=1024, unsigned int nBuffers=8)stk::InetWvIn
    isConnected(void)stk::InetWvIn
    lastFrame(void) const stk::WvIn [inline]
    lastOut(unsigned int channel=0)stk::InetWvIn [inline]
    listen(int port=2006, unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, Socket::ProtocolType protocol=Socket::PROTO_TCP)stk::InetWvIn
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::InetWvIn [virtual]
    tick(StkFrames &frames)stk::InetWvIn [virtual]
    ~InetWvIn()stk::InetWvIn
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1InetWvIn.gif b/doc/html/classstk_1_1InetWvIn.gif new file mode 100644 index 0000000000000000000000000000000000000000..8362c17e4e32c9bb8d83a02703a0a421492cb645 GIT binary patch literal 756 zcmV}pxH#+0yZ>M)C}L@zXhx=N>#lArgYazM2tK%FE2e2G7mW(#+4v)7RL%)zI19*xT0L;?d#b z=F8>h>dx!!#p&+xx$yGw^!4rc`0D!m=KcP}0Swq}Ai-}3?Im<)a3MK|>l#8tH}Rar zipDNtWVim&o5qg6K7#Bea^$X(Cg-KRhLV}BmoQ^mfCcLn%^5atmeHvyC(lGNvT%@7 zXQ&LHhVB@G)aR(D5MhEGs^X|BQ$lV;*c>zo%pR+UqGo#f0nMDUO}bk3Y9c42vrYN< zxk|JI(mzVUnk8CSE7_)Diy9Ryn62HveIzl>(zkHYyd04J96NcGK#9b&S_5W}mnnVt0q%7luzb{$P26=L4qqx1ROBNbuv!pHIKO{rmNw`vRiB z7rX!dyZi@WE&>h+K!N+=62LGE9@Aih2NL)Tgu)=`pMnf3^Pq$nCP<8h2R_K(h8IRy zU=Rw9$YF#mvbZ6L7LxcPhce1Ye8uIT2FXL>21id}M9W{5hH m+2WgGnrUE@e})*Spn-1roT1Gjx}2iP;pgb1kVYzB0suR8K7*0~ literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1InetWvIn.html b/doc/html/classstk_1_1InetWvIn.html index d891e99..9aa8297 100644 --- a/doc/html/classstk_1_1InetWvIn.html +++ b/doc/html/classstk_1_1InetWvIn.html @@ -8,66 +8,59 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::InetWvIn Class Reference

    STK internet streaming input class. -More... -

    -#include <InetWvIn.h> -

    +

    stk::InetWvIn Class Reference

    +

    STK internet streaming input class. +More...

    + +

    #include <InetWvIn.h>

    Inheritance diagram for stk::InetWvIn:
    - -

    - -stk::WvIn -stk::Stk +
    + + +stk::WvIn +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     InetWvIn (unsigned long bufferFrames=1024, unsigned int nBuffers=8)
     Default constructor.
    ~InetWvIn ()
     Class destructor.
    void listen (int port=2006, unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, Socket::ProtocolType protocol=Socket::PROTO_TCP)
     Wait for a (new) socket connection with specified protocol, port, data channels and format.
    bool isConnected (void)
     Returns true is an input connection exists or input data remains in the queue.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    + + + + + + + + + + + + + + +

    Public Member Functions

     InetWvIn (unsigned long bufferFrames=1024, unsigned int nBuffers=8)
     Default constructor.
    ~InetWvIn ()
     Class destructor.
    void listen (int port=2006, unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, Socket::ProtocolType protocol=Socket::PROTO_TCP)
     Wait for a (new) socket connection with specified protocol, port, data channels and format.
    bool isConnected (void)
     Returns true is an input connection exists or input data remains in the queue.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    -


    Detailed Description

    -STK internet streaming input class. -

    -This Wvin subclass reads streamed audio data over a network via a TCP or UDP socket connection. The data is assumed in big-endian, or network, byte order. Only a single socket connection is supported.

    -InetWvIn supports multi-channel data. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

    -This class implements a socket server. When using the TCP protocol, the server "listens" for a single remote connection within the InetWvIn::start() function. For the UDP protocol, no attempt is made to verify packet delivery or order. The default data type for the incoming stream is signed 16-bit integers, though any of the defined StkFormats are permissible.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK internet streaming input class.

    +

    This Wvin subclass reads streamed audio data over a network via a TCP or UDP socket connection. The data is assumed in big-endian, or network, byte order. Only a single socket connection is supported.

    +

    InetWvIn supports multi-channel data. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

    +

    This class implements a socket server. When using the TCP protocol, the server "listens" for a single remote connection within the InetWvIn::start() function. For the UDP protocol, no attempt is made to verify packet delivery or order. The default data type for the incoming stream is signed 16-bit integers, though any of the defined StkFormats are permissible.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -87,19 +80,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Default constructor. -

    -An StkError will be thrown if an error occurs while initializing the input thread. +

    Default constructor.

    +

    An StkError will be thrown if an error occurs while initializing the input thread.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::InetWvIn::InetWvIn stk::InetWvIn::InetWvIn ( unsigned long  bufferFrames = 1024,
    - + @@ -114,7 +106,7 @@ An - + @@ -131,21 +123,20 @@ An -

    -Wait for a (new) socket connection with specified protocol, port, data channels and format. -

    -For the UDP protocol, this function will create a socket instance and return. For the TCP protocol, this function will block until a connection is established. An StkError will be thrown if a socket error occurs or an invalid function argument is provided. +

    Wait for a (new) socket connection with specified protocol, port, data channels and format.

    +

    For the UDP protocol, this function will create a socket instance and return. For the TCP protocol, this function will block until a connection is established. An StkError will be thrown if a socket error occurs or an invalid function argument is provided.

    + -

    - + +

    void stk::InetWvIn::listen void stk::InetWvIn::listen ( int  port = 2006, Stk::StkFormat  format = STK_SINT16, format = STK_SINT16,
    - + - + @@ -153,21 +144,20 @@ For the UDP protocol, this function will create a socket instance and return. Fo
    -

    -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. +

    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.

    +
    -

    - + +

    bool stk::InetWvIn::isConnected bool stk::InetWvIn::isConnected ( void   ) 
    - + - + @@ -175,21 +165,20 @@ This method will not return false after an input connection has been closed unti
    -

    -Return the specified channel value of the last computed frame. -

    -For multi-channel files, use the lastFrame() function to get all values from the last computed frame. If no connection exists, the returned value is 0.0. The channel argument must be less than the number of channels in the data stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Return the specified channel value of the last computed frame.

    +

    For multi-channel files, use the lastFrame() function to get all values from the last computed frame. If no connection exists, the returned value is 0.0. The channel argument must be less than the number of channels in the data stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFloat stk::InetWvIn::lastOut StkFloat stk::InetWvIn::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + - + @@ -197,23 +186,22 @@ For multi-channel files, use the -

    -Compute a sample frame and return the specified channel value. -

    -For multi-channel files, use the lastFrame() function to get all values from the computed frame. If no connection exists, the returned value is 0.0 (and a warning will be issued if _STK_DEBUG_ is defined during compilation). The channel argument must be less than the number of channels in the data stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::WvIn.

    +

    Compute a sample frame and return the specified channel value.

    +

    For multi-channel files, use the lastFrame() function to get all values from the computed frame. If no connection exists, the returned value is 0.0 (and a warning will be issued if _STK_DEBUG_ is defined during compilation). The channel argument must be less than the number of channels in the data stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::WvIn.

    -

    - + +

    StkFloat stk::InetWvIn::tick StkFloat stk::InetWvIn::tick ( unsigned int  channel = 0 channel = 0  )  [virtual]
    - + - + @@ -221,22 +209,22 @@ For multi-channel files, use the -

    -Fill the StkFrames argument with computed frames and return the same reference. -

    -The number of channels in the StkFrames argument must equal the number of channels specified in the listen() function. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no connection exists, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). -

    Implements stk::WvIn.

    +

    Fill the StkFrames argument with computed frames and return the same reference.

    +

    The number of channels in the StkFrames argument must equal the number of channels specified in the listen() function. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no connection exists, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation).

    + +

    Implements stk::WvIn.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames& stk::InetWvIn::tick StkFrames& stk::InetWvIn::tick ( StkFrames frames frames  )  [virtual]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1InetWvIn.png b/doc/html/classstk_1_1InetWvIn.png index 94ddd93e2b72a07a98b9b47c3130a2b795c2d153..06fb592bdf6c35c5fd1cf2add9fff677e8d32620 100644 GIT binary patch delta 440 zcmV;p0Z0D01L*^h7zqdi0001}VE5yZAt!$bbW%=J0RR90|NsC0)yh;d0004aNkl+qUbPXaMHaVmBArl?!}&UznzjXh00+^R>vFZ$Gj$~;JI|3-hc zzF8SfUFuRRR~bCga7gs5M236e&`q zNO7Zx=#~(ih2kqBlIwTxrt{?*t$I@gQqoUTU4oR50R7n3`Es?VvdW5OMn_t=zPcK& z*Un)@oi`yyRDwQ6ewTV8;*9M?m!}tf>d_g?uC{$Dn)`UEOb5H|lQW*F%ey2x{hZPH ib&=l`6#s=7-F^TF6C$>0Bc9Lz0000{h{g%lir@ryMYc;VX^pW!Rn;#JAWWhF|S zqJd=nwkA0;mAdd0o4_S0ZJ1S-gpP4Z3S6slPdZQ^qzJ6ZRMf{rYjtiDb4%9hd3Jx+ ziSj*j%eWv9!$})ye~V}FGu{0Y`LX>!xouW?JNby&opjR4HznOKX*AyxQ~hUOdIl>= z-61K-#g)WMlB-9lNGi*)B73qsBxY`8nvgp$rDX3vnP@m99cW4N&LJsTJkvs5+6a7w zyb?~@NcT&3l27@Y?4*-UJ|{`Wz<_c_omV5FuI(IX1$SGwk`xFLGzY){noAAjh-_6- zvVdAZKp03Ui#Dlb{!r0?(8wI29~kNZ7OBv~)(6d%~%Dzu39D9L6?< kIRF3v diff --git a/doc/html/classstk_1_1InetWvOut-members.html b/doc/html/classstk_1_1InetWvOut-members.html index 5cad70c..eef9b24 100644 --- a/doc/html/classstk_1_1InetWvOut-members.html +++ b/doc/html/classstk_1_1InetWvOut-members.html @@ -8,52 +8,52 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::InetWvOut Member List

    This is the complete list of members for stk::InetWvOut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::InetWvOut Member List

    This is the complete list of members for stk::InetWvOut, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    connect(int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)stk::InetWvOut
    disconnect(void)stk::InetWvOut
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    InetWvOut(unsigned long packetFrames=1024)stk::InetWvOut
    InetWvOut(int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, unsigned long packetFrames=1024)stk::InetWvOut
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)stk::InetWvOut [virtual]
    tick(const StkFrames &frames)stk::InetWvOut [virtual]
    WvOut(void)stk::WvOut [inline]
    ~InetWvOut()stk::InetWvOut
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    connect(int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)stk::InetWvOut
    disconnect(void)stk::InetWvOut
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    InetWvOut(unsigned long packetFrames=1024)stk::InetWvOut
    InetWvOut(int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, unsigned long packetFrames=1024)stk::InetWvOut
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)stk::InetWvOut [virtual]
    tick(const StkFrames &frames)stk::InetWvOut [virtual]
    WvOut(void)stk::WvOut [inline]
    ~InetWvOut()stk::InetWvOut
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1InetWvOut.gif b/doc/html/classstk_1_1InetWvOut.gif new file mode 100644 index 0000000000000000000000000000000000000000..345b9fa0a4749d87200bc5504c49f1a471557a62 GIT binary patch literal 810 zcmV+_1J(RTNk%w1VOs!*0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09ycv000C2IJ(^aFv>~m5IF12yZ>M)hRSH3Xlj;f>%Jfh&$KGnc<$YLfcc?- z5GVi=bG)1}s96?unB+_NqdGaqs_#mZwwz1imD>D0k(XN5nDvm)Z=ClluAac{+1v#_ zcaD8|FMB9`aBgLXeqCv5Vp|!IenXFwa*a@#Xqudtou4p-prak4q^D7ssH+^Nte~#1 zoffpUwzm`jy1Tr+zQ4f12EoL|#>dFXzQfAR&d<&U($Lh^*1FQn*W290+0)(O;sD>; z&Kq3^m?juQLCQlkmsnT0ZaV%f{ifIj(&6_wS$l95T=gwF@bpQ?O ziRh}K8@T+5#1sT2CMS?464cbv2S83y3?(x}5tgcB%p?{2r0WV*Py;osWzvvh+C>=?v}y3H?Q2jBGhIj8@Os=r6dp|QUp0s+_+f9a@8u?O{F?q z2s75QMpB%}Mvrz*4Mi&J7Or2Xh%K9MZCI;s>&dNqP|n}LaRsC)lNa&g    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::InetWvOut Class Reference

    STK internet streaming output class. -More... -

    -#include <InetWvOut.h> -

    +

    stk::InetWvOut Class Reference

    +

    STK internet streaming output class. +More...

    + +

    #include <InetWvOut.h>

    Inheritance diagram for stk::InetWvOut:
    - -

    - -stk::WvOut -stk::Stk +
    + + +stk::WvOut +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    InetWvOut (unsigned long packetFrames=1024)
     Default constructor ... the socket is not instantiated.
     InetWvOut (int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, unsigned long packetFrames=1024)
     Overloaded constructor which opens a network connection during instantiation.
    ~InetWvOut ()
     Class destructor.
    void connect (int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
     Connect to the specified host and port and prepare to stream nChannels of data in the given data format.
    -void disconnect (void)
     If a connection is open, write out remaining samples in the queue and then disconnect.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (const StkFrames &frames)
     Output the StkFrames data.
    + + + + + + + + + + + + + + +

    Public Member Functions

    InetWvOut (unsigned long packetFrames=1024)
     Default constructor ... the socket is not instantiated.
     InetWvOut (int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16, unsigned long packetFrames=1024)
     Overloaded constructor which opens a network connection during instantiation.
    ~InetWvOut ()
     Class destructor.
    void connect (int port, Socket::ProtocolType protocol=Socket::PROTO_TCP, std::string hostname="localhost", unsigned int nChannels=1, Stk::StkFormat format=STK_SINT16)
     Connect to the specified host and port and prepare to stream nChannels of data in the given data format.
    +void disconnect (void)
     If a connection is open, write out remaining samples in the queue and then disconnect.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (const StkFrames &frames)
     Output the StkFrames data.
    -


    Detailed Description

    -STK internet streaming output class. -

    -This WvOut subclass can stream data over a network via a TCP or UDP socket connection. The data is converted to big-endian byte order, if necessary, before being transmitted.

    -InetWvOut supports multi-channel data. It is important to distinguish the tick() method that outputs a single sample to all channels in a sample frame from the overloaded one that takes a reference to an StkFrames object for multi-channel and/or multi-frame data.

    -This class connects to a socket server, the port and IP address of which must be specified as constructor arguments. The default data type is signed 16-bit integers but any of the defined StkFormats are permissible.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK internet streaming output class.

    +

    This WvOut subclass can stream data over a network via a TCP or UDP socket connection. The data is converted to big-endian byte order, if necessary, before being transmitted.

    +

    InetWvOut supports multi-channel data. It is important to distinguish the tick() method that outputs a single sample to all channels in a sample frame from the overloaded one that takes a reference to an StkFrames object for multi-channel and/or multi-frame data.

    +

    This class connects to a socket server, the port and IP address of which must be specified as constructor arguments. The default data type is signed 16-bit integers but any of the defined StkFormats are permissible.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -96,7 +89,7 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des

    - + @@ -113,19 +106,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Overloaded constructor which opens a network connection during instantiation. -

    -An StkError is thrown if a socket error occurs or an invalid argument is specified. +

    Overloaded constructor which opens a network connection during instantiation.

    +

    An StkError is thrown if a socket error occurs or an invalid argument is specified.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::InetWvOut::InetWvOut stk::InetWvOut::InetWvOut ( int  port, Stk::StkFormat  format = STK_SINT16, format = STK_SINT16,
    - + @@ -152,7 +144,7 @@ An - + @@ -163,21 +155,20 @@ An -

    -Connect to the specified host and port and prepare to stream nChannels of data in the given data format. -

    -An StkError is thrown if a socket error occurs or an invalid argument is specified. +

    Connect to the specified host and port and prepare to stream nChannels of data in the given data format.

    +

    An StkError is thrown if a socket error occurs or an invalid argument is specified.

    + -

    - + +

    void stk::InetWvOut::connect void stk::InetWvOut::connect ( int  port, Stk::StkFormat  format = STK_SINT16  format = STK_SINT16 
    - + - + @@ -185,23 +176,22 @@ An -

    -Output a single sample to all channels in a sample frame. -

    -An StkError is thrown if an output error occurs. If a socket connection does not exist, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). -

    Implements stk::WvOut.

    +

    Output a single sample to all channels in a sample frame.

    +

    An StkError is thrown if an output error occurs. If a socket connection does not exist, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation).

    + +

    Implements stk::WvOut.

    -

    - + +

    void stk::InetWvOut::tick void stk::InetWvOut::tick ( const StkFloat  sample sample  )  [virtual]
    - + - + @@ -209,22 +199,22 @@ An -

    -Output the StkFrames data. -

    -An StkError will be thrown if an output error occurs. An StkError will also be thrown if _STK_DEBUG_ is defined during compilation and there is an incompatability between the number of channels in the FileWvOut object and that in the StkFrames object. If a socket connection does not exist, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). -

    Implements stk::WvOut.

    +

    Output the StkFrames data.

    +

    An StkError will be thrown if an output error occurs. An StkError will also be thrown if _STK_DEBUG_ is defined during compilation and there is an incompatability between the number of channels in the FileWvOut object and that in the StkFrames object. If a socket connection does not exist, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation).

    + +

    Implements stk::WvOut.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    void stk::InetWvOut::tick void stk::InetWvOut::tick ( const StkFrames frames frames  )  [virtual]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1InetWvOut.png b/doc/html/classstk_1_1InetWvOut.png index 74649d4b295d413f99d4799bda94a7e3e5cf667a..c145fdd78a6d4338d4d5559071b91bf09655e71d 100644 GIT binary patch delta 474 zcmV<00VV#>1B(QZ7zqdi0002LLT4(GAt!$bbW%=J0RR90|NsC0)yh;d0004+Nklvh z*fvwF+de0K#xL0>-+dYEo~;wz;zEB;>gwuKgT2?c*3^kQ;roR4H`#HKmLjhWzl)u7 z93E)r9EV5Rf3{9&)22kgc*=X-jCFUDoYa-Lc}kD=Pwc(Ewa&Ua;roR4ciM6B1HEe|vebNM Q-T(jq07*qoM6N<$g8VY|N&o-= delta 415 zcmV;Q0bu@%1keMJ7zqRe0001bvWhE_At!$UbW%=J06^y0W&i*IW=TXrR9J=WmP>BL zAPk1%&8)F+04J#03w4$IAEADQkmiY$NY&I<6u^8K+cS#(;j70!hR@Pr?}g_=HX;?u zmvNHW8IA?XAd(BFvpcv3B+Vi-NcmUz70wU(Tu#v;&S=H;suSFksimGJLsLJzGlzer zN-|QZl*)bQ&g4VtTP_?AYkydysA?-Ee8_^pHnc2?pMnWpCHyz-!gtSVJ@kT-x2dy(K zRd4t;&lkO%+P&s+cc#RJ7Sb`o;2DWXS(FM*ww&Qx|3io8@ z=vH6a#w~YPCe!4pj%6|uCQaqZy5ib*-iP!@|1    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Instrmnt Member List

    This is the complete list of members for stk::Instrmnt, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Instrmnt Member List

    This is the complete list of members for stk::Instrmnt, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)=0stk::Instrmnt [pure virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)=0stk::Instrmnt [pure virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Instrmnt.gif b/doc/html/classstk_1_1Instrmnt.gif new file mode 100644 index 0000000000000000000000000000000000000000..612cad8e5b78dfbd337d6fcefbc4e8349119f002 GIT binary patch literal 6984 zcmV-O8@J>~Nk%w1Vafm?1@Zs@|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui0LlO$1pov7IJ(^aFv>}5132r=yZ>M)jwCP$XsWJk>%MR-&*@O!c&_gz?f<|a z&BiMlkEN4v$!x}m$fz``bXu=V=yc1yRk7eOOxrD+IbSgQxagp)>wO^bkZkccXof|Q^~mQ0O&jeeSmY66m>t|X(R zsdJ|B}}-Oipsk^Kxx z)YZ_UNC_QH%GAu#rckFmjY`$X)T&rZX5D(^D%YeJ z;T?uE|BZXP=LM2XfOtsVT?6?B_mZk;?yHlKh6{+Q$xB`BvPLxspOJODmmFJ zkUcq4lv2`UQnEs4OW;|w|IZm2t3e{#`Zz9EJoKVt9)SPyL zf@hwS?8zrcfAZvKpl1w9Xc>kc%0;4zO4aCNkG8~Uq+L;p(xjI1fN7>WY|1GPo_<H$Zrw(6<{ZYm_vM8@o*Y6r8@8cwVP<*F+d6)g&pufOKPt3SjR{@X;b zTil9<8-bwG%@Wc)GYd41)WWQzvOApLQK+kd9;F~GZM_0lysy3iYjZEftn?cX zyR&c{?#2aQoGr$|XdLkh3?re_%P_|*^UO5EBuq5l!fUO?IPY8Tw+gSULd%tQt8>rq zj(l*!OV_LL#w-wR)v%0Yb1%}Bb@I)%-#DT*&_BzoaX-g6oI$e6X5q0qXs3g1IEzsfhN)f|qw z=BRRBs^_AD{;BAklAfvQmZDCn>XEYksOycwuBhyX(oU%Df#UwB?tJo|r|)(GPp9y4 z691<0Z6dFx@@Fznrt@J!@1^uxQjg`~m1nPgM`btexI2)8>izfUgnt9}d{zl^w%HVxJCvJ z@(O$uK^_kY$U^pNdytIe1pb#gMFj7%sUGs?x35;3PNOezJl z%D=RdFR#o?EbTJOxzrLaw`@x;)w0X8^b#$X%tlVby z)vlD@^%C%iUEmdTD z7uZtMw&}txw{+_=-Zsp)y#;Pz9~s!{@`mnk=q5Ywy&%l5UX+@`dEEVH?4vc2eSNI)*pC{Xc5TLsO=>ox@BLqVlTR`5joD~%YrDp}Fl~gl!EwA0J-+4j!Qj>|0 zqU%MeUC+5+Yk^dZT3p%_eaKuc2=InQHJMRMdeXYq6sH)zDJgdP&zNScfKS_7egh~j zqk?OxS0$mu`Z{2hVgrp+jYdcls#F@=E5Iyk@D`k#zV>FoyxXN|b+sF00cZEFMW(J% z-g{jiV*toSb}|5<9Aqg|dAn8~mT|Yd5gpr>wqg?QaK+3xG8@j!XGU}6)OstXFiA3&wmE~baVwhXhOT!&_70Wq7^-5MmL(#VAhMHBh95r zTN=_@=CYbH(M$0Oe0sZrfxqOMxVOBOY?z)Mmb%Q4j`R4=V7 zIFV9Y*M1i~C>dq^hhjUy*F@guM3G8H9ikVzLq@Xw5O`pxNz|Ux=rk2B0pSh@4Ti>E zmQXTG?je2`XFN^u)3A--R(Ey7CYGpDU;1o*;kt{mfbkNEZS66d;%nl*HyvNCKzFl` z;H1_z5+!~t>xdbjwT1vwS(nru zmA4$xD+kQW4IT44&79CRAI$#E1)X!C^xQBz2lUSc6?8ujJuyY+^U-gzbjBq8uOg57 zBn|G}jDP&yRwsE8I-a3f!wXMBg^=U7dfN%fBa>-6mAGE7$ zN4=-lrkaUjUr@wU*Ka&ItVO+Z?G_SVyViNYj*mt-pz6-369Io@iI1z>C)PVjuX;oJ zviQQ~4!z7u?1{`HF!CyfJcH@pQM)JD+Y(N_hvy!665HKs76lrD&!}LAt{B>}HZ{Z- zzXPrhj_raUKI`{7_S&l&?9R`1^DAF*Ly{ojYboc`H=Dfz>h{wKjdN%TJ@`@5O{A_0IOA%HaDe{4p87J+~efj!;F zeZ;2&#^*QQ_k7l;eOQ-$(PnwCHi6QIfx-7{Iu&=d=5Y_00|0?uyf!x+h<*JNZ1NRQ zKSg-C=Xb-gyB57ba;w1NXyPt^8!3iW#Nc18AfeMMMLm?v-Z z#%%F6Pa>#sQ6zd=m{TEGdQzB#Rakfjq-2vNYdr;1{WNU$5{4pmg&nheg>ZTL#zZn@ zPk5(ff-nR8+e0Wka2J5gd9hRM0kkP_lK_LhaZ@1rB58XkNeNfhWa0<{$*6)c*$c+lk2`jgCAkp7h>1A)Ww;1jx|lgZ z>03koS(DFnls^euO1YD@Sd_fglq)%ZP^nu|$&PwLoiCbDpjqlf$S^1Sf zSxr5uX-J7HIysdc=!jzZjH|Ycb=Q)am6CJ0md|nyD2R;|d690(g5o8D=U581wt7y< zeCkz>c?WP&#Z61OZMyc3Bc(IB2bqZ(hm#4AEht8p8IF;;aAHtZYiN2trHAWi6bOls ztFVx!DT9O*m``{G6WN%khncdeh>JOgLHI;Tg_~Fzkt!LSBbk?>iE-12lGQkB3ZR$k zGI7m$oRt7^3*ej&vw;j?oo6$bQ7M?s zMV>ARpR6UHcbT5}iJtnop6bb!{W**5xqkGiTK1_F!3dtlC7y_5mj-HvQKq0X={9uP zddWGT4q9apDv?I0dENpqEkuyO7nd67dW311B&vof*o59`k}Ksd@@1lXCozw3j#y=3 z#L1Ey>Y9|vH%fuS8KjMv zry?q(k(i+sdY_QUoPf%pn}wHuDxF)`mUoIm2+Cy&x;X<{a+4}r1$wCY$^M_2>Ytkm zp#KSs0UCdyN|mE}f0fEvmpWRd`hTaYS*coDt%_N%x>~DBM~}K?g$kEpI--fXru7)8 z4T`9Qs;G>|sCwFtawkuJse0fDq;;q%mfuT^d)%+K1;AgW{#Rse_tiORAaFnX8c)og15z z*lDuiN}(lNoy1yv+?ky(3xT(qpfhV(v)Wp<>WQ(6vpq{$Ir~~W{!5BKD_KDsTScph zN$Xfgdt03fs-NnWL#v8Qi&#zDELCe*SG!wJ+f_ANTqLWpE6b#Ox~qOVtS37K5t=q3 z%ci<|t;^YkQ24DKO08Auuo*e7kB6>qSYc#nw$R#w@nw!@s8u{fv3*;JV=J;#M6Nwl znFmu}zh|cyTbx5Wxmtr@47+0RN_lw8qD@MquQ_{;If7G4xrx=U{;IcQ!>ptmV;B@- zYPz^?o1^epVTiYb`dFHGTe&zIx+=q^LTI?1_cb`yw!dnqs*0@-db2oatj~(9V*9z` zTDEZevCW&do(8>uE4{r+yUq2rffcEpleL7kwYfF5u4umg(}cdirM^!Izq!c1(d53t z6}4q4zd}jBNy)#>WWPm&zwN2NM(MxH1i)kV58?}0Vf($*%d&4PsA7t?;LEYf3#%83 zWexnKb1S8Giy6S_yLf85dyAU5tBuY(h=R*|FGz*NYc8l)r>s`NC_AQ(>ofSOVmx?J zvRiO8thPufx>cjOM>@F`wU6m4!f#nMoXL;^JFSp+rqbMv#hp}EXgUH1l+5}yh_23oV*bntZ@sn zgq*!UyuAn8!H4ON4ZFt=J9s7R4$Z8%!7Rw|#lnOugy9yWGn%=3H^+1g&3W6UUii4q z*2FKLU(+_{Cz&bwTU(%P<>S4JPodE6XE>bQqcQpKSsw^+=fCDePnt9bQ{ zj3oTHa7S+n3%R}P$CeAlKgf|V9H$ifn=VSH&f2|Utj84nyL}AOe+C==f)b&Z!J#EwkiqxaS)TQIp zrvufgBh{-z)vaUIuY=XGlgc{1(=R=aH;uu}i=kgFlQB)q*h|(mjhq)ut7FZ<9juU% z(9UoTd*=q4YdxJ_q|LUORXqC56J%{lO4qMvraOFN4PD-s5HraLPw~Vb60$pyb`*sLbn=ag}pY5@0EXEFj*~J>Oij3S4 z+{o2E+Y8s#ki^qXt<;oC-j=G>{!>!D1t+Q_plLfviXRX>ZZNqVGkIUWL+HJ=qY}d|Q zD+^BB*{rR79nJ>!cQgjrr#r(TZqsmm&Vikow&J4p)O6;cQ7)$2;B1#pWWu(v9uhH0|ANJJK z-lz)T&7D43Y*F))=Wa*rQ>7JzNpv38-ZT;>s3hQoE?98B zmklno4?bOX?&5xq(`l{2ss5Y??%)YtRB4otb$e^p4YO{itVKM!DE#XXczc6e;wqlv zw_Sre4&=3doze{BPy=w0JF!-7<6TbDrU}{Ee7Zu+(eirZOT5CFeZ?db?!5l&Nu0V$ zj$xynjigKM%sS`MzMa#a?M=ApoQp!+SZeOL#<<0HAC{6Bp-0<6u z;}E~_AwBVV&hUHQ;(czt7hmxikLI6%;fuaxJQV0iv7%R zU(R-W?vag$E?mt`ul4oX#Q8qsri=G_^6u~+tpy#$et)}&Pw^++(E5JF6*<|F-|>@w z&ljEBo9FihKjf(`>#OZH8IHOUU+&6XK1)w4r?2gj@8wdT_bM&YssHdFPy5Mj`?1gM z7H{=&lk`e|@2GtAK5P6akNiek^ozy(jivlb3;j&%{GUbrp(XuRYyGFC{i%ihTFd>j z1^%_={r<@y{FX!f3mWTUo$Is?_Pl)Stj_)r?*8_?>PVZxq}M<~{y42K%^ptn2q3!L zE(6F(tGzf+qr3mz@QkDo1j>n`=Eyednaayr-b)1Tyu|guphSebv5u)$QfYcEk;`Tg zrxRK$zpGY5oVsAMB2DRxmc5SZ)|y?rCtb8-d_0q&FI8SnQonl!fr5jCg@%WSiGzH1 zPfT+RcxE+>4}O0;ZJ1kem6Bv%l%Py|l?|7h9-66Eot}9%Nl;C6VYH*BIjlUZyFjkF z!NQEFz8Ag5JHW%t&3(zL&_c`3)z!t)KH0z4-QEz}7|7um)ZgcP*xBRc7Ut;iMe5S* z{_Pa+@%bb3(Dn91`T~04m(1V40SFT+T*$DY!-o(fN}Rax-v)~qGivN$aHGeM#yWx= zNpg+Ik|=fr;iuYOZ;vn`FUhR-1DARA-uZc135NQ1PkNo__Wds8xUt zDw?5F6^iI?i$0}jqd`K-)T5GCSt(JJUV25QnhL>br$BrPDpjNQBx?StADoIRN2}(f zYOCVFYSXK-Vo@tioR+EUuDZUdQIuSw;pL`V25Zf*FIj19YrbX#?6UJ&lq>rFg8OaQUVImp zf}aco=cw+7C75f=y8=T;Z@di$hws5I8o}MU-~pU%zzvRqW4J*SDDudPh~Y@N8fwR_ zj}hOSM!p9ntn!8M`KKbs{lQ76H7ZTwZecL>e5Uz$#Xl; zMqQrL>srl>(||y&wTu+g_;qemlT-EBpp_lY*=Tc3>W93>E&jKeVc*IUt#$)|x7~Z+ z+IOvg%NjVWgST4vs)wVRc&Uqz+Bm3>cN)2-lV4hSrI$;ZIi#C6+WDfNBO1D)qYqko zpr`wpI-jfO+4`NY*BQHjnQQaP~J+|8`WsNqtYH#EF*T91??eM`QpQ_i) zNBht6rfkgezd~a#HSZfeYdw7ZnoRSL#b;CFcm>nkatuTd4a>P#PY*qc2x1T2cr)J* zHr5EEq40{@qE3Udr9bj    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Instrmnt Class Reference

    STK instrument abstract base class. -More... -

    -#include <Instrmnt.h> -

    +

    stk::Instrmnt Class Reference

    +

    STK instrument abstract base class. +More...

    + +

    #include <Instrmnt.h>

    Inheritance diagram for stk::Instrmnt:
    - -

    - -stk::Stk -stk::BandedWG -stk::BlowBotl -stk::BlowHole -stk::Bowed -stk::Brass -stk::Clarinet -stk::Drummer -stk::Flute -stk::FM -stk::Mesh2D -stk::Modal -stk::Plucked -stk::PluckTwo -stk::Resonate -stk::Sampler -stk::Saxofony -stk::Shakers -stk::Simple -stk::Sitar -stk::StifKarp -stk::VoicForm -stk::Whistle +
    + + +stk::Stk +stk::BandedWG +stk::BlowBotl +stk::BlowHole +stk::Bowed +stk::Brass +stk::Clarinet +stk::Drummer +stk::Flute +stk::FM +stk::Mesh2D +stk::Modal +stk::Plucked +stk::PluckTwo +stk::Resonate +stk::Sampler +stk::Saxofony +stk::Shakers +stk::Simple +stk::Sitar +stk::StifKarp +stk::VoicForm +stk::Whistle +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Instrmnt (void)
     Class constructor.
    -virtual void noteOn (StkFloat frequency, StkFloat amplitude)=0
     Start a note with the given frequency and amplitude.
    -virtual void noteOff (StkFloat amplitude)=0
     Stop a note with the given amplitude (speed of decay).
    -virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -virtual void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    -const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    virtual StkFloat tick (unsigned int channel=0)=0
     Compute one sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill the StkFrames object with computed sample frames, starting at the specified channel.
    + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Instrmnt (void)
     Class constructor.
    +virtual void noteOn (StkFloat frequency, StkFloat amplitude)=0
     Start a note with the given frequency and amplitude.
    +virtual void noteOff (StkFloat amplitude)=0
     Stop a note with the given amplitude (speed of decay).
    +virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +virtual void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +unsigned int channelsOut (void) const
     Return the number of output channels for the class.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    virtual StkFloat tick (unsigned int channel=0)=0
     Compute one sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill the StkFrames object with computed sample frames, starting at the specified channel.
    -


    Detailed Description

    -STK instrument abstract base class. -

    -This class provides a common interface for all STK instruments.

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + - + @@ -112,22 +102,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Return the specified channel value of the last computed frame. -

    -The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    See also:
    lastFrame()
    +

    Return the specified channel value of the last computed frame.

    +

    The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    See also:
    lastFrame()
    -

    - + +

    StkFloat stk::Instrmnt::lastOut StkFloat stk::Instrmnt::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + - + @@ -135,20 +124,19 @@ The channel argument must be less than the number of output channel -

    - + +

    virtual StkFloat stk::Instrmnt::tick virtual StkFloat stk::Instrmnt::tick ( unsigned int  channel = 0 channel = 0  )  [pure virtual]
    - + @@ -168,20 +156,20 @@ For monophonic instruments, the channel argument is ignored.
    -

    -Fill the StkFrames object with computed sample frames, starting at the specified channel. -

    -The channel argument plus the number of output channels must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Fill the StkFrames object with computed sample frames, starting at the specified channel.

    +

    The channel argument plus the number of output channels must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Instrmnt::tick StkFrames & stk::Instrmnt::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Instrmnt.png b/doc/html/classstk_1_1Instrmnt.png index e8c26dbca2711caa0bec4cf7af6f7a9babb6a56c..d07afc1c15f44ad90d3e8102b769bcae7ac27ccc 100644 GIT binary patch literal 4167 zcmbVQeLPh89@f;fVapcMB6daQEGaW6G?HGJgE3}=cD-#SDR0q|@v=#@silq?%#aag zlrXMD@-k`{8O0*&Wx`D+VTPOW(rB1_W^(V|&%L{UxbykV=lsr`GoR0Mp6~N~zt7Ay z0^WY3lBSY^g2G0e!(k$PxU292u^NCq*5uol}Z~K48NQ3PX2Ce zY>as-9feOfTp;2}@MZa{hwFw`P*C|Dcle;&#Wljg!N|$tP06q0XSUT#9fv-Xc>29+ zr>@tl^L???G^>PZ=OoAE8C1!EKA0z2S zSTz(O&o)}mKis%b()(dk4o|v^|M8<~#u%Z2qkA&?izL<0mE`v%AdvsLnO1U6rBX_z zBH7o6rH;be@jc$jnbD}wdgMUyBzen~!{{@ziC$P8N*#f3G zZ-lR|D|+S>k7`ZJPU>Y-Gi%sMcf1}fYotgA3{eoR@F*z)}$ z7+m5%qg(b&TXMpkQmJa$n(#?~q8>(kN1r*~#*IBEX}Ux?pRw$ISgr;xsWANe(^f#B zO`Pd^1O7e8fBRw^xy|))(?OIaFuW#!Z3Yy@-3?Z|0d2rChpBI;g|#!}8!JO zHCn5R0pP6SZn1a0;|bUG5n2R&49@v&t{znxlU|Ucm04zk$3+*PI(~JzVrYgE`LH_n zCKM6g|Hvm0jn~QwX)e&Wa~Y3fifgxFBr25NlP^Wg$SKtLuy+D-lKMT5;XPsmgeOqj zLmZp8yJ&!Qs)F+_F>-hnxoFF+#HYx=A{2oH!?>oF?!=(8FmnGLDbGi*LXwM;pRuT@ z)@GK&X-LzV=@4zjnK{kmccOq}G^SvpJpOlahFp9}$Y-aw56jHtXn9OWDE0+@P_1MeUsg;s%CGKpo10TUW{Z-8s z@qfrxaO4(ELV$Fqo$iHx=L(bfGmF@DVc=`24g{^^9%uaG)Vj8MBBa`m5MFH3G+^Xk zrZjcm#38{O6_DWHM?u73aXIbGIhiPyJF^KR|$cDN@jIh;4VgemNgBKV}$=DHvwnfsc5u+CS{lGf(>El~21 z?(~MjvHKJIhv=ld9OQoC9hua)7*zVnuMNEZ*Y5xRWL=SV`bmQ()_Pb2Re7I$AH{lE zT`ISFy2+{2Xnw~9*S8fGLho;9&V$_IQ{+v`Ojao5f4)BK`U%2WRxeJfx!mIc6G(+z zt{x!yqB1$WwB#x_uh6*v@~ZT=SFXR8&&9Pd zt|pgu$q~Lmp)tn?b_^!!5r|c2Qu{#mH%;D2tkF~6^qON9GHZM}1Vi?fCK*>`%0a`{qaetG~nq2@o zT^EG1MGKJyZjf|?%dO}7=5#E8`wByo>=|~7;1Mbs`Ptw3V?e!GHIBcxZhaz*gw*kI zINrja%>H~}sJ;r=)2luxI<~7Hpz86K)GP`OQ)!(B6 z!*FJ4{D#imV*Mj<&+felF7vzR?%i**Zu<-X3}~%OeSE92n6f~HHGt*u%b>(q(;nk@s80MIM?=pC>T^9gehu$V z*m&s7R$i4G^*XRB(d9pL5|)bv_QKd8P;)db_)}Q{FtJiE?F13BJ#E?Z)=D&U3X_6s z9j}ojQxF>*TaUdY6&DmZ_(u#KjK;B;5X5m8!|QJKf%s!+}R@q)a1NV!Dv zsT3RE!(1S{{#tJ6u$-ThF6X;RMu zq{?o7FWA<3cQ^M`am;?ai7=|?(Iused6ued57STP*`FJ}KlzVkT(qhNnIIq52O82k zi#;i|#wSUiy7$amN)(MIc^9i}i$l-=e*6?+`GRtny>+q2*QkJ$IChS>DzVONo55x> z_qgwP`r&?dk}Jx5IQ{|o{x9xeB|?jE_RB%S%#(j?;!d9L z7Bx&b^7ht-^;2Ifeo+AHLf5sdeha%1?C!1V_>AIa*xl}pFL!3lAHc$GNsQs^>Zje& z{`YEIl}aLEmAvpg+bpcVjVcaZi+kn0g5BSW4TkcuLPB&L9U@X`APDq;;mQ*G3UkaF zRDe%G>fMSp%-f2t@PITOB`+p*#V#PZlcp2!$PDI5-Tmff*p#RRxZRug?pJbYZ6cvd zgBcUf+#)yZ6Lbmo@xZ{V#XzYx808n_G@jN_sw~URuU7@$;*JbFkshKUwD0^$gP}*m zokj1~KpPzE-_eu64E4IGTUaQekgU70wCLv2yN)JW3xOcM^8QXnm2YR*hqmv7~mtQ8L^?IbC%0s@D~S5$8iR_;8m=lyMGLb@GqN zZ@jt`dQA^wei9c*E)O?KnMzM}l9L_&^#k%D_r2c)AKwRpm7`uFd=1yBLU6&TC0q3p zF=A?OoAq|HZ}`t^I?5vUfi`MGws4R8#Pjep_z$1)frg?h)3VGoevYR?Hds`g?|A>q zS~&M}NbxGN0AIK&_od1~CXR0eivJayyq>v*6uF)Ox7^jI9|RUeEXEBd_(#*V$a>1^TD;)c2AxH9Gnvpi&Ht2cvJZf+gz&YU> z-X82;=0Tho3-%4Wg$ihoa}VJRAYw55xkr;?qMbL7LE(8c!u&1U)s$cU6z&4f<#dm+ zhjk)5@#P18eP_8A$(03j&~{ZpU?U1mvM!k(r0R>AwXTcS2VuB{?gh{f0|;{u|Cp|) zvuxA&pP&i?SRCTAU=`rlZ1|f~#Vjc{7fKfx2|%EJru(vsMqd)NaK={rVo{Gjw{13- zq}K+7PEoTD3C4V`dC1C*4+xcnUq-t0EgI4J>6CQ)CZmp3s?qv zx|S(iW;G6V8L?Z^>PJ+y39MPJHBb`-nydeI#)D1`wR$oHiUliaPvA_`mae_FZDiTz T%W>J?0SdSy_`_v(ewY6VJJM8% literal 3005 zcmaJ@X;c%37RFYkD&UjFfU;D47$RGVN(%`hDhLTXK?MR-ARrQ?fPxXkiVGDah?%e` z`xe4#P(lLXH{c2EdG~Jvqb~2ev?#g7X1qDCemwSI5t*x!` z&t*b+xapFIi>Jb|@xc%Ug&m%bCv7oTawWrl(R(dbZ@bUo^6v^Zz13O3|7O1PjZF2< zvMVM-zXFBv9aUruJwQGi`wG>UQnlAxPj)TpT0+>mn!gX*Es?H&R5pYC!*;jPQC6e< z+^AoooYo-Le!`g#}J#8tyt+r`_Fd@|srrVux?ZEoM+r-lvB;^NU^5#hXVE zvCW(WtMwsc zR&zLrv}22?h8)x4dG%@HP>X;~y$_Y;fv!y)x4-czq`kUwo*H->aeRf2l4u|(RyiWS zyJ>y}s4n}I%`%6%Ni{`v-s=wcInyg(t0$SE%*Y=jG)*zaKyts$~VCaUCXg+3Tp1&Gk`Bvbc`A$D!_1@DGn@c7wjad!7 z-R)xM#pF2Si;nnfoMy1hC7#WxSDkH(oNGu=k`Dj*>2P1ee;`#u8Vt+>R&;%3PDRz` z&Isb|9My&XB-QWs!rFdPax9AOvWsb*esOZL&3vkGXIM%FS5J{_q1~2MWMFBYCJv-5 zywjBUFjYDVjJoHAkM)SVY!>PaJrQ&rV$U06@=@*m1s#$Wl)Xx}XC;1q5#HeD_Qq$Q ztNq_)l-r(Eq?YKg=whyMnT_!Pc)*2@(dBR%9glXfPLVlL(I)Mg5y*1nJyKqg^aqz( z-l#wgcfd7K6WXYA=!bPqRK19SOd&wNe8wQ;M+Hl;xFVHh8~Qg_zP{$7Akp~ z-6Ie8rwYa|?|b?4X)tlh&JjrFjOd)XLxotskKk7H5GSdS%B|KEr$tg*9u;EXPG@GW z_ouFg5KNn?5ZuLNiM2)J7jnSbkpWjX%znO)78*2POtlR7rVAr?pG}6;6~O_ZFFbW; z(4I(IP*Z8{1NWQ}8Xrk8hAp|&%@LIiMBj#Y;f!Gvo%s(-gPq513E{VqT3a??XC|+d z8rkZn*5*}XM!t6nL;u8fuN&Pp|&IO<{O@Mt)wL8_FG|tXVy(S*CZD$sp zCcILU+>6DR2w^Hk)|s<8@GR*2@4T&(Xx5qCGuSBw4Ys>+T=gxk=zY6myi1_UXj+SZ z$X_Is|GIzRY6i3*q#@@?EtS{D>lOw$0btFK{6iHmd1CEzsFrHDr7bs z&%c+nfno>&4sua?SN5?Snw+SuU*V<=DTlqiNHqYh1S?kA$qL^gn( zUKl-5St6*#wKFFAmQrJ@RhSN_PCznCyZeQ{pct_zxnk|?&}%nUWs>6(>Fa|hTnS|O z2cRz=4a^lKgab4R7Bw6LCgf|s%$K4;G@|?}*r37+=Ac{&Wm0?*vocpY0tQeFDIeox zJQ$e8PX0`DBkfKxkEo+bE0N`7q7F2k{*C1Rw;IXqg1)Q0r58gD)~HKm73EhQ6Axi#PJwNnBThhk zM*U`A90bM-?O?!gO$E#}Ag-Hx2$2<0imwr*1ARAF@NEBlGxb$&xW+0sbH_$UZo$#y zHH$9p4TUb4~=fjGK$;;yjUKUiHi-MU$O^Td@jtuEWd|1 zoRgOe9Clb^$a`_*QC_a6^k1E|qM2#o8+QwxmpLO-GAKm;T$=0AyvaBgulZ;iv>vYtj7tCg|785I z_%*j#^gCG+^GS(J%foIRdim5$Htum_;c6OUdWhThhman0T3p;T$;!qPOiv)ZM}opQ%ti*M9P;M?{0#Rf{l~h~ z(}LOd8FROtHHO_(EKw?xgapD{JDtdQCwFCBz;XX5s*3Mcd^R@qf}!|aU+>o*+X6|? zrtU;nXhlET`7Q)t5FnLB*g9Jr*MbK>3^b2U$5p#LA%@j=@T1wB>K6Z*n&I?7w+U#S z*96qpRDAvhDMhAo&7)>dwTkppZM3p00fDo%AqZ%jeGWG@t_SN~n2M~BKd^c=YE){S zsp#h*3*(N~t;eX73fNBm;P)%n(EuCuSw=09&`D1V9M6?kYy-!^LD$`o{=Vf>D1`$! z+wdnTbE0%SP*i};$7U70q=0n#dN9|VTGjUy8arLJF02pQ7mzi~Sg!Ht;M$ApC!u2K zQ50d%NI%gT_Sck`&&7@0)zw*YR=Id#PBG%{;4M;nu_*vW9v6VtNos{=W$K_YcZx7GbgzUl( zadBrOn~E{X4elQ#!L!n>Q!E5Cs5v(JjrsS~P7!x4R=OM#XBvcHsNh|oLG+-eJY(;< zm1ND3r9n!^k9C&{3f4 zamk#)e5FLk0Aqioj-jfQjLL{db}v>iZz2X#xcYun9=t?O-kR)>I9v$F$J}!Hu??hI z$EaN>-Jklqbx4Vm*%uVhGt3g}_?EdUv@#epYAVcC&#I!lMd{4XON_OR4FWt$RDjqG}    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::JCRev Member List

    This is the complete list of members for stk::JCRev, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::JCRev Member List

    This is the complete list of members for stk::JCRev, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::JCRev [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    JCRev(StkFloat T60=1.0)stk::JCRev
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::JCRev [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setT60(StkFloat T60)stk::JCRev
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::JCRev [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::JCRev
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::JCRev
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::JCRev [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    JCRev(StkFloat T60=1.0)stk::JCRev
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::JCRev [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setT60(StkFloat T60)stk::JCRev
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::JCRev [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::JCRev
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::JCRev
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1JCRev.gif b/doc/html/classstk_1_1JCRev.gif new file mode 100644 index 0000000000000000000000000000000000000000..9ad7e149e1e7a0105584aca4cd514595cbb00bb0 GIT binary patch literal 725 zcmV;`0xJDSNk%w1VMhRn0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui07n3b000C2IJ(^aFv{tKy*TU5yZ@I0j$~PiW~!#>>b_eG&#$Zo7XAgiF6chi z00!J)ia(bP#LG32nxGR0B`rP3q7T|U=8{5_6e#6%!DrJIyLFbb<J{f5jR}a^xyhr%r}Z`6(sKNG~~ss&c2tnJ#JQ#88C=l9@Y-#B`X0 z^NG(uN1ohF(}+==PCSF=X|o6^)kQQhtQq5`gH4=4?PPrl)hpGU8RA_1dX!LzsA>H? z0vaW3nY%;b{uxxauUM&oIS@tk7miIxc$h8~tT$#V$Cz9~&O4csEW8Smbl;+Nb zN{Sv0p?SZ$s<+i;$Vee+Yfd_XuoOtnw$8Dunom_eI zTFV7S|2Mr~^?ldzWw*C|UUzukO+Tj    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::JCRev Class Reference

    John Chowning's reverberator class. -More... -

    -#include <JCRev.h> -

    +

    stk::JCRev Class Reference

    +

    John Chowning's reverberator class. +More...

    + +

    #include <JCRev.h>

    Inheritance diagram for stk::JCRev:
    - -

    - -stk::Effect -stk::Stk +
    + + +stk::Effect +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    JCRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    -void clear (void)
     Reset and clear all internal state.
    -void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    + + + + + + + + + + + + + + +

    Public Member Functions

    JCRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    +void clear (void)
     Reset and clear all internal state.
    +void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    -


    Detailed Description

    -John Chowning's reverberator class. -

    -This class takes a monophonic input signal and produces a stereo output signal. It is derived from the CLM JCRev function, which is based on the use of networks of simple allpass and comb delay filters. This class implements three series allpass units, followed by four parallel comb filters, and two decorrelation delay lines in parallel at the output.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    John Chowning's reverberator class.

    +

    This class takes a monophonic input signal and produces a stereo output signal. It is derived from the CLM JCRev function, which is based on the use of networks of simple allpass and comb delay filters. This class implements three series allpass units, followed by four parallel comb filters, and two decorrelation delay lines in parallel at the output.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -78,18 +71,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Return the specified channel value of the last computed stereo frame. -

    -Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Return the specified channel value of the last computed stereo frame.

    +

    Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFloat stk::JCRev::lastOut StkFloat stk::JCRev::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + @@ -109,18 +101,17 @@ Use the -

    -Input one sample to the effect and return the specified channel value of the computed stereo frame. -

    -Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Input one sample to the effect and return the specified channel value of the computed stereo frame.

    +

    Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFloat stk::JCRev::tick StkFloat stk::JCRev::tick ( StkFloat  input,
    - + @@ -140,18 +131,17 @@ Use the -

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

    -The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

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

    +

    The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFrames& stk::JCRev::tick StkFrames& stk::JCRev::tick ( StkFrames frames,
    - + @@ -183,20 +173,20 @@ The -

    -Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object. -

    -The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.

    +

    The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames& stk::JCRev::tick StkFrames& stk::JCRev::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1JCRev.png b/doc/html/classstk_1_1JCRev.png index 3e2c7c76243b447d763d24a27f7cd0a4df5e822c..a71e1c59a6e7d2b3a290ddd0774b871bd8fc9da4 100644 GIT binary patch delta 442 zcmV;r0Y(0^1M35j7zqdi0001j&<0GAAt!$bbW%=J0RR90|NsC0)yh;d0004cNklBYvaVWZR+x$z4L#jKU$Y{S;474;k;Z2_?*)D(n)&n{J-~dtvOJV zQ)>>C9ELHy>i@)g`+p8yn|zX+B#|MO kDqUYe3D6=KmY&$07*qoM6N<$f{Q@humAu6 delta 385 zcmV-{0e=4L1G58=7zqRe0000-AnQ$$At!$UbW%=J06^y0W&i*INl8ROR9J=Wmfg<7 zAP9!_WXHfA=oKv64ehA+e+d&2%UU;O+{TJaSngS zd2`~aPDx#8K;Lab2^#vPc6Qq@{SjJT2SK-GIS4vX-GnAIp?`-iF&AhLMC86#dn+{| z%4cnw7TV4P$y@5#NC8*K%mnI51_bNL%mkcMg|^`oQcs9G$j$^BE^eTYnc!PaW+u>_ zL|sH1Zmi;0hUQ$*paz%;O=v    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::JetTable Member List

    This is the complete list of members for stk::JetTable, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::JetTable Member List

    This is the complete list of members for stk::JetTable, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::JetTable [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::JetTable [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::JetTable [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::JetTable [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::JetTable [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::JetTable [inline]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1JetTable.gif b/doc/html/classstk_1_1JetTable.gif new file mode 100644 index 0000000000000000000000000000000000000000..2a70670952ca53365ad30cfa83cfc300929ca9f7 GIT binary patch literal 841 zcmV-P1GfA}Nk%w1VNw8y0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08#*m000C2IJ(^aFv>}rxH#+0yZ>N#DPn1!s79u2>k8{D&t6R5w><|J4+cP= zz$bj^WW--4Iiwv?z+RNODN1=%*3-mH3aQa$uW1~-tVC-kOlG^b+^>{79;#FDQ;~FjgfDQIF~Yln42G(oS!O|prf6lq^F^%s;R53o~<|) zva__c5CFKjy1Tr+zPkp$!o$SH#>BzL%FE2f2G7mW(#_Aw)7RL&)zI19+1u9M;?m*c z=FH{i>dx!!#_8_yy72Py^!4ud`0M)n=l%Z10SxGEAi-}3?Inz7a3MK|?HWQvH&LC$ zipMTuWVilNoW_pAK7#ZmawM;kCg-KZhLV}BmoQ^mfTijc%^5atmeF}CCr?F#>Ufak zhDDY@ruqmqgaeR?Ct-phs-mfT)efbZYHg9{%{Jb26E$dfBy{`)xd z=g^Z^i%z||b>rNwYu}C>9QW_weR~g2e!KJX;m@Q0u716F_wb>&k6(R0{pj}ZKhLj! zIsX6t(g7%-cmoRfUxC6Mh#+tZE=Zt*^fl<9gbPxLpoIluIG~0GLKvZk@o@;Ci2Y$m z)QKpjsN#w&w&)@dAi4)*jOfisBY8I72wsjla>wIv0r(aqb3+0N0E)yF`J0l+{V3d! zOg34Zl2Ha1WtBiyIb#q<3aMO?Tpnp7lVNr_=8{f|`J|U!nzs3W+73deSLqpLVhtsFhjSRvId* zk)wJ#C#QandMKr!s;OtEla_fVrI(s{=%lRnxZ|I?Mz?6M(ESQ5k-QGOoUq0w5r=HD TQx?l?voA&~?X=VekN^NXeZj8~ literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1JetTable.html b/doc/html/classstk_1_1JetTable.html index 3c38d92..60f7d5b 100644 --- a/doc/html/classstk_1_1JetTable.html +++ b/doc/html/classstk_1_1JetTable.html @@ -8,53 +8,50 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::JetTable Class Reference

    STK jet table class. -More... -

    -#include <JetTable.h> -

    +

    stk::JetTable Class Reference

    +

    STK jet table class. +More...

    + +

    #include <JetTable.h>

    Inheritance diagram for stk::JetTable:
    - -

    - -stk::Function -stk::Stk +
    + + +stk::Function +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    -StkFloat tick (StkFloat input)
     Take one sample input and map to one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.
    + + + + + + +

    Public Member Functions

    +StkFloat tick (StkFloat input)
     Take one sample input and map to one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.
    -


    Detailed Description

    -STK jet table class. -

    -This class implements a flue jet non-linear function, computed by a polynomial calculation. Contrary to the name, this is not a "table".

    -Consult Fletcher and Rossing, Karjalainen, Cook, and others for more information.

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + @@ -74,18 +71,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFrames & stk::JetTable::tick StkFrames & stk::JetTable::tick ( StkFrames frames,
    - + @@ -117,20 +113,20 @@ The -

    -Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::JetTable::tick StkFrames & stk::JetTable::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1JetTable.png b/doc/html/classstk_1_1JetTable.png index 5a425fc6255cc90b7070c821e994d85dadac707d..1e6df77690b381ddbea3c836ef19be94170374fd 100644 GIT binary patch delta 472 zcmV;}0Vn>|1BnEX7zqdi0000(S4`lMAt!$bbW%=J0RR90|NsC0)yh;d0004)NklRfhJlXb|w(v-s1P77-hJ*;*8o(s| z0TMm;4iXRn;I`L?F};XvcYzqGD43SMimZG6);7yS<>$hud+X)jKziX5d)^UlKQn*F zui8_Et2xacpXUEKkw1it|IuBJyx#gfWX|Etcx2Au%o~tD;y95+5=kVHL=yQt?6XUU>{-)pOCz!u z-7M`b?Li}dhb*WOISRjq^ui;Mb~t}CdvsVwvpg2A=8Ww2CK!{w<5S`M+92{l$oL=K z<;d%;-$Ujc&WuOq9L~G}`6G@KNhFa(5=kVH&qE?S5~9@*c^eXGcSK)9-;SX)?6`&; z_P;^`Db<&1JS9PkTGQv2a(C}X>8G~2LQAwisJE~kJ7n*h%)%je`6;q#m?1=qCkELQ z6=__v_E_O&j@||*+}-kQmQLIUv#i3^9BnIds=?lIymFjh8$><}86JNf7$WVWUIiZj O00003-DU~bS}XjZxZ5ym!{KpGJ3bfk7<6s5>K{P~U2es^0P?wZ!d*N2iZVg3Y6 z7*|N-*@T1ynAefp>b84Q+MvirVlcK%4=xVw7jH$`T)?Zwo%|n zw#g%<`*hLeq{OL)!b+5C;xGnEHaSU2ndVf&aR)0|(+_ZqypE-X?Ag_o)Se@<%}G + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + +
    +

    stk::LentPitShift Member List

    This is the complete list of members for stk::LentPitShift, including all inherited members. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::LentPitShift [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    LentPitShift(StkFloat periodRatio=1.0, int tMax=RT_BUFFER_SIZE)stk::LentPitShift
    printErrors(bool status)stk::Stk [inline, static]
    process()stk::LentPitShift [inline, protected]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setShift(StkFloat shift)stk::LentPitShift
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::LentPitShift [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::LentPitShift [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::LentPitShift [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1LentPitShift.html b/doc/html/classstk_1_1LentPitShift.html new file mode 100644 index 0000000..5b424ae --- /dev/null +++ b/doc/html/classstk_1_1LentPitShift.html @@ -0,0 +1,164 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    stk::LentPitShift Class Reference

    +

    Pitch shifter effect class based on the Lent algorithm. +More...

    + +

    #include <LentPitShift.h>

    +
    +Inheritance diagram for stk::LentPitShift:
    +
    +
    + + +stk::Effect +stk::Stk + +
    +
    + +

    List of all members.

    + + + + + + + + + + + + + + + + + +

    Public Member Functions

    LentPitShift (StkFloat periodRatio=1.0, int tMax=RT_BUFFER_SIZE)
     Class constructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setShift (StkFloat shift)
     Set the pitch shift factor (1.0 produces no shift).
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    Protected Member Functions

    void process ()
     Apply the effect on the input samples and store it.
    +

    Detailed Description

    +

    Pitch shifter effect class based on the Lent algorithm.

    +

    This class implements a pitch shifter using pitch tracking and sample windowing and shifting.

    +

    by Francois Germain, 2009.

    +

    Member Function Documentation

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::LentPitShift::tick (StkFrames frames,
    unsigned int  channel = 0 
    ) [inline]
    +
    +
    + +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    StkFrames & stk::LentPitShift::tick (StkFrames iFrames,
    StkFrames oFrames,
    unsigned int  iChannel = 0,
    unsigned int  oChannel = 0 
    ) [inline]
    +
    +
    + +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +
    +
    + +
    +
    + + + + + + + + +
    void stk::LentPitShift::process ( )  [inline, protected]
    +
    +
    + +

    Apply the effect on the input samples and store it.

    +

    The samples stored in the input frame vector are processed and the delayed result are stored in the output frame vector

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/classstk_1_1LentPitShift.png b/doc/html/classstk_1_1LentPitShift.png new file mode 100644 index 0000000000000000000000000000000000000000..f7c3cc65c41a5f34a994d35448187407714ea30d GIT binary patch literal 546 zcmeAS@N?(olHy`uVBq!ia0vp^2|(Pz!3-qz1Ld9qDTx4|5ZC|z{{xx-{~wq?KVbrp z1;z&s9H>6@{|S)GQ4-`A43q|gtEWPY7#J8gdb&7C2a6eH>-?@ni^ zo+qHr6?NfmE&m1OqYl;lc9~zMx}5gdyWw_&#>GV^zpH*apVjrwbf@%#h-)wh~iAIx$Q zPFQoGB7D{xRV#)g*XB$;VSl_~we1U`%x>$<7mhO){giLMuf)V*K-eh^lh!J1PhgT` zci?=jDpULE&5pHSCh?wkZOGjEcu|zguy;AD#O$q3*)%eO3!OBNBf_eBAe9 z-k}-A;wk>|z(tCah3LFt7X=X?3CEn+_`@-f=wz    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Mandolin Member List

    This is the complete list of members for stk::Mandolin, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Mandolin Member List

    This is the complete list of members for stk::Mandolin, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::PluckTwo
    controlChange(int number, StkFloat value)stk::Mandolin [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Mandolin(StkFloat lowestFrequency)stk::Mandolin
    noteOff(StkFloat amplitude)stk::PluckTwo [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Mandolin [virtual]
    pluck(StkFloat amplitude)stk::Mandolin
    pluck(StkFloat amplitude, StkFloat position)stk::Mandolin
    PluckTwo(StkFloat lowestFrequency)stk::PluckTwo
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)stk::PluckTwo
    setBodySize(StkFloat size)stk::Mandolin
    setDetune(StkFloat detune)stk::PluckTwo
    setFreqAndDetune(StkFloat frequency, StkFloat detune)stk::PluckTwo
    setFrequency(StkFloat frequency)stk::PluckTwo [virtual]
    setPluckPosition(StkFloat position)stk::PluckTwo
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Mandolin [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Mandolin(void)stk::Mandolin
    ~PluckTwo(void)stk::PluckTwo [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::PluckTwo
    controlChange(int number, StkFloat value)stk::Mandolin [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Mandolin(StkFloat lowestFrequency)stk::Mandolin
    noteOff(StkFloat amplitude)stk::PluckTwo [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Mandolin [virtual]
    pluck(StkFloat amplitude)stk::Mandolin
    pluck(StkFloat amplitude, StkFloat position)stk::Mandolin
    PluckTwo(StkFloat lowestFrequency)stk::PluckTwo
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)stk::PluckTwo
    setBodySize(StkFloat size)stk::Mandolin
    setDetune(StkFloat detune)stk::PluckTwo
    setFreqAndDetune(StkFloat frequency, StkFloat detune)stk::PluckTwo
    setFrequency(StkFloat frequency)stk::PluckTwo [virtual]
    setPluckPosition(StkFloat position)stk::PluckTwo
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Mandolin [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Mandolin(void)stk::Mandolin
    ~PluckTwo(void)stk::PluckTwo [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Mandolin.gif b/doc/html/classstk_1_1Mandolin.gif new file mode 100644 index 0000000000000000000000000000000000000000..e36ca3058b903abb0de65c4cc277289e0cacc6c8 GIT binary patch literal 1088 zcmV-G1i$-7Nk%w1VOIda0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09OFO000C2IJ(^aFv>}#xH#+0yZ>OwDPn1!=trh(>u&2S&t**CcxKI;f$Du-1m)8{-6X4m4iBQCdR+%9-(@~&O+l()<= z?(ZylC3|jcV}*QMXJ}wq7>;~GjgfGRIhQwrn42P+oSz+@praU~q@$*%pQ);wtgV+7 zva__c6#%%oy1Tr+zP$#&!o$SH#>cq9$ji*l#s<*N($mt=%GB7|zt+*(-rwBU-{aWg zgnt4$mZ_xzVPz(x%Bq+`1$es{O$h!sS7CZ9KnL)4kGlXaACHF4yi$m$d2N= zi58h*%=rF}<3Nw-Hi9H3a-^`5Cg-IDx02yMTQFnFv;eDSDN8nCy~2th)mh78$9WvS3X^mWOhH%=)f zl6zKe)C-#0l=Z-MEnTsX%(f+Jc5K`^Zvz)z%y=+g#!VXo7Cf1)hrE;KRGzdJF(Eg1 zfd&l(cC@R~remQ_jYBl+8mnLTl+DRC?XNR)>#p?=WlLSYe*>^4d>ZlM&B7tq$ZdIY z=gxu)m;Rf2OY1AKr_^qe`$+E~!Fv?Xk$gt;7SU5wACbL7_Y2`8lwXj(K>NL+Ki9tu zKmI@e`PjGHfCSQXn`#GQVq1bR#Ks^B3qB~7TX#u<*dR<;c$Z_3%@tQ;gncMfA6Z3~ z$Y+gscF12?jIb17DxN4AWm<)$7$p}@xME>ZS*Tcy8H%`BgCzdgqfvHQv4$Uz-KgVX zH5vjXh*3JZ62a23s_CYj8j5MBpoR*n za-x=Ms-&czs_LqUQp)P2ug1EntFkIeYpt!~s%xjW?%J!azv3Eft;5P%Y^=w={+cYS z%g(y%vza!lsjJawBSbSEwAC0>!`VgYN+nI?6&LfyYRk??z}    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Mandolin Class Reference

    STK mandolin instrument model class. -More... -

    -#include <Mandolin.h> -

    +

    stk::Mandolin Class Reference

    +

    STK mandolin instrument model class. +More...

    + +

    #include <Mandolin.h>

    Inheritance diagram for stk::Mandolin:
    - -

    - -stk::PluckTwo -stk::Instrmnt -stk::Stk +
    + + +stk::PluckTwo +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Mandolin (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Mandolin (void)
     Class destructor.
    -void pluck (StkFloat amplitude)
     Pluck the strings with the given amplitude (0.0 - 1.0) using the current frequency.
    -void pluck (StkFloat amplitude, StkFloat position)
     Pluck the strings with the given amplitude (0.0 - 1.0) and position (0.0 - 1.0).
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude (0.0 - 1.0).
    -void setBodySize (StkFloat size)
     Set the body size (a value of 1.0 produces the "default" size).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

    Mandolin (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Mandolin (void)
     Class destructor.
    +void pluck (StkFloat amplitude)
     Pluck the strings with the given amplitude (0.0 - 1.0) using the current frequency.
    +void pluck (StkFloat amplitude, StkFloat position)
     Pluck the strings with the given amplitude (0.0 - 1.0) and position (0.0 - 1.0).
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude (0.0 - 1.0).
    +void setBodySize (StkFloat size)
     Set the body size (a value of 1.0 produces the "default" size).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK mandolin instrument model class. -

    -This class inherits from PluckTwo and uses "commuted synthesis" techniques to model a mandolin instrument.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. Commuted Synthesis, in particular, is covered by patents, granted, pending, and/or applied-for. All are assigned to the Board of Trustees, Stanford University. For information, contact the Office of Technology Licensing, Stanford University.

    -Control Change Numbers:

      -
    • Body Size = 2
    • Pluck Position = 4
    • String Sustain = 11
    • String Detuning = 1
    • Microphone Position = 128
    -

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


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

    Detailed Description

    +

    STK mandolin instrument model class.

    +

    This class inherits from PluckTwo and uses "commuted synthesis" techniques to model a mandolin instrument.

    +

    This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. Commuted Synthesis, in particular, is covered by patents, granted, pending, and/or applied-for. All are assigned to the Board of Trustees, Stanford University. For information, contact the Office of Technology Licensing, Stanford University.

    +

    Control Change Numbers:

    +
      +
    • Body Size = 2
    • +
    • Pluck Position = 4
    • +
    • String Sustain = 11
    • +
    • String Detuning = 1
    • +
    • Microphone Position = 128
    • +
    +

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

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Mandolin.png b/doc/html/classstk_1_1Mandolin.png index 1beb3987846c1b3c68de3caeddbbfa6592632ed7..0202d89980146f39ce085e5dc3343de7de3128dd 100644 GIT binary patch delta 621 zcmV-z0+RjC1f2zt7zqdi0000+bq}SHAt!$bbW%=J0RR90|NsC0)yh;d0006kNklVNKkECc5bx>`0{R$tU0;V_-EP;xexrZ= zaBJPP4t>?ey7@HU4|M-eH|ckNBkE4)-@CQuz)5bcIdGQyxcxwvE?v5G>C&a!;>d|| zNJh~8z6%lf%X4!WF8?JL5CPz5h(G|_EYOcYdMjF&&}|*{K6_~zT1!jn3}*h?RnBx8 zvzpDPQP8P_`8bM-;{s;$&mv&g;P4}3q+eVm*0JHHWi zr}OXKT65qex7Hju%YEE_pi7r7UAlDX(rt0%L^&iQ=zi6O2<#;Qw6qV5RxE9wxIu0< zL<6oaAOgTK#_iJ{5767}-<-I6j`r28}PJZCXZC!uQt}pv7 z*Vo~lYw94-&s81VxPc4Dk9AvCFRDW?z8}CgjSW4OaTe?cz8~m5(@pxF--x=?`S)(E zIdGC&YYv>{K5jqIrAwDCUAlDXwm?o4q&ynk@46^1(a*!dXYzE{2X4F2!z=fCzCbCu z@m#JS(Ee*qcW6(x?;L-+y-itD{#?g`j&9G)jb=v9op<_SM<*xw!@P* z_0PVzSKvF>Hk;^_XFMMxjFF<`9d~^1Huih00000NkvXX Hu0mjfYeYmQ delta 542 zcmV+(0^$9g1~d}4;Q?)n<@2mD;x-~=;lSRXURK8!ZO`7p4qfvT7Rvbwqs1r9Mc_$^J3#QuH7+%nX=fVnsAj5b+#{dXYQWpY zJ;fQ;VeDaSDb8zWm@LKBS`ByuUax<~p%VB89J%hU_}Sn5fddDARUEnQC$8H|0N6H~ zNG<{QF%}x})~3_AO;-~SXfyIZeSqR&o33HBfaTcswH&vdH?XZm9g8F*DlJ|0VN@(n z`vs5NbOR>Ch`1WYuuWGyj@B8pIS#|{Z92so@oK=dLtl-vzhK}$;K+4%#m|5K<_{b= z@T+1tUh!HGY7mU3QXak&aQmdlhDKT5Nl z^j@}`+&*_KUY}-In_C;hdB7<*ykr3|!9IY7^Q`CWcLcB0&M?4cW|-GTzxry7!#Md1 g20o9^yb8VnG^EP#FhOj(000UA07*qoM6N<$f>?(I<^TWy diff --git a/doc/html/classstk_1_1Mesh2D-members.html b/doc/html/classstk_1_1Mesh2D-members.html index 4c4160f..662cb18 100644 --- a/doc/html/classstk_1_1Mesh2D-members.html +++ b/doc/html/classstk_1_1Mesh2D-members.html @@ -8,59 +8,59 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Mesh2D Member List

    This is the complete list of members for stk::Mesh2D, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Mesh2D Member List

    This is the complete list of members for stk::Mesh2D, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Mesh2D
    controlChange(int number, StkFloat value)stk::Mesh2D [virtual]
    energy(void)stk::Mesh2D
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    inputTick(StkFloat input)stk::Mesh2D
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Mesh2D(short nX, short nY)stk::Mesh2D
    noteOff(StkFloat amplitude)stk::Mesh2D [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Mesh2D [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDecay(StkFloat decayFactor)stk::Mesh2D
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setInputPosition(StkFloat xFactor, StkFloat yFactor)stk::Mesh2D
    setNX(short lenX)stk::Mesh2D
    setNY(short lenY)stk::Mesh2D
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Mesh2D [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Mesh2D(void)stk::Mesh2D
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Mesh2D
    controlChange(int number, StkFloat value)stk::Mesh2D [virtual]
    energy(void)stk::Mesh2D
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    inputTick(StkFloat input)stk::Mesh2D
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Mesh2D(short nX, short nY)stk::Mesh2D
    noteOff(StkFloat amplitude)stk::Mesh2D [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Mesh2D [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDecay(StkFloat decayFactor)stk::Mesh2D
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setInputPosition(StkFloat xFactor, StkFloat yFactor)stk::Mesh2D
    setNX(short lenX)stk::Mesh2D
    setNY(short lenY)stk::Mesh2D
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Mesh2D [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Mesh2D(void)stk::Mesh2D
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Mesh2D.gif b/doc/html/classstk_1_1Mesh2D.gif new file mode 100644 index 0000000000000000000000000000000000000000..0d9fb301856439eda6dcb46b01b667a76f68ca0a GIT binary patch literal 770 zcmV+d1O5C*Nk%w1VNd{w0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08jvk000C2IJ(^aFv>}nxH#+0yZ>OQgk))+-H5Jii>YobfADPIwH#bK82mj! zFX+m}hQ16^I5VDpJm_*mjP9l@XK9HHPN7O3vp8^7ht&>vyl!c?-l&P2M!n}^W<8(p z#_maMeQIHXV=RC^URM~5hd_&uZe=%>O_Y|Ih?tt4C5fJ)0-&Ouq@|gssFkX#HWje3 zva=2Vwzs&sy1Tr%2ED++!o$SCzs1PO%E1QB%g@ls&BxKz*16Np*W1FdJh?C-Yj@a*#Q>Gk&I`1#@c{M`QjT?;6%TS0mU*AYx8jv=~*4$Va*2XW%C ziWb#n+=l*fBd?Agb%6}&i=;u5&_*hw#j>SK3$9|eius2VO;Iy%ZqkX06c!G9fa*wL z)5A|Hc#aS?ipJ5NE=0fp5yR+dq(dT!A}$)k-S6m4ACc4e~^7a_X6Snlh2QSZF`XN>)+46 zzsdjq0QQI7E!)rfDXdO;QX!fjJM$ca A>;M1& literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Mesh2D.html b/doc/html/classstk_1_1Mesh2D.html index 1bbb31a..958c837 100644 --- a/doc/html/classstk_1_1Mesh2D.html +++ b/doc/html/classstk_1_1Mesh2D.html @@ -8,99 +8,92 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Mesh2D Class Reference

    Two-dimensional rectilinear waveguide mesh class. -More... -

    -#include <Mesh2D.h> -

    +

    stk::Mesh2D Class Reference

    +

    Two-dimensional rectilinear waveguide mesh class. +More...

    + +

    #include <Mesh2D.h>

    Inheritance diagram for stk::Mesh2D:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Mesh2D (short nX, short nY)
     Class constructor, taking the x and y dimensions in samples.
    ~Mesh2D (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -void setNX (short lenX)
     Set the x dimension size in samples.
    -void setNY (short lenY)
     Set the y dimension size in samples.
    -void setInputPosition (StkFloat xFactor, StkFloat yFactor)
     Set the x, y input position on a 0.0 - 1.0 scale.
    -void setDecay (StkFloat decayFactor)
     Set the loss filters gains (0.0 - 1.0).
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Impulse the mesh with the given amplitude (frequency ignored).
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay) ... currently ignored.
    -StkFloat energy (void)
     Calculate and return the signal energy stored in the mesh.
    -StkFloat inputTick (StkFloat input)
     Input a sample to the mesh and compute one output sample.
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Mesh2D (short nX, short nY)
     Class constructor, taking the x and y dimensions in samples.
    ~Mesh2D (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setNX (short lenX)
     Set the x dimension size in samples.
    +void setNY (short lenY)
     Set the y dimension size in samples.
    +void setInputPosition (StkFloat xFactor, StkFloat yFactor)
     Set the x, y input position on a 0.0 - 1.0 scale.
    +void setDecay (StkFloat decayFactor)
     Set the loss filters gains (0.0 - 1.0).
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Impulse the mesh with the given amplitude (frequency ignored).
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay) ... currently ignored.
    +StkFloat energy (void)
     Calculate and return the signal energy stored in the mesh.
    +StkFloat inputTick (StkFloat input)
     Input a sample to the mesh and compute one output sample.
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -Two-dimensional rectilinear waveguide mesh class. -

    -This class implements a rectilinear, two-dimensional digital waveguide mesh structure. For details, see Van Duyne and Smith, "Physical Modeling with the 2-D Digital Waveguide Mesh", Proceedings of the 1993 International Computer Music Conference.

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

    -Control Change Numbers:

      -
    • X Dimension = 2
    • Y Dimension = 4
    • Mesh Decay = 11
    • X-Y Input Position = 1
    -

    -by Julius Smith, 2000 - 2002. Revised by Gary Scavone for STK, 2002.


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

    Detailed Description

    +

    Two-dimensional rectilinear waveguide mesh class.

    +

    This class implements a rectilinear, two-dimensional digital waveguide mesh structure. For details, see Van Duyne and Smith, "Physical Modeling with the 2-D Digital + Waveguide Mesh", Proceedings of the 1993 International Computer Music Conference.

    +

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

    +

    Control Change Numbers:

    +
      +
    • X Dimension = 2
    • +
    • Y Dimension = 4
    • +
    • Mesh Decay = 11
    • +
    • X-Y Input Position = 1
    • +
    +

    by Julius Smith, 2000 - 2002. Revised by Gary Scavone for STK, 2002.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Mesh2D.png b/doc/html/classstk_1_1Mesh2D.png index 696cd950f6c4377d1db0fba3d0ff3ea6c2425fa3..fbd7d40b9ff7dda52822feea390b3774a2c3d4eb 100644 GIT binary patch delta 469 zcmX@h+{Q9Nf|G-pfq}t&(VV*z71irGN`m}?8U91S)l(rx3=E7@JzX3_Dj471y_GPtCC%-g&1d-Z`bXviHGV1s8#Lj5@pi^CW$F z+uXp>upvVK**otAZY){Ne>HBQSr@9xtS^j4K>UypB zqOQU3R5vaj2W4SgNE9RzZPDVTM2>LtVrI`Nl7STQmi8j7u8#mon!rDb0FuaX-V= z!pfU=$3BSUSuL}CdVK+JJbUsfb%R&p2Y#-oKc|`BG%HyD@lAaHW6g1KPRO9ihT@2?jJyk`IP{)y6!yklQD4y~2g=)Ohl;%vDqv0GjX z9$pqbL2zxo`-8f*tB=h&u!p6z^K?FE)v;9TX4~nUCTr){%rA4ib(^y%bKb$71&iNb zH!gAQT*@P?RuKDi5kL2S-QV1y-;RHHSAL?M`QY*cPrfm~TCJpF_R#7XF#Z@kUHx3v IIVCg!01%($82|tP delta 412 zcmV;N0b~A#1kD4G7zqRe0001jQgPgoAt!$UbW%=J06^y0W&i*IV@X6oR9J=WmQ8ZQ zAPj}grfZ}dh~A*RP*=YH5vm^qcmfS=J=3^>Nr0daJ!Hn2x4loc?JZ5U*9(G3HUcC{ zcpoI44M9Qz3kweD>2E+uLZq4?FyaUlHV5U5FqW>Mq#uIGq-!xlY4Tdhe+;F$YSMpV z_>7zo``}k?fp@^^*R|I^x~sncU-q-XeV^2x2G6g0feT#V#lffcJ#Jo#Q)nRk0SLwA zu&F>bKV31^dVIp196)=ky z(96@=%^8DLs$pAku&p}e!nB6VEU)O0Oy2+i000O{MNUMn GLSTZt{<@X` diff --git a/doc/html/classstk_1_1Messager-members.html b/doc/html/classstk_1_1Messager-members.html index 76ca617..f424f1d 100644 --- a/doc/html/classstk_1_1Messager-members.html +++ b/doc/html/classstk_1_1Messager-members.html @@ -8,48 +8,48 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Messager Member List

    This is the complete list of members for stk::Messager, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Messager Member List

    This is the complete list of members for stk::Messager, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Messager()stk::Messager
    popMessage(Skini::Message &message)stk::Messager
    printErrors(bool status)stk::Stk [inline, static]
    pushMessage(Skini::Message &message)stk::Messager
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setScoreFile(const char *filename)stk::Messager
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startMidiInput(int port=0)stk::Messager
    startSocketInput(int port=2001)stk::Messager
    startStdInput()stk::Messager
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~Messager()stk::Messager
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Messager()stk::Messager
    popMessage(Skini::Message &message)stk::Messager
    printErrors(bool status)stk::Stk [inline, static]
    pushMessage(Skini::Message &message)stk::Messager
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setScoreFile(const char *filename)stk::Messager
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startMidiInput(int port=0)stk::Messager
    startSocketInput(int port=2001)stk::Messager
    startStdInput()stk::Messager
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~Messager()stk::Messager
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Messager.gif b/doc/html/classstk_1_1Messager.gif new file mode 100644 index 0000000000000000000000000000000000000000..93a1c5522b753df3f6dfa62e955a1a729480d835 GIT binary patch literal 541 zcmV+&0^}(xH#+0yZ>P5DPn1!Xh^1P>vroa&u2{E_-5n5)q{cH zPw*SwcDEuhqa@}8$X3udZElRzo>dl2HI+l_l<9LG2Q+LE+ZmhPw5~TyHGSDHIqPfY z82NZDdUj=Rg;!*TeOzd1VOkiFeL|0uag9%zXPTTdgPouwn4zR1pQWg$sHCc^pslW) z6|=OpwzL4by1Tr+zQ4Z)z{AAF#>dFJ!pY3d&dCPR&(qY^(aY7@+Qiq=+uz{1-Pqyf z+2rQw)9C8$(C+Ze?D6!z^Y!@R`TM;0{PF(&xeF*z9l?U;4k8SvaN)Ox4z)pyXpJI3 zi|{65bf)8RqdboWL8j{{(iq8-+)y%93GO6Id;ciOoJq5$&6_xL>Xi9XTacdFegdT? zbm+69Mw=o16(CpBVNZEQUAWZO)2UXmRu#Bas1N{GnQD#tRTt8;Xu+C2t9Dn_ux*=? zbxLnb*lu3EewiM=I~Oovu#LASmYbL7V7F5#EgoEUFJ@qH zDJxbR8nocOj1Rlb3b?XstBDbp<~#W^>e!zh|1~T-c4x@BImZ    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Messager Class Reference

    STK input control message parser. -More... -

    -#include <Messager.h> -

    +

    stk::Messager Class Reference

    +

    STK input control message parser. +More...

    + +

    #include <Messager.h>

    Inheritance diagram for stk::Messager:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Messager ()
     Default constructor.
    ~Messager ()
     Class destructor.
    void popMessage (Skini::Message &message)
     Pop the next message from the queue and write it to the referenced message structure.
    -void pushMessage (Skini::Message &message)
     Push the referenced message onto the message stack.
    bool setScoreFile (const char *filename)
     Specify a SKINI formatted scorefile from which messages should be read.
    bool startStdInput ()
     Initiate the "realtime" retreival from stdin of control messages into the queue.
    bool startSocketInput (int port=2001)
     Start a socket server, accept connections, and read "realtime" control messages into the message queue.
    bool startMidiInput (int port=0)
     Start MIDI input, with optional device and port identifiers.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

    Messager ()
     Default constructor.
    ~Messager ()
     Class destructor.
    void popMessage (Skini::Message &message)
     Pop the next message from the queue and write it to the referenced message structure.
    +void pushMessage (Skini::Message &message)
     Push the referenced message onto the message stack.
    bool setScoreFile (const char *filename)
     Specify a SKINI formatted scorefile from which messages should be read.
    bool startStdInput ()
     Initiate the "realtime" retreival from stdin of control messages into the queue.
    bool startSocketInput (int port=2001)
     Start a socket server, accept connections, and read "realtime" control messages into the message queue.
    bool startMidiInput (int port=0)
     Start MIDI input, with optional device and port identifiers.
    -


    Detailed Description

    -STK input control message parser. -

    -This class reads and parses control messages from a variety of sources, such as a scorefile, MIDI port, socket connection, or stdin. MIDI messages are retrieved using the RtMidi class. All other input sources (scorefile, socket, or stdin) are assumed to provide SKINI formatted messages. This class can be compiled with generic, non-realtime support, in which case only scorefile reading is possible.

    -The various realtime message acquisition mechanisms (from MIDI, socket, or stdin) take place asynchronously, filling the message queue. A call to popMessage() will pop the next available control message from the queue and return it via the referenced Message structure. When a non-realtime scorefile is set, it is not possible to start reading realtime input messages (from MIDI, socket, or stdin). Likewise, it is not possible to read from a scorefile when a realtime input mechanism is running.

    -When MIDI input is started, input is also automatically read from stdin. This allows for program termination via the terminal window. An __SK_Exit_ message is pushed onto the stack whenever an "exit" or "Exit" message is received from stdin or when all socket connections close and no stdin thread is running.

    -This class is primarily for use in STK example programs but it is generic enough to work in many other contexts.

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + - + @@ -83,21 +75,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Pop the next message from the queue and write it to the referenced message structure. -

    -Invalid messages (or an empty queue) are indicated by type values of zero, in which case all other message structure values are undefined. The user MUST verify the returned message type is valid before reading other message values. +

    Pop the next message from the queue and write it to the referenced message structure.

    +

    Invalid messages (or an empty queue) are indicated by type values of zero, in which case all other message structure values are undefined. The user MUST verify the returned message type is valid before reading other message values.

    +
    -

    - + +

    void stk::Messager::popMessage void stk::Messager::popMessage ( Skini::Message message message  ) 
    - + - + @@ -105,20 +96,19 @@ Invalid messages (or an empty queue) are indicated by type values of zero, in wh
    -

    -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. +

    Specify a SKINI formatted scorefile from which messages should be read.

    +

    A return value of true indicates the call was successful. A return value of false can occur if the file is not found, cannot be opened, another file is currently still open, or if a realtime input mechanism is running. Scorefile input is considered to be a non-realtime control mechanism that cannot run concurrently with realtime input.

    +
    -

    - + +

    bool stk::Messager::setScoreFile bool stk::Messager::setScoreFile ( const char *  filename filename  ) 
    - + - + @@ -126,21 +116,20 @@ A return value of true indicates the call was successful. A return
    -

    -Initiate the "realtime" retreival from stdin of control messages into the queue. -

    -This function initiates a thread for asynchronous retrieval of SKINI formatted messages from stdin. A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, a stdin thread is already running, or a thread error occurs during startup. Stdin input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input. +

    Initiate the "realtime" retreival from stdin of control messages into the queue.

    +

    This function initiates a thread for asynchronous retrieval of SKINI formatted messages from stdin. A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, a stdin thread is already running, or a thread error occurs during startup. Stdin input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input.

    +
    -

    - + +

    bool stk::Messager::startStdInput bool stk::Messager::startStdInput (  ) 
    - + - + @@ -148,21 +137,20 @@ This function initiates a thread for asynchronous retrieval of SKINI formatted m
    -

    -Start a socket server, accept connections, and read "realtime" control messages into the message queue. -

    -This function creates a socket server on the optional port (default = 2001) and starts a thread for asynchronous retrieval of SKINI formatted messages from socket connections. A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, a socket thread is already running, or an error occurs during the socket server or thread initialization stages. Socket input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input. +

    Start a socket server, accept connections, and read "realtime" control messages into the message queue.

    +

    This function creates a socket server on the optional port (default = 2001) and starts a thread for asynchronous retrieval of SKINI formatted messages from socket connections. A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, a socket thread is already running, or an error occurs during the socket server or thread initialization stages. Socket input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input.

    +
    -

    - + +

    bool stk::Messager::startSocketInput bool stk::Messager::startSocketInput ( int  port = 2001 port = 2001  ) 
    - + - + @@ -170,20 +158,20 @@ This function creates a socket server on the optional port (default = 2001) and
    -

    -Start MIDI input, with optional device and port identifiers. -

    -This function creates an RtMidiIn instance for MIDI input. The RtMidiIn class invokes a local callback function to read incoming messages into the queue. If port = -1, RtMidiIn will open a virtual port to which other software applications can connect (OS X and Linux only). A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, MIDI input is already running, or an error occurs during RtMidiIn construction. Midi input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input. +

    Start MIDI input, with optional device and port identifiers.

    +

    This function creates an RtMidiIn instance for MIDI input. The RtMidiIn class invokes a local callback function to read incoming messages into the queue. If port = -1, RtMidiIn will open a virtual port to which other software applications can connect (OS X and Linux only). A return value of true indicates the call was successful. A return value of false can occur if a scorefile is being read, MIDI input is already running, or an error occurs during RtMidiIn construction. Midi input is considered to be a realtime control mechanism that cannot run concurrently with non-realtime scorefile input.

    +
    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    bool stk::Messager::startMidiInput bool stk::Messager::startMidiInput ( int  port = 0 port = 0  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Messager.png b/doc/html/classstk_1_1Messager.png index 4e0d05ae6636981d07709234b58cd2ae75a1672b..a68eb8640287e87d2caee8a8d04bcc0c800df0d4 100644 GIT binary patch delta 344 zcmV-e0jK`<0*V8W7zqdi0000*+9_3$At!$bbW%=J0RR90|NsC0)yh;d0003QNkl6mq)sIG#@FJNJmLNJmm19>87r~{hldT#~2T!P>f8J~?c94J7 z=>3xp+Hme0N&XXZl+h8Zhq6C{Tx%3Mj9hCJI*$C6vytQ^CppPUPI8iyyhKKn5rXPV z@>|FtRdbk0000Klu-`D zAP9!#WzXOZ@C3_tp*{8fM;IvDF6(UB)`u;UR>XYb4=p%bF=s^#9&~MP>FbwE8@z-fEkM{4Q zNv2yg1ww?Gmc~N)BqqoX(P&8w8rdkWtmuI    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::MidiFileIn Member List

    This is the complete list of members for stk::MidiFileIn, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::MidiFileIn Member List

    This is the complete list of members for stk::MidiFileIn, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    getDivision() const stk::MidiFileIn
    getFileFormat() const stk::MidiFileIn
    getNextEvent(std::vector< unsigned char > *event, unsigned int track=0)stk::MidiFileIn
    getNextMidiEvent(std::vector< unsigned char > *midiEvent, unsigned int track=0)stk::MidiFileIn
    getNumberOfTracks() const stk::MidiFileIn
    getTickSeconds(unsigned int track=0)stk::MidiFileIn
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    MidiFileIn(std::string fileName)stk::MidiFileIn
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    rewindTrack(unsigned int track=0)stk::MidiFileIn
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~MidiFileIn()stk::MidiFileIn
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    getDivision() const stk::MidiFileIn
    getFileFormat() const stk::MidiFileIn
    getNextEvent(std::vector< unsigned char > *event, unsigned int track=0)stk::MidiFileIn
    getNextMidiEvent(std::vector< unsigned char > *midiEvent, unsigned int track=0)stk::MidiFileIn
    getNumberOfTracks() const stk::MidiFileIn
    getTickSeconds(unsigned int track=0)stk::MidiFileIn
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    MidiFileIn(std::string fileName)stk::MidiFileIn
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    rewindTrack(unsigned int track=0)stk::MidiFileIn
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~MidiFileIn()stk::MidiFileIn
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1MidiFileIn.gif b/doc/html/classstk_1_1MidiFileIn.gif new file mode 100644 index 0000000000000000000000000000000000000000..769cf3b3941f004ec40d88173d46ffc3642b18e4 GIT binary patch literal 539 zcmV+$0_6QiNk%w1VORiA0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09XJ}000C2IJ(^aFv>}%xH#+0yZ>O=DPn1!C`hJk>vHQW&t^>DxMt(Q)q{cH zPw*SkcDEuhqa@~#t)NfZ+!&|5>I<4`Du-1m)8{-6XxHMkBQCdR+%9-(@~&NRmbc6? z?(Zylb!2XYR%3;HTW4rsSs0IeLXMJfj5(M%f|;Bpo1LH@pP{4~qot*%sG+K>ovp5! z6|=OpwzB}ay1Tr+zQ4Z)z{AAF#>dFI!pY3d&d3JQ&(qY@(aY7@+QZk<+uz^--Pqyf z)#T>s&*YVg4TacdBegd5) zbf~kUMwub~6(CpBVNZEIjjC&^Q<+Y)GBvi;msO}#0d%b@6)Lc>Owo#+`txhAr9z{& z)vDI55VB&|dPV!ys$9Bxv-Z6T_-*09Y_;y{8aDCSzU|u!vgfjh zc_PNUSZ!s~qa|y0yZEqW(pC9-Hm!MdXxFbHONJbKZ|}dmSO3O+_-=8`NsppVes(!? d-_Mbajh>eJvFX;OI?uj#r}yvR!_!Ov06P^`CdB{% literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1MidiFileIn.html b/doc/html/classstk_1_1MidiFileIn.html index d8a6721..8b59402 100644 --- a/doc/html/classstk_1_1MidiFileIn.html +++ b/doc/html/classstk_1_1MidiFileIn.html @@ -8,74 +8,65 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::MidiFileIn Class Reference

    A standard MIDI file reading/parsing class. -More... -

    -#include <MidiFileIn.h> -

    +

    stk::MidiFileIn Class Reference

    +

    A standard MIDI file reading/parsing class. +More...

    + +

    #include <MidiFileIn.h>

    Inheritance diagram for stk::MidiFileIn:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     MidiFileIn (std::string fileName)
     Default constructor.
    ~MidiFileIn ()
     Class destructor.
    -int getFileFormat () const
     Return the MIDI file format (0, 1, or 2).
    -unsigned int getNumberOfTracks () const
     Return the number of tracks in the MIDI file.
    int getDivision () const
     Return the MIDI file division value from the file header.
    void rewindTrack (unsigned int track=0)
     Move the specified track event reader to the beginning of its track.
    double getTickSeconds (unsigned int track=0)
     Get the current value, in seconds, of delta-time ticks for the specified track.
    unsigned long getNextEvent (std::vector< unsigned char > *event, unsigned int track=0)
     Fill the user-provided vector with the next event in the specified track and return the event delta-time in ticks.
    unsigned long getNextMidiEvent (std::vector< unsigned char > *midiEvent, unsigned int track=0)
     Fill the user-provided vector with the next MIDI channel event in the specified track and return the event delta time in ticks.
    + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     MidiFileIn (std::string fileName)
     Default constructor.
    ~MidiFileIn ()
     Class destructor.
    +int getFileFormat () const
     Return the MIDI file format (0, 1, or 2).
    +unsigned int getNumberOfTracks () const
     Return the number of tracks in the MIDI file.
    int getDivision () const
     Return the MIDI file division value from the file header.
    void rewindTrack (unsigned int track=0)
     Move the specified track event reader to the beginning of its track.
    double getTickSeconds (unsigned int track=0)
     Get the current value, in seconds, of delta-time ticks for the specified track.
    unsigned long getNextEvent (std::vector< unsigned char > *event, unsigned int track=0)
     Fill the user-provided vector with the next event in the specified track and return the event delta-time in ticks.
    unsigned long getNextMidiEvent (std::vector< unsigned char > *midiEvent, unsigned int track=0)
     Fill the user-provided vector with the next MIDI channel event in the specified track and return the event delta time in ticks.
    -


    Detailed Description

    -A standard MIDI file reading/parsing class. -

    -This class can be used to read events from a standard MIDI file. Event bytes are copied to a C++ vector and must be subsequently interpreted by the user. The function getNextMidiEvent() skips meta and sysex events, returning only MIDI channel messages. Event delta-times are returned in the form of "ticks" and a function is provided to determine the current "seconds per tick". Tempo changes are internally tracked by the class and reflected in the values returned by the function getTickSeconds().

    -by Gary P. Scavone, 2003 - 2009.


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -83,21 +74,20 @@ by Gary P. Scavone, 2003 - 2009.

    Constructor & Destructor Documentat
    -

    -Default constructor. -

    -If an error occurs while opening or parsing the file header, an StkError exception will be thrown. +

    Default constructor.

    +

    If an error occurs while opening or parsing the file header, an StkError exception will be thrown.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::MidiFileIn::MidiFileIn stk::MidiFileIn::MidiFileIn ( std::string  fileName fileName  ) 
    - + - + @@ -105,21 +95,20 @@ If an error occurs while opening or parsing the file header, an
    -

    -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. +

    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.

    +
    -

    - + +

    int stk::MidiFileIn::getDivision int stk::MidiFileIn::getDivision (  )  const
    - + - + @@ -127,21 +116,20 @@ Note that this value must be "parsed" in accordance with the MIDI File Specifica
    -

    -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. +

    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.

    +
    -

    - + +

    void stk::MidiFileIn::rewindTrack void stk::MidiFileIn::rewindTrack ( unsigned int  track = 0 track = 0  ) 
    - + - + @@ -149,18 +137,17 @@ The relevant track tempo value is reset as well. If an invalid track number is s
    -

    -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. +

    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.

    +
    -

    - + +

    double stk::MidiFileIn::getTickSeconds double stk::MidiFileIn::getTickSeconds ( unsigned int  track = 0 track = 0  ) 
    - + @@ -180,18 +167,17 @@ This value can change as events are read (via "Set Tempo" Meta-Events). Therefor
    -

    -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. +

    Fill the user-provided vector with the next event in the specified track and return the event delta-time in ticks.

    +

    MIDI File events consist of a delta time and a sequence of event bytes. This function returns the delta-time value and writes the subsequent event bytes directly to the event vector. The user must parse the event bytes in accordance with the MIDI File Specification. All returned MIDI channel events are complete ... a status byte is provided even when running status is used in the file. If the track has reached its end, no bytes will be written and the event vector size will be zero. If an invalid track number is specified or an error occurs while reading the file, an StkError exception will be thrown.

    +
    -

    - + +

    unsigned long stk::MidiFileIn::getNextEvent unsigned long stk::MidiFileIn::getNextEvent ( std::vector< unsigned char > *  event,
    - + @@ -211,20 +197,20 @@ MIDI File events consist of a delta time and a sequence of event bytes. This fun
    -

    -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. +

    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 documentation for this class was generated from the following file:
    unsigned long stk::MidiFileIn::getNextMidiEvent unsigned long stk::MidiFileIn::getNextMidiEvent ( std::vector< unsigned char > *  midiEvent,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1MidiFileIn.png b/doc/html/classstk_1_1MidiFileIn.png index 8476840411f103949c454444302bafe446522973..5a7dd3e685314201257809a2914e9baf30b1aec8 100644 GIT binary patch delta 331 zcmV-R0kr<+0{sGz7zqdi000207(#22At!$bbW%=J0RR90|NsC0)yh;d0003DNkl)r8voM@B`n9fCCOV;D7@TIN-|$rK)KLz? zAPfdz`r>oT4T?9=3;DGBA3;iC48xk?vIh+$!ZttX4@>5r1I<0c;dcKE>{&;mz`-BG zoUTmFo=J&JAz#XLu`I@%>XS_H-ooNDkj!Mqs94IFIB1NzK{E!IGvIP##)zlEX@h?; zb6nW(W4ld!0uOx(`t7yz{4~BTSK(zD$T5VkJB^7ao_Jyd(?D~0yd3;6E~E4a+NJG- z{@cYAFEP);)iszLp{|iI#2-Sb0wjtG26={9dKsYN^qjIwRpd5R&sa0#igCq`DhAkq zyw4Wr0DYVlHkm;WLEUHOHbxEWx~Cwqi81yDC;kGDd    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Modal Member List

    This is the complete list of members for stk::Modal, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Modal Member List

    This is the complete list of members for stk::Modal, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Modal
    controlChange(int number, StkFloat value)=0stk::Modal [pure virtual]
    damp(StkFloat amplitude)stk::Modal
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Modal(unsigned int modes=4)stk::Modal
    noteOff(StkFloat amplitude)stk::Modal [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Modal [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDirectGain(StkFloat aGain)stk::Modal [inline]
    setFrequency(StkFloat frequency)stk::Modal [virtual]
    setMasterGain(StkFloat aGain)stk::Modal [inline]
    setModeGain(unsigned int modeIndex, StkFloat gain)stk::Modal
    setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)stk::Modal
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    strike(StkFloat amplitude)stk::Modal [virtual]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Modal [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Modal(void)stk::Modal [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Modal
    controlChange(int number, StkFloat value)=0stk::Modal [pure virtual]
    damp(StkFloat amplitude)stk::Modal
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Modal(unsigned int modes=4)stk::Modal
    noteOff(StkFloat amplitude)stk::Modal [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Modal [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDirectGain(StkFloat aGain)stk::Modal [inline]
    setFrequency(StkFloat frequency)stk::Modal [virtual]
    setMasterGain(StkFloat aGain)stk::Modal [inline]
    setModeGain(unsigned int modeIndex, StkFloat gain)stk::Modal
    setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)stk::Modal
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    strike(StkFloat amplitude)stk::Modal [virtual]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Modal [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Modal(void)stk::Modal [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Modal.gif b/doc/html/classstk_1_1Modal.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ba7c0cb19bf2bf274add30c4028bb0f8c802f1d GIT binary patch literal 1102 zcmV-U1hM-^Nk%w1VORjb0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09XLP000C2IJ(^aFv>}%xH#+0yZ>O=DPn1!C`hJk>vHQW&t^>DxMt(Q)q{cH zPw*SkcDEuhqa@~#t)NfZ+!&|5>I<4`Du-1m)8{-6XxHMkBQCdR+%9-(@~&NRmbc6? z?(Zylb!2XYR%3;HTW4rsSs0IeLXMJfj5(M%f|;Bpo1LH@pP{4~qot*%sG+K>ovp5! z6|=OpwzB}ay1Tr+zQ4Z)z{AAF#>dFI!pY3d&d3JQ&(qY@(aY7@+QZk<+uz^--Pqyf z)#T>s&*&edT0}OuOUi*A=wp-cf+Yae(MsRGq^6;uzH;)(t?O_Tgzyzii+Ha(wwo3 z)k3;^Iql}5v4o-y#CbI*)viy#j_s*6ZB4ds|J41ertjY}0SF&Xytwh>$dS8D&b+zv z=gpTxpH98H@N3qyYu|nxJNNJ4p^pnszI^fV=F^v#uD<IUrgvwE9;Di>Qmmz={Zg`!C`gQ1`h#Qia zp@|lvNTG@mvN*|$Fvck3j5OA06euv8mgsxs@iC&Y{q&hsHqmY=9qZG%Bqp+Im)YczW$n|uEI7KY_ZcF{)_CZ z%YvtDvrXbC?X=WZE8~MKVhb&I-fe4Lx85q)O}P7wOYVN>ew*%r>!RDPc<;g+uXEW- zI4`~TLYQxI^(NTwh5PawaD@XK_wRrQb6Bv!3v1Z$dk;e#u|5+g+@HlEG6_8Sv^T+l2k?41#uvD z6j`K!Jy~T*-_dkqLg!6&T1fjbw%$K`CRk~I72WnDGy6fs+mNk{o8&haoJ@J-m&;%| U<(o_1`O2T8?D6QNH;@1TJLc3psQ>@~ literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Modal.html b/doc/html/classstk_1_1Modal.html index 16228b7..5054f0d 100644 --- a/doc/html/classstk_1_1Modal.html +++ b/doc/html/classstk_1_1Modal.html @@ -8,101 +8,87 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Modal Class Reference

    STK resonance model abstract base class. -More... -

    -#include <Modal.h> -

    +

    stk::Modal Class Reference

    +

    STK resonance model abstract base class. +More...

    + +

    #include <Modal.h>

    Inheritance diagram for stk::Modal:
    - -

    - -stk::Instrmnt -stk::Stk -stk::ModalBar +
    + + +stk::Instrmnt +stk::Stk +stk::ModalBar +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Modal (unsigned int modes=4)
     Class constructor, taking the desired number of modes to create.
    -virtual ~Modal (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setRatioAndRadius (unsigned int modeIndex, StkFloat ratio, StkFloat radius)
     Set the ratio and radius for a specified mode filter.
    -void setMasterGain (StkFloat aGain)
     Set the master gain.
    -void setDirectGain (StkFloat aGain)
     Set the direct gain.
    -void setModeGain (unsigned int modeIndex, StkFloat gain)
     Set the gain for a specified mode filter.
    -virtual void strike (StkFloat amplitude)
     Initiate a strike with the given amplitude (0.0 - 1.0).
    -void damp (StkFloat amplitude)
     Damp modes with a given decay factor (0.0 - 1.0).
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -virtual void controlChange (int number, StkFloat value)=0
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Modal (unsigned int modes=4)
     Class constructor, taking the desired number of modes to create.
    +virtual ~Modal (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setRatioAndRadius (unsigned int modeIndex, StkFloat ratio, StkFloat radius)
     Set the ratio and radius for a specified mode filter.
    +void setMasterGain (StkFloat aGain)
     Set the master gain.
    +void setDirectGain (StkFloat aGain)
     Set the direct gain.
    +void setModeGain (unsigned int modeIndex, StkFloat gain)
     Set the gain for a specified mode filter.
    +virtual void strike (StkFloat amplitude)
     Initiate a strike with the given amplitude (0.0 - 1.0).
    +void damp (StkFloat amplitude)
     Damp modes with a given decay factor (0.0 - 1.0).
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +virtual void controlChange (int number, StkFloat value)=0
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK resonance model abstract base class. -

    -This class contains an excitation wavetable, an envelope, an oscillator, and N resonances (non-sweeping BiQuad filters), where N is set during instantiation.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK resonance model abstract base class.

    +

    This class contains an excitation wavetable, an envelope, an oscillator, and N resonances (non-sweeping BiQuad filters), where N is set during instantiation.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -110,20 +96,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor, taking the desired number of modes to create. -

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

    Class constructor, taking the desired number of modes to create.

    +

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

    +
    -

    -


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

    stk::Modal::Modal stk::Modal::Modal ( unsigned int  modes = 4 modes = 4  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Modal.png b/doc/html/classstk_1_1Modal.png index 9545a90bfc263d9154a279b1c6cd04a4e735b7f8..2b548c2e67db40dfd0d5305104dd4eb828bd818f 100644 GIT binary patch delta 614 zcmX@YGL3bD1SbbG0|UeMx)6ZuST1_mZoPZ!6K3dXm0FZR7w z;9&_kHu1-Q|9$*sN7&4GcYex??%lqc&ByP+f-hTTJOlYWIS;*OaAsM^n{e^(eS>rR zo*O7IDJYZ~mgOI;jT6{jp>b{Z{DW#P3$FiIC8qDaQ6xvP|6xSe(Py^$t^e25`yJhU zc5~2{wXbK3@BXMcl{fsf$ljg7jowEF(e1#SV*bRw?TJ)Jc11D^@I8@KExW#98-{SMvmfUIE zni$WYxIo0Z!}euj#^JtI+uj{`weabqt+r>ZoL}?hG{(Mv#N!(sy9~F1 zLZe<57#hYk{kk0t4nFsrwi@1%eE9PqGf!>J2HPCr%YxTF6`a0(SN57=#>|S`hSFox zX7BuUxFD&(>`8=36@B;X1wzMb4Vn3S$0o|5zlV{3h#-+512HV;{?V t39f$Setx-=`&KD_^)8U>nADHjzkFr(P{`k1;hl97zqRe0001Tj=3q3At!$UbW%=J06^y0W&i*I+DSw~RA_+rVI1Mh@?L735YY8`3$gTn9Hazmzly*Wz-v-${?EqvYmga zj5Hf0H<&c13*#7`H-`_vOOJwnI}eT@hTkraf-jc^9ZT@zX2W5J9d>vEyRYlQX3UD~ zX)rthLveA*B%v6*1^haLg{wM%mysFx-F0*wGw50K2dIUHHkL{0=+p@T4KBqPWocW=~4Gt0yijc6Cb(0$hII-9N?rw+Vcw?dwRLyy=p6s{r!thF7_YF@v V;bO!0pdtVO002ovPDHLkV1jES{?z~g diff --git a/doc/html/classstk_1_1ModalBar-members.html b/doc/html/classstk_1_1ModalBar-members.html index 2cb6c6c..bf6917b 100644 --- a/doc/html/classstk_1_1ModalBar-members.html +++ b/doc/html/classstk_1_1ModalBar-members.html @@ -8,65 +8,65 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::ModalBar Member List

    This is the complete list of members for stk::ModalBar, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::ModalBar Member List

    This is the complete list of members for stk::ModalBar, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Modal
    controlChange(int number, StkFloat value)stk::ModalBar [virtual]
    damp(StkFloat amplitude)stk::Modal
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Modal(unsigned int modes=4)stk::Modal
    ModalBar(void)stk::ModalBar
    noteOff(StkFloat amplitude)stk::Modal [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Modal [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDirectGain(StkFloat aGain)stk::Modal [inline]
    setFrequency(StkFloat frequency)stk::Modal [virtual]
    setMasterGain(StkFloat aGain)stk::Modal [inline]
    setModeGain(unsigned int modeIndex, StkFloat gain)stk::Modal
    setModulationDepth(StkFloat mDepth)stk::ModalBar
    setPreset(int preset)stk::ModalBar
    setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)stk::Modal
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStickHardness(StkFloat hardness)stk::ModalBar
    setStrikePosition(StkFloat position)stk::ModalBar
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    strike(StkFloat amplitude)stk::Modal [virtual]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Modal [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Modal(void)stk::Modal [virtual]
    ~ModalBar(void)stk::ModalBar
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Modal
    controlChange(int number, StkFloat value)stk::ModalBar [virtual]
    damp(StkFloat amplitude)stk::Modal
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Modal(unsigned int modes=4)stk::Modal
    ModalBar(void)stk::ModalBar
    noteOff(StkFloat amplitude)stk::Modal [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Modal [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setDirectGain(StkFloat aGain)stk::Modal [inline]
    setFrequency(StkFloat frequency)stk::Modal [virtual]
    setMasterGain(StkFloat aGain)stk::Modal [inline]
    setModeGain(unsigned int modeIndex, StkFloat gain)stk::Modal
    setModulationDepth(StkFloat mDepth)stk::ModalBar
    setPreset(int preset)stk::ModalBar
    setRatioAndRadius(unsigned int modeIndex, StkFloat ratio, StkFloat radius)stk::Modal
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStickHardness(StkFloat hardness)stk::ModalBar
    setStrikePosition(StkFloat position)stk::ModalBar
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    strike(StkFloat amplitude)stk::Modal [virtual]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Modal [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Modal(void)stk::Modal [virtual]
    ~ModalBar(void)stk::ModalBar
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1ModalBar.gif b/doc/html/classstk_1_1ModalBar.gif new file mode 100644 index 0000000000000000000000000000000000000000..a8f1af2ada3fa7b1278f66293fbdae0a32926df7 GIT binary patch literal 1101 zcmV-T1hV@_Nk%w1VORjb0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09XLP000C2IJ(^aFv>}%xH#+0yZ>O=DPn1!C`hJk>vHQW&t^>DxMt(Q)q{cH zPw*SkcDEuhqa@~#t)NfZ+!&|5>I<4`Du-1m)8{-6XxHMkBQCdR+%9-(@~&NRmbc6? z?(Zylb!2XYR%3;HTW4rsSs0IeLXMJfj5(M%f|;Bpo1LH@pP{4~qot*%sG+K>ovp5! z6|=OpwzB}ay1Tr+zQ4Z)z{AAF#>dFI!pY3d&d3JQ&(qY@(aY7@+QZk<+uz^--Pqyf z)#T>s&*&edT0}OuOUi*A=wp-cf+Yae(MsRGq^6;uzH;)(t?O_Tgzyzii+Ha(wwo3 z)k3;^Iql}5v4o-y#CbI*)viy#j_s*6ZB4ds|J41ertjY}0SF&Xytwh>$dS8D&b+zv z=gpTxpH98H@N3qyYu|nxJNNJ4p^pnszI^fV=F^v#uD<IUrgvwE9;Di>Qmmz={Zg`!C`gQ1`h#Qia zp@|lvNTG@mvIyLZFxteMEV<2yM~ybJmLn#!?WhBea?y1aTp}p-*iujl30E3N8Yvr) zOnjwTluM50M7|gAsbHpQXi63dX@q6jrdw|= z_GMyoj;Uv6TfW(4VT#cy+M2bYz!#Q%7HTDxjyyu<1wHy$rlmJjim9fSa_Xa}JA#^{ zs5ZuE>ZuAm$fBws-sfGb@_7SmecjAT>#Mfnm#ccKO1LYpzt$J5dA%lB?1jVX{+cX! z#}3#mhs%cdY=6^+7%j8c`j;(t)#lf&tJ?+`u6EzjS8jagx|gne3{K+iyYR*<@4WQZ zYwslES{FpV)$PmgbpHPPT)+Z1M=){$2$wK(3m4Zg!^th|ZgvMBC$Yf~15mNW5i3kw z#sh<_vBdjcY;nc`3-NKn4Xf<2#vc#ovd1WcZ1Tk|zs$1CF!$Uu$uIvLw9r9UY_!7) zi_CM*CKK&5&p+d9T+UOAoO03-!+bN;RFCX$(>_c6w9HBqy)(iz>&*4qYCqj{*DFum zHrO#2ZFkgngZ(zt4qM&w*;=<9HrWrCOnBg46Ra}bSQqTv#*X(LImVL~GhBA%kXJsk T<_KRt`MscrF8b*5CIA3C1aCw% literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1ModalBar.html b/doc/html/classstk_1_1ModalBar.html index c8ecbb9..50fc470 100644 --- a/doc/html/classstk_1_1ModalBar.html +++ b/doc/html/classstk_1_1ModalBar.html @@ -8,77 +8,87 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::ModalBar Class Reference

    STK resonant bar instrument class. -More... -

    -#include <ModalBar.h> -

    +

    stk::ModalBar Class Reference

    +

    STK resonant bar instrument class. +More...

    + +

    #include <ModalBar.h>

    Inheritance diagram for stk::ModalBar:
    - -

    - -stk::Modal -stk::Instrmnt -stk::Stk +
    + + +stk::Modal +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    ModalBar (void)
     Class constructor.
    ~ModalBar (void)
     Class destructor.
    -void setStickHardness (StkFloat hardness)
     Set stick hardness (0.0 - 1.0).
    -void setStrikePosition (StkFloat position)
     Set stick position (0.0 - 1.0).
    -void setPreset (int preset)
     Select a bar preset (currently modulo 9).
    -void setModulationDepth (StkFloat mDepth)
     Set the modulation (vibrato) depth.
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    + + + + + + + + + + + + + + +

    Public Member Functions

    ModalBar (void)
     Class constructor.
    ~ModalBar (void)
     Class destructor.
    +void setStickHardness (StkFloat hardness)
     Set stick hardness (0.0 - 1.0).
    +void setStrikePosition (StkFloat position)
     Set stick position (0.0 - 1.0).
    +void setPreset (int preset)
     Select a bar preset (currently modulo 9).
    +void setModulationDepth (StkFloat mDepth)
     Set the modulation (vibrato) depth.
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -


    Detailed Description

    -STK resonant bar instrument class. -

    -This class implements a number of different struck bar instruments. It inherits from the Modal class.

    -Control Change Numbers:

      -
    • Stick Hardness = 2
    • Stick Position = 4
    • Vibrato Gain = 1
    • Vibrato Frequency = 11
    • Direct Stick Mix = 8
    • Volume = 128
    • Modal Presets = 16
        -
      • Marimba = 0
      • Vibraphone = 1
      • Agogo = 2
      • Wood1 = 3
      • Reso = 4
      • Wood2 = 5
      • Beats = 6
      • Two Fixed = 7
      • Clump = 8
      -
    -

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


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

    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 - 2010.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1ModalBar.png b/doc/html/classstk_1_1ModalBar.png index de28509aabd8f27e75b25253affba8573a72d5fa..36d2c6b55bb965b16008da8593110811bc0dde8d 100644 GIT binary patch delta 606 zcmV-k0-^o01daue7zqdi0002DepD!tAt!$bbW%=J0RR90|NsC0)yh;d0006VNklfQo2TG5FNj+_6l=}bU=t$HYJ60Sx1|^gwvfwkEX82+u9w1pMyG$` z+U8j)>ejW*i_Lsj5dLjA>*s$a%GBr^z@;R~S#T*yavJ==Q$d(8VZww76DE8ZYf>z$ zqy*tF!4N@A`|e?c_K(4U2!LQi1OoVOf&B@j_Ckk@VI65V`qXu3k2cyAw)O+qJU6P% zYwPYFyD#6c6tCgdJrBoH?BMv63AleR<-QabVOwk6y1mslZUi5k3cf1{KNZgU`Jah0 zHTni{DM@k`TuPFh20!pr5GG8RFk!-k2_MFq6w4|pLHLU>L=e;P-Dk0V2G+#BF2aBa zfM9zVn&=42&cNzH#BL1N_AqM<*%{adyU|0qawlP1Zx1)MgMm8n6PxFk{|0}aD~11T z_1RIAHLhD9s_Njusqky#yMpjmI`0R9s4pU1wK{J>1j|R<0|>7>>(-10R&4hh2@`=57C{Yy6@V sv8sOb{#59wTI23S@m)dqN8qIR1LG$*O66%3C;$Ke07*qoM6N<$f(RA_Xb&$@ppbs<5d6Ms7;Lb?1}|Xqx*=S|tXfZp z;RzV3#U)8X5xitbJVbKd!<6+&yr`H`S|FJZRdZ}`wK!A>jO<5x*)!ZJpUe`j;AU|$ zE5HnZf@8M0GRuP3!SEDgM>Bu;1Z-aSTKM8meuE7*_^z;d-30DsEsGk)c0Ptd z{(V})&FmBg6uAK$z`fb2|769ZA>3rG!px1}joDS{l0VEwH`tk7gJ&_C*;Q(mxi>rA zzf=Q6mTr3*gQU-5%YGS7FOAmVvWjHpkrt!E-n$C(_p33WgL8l< zcpJlQGJ7pSr6w@P$YF!-U#bx_bFS6Jej7K2k30%~0b^3*_Py2st^fc407*qoM6N<$ Eg5f&zs{jB1 diff --git a/doc/html/classstk_1_1Modulate-members.html b/doc/html/classstk_1_1Modulate-members.html index f9f36b5..1f55fb6 100644 --- a/doc/html/classstk_1_1Modulate-members.html +++ b/doc/html/classstk_1_1Modulate-members.html @@ -8,51 +8,51 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Modulate Member List

    This is the complete list of members for stk::Modulate, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Modulate Member List

    This is the complete list of members for stk::Modulate, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Modulate [inline]
    Modulate(void)stk::Modulate
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::Modulate [inline]
    sampleRate(void)stk::Stk [inline, static]
    setRandomGain(StkFloat gain)stk::Modulate
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setVibratoGain(StkFloat gain)stk::Modulate [inline]
    setVibratoRate(StkFloat rate)stk::Modulate [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Modulate [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Modulate [inline, virtual]
    ~Modulate(void)stk::Modulate
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Modulate [inline]
    Modulate(void)stk::Modulate
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::Modulate [inline]
    sampleRate(void)stk::Stk [inline, static]
    setRandomGain(StkFloat gain)stk::Modulate
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setVibratoGain(StkFloat gain)stk::Modulate [inline]
    setVibratoRate(StkFloat rate)stk::Modulate [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Modulate [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Modulate [inline, virtual]
    ~Modulate(void)stk::Modulate
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Modulate.gif b/doc/html/classstk_1_1Modulate.gif new file mode 100644 index 0000000000000000000000000000000000000000..fa25f3e2179554dbcdcaa75cf5e46ad8ae4c0811 GIT binary patch literal 816 zcmV-01JC?NNk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW%vJ*|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QE1D0a#e#ipRtVjEyuV^CF5e!ib}VKk|5^kjU(~i-|%2U}KO+2AN`# zO)A-=lvFB-    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Modulate Class Reference

    STK periodic/random modulator. -More... -

    -#include <Modulate.h> -

    +

    stk::Modulate Class Reference

    +

    STK periodic/random modulator. +More...

    + +

    #include <Modulate.h>

    Inheritance diagram for stk::Modulate:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Modulate (void)
     Class constructor.
    ~Modulate (void)
     Class destructor.
    -void reset (void)
     Reset internal state.
    -void setVibratoRate (StkFloat rate)
     Set the periodic (vibrato) rate or frequency in Hz.
    -void setVibratoGain (StkFloat gain)
     Set the periodic (vibrato) gain.
    -void setRandomGain (StkFloat gain)
     Set the random modulation gain.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Modulate (void)
     Class constructor.
    ~Modulate (void)
     Class destructor.
    +void reset (void)
     Reset internal state.
    +void setVibratoRate (StkFloat rate)
     Set the periodic (vibrato) rate or frequency in Hz.
    +void setVibratoGain (StkFloat gain)
     Set the periodic (vibrato) gain.
    +void setRandomGain (StkFloat gain)
     Set the random modulation gain.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Detailed Description

    -STK periodic/random modulator. -

    -This class combines random and periodic modulations to give a nice, natural human modulation function.

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -88,19 +79,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::Modulate::Modulate stk::Modulate::Modulate ( void   ) 
    - + @@ -120,22 +110,22 @@ An -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Modulate::tick StkFrames & stk::Modulate::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Modulate.png b/doc/html/classstk_1_1Modulate.png index 2b975576701b01fff4f5f4f32fefd5b5d54d2d38..000efdef97846a978161e03785a415495b584942 100644 GIT binary patch delta 483 zcmV<90UZA31C#`i7zqdi0000`fD9CoAt!$bbW%=J0RR90|NsC0)yh;d0004_NklosfTL zx6uOeO>Eo9Wqm_L|1&zQrAw_`n|=?vlrTGvE+xzkq`&lph!!ncv}n|g@($^d6%Olq{*i!0bzmcjvT}AjmZMZ%I_V_mP zVK>>UBfZ{EA_Ig_jANApnbB6HC)j`HdN@Zk2Qt!}3&(Wy)?Llv<2du=nt?n z(@sd2Kh2;MqHl=kpQgiFy41?G>Gz;Z3A5wqQo`&&`b$rUXwjlYixw?f^gC&UwS=e@ zivA#tL>2GztaUW&ou%u*E>F`yN_HGuv8Pc7>kPm6jXq;T*NN~N_Xz`!#@{u zZ{CwG$F!|_q?@}-qlRJMjGb-lLpV)y?L+qJNzZ ZYk#O>CKuMn^27iD002ovPDHLkV1l^9=)C{{ delta 437 zcmV;m0ZRUq1m**f7zqRe0001$aN!k^At!$UbW%=J06^y0W&i*Id`Uz>R9J=WmP>NO zAPk0KlQq%}pf_kQ)Rpglgz5!`7~7$(XPOkokqCSilALjV_c1cudwP7ly$l@_ss~IM zAEl9JCp08LWst+?Tl=(xLrEbLhp`R5q3Hsf^G$d}6Ip0E=$N)lN|h&>VD5zVsR#GyB3l5q z5bn`2wQ8qFH!6_6lKKI0q^kfU*i`9C1){`f-Ns^xWK+~#)rUqGU56Y?@=_$FLRXor zH0@EPs4hy`cXX`+Rp6OER;;Bf6zW@!QaWN(^C&#LO;QO z!=xuY>HkH;$Z%ocME~q`o&@`3x0)UeG(DriK?r`OA&{j7-iF|Ld!@k2z&<45P|l%Je#?`S_U500000NkvXXu0mjf`fk#X diff --git a/doc/html/classstk_1_1Moog-members.html b/doc/html/classstk_1_1Moog-members.html index b4e538f..0537188 100644 --- a/doc/html/classstk_1_1Moog-members.html +++ b/doc/html/classstk_1_1Moog-members.html @@ -8,59 +8,59 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Moog Member List

    This is the complete list of members for stk::Moog, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Moog Member List

    This is the complete list of members for stk::Moog, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Sampler
    controlChange(int number, StkFloat value)stk::Moog [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Sampler
    keyOn(void)stk::Sampler
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Moog(void)stk::Moog
    noteOff(StkFloat amplitude)stk::Sampler [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Moog [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Sampler(void)stk::Sampler
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Moog [virtual]
    setModulationDepth(StkFloat mDepth)stk::Moog [inline]
    setModulationSpeed(StkFloat mSpeed)stk::Moog [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Moog [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Moog(void)stk::Moog
    ~Sampler(void)stk::Sampler [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Sampler
    controlChange(int number, StkFloat value)stk::Moog [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Sampler
    keyOn(void)stk::Sampler
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    Moog(void)stk::Moog
    noteOff(StkFloat amplitude)stk::Sampler [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Moog [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Sampler(void)stk::Sampler
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Moog [virtual]
    setModulationDepth(StkFloat mDepth)stk::Moog [inline]
    setModulationSpeed(StkFloat mSpeed)stk::Moog [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Moog [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Moog(void)stk::Moog
    ~Sampler(void)stk::Sampler [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Moog.gif b/doc/html/classstk_1_1Moog.gif new file mode 100644 index 0000000000000000000000000000000000000000..fb24404818e53f7512e9cc3652505db1b3ac4d7b GIT binary patch literal 971 zcmV;+12p_cNk%w1VNU?S0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08aqG000C2IJ(^aFv>}lxH#+0yZ<0)g=A@-+la1gE2wTPckpb_wHsVJ82mj! zFX+m(hQ16^h#TmJKc;j;=uUVVCBKyQq9bY(Y{F^QI$G?bd1B$%F_prM+hq?V?qH>s*k6|bcHmf?f~uY>hbdD^!4NS_}}{b+Wr2j0Sw5E;5>uq1|kf%ketGX*~yQuzA7srmcK7#BuvS3MPB9qNp$+9J@R+l)zJoR!W8Jn$Y;yi%~O9ww3fZE~E zQ_@cpLbq)C2_+ICF<{mR0mH~?qozb<4%(`Qk5og8)?E2&G=q^dQjbpYxmJ(Ywudli zi3&$;*Qsvd8hV>T>z*zizGx7` z<RC5DGMzG3-==MknixSnA9fbadq-!~s$ecSbD>))>v zcK%=gq5)__e*#`WV1bDoM#UpGB$ZVN3huF(8IuHsRfL4lWf)$UMTLiCS}FF}W_tDE zlx1tpkpo&B`jCfZBi@zAS&ccE7Z5NqW(9+By#SgZKoxRXVVO-hV~9jfI7X3gQ3csu zoLLA-TaI}6h*e%`xTAzo!e(O#2UhZ>2&>IB<_BQ{n5KVg!q%p1Z?eYUoU-AUT`u>% zv)i4$_;zP-d;-cRJcC|SC`pGBnrNPSCaUP6jJgx)I+Gr>sH2r8gz2W2b_yw{pL$wo zruKk3YCSlns_Lq&w(9Duu(F!y53>eP>#c{!!Ad)By7q#5F1-1AtM0%ClS}Wx3?s~LF#k53aKID;Y;3{3Vw~}{@%q~^ tz!?LJ?Zz1MJ5tFS8w4`Jzm3dtt|=F1a&    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Moog Class Reference

    STK moog-like swept filter sampling synthesis class. -More... -

    -#include <Moog.h> -

    +

    stk::Moog Class Reference

    +

    STK moog-like swept filter sampling synthesis class. +More...

    + +

    #include <Moog.h>

    Inheritance diagram for stk::Moog:
    - -

    - -stk::Sampler -stk::Instrmnt -stk::Stk +
    + + +stk::Sampler +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Moog (void)
     Class constructor.
    ~Moog (void)
     Class destructor.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void setModulationSpeed (StkFloat mSpeed)
     Set the modulation (vibrato) speed in Hz.
    -void setModulationDepth (StkFloat mDepth)
     Set the modulation (vibrato) depth.
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

     Moog (void)
     Class constructor.
    ~Moog (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void setModulationSpeed (StkFloat mSpeed)
     Set the modulation (vibrato) speed in Hz.
    +void setModulationDepth (StkFloat mDepth)
     Set the modulation (vibrato) depth.
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK moog-like swept filter sampling synthesis class. -

    -This instrument uses one attack wave, one looped wave, and an ADSR envelope (inherited from the Sampler class) and adds two sweepable formant (FormSwep) filters.

    -Control Change Numbers:

      -
    • Filter Q = 2
    • Filter Sweep Rate = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Gain = 128
    -

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -89,20 +86,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::Moog::Moog stk::Moog::Moog ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Moog.png b/doc/html/classstk_1_1Moog.png index 1eee4c0545b283b749e3439426cd86e09335854e..94af547f7f6a94238e899f49f97eaedae9194fd4 100644 GIT binary patch delta 598 zcmV-c0;&C~1cn8W7zqdi0001T49>ZcAt!$bbW%=J0RR90|NsC0)yh;d0006NNkl8hgUqi3P_V7iebZBo-Xw3Z2ztjewFWZp{pWGpm2^ zRy{P|S`Dj*ACCJsyyto3_vK>Cs}t|>a^`|$FJ~^u_8wo~@WKl(yzs&ckLexUmJVUI z@VFjC;JbZz+HCxX9v}k1kr06ZZCIdx0;y4yDb6bsbbi}y0wq!g^~~q^=qb}AWmj>A zyR&tB)a85aS$Ns=`3|1P-+TQwjro7>d74nI#zR zi1urwgj%o6M2*yiWmX-5=n0$IZld#Sk>5eL6;5frX}%NBvbylJVx#Bt_4R*n*E3vS zyVJA%>*_J{#{IjMm_;nZth>FC#<2c)DwBa5^iO2@vs^<&>Y zXu9QC&*8qhi=KEowHbfqy}3d@O{(_{+xC2pUwh5|HT5|EclWOr(d}5{?bi2`JA&se k)ng0n@0oaBJ6%1IjO8 zKtBOuTpNQB0A)AEqVbcl zSUPHnV(2`QYCiyPg@QZa^zGV-OK@kEyl@gWKtB5qY)UsE8=x+@xEukw zbPvSha?+j==*8vaJ#2s~a8Z5Fl~I4N5329E6FlA%S3w08d^PyazNc>VRN;ppHjZZl zHjN(28nWeyJ&?ft6$aOho={mHaSjD+8a;~{Ng!6G>qZX=T0nprTs3;yj9~%Sjh?g# z-O^Q~hn$~GEvk2}Ompi07i{7jp!%LW!Q(w~6;x2cSA#GY&bYZMX9Jz(ADd;q`yh?L z7_`oUS0WR9Wni|`5GPMZ}u#3_ICXNBw3(aLF(Y@00000NkvXXu0mjfeCOv} diff --git a/doc/html/classstk_1_1Mutex-members.html b/doc/html/classstk_1_1Mutex-members.html index f8c3abd..7e0c867 100644 --- a/doc/html/classstk_1_1Mutex-members.html +++ b/doc/html/classstk_1_1Mutex-members.html @@ -8,46 +8,46 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Mutex Member List

    This is the complete list of members for stk::Mutex, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Mutex Member List

    This is the complete list of members for stk::Mutex, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lock(void)stk::Mutex
    Mutex()stk::Mutex
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    signal(void)stk::Mutex
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    unlock(void)stk::Mutex
    wait(void)stk::Mutex
    ~Mutex()stk::Mutex
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lock(void)stk::Mutex
    Mutex()stk::Mutex
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    signal(void)stk::Mutex
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    unlock(void)stk::Mutex
    wait(void)stk::Mutex
    ~Mutex()stk::Mutex
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Mutex.gif b/doc/html/classstk_1_1Mutex.gif new file mode 100644 index 0000000000000000000000000000000000000000..282cc119875d0291357d855e214c582b4e8e60a5 GIT binary patch literal 483 zcmV<90UZ8ENk%w1VM72=0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui07C#!000C2IJ(^aFv_Wfy*TU5yZ6;6jwBhDXj-0X>t^gLt8p1v_ZRHBkoT*B z>!-sIeKa9yhhrW!z~=2Ks&S6Q-jiv>A%n}zFM8EBQ`YijZ1eiapL7TN-2mzEj$G`f z+q+*>aY`dxZ*@~{Z-!25CWJGQV3L$0dzF}%n3S5Ek)570prJ0Kq)8O1s;d+LuCK7M zva_)Uw70mqy1TEoyuZM~t_H-y#>cb7zR1kN%EismywA(h*0|Nz+R5A9+}_~B;o;fi z*X8EY=;_Vt?8xr##_{sO^!2~@_`CZ1x&8ib0Sx$!;5>uJ1|saW&{;!!4}mFcIB{V` zgcl8F)WxZzqsNaRLy8@bK9%Zp>(HrP!G=BRl_%1oIF*tG%eAant5D-^ zRqM5_Sg9S4DmCi1t5BzQ$&Tgu6zkc(ehC-08~7_$vvT3GE$eqG)wF5b7REf&Cf%8Q ZJBJ4S8RlryrCXj>U9z?7*R2x(06R8n0(k%c literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Mutex.html b/doc/html/classstk_1_1Mutex.html index e5a786f..698a153 100644 --- a/doc/html/classstk_1_1Mutex.html +++ b/doc/html/classstk_1_1Mutex.html @@ -8,66 +8,60 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Mutex Class Reference

    STK mutex class. -More... -

    -#include <Mutex.h> -

    +

    stk::Mutex Class Reference

    +

    STK mutex class. +More...

    + +

    #include <Mutex.h>

    Inheritance diagram for stk::Mutex:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Mutex ()
     Default constructor.
    ~Mutex ()
     Class destructor.
    -void lock (void)
     Lock the mutex.
    -void unlock (void)
     Unlock the mutex.
    void wait (void)
     Wait indefinitely on the mutex condition variable.
    void signal (void)
     Signal the condition variable.
    + + + + + + + + + + + + +

    Public Member Functions

    Mutex ()
     Default constructor.
    ~Mutex ()
     Class destructor.
    +void lock (void)
     Lock the mutex.
    +void unlock (void)
     Unlock the mutex.
    void wait (void)
     Wait indefinitely on the mutex condition variable.
    void signal (void)
     Signal the condition variable.
    -


    Detailed Description

    -STK mutex class. -

    -This class provides a uniform interface for cross-platform mutex use. On Linux and IRIX systems, the pthread library is used. Under Windows, critical sections are used.

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + - + @@ -75,21 +69,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Wait indefinitely on the mutex condition variable. -

    -The mutex must be locked before calling this function, and then subsequently unlocked after this function returns. +

    Wait indefinitely on the mutex condition variable.

    +

    The mutex must be locked before calling this function, and then subsequently unlocked after this function returns.

    +
    -

    - + +

    void stk::Mutex::wait void stk::Mutex::wait ( void   ) 
    - + - + @@ -97,20 +90,20 @@ The mutex must be locked before calling this function, and then subsequently unl
    -

    -Signal the condition variable. -

    -The mutex must be locked before calling this function, and then subsequently unlocked after this function returns. +

    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 documentation for this class was generated from the following file:
    void stk::Mutex::signal void stk::Mutex::signal ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Mutex.png b/doc/html/classstk_1_1Mutex.png index a3c003e1906633e8a33567aeff1571850ef17a3a..64bad2bff31c300546ed04c6eb7fd6310f850c83 100644 GIT binary patch delta 310 zcmV-60m=T;0_Xye7zqdi0001WRycH#At!$bbW%=J0RR90|NsC0)yh;d0002@Nkl+4tn49r?am8HT3B&f{czV=}{&;iQddh#j zbVtQgo6dJG8BZ85{5Nc)?Iqt}v=)cFz-TQFd4usYb4f-rl97yLB;!8}#G@cwXfl=z z6tnN^k@IfcFlfU+dj?Pn&sv0v0TOo=Y52H5Kxy=hT?=Dg-57kP%3U#r(DpJj1fUoI zX=jG5f5o`l@A;uT9bc|+xa)Yzy;vd#6oZeJbIEru89pN(AK+&XDMQ^UTmS$707*qo IM6N<$f<35<=l}o! delta 289 zcmV++0p9-T0@DJJ7zqRe00026rqy+kAt!$UbW%=J06^y0W&i*H=}AOER7i>KlT8xB zAPj|*jq4;gfD<@+Ay>Ws5lr}#78G?@bhH@?41B!2lmV`zIK#ycVy}qv5=Rymlq};)a+|<|`x|l#s#cra0HAIBT5dMoNR|c0qz<2T6&F-CiQeb)eRF8)UgnKu*gt0hv_MfgH$ze2(xa2xug`M+DPI>8nm|5!PuJ zVPGOG2m+!lVITvd651&DhCuELqK%{K3PGw86$Fa_bB&}FYa}kOykNFZCK)_G>{_B^ nA|SvBn~J7gz%L==M{)=Ly?`(<8FUTH00000NkvXXu0mjfSORz- diff --git a/doc/html/classstk_1_1NRev-members.html b/doc/html/classstk_1_1NRev-members.html index 53c94d6..2074c64 100644 --- a/doc/html/classstk_1_1NRev-members.html +++ b/doc/html/classstk_1_1NRev-members.html @@ -8,51 +8,51 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::NRev Member List

    This is the complete list of members for stk::NRev, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::NRev Member List

    This is the complete list of members for stk::NRev, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::NRev [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::NRev [inline]
    NRev(StkFloat T60=1.0)stk::NRev
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setT60(StkFloat T60)stk::NRev
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::NRev [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::NRev
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::NRev
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::NRev [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::NRev [inline]
    NRev(StkFloat T60=1.0)stk::NRev
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setT60(StkFloat T60)stk::NRev
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::NRev [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::NRev
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::NRev
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1NRev.gif b/doc/html/classstk_1_1NRev.gif new file mode 100644 index 0000000000000000000000000000000000000000..6df93e30d1e378e4ab8cc6ddbf024078491413d7 GIT binary patch literal 698 zcmV;r0!95tNk%w1VL||i0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui073wW000C2IJ(^aFv>ZEy*TU5yYI>;jwBhDXj-0X>t^gLt1%i__ZRHBkoTra z>!-sIeW{vfhhrW!z~=4wQF4yN-jiv>A%mpoFM8EBQP%QhT*8t)=??b00nXo?cxL{^ z+r52YVOmpbfl`EYcrZdUjw_9il5mlemW-E~n3|k=oHCxDE}^0{6sM@E6acKPuCK7M zuLiQUwzs&sthBnlzP|tl!obAEu)@5?%D>3N%g?#Z$~k%IWIG?Crqs@V@f%y7l(B`1!W`{IdT3brTqmAhCc3cO_)DkY2-H2opv$IFVpQ zffsM7+Q|MXDI`e|CQnilL8T54E7UP#QGml9yX@N`*R=r&T~Oao&WAm8)3+aqh?wt7vSOO>dW8 zVf!?yO)Es1{v7j?tWi68;i`O*a`1-2h6N{1;&t%|#E#K6j=YjGnvR$=JNTB7UuS#B z9_n)@8ep^1rbD9!xVm3!Yp+?y9yq(zXVA50<#u&@UT=86+XYuQ{9JKz$HOJ(yxVqj zh0m9Zdk!u-b?Mx&Z%dA~yZ7(l!;2UHd`I~J=hHVgj|)8j_qE`&a*tIR`&;z!%g^6R z{(-Oiudv6%d-KVH9(?>2INyB;#sXk}3g*`!fdo#tpMn%l7@&U`M#!Nn{L%Lkgb|Xs zp@9~DXySnwA~<4!Dn1xsi7HZ9VTTEVXyb{ngjk}3Am*6hg(w!epp7hMIOC2k`d6cj gu|fHol&w*@nw6+wS(=ujarw}AV1_9sm    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::NRev Class Reference

    CCRMA's NRev reverberator class. -More... -

    -#include <NRev.h> -

    +

    stk::NRev Class Reference

    +

    CCRMA's NRev reverberator class. +More...

    + +

    #include <NRev.h>

    Inheritance diagram for stk::NRev:
    - -

    - -stk::Effect -stk::Stk +
    + + +stk::Effect +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    NRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    -void clear (void)
     Reset and clear all internal state.
    -void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    + + + + + + + + + + + + + + +

    Public Member Functions

    NRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    +void clear (void)
     Reset and clear all internal state.
    +void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    -


    Detailed Description

    -CCRMA's NRev reverberator class. -

    -This class takes a monophonic input signal and produces a stereo output signal. It is derived from the CLM NRev function, which is based on the use of networks of simple allpass and comb delay filters. This particular arrangement consists of 6 comb filters in parallel, followed by 3 allpass filters, a lowpass filter, and another allpass in series, followed by two allpass filters in parallel with corresponding right and left outputs.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    CCRMA's NRev reverberator class.

    +

    This class takes a monophonic input signal and produces a stereo output signal. It is derived from the CLM NRev function, which is based on the use of networks of simple allpass and comb delay filters. This particular arrangement consists of 6 comb filters in parallel, followed by 3 allpass filters, a lowpass filter, and another allpass in series, followed by two allpass filters in parallel with corresponding right and left outputs.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -78,18 +71,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Return the specified channel value of the last computed stereo frame. -

    -Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Return the specified channel value of the last computed stereo frame.

    +

    Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFloat stk::NRev::lastOut StkFloat stk::NRev::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + @@ -109,18 +101,17 @@ Use the -

    -Input one sample to the effect and return the specified channel value of the computed stereo frame. -

    -Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Input one sample to the effect and return the specified channel value of the computed stereo frame.

    +

    Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFloat stk::NRev::tick StkFloat stk::NRev::tick ( StkFloat  input,
    - + @@ -140,18 +131,17 @@ Use the -

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

    -The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

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

    +

    The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFrames& stk::NRev::tick StkFrames& stk::NRev::tick ( StkFrames frames,
    - + @@ -183,20 +173,20 @@ The -

    -Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object. -

    -The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.

    +

    The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames& stk::NRev::tick StkFrames& stk::NRev::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1NRev.png b/doc/html/classstk_1_1NRev.png index 132d64507d56a2ab442aae78cb99476b7db8c949..eed2923807fed1f4972da40a0bc9d5e4a6f7cbe0 100644 GIT binary patch delta 434 zcmV;j0Zsm+1LFgb7zqdi0001F`OOHCAt!$bbW%=J0RR90|NsC0)yh;d0004UNkl4wuu+uPa;2kOk_-|@0wQqF0D|Uk z5V+gk5P%2(H@x4>%^PB@1uLzHL?7#ij#@04#EFDs`{rH{K9QiDZxXRrbRvJJ za`r^Dn4_G&nXeg%7exLeaEy8$^7lloX(Lb6nl^rc_>dDJL4pJc5+t7DN=LaQ86>s@ zL|`8Q03rgkpNsx{Ak6;^1Vmd1PU$xQM0W#i(EFQcGa&+9(^$HTyT|leqIZ}bYb^p| zm&iiQyST-;oHmgS;Y+k8Vy`{1uSI`PM2p$2sTS@;G-bYKBsN6;Bk(^yh_$ATJW*@f z_yyuaPJ{#r5+q2FcnYMWAiGNvdjiEZw0rb(`xyb-7#oH_Tg)k~+Y)Uv`tw8^2S05g z%wtGs+H+o}7LP=mx)N>3m_Dc}*=fzY$q}|nAz^A^yS2`~7WQ    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Noise Member List

    This is the complete list of members for stk::Noise, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Noise Member List

    This is the complete list of members for stk::Noise, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Noise [inline]
    Noise(unsigned int seed=0)stk::Noise
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSeed(unsigned int seed=0)stk::Noise
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Noise [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Noise [inline, virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::Noise [inline]
    Noise(unsigned int seed=0)stk::Noise
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSeed(unsigned int seed=0)stk::Noise
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::Noise [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Noise [inline, virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Noise.gif b/doc/html/classstk_1_1Noise.gif new file mode 100644 index 0000000000000000000000000000000000000000..a1283cdc40351d1d7f997ddfd8341761c6b8dda5 GIT binary patch literal 785 zcmV+s1Md7sNk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW!V3c|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QE1G0a#d~izuq|;xjPe$bX$CxODk3{+s8Wsy=6nPrj6068O*7CuR%mQ|9;C6-R6S*4d{9@%D_NjBLGn^|`r-+A^xFnT@j;W)PyRazdoQa-DCyAGanCX0*#@A_kpRN~b PdLNc*>Zz!5m;eAf%({zb literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Noise.html b/doc/html/classstk_1_1Noise.html index ac6ad2e..2660a74 100644 --- a/doc/html/classstk_1_1Noise.html +++ b/doc/html/classstk_1_1Noise.html @@ -8,62 +8,57 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Noise Class Reference

    STK noise generator. -More... -

    -#include <Noise.h> -

    +

    stk::Noise Class Reference

    +

    STK noise generator. +More...

    + +

    #include <Noise.h>

    Inheritance diagram for stk::Noise:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Noise (unsigned int seed=0)
     Default constructor that can also take a specific seed value.
    void setSeed (unsigned int seed=0)
     Seed the random number generator with a specific seed value.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    + + + + + + + + + + +

    Public Member Functions

     Noise (unsigned int seed=0)
     Default constructor that can also take a specific seed value.
    void setSeed (unsigned int seed=0)
     Seed the random number generator with a specific seed value.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Detailed Description

    -STK noise generator. -

    -Generic random number generation using the C rand() function. The quality of the rand() function varies from one OS to another.

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -71,22 +66,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Default constructor that can also take a specific seed value. -

    -If the seed value is zero (the default value), the random number generator is seeded with the system time. +

    Default constructor that can also take a specific seed value.

    +

    If the seed value is zero (the default value), the random number generator is seeded with the system time.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::Noise::Noise stk::Noise::Noise ( unsigned int  seed = 0 seed = 0  ) 
    - + - + @@ -94,18 +88,17 @@ If the seed value is zero (the default value), the random number generator is se
    -

    -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. +

    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.

    +
    -

    - + +

    void stk::Noise::setSeed void stk::Noise::setSeed ( unsigned int  seed = 0 seed = 0  ) 
    - + @@ -125,22 +118,22 @@ If no seed is provided or the seed value is zero, the random number generator is
    -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Noise::tick StkFrames & stk::Noise::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Noise.png b/doc/html/classstk_1_1Noise.png index 64bfa0b894b3d4d60bff6a79385ded8448a71f3c..d21401da13b84c80312bff606e8b87a2c7d74d0c 100644 GIT binary patch delta 476 zcmV<20VDp{1C0cb7zqdi0000`fD9CoAt!$bbW%=J0RR90|NsC0)yh;d0004;NklgnWOx zjT%VZ#I}vT&EF8x|BMc+v{ZR*_&w;H!|XUZ=P)~ve&`7yO`0@m(xgd~{wBSJRoWz| zNdFoQ5xD07eB+=7gC;Z%UR$F95dco#UnrA@lr`v5%HaB<>sq>qs88DM{tf8o+g-gi zgKM{^_t%~10f)F4`>qdUL~GN1K{tQ5hBKpmAU*AK@iEP2ZL;p{_ko#psH_QkWbzHUe!_EcNZ z5?#nwx{S7y*L;SF9Brcw;h28e>y@nSHrD;Ul676Eo2d!*!U^GT2 zFbsvmrt8=@NP2^r3(boAA7T6x(xiky)FRDLTZowOVV^f+yPaEs2i1z-)~ z79C>kc3O1h0_l?656D8k3NS!Ql`dQ$N`3ZiY?jD21-+~OFwxo9A=eUJio}@dLdk=s zd(#8@x7YIzV+# znRXjAk(qX0Y2E{9cc~gG+WAN2hHmZBO?$fetzN6jy!$gb5JtaF4}Bqi0SOb^IGBd+ R8SDT6002ovPDHLkV1hih%f|o! diff --git a/doc/html/classstk_1_1OnePole-members.html b/doc/html/classstk_1_1OnePole-members.html index 32132b0..512bced 100644 --- a/doc/html/classstk_1_1OnePole-members.html +++ b/doc/html/classstk_1_1OnePole-members.html @@ -8,57 +8,57 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::OnePole Member List

    This is the complete list of members for stk::OnePole, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::OnePole Member List

    This is the complete list of members for stk::OnePole, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::OnePole [inline]
    OnePole(StkFloat thePole=0.9)stk::OnePole
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setA1(StkFloat a1)stk::OnePole [inline]
    setB0(StkFloat b0)stk::OnePole [inline]
    setCoefficients(StkFloat b0, StkFloat a1, bool clearState=false)stk::OnePole
    setGain(StkFloat gain)stk::Filter [inline]
    setPole(StkFloat thePole)stk::OnePole
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::OnePole [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::OnePole [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::OnePole [inline]
    ~OnePole()stk::OnePole
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::OnePole [inline]
    OnePole(StkFloat thePole=0.9)stk::OnePole
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setA1(StkFloat a1)stk::OnePole [inline]
    setB0(StkFloat b0)stk::OnePole [inline]
    setCoefficients(StkFloat b0, StkFloat a1, bool clearState=false)stk::OnePole
    setGain(StkFloat gain)stk::Filter [inline]
    setPole(StkFloat thePole)stk::OnePole
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::OnePole [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::OnePole [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::OnePole [inline]
    ~OnePole()stk::OnePole
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1OnePole.gif b/doc/html/classstk_1_1OnePole.gif new file mode 100644 index 0000000000000000000000000000000000000000..789f08cf40851a7672d7f1a41b430a9b29b1cd4c GIT binary patch literal 755 zcmV}rxH#+0yZ>N#DPn1!s79u2>k8{D&t6R5w><|J4+cP= zz$bj^WW--4Iiwv?z+RNODN1=%*3-mH3aQa$uW1~-tVC-kOlG^b+^>{79;#FDQ;~FjgfDQIF~Yln42G(oS!O|prf6lq^F^%s;R53o~<|) zva__c5CFKjy1Tr+zPkp$!o$SH#>BzL%FE2f2G7mW(#_Aw)7RL&)zI19+1u9M;?m*c z=FH{i>dx!!#_8_yy72Py^!4ud`0M)n=l%Z10SxGEAi-}3?Inz7a3MK|?HWQvH&LC$ zipMTuWVilNoW_pAK7#ZmawM;kCg-KZhLV}BmoQ^mfTijc%^5atmeF}CCr?FZ>UfY8 zhENVuP=p#9suU;EA88-~y5ps&8%QE@62fZqkkLsdv}#E6f#{<;V9o}5T2_vovVG8A zVFRcJTP20+Qk9!XZP>eU5oI|vmap5sA$-#1DmXA%JAP33{3#hQXyV8;f2n|N^J8IiwJ&XIXY z=fi}Lln#=5N9!B0W7J-e`$X>$!8;VckbFY(2hkH$ACP_PeMIBSpHIKO{rmWVK>wwG zf4Z;!{_O%_fVm7vAOHsbhf4s(NWu(J!Z1iog1ks5VT8I|XpDv$3fN$W3tFh3g}#7D z;($REm|=kcUYKHqCN3x=f;7%ZqK63H=;Dkvs#xQW0>-#vju_$y|$zP9A);Q#qIEJ|-e?pGgC5KGj_@jb7dTFASE;6{InmMAFW{V}_ liRFJ?LPw#0f9@BkpM5$vsG)^2cc`NIHR|Z2kOGka06Tt6dk_Es literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1OnePole.html b/doc/html/classstk_1_1OnePole.html index f82518c..90bd4a3 100644 --- a/doc/html/classstk_1_1OnePole.html +++ b/doc/html/classstk_1_1OnePole.html @@ -8,82 +8,72 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::OnePole Class Reference

    STK one-pole filter class. -More... -

    -#include <OnePole.h> -

    +

    stk::OnePole Class Reference

    +

    STK one-pole filter class. +More...

    + +

    #include <OnePole.h>

    Inheritance diagram for stk::OnePole:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    OnePole (StkFloat thePole=0.9)
     The default constructor creates a low-pass filter (pole at z = 0.9).
    ~OnePole ()
     Class destructor.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    -void setCoefficients (StkFloat b0, StkFloat a1, bool clearState=false)
     Set all filter coefficients.
    void setPole (StkFloat thePole)
     Set the pole position in the z-plane.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    OnePole (StkFloat thePole=0.9)
     The default constructor creates a low-pass filter (pole at z = 0.9).
    ~OnePole ()
     Class destructor.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat a1, bool clearState=false)
     Set all filter coefficients.
    void setPole (StkFloat thePole)
     Set the pole position in the z-plane.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK one-pole filter class. -

    -This class implements a one-pole digital filter. A method is provided for setting the pole position along the real axis of the z-plane while maintaining a constant peak filter gain.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK one-pole filter class.

    +

    This class implements a one-pole digital filter. A method is provided for setting the pole position along the real axis of the z-plane while maintaining a constant peak filter gain.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -91,18 +81,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Set the pole position in the z-plane. -

    -This method sets the pole position along the real-axis of the z-plane and normalizes the coefficients for a maximum gain of one. A positive pole value produces a low-pass filter, while a negative pole value produces a high-pass filter. This method does not affect the filter gain value. +

    Set the pole position in the z-plane.

    +

    This method sets the pole position along the real-axis of the z-plane and normalizes the coefficients for a maximum gain of one. A positive pole value produces a low-pass filter, while a negative pole value produces a high-pass filter. This method does not affect the filter gain value.

    +
    -

    - + +

    void stk::OnePole::setPole void stk::OnePole::setPole ( StkFloat  thePole thePole  ) 
    - + @@ -122,20 +111,19 @@ This method sets the pole position along the real-axis of the z-plane and normal
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::OnePole::tick StkFrames & stk::OnePole::tick ( StkFrames frames,
    - + @@ -167,20 +155,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::OnePole::tick StkFrames & stk::OnePole::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1OnePole.png b/doc/html/classstk_1_1OnePole.png index a680b742134af924f32ca3ffc9fd3b8ebd5f3e45..16d591910f0d5529e63e76b739b625147446bb77 100644 GIT binary patch delta 462 zcmV;<0Wto_1OEe%7zqdi0000(S4`lMAt!$bbW%=J0RR90|NsC0)yh;d0004wNkljAAgTV(6lQgg4aF1|^a}fD8Bt+1R0Zh{W zK%(ZZAOR5oO?kTL)0@cB3&co;VoLg5WU6gT%ULd!p9`PXrsgjoTj3LXt_ZiEnd5)& z+LMH5bBaA}n$I|q4?_CCbhjh!FZ~@dMt7z^GDdgi2apeOoJb;xB$7xXiM${3aF1|^ za}fCjBt&3`0HC>U<~njYvxNji05rAv0wNIY7tln{pCFAq*kM1JzC*`zWU94l^(ZIE zZQ%oQ=(6syWseoULXN&|o#n!wtHOV?Ia7PA<9x=6d?WzTFS+67y}vpL0sq^C8u-V$ey^KXO5dm-K951f%B67tu9`~Uy|07*qoM6N<$ Ef?{{qZ2$lO delta 407 zcmV;I0cigJ1IPoA7zqRe0001nr=j7IAt!$UbW%=J06^y0W&i*IUP(kjR9J=WmQ8NM zAP|M|CTnJH0J%YWp{{)YBXoWMg9DVbsgzVRvK$*e=K0yO^W4X3xm#ST>zk4xqW%I# z3@aq^(S(EusPo8e^RjzV+Mvh=VldQAPb6)Sj(Gu&NTLcU0%J0%7e^Cy%#M@ykt2Ur zXG83W?k9NXI~EM7%-`2@bs9 zbe4yxFZE+`1KlN(cC>lf^BM5bCS)4)g_P-|r;;Fj8`8l&nVz1IVl6pQ^`@sgNblO~ z%tn1yugF@R4Kd93lV{`_-P!v?&&bF*x%?J?0o(Q<$T#IQuK)l507*qoM6LruV1hkW Bz>oj{ diff --git a/doc/html/classstk_1_1OneZero-members.html b/doc/html/classstk_1_1OneZero-members.html index dc1acf2..ac9e018 100644 --- a/doc/html/classstk_1_1OneZero-members.html +++ b/doc/html/classstk_1_1OneZero-members.html @@ -8,57 +8,57 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::OneZero Member List

    This is the complete list of members for stk::OneZero, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::OneZero Member List

    This is the complete list of members for stk::OneZero, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::OneZero [inline]
    OneZero(StkFloat theZero=-1.0)stk::OneZero
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setB0(StkFloat b0)stk::OneZero [inline]
    setB1(StkFloat b1)stk::OneZero [inline]
    setCoefficients(StkFloat b0, StkFloat b1, bool clearState=false)stk::OneZero
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setZero(StkFloat theZero)stk::OneZero
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::OneZero [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::OneZero [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::OneZero [inline]
    ~OneZero()stk::OneZero
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::OneZero [inline]
    OneZero(StkFloat theZero=-1.0)stk::OneZero
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setB0(StkFloat b0)stk::OneZero [inline]
    setB1(StkFloat b1)stk::OneZero [inline]
    setCoefficients(StkFloat b0, StkFloat b1, bool clearState=false)stk::OneZero
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setZero(StkFloat theZero)stk::OneZero
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::OneZero [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::OneZero [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::OneZero [inline]
    ~OneZero()stk::OneZero
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1OneZero.gif b/doc/html/classstk_1_1OneZero.gif new file mode 100644 index 0000000000000000000000000000000000000000..945349c676d68fb675fc4b7c2306f979956e6ceb GIT binary patch literal 758 zcmV}xxH#+0yZ>OQDPn1!Xh)`O>t^dK&tXj8_+`_<)q{cH zPw*SgcC#Wdqa@;xsi05V+!&|5stbB*Du-1m)8{-6WY^-gBQCdP+%9-(@~&HPl()<= z?(ZpiB71IZV}*QMXJ}wq7>;~GjgfGRIhSUbnlFNzo*bQ@qB@qNrl6&#s-&x}tgfpS zva__c69Blmy1Tr+zPtv%!o$SH#>c_O%FE2k2G7mW($mk$)7RL-)zI19-T>Ry-{aKe z=GWrq>d5Qu?C$W|@$FY;JAVYy&+7PZ6QN+5B)`4=Wt@P ziWZk)%=rF}n)qttE0L#EZjw1k z=OLkcl+KZQM(Y-_Pt+cf`$O*x!6y`Nko-XN0MYkTpIYD0_weJ(pHIKO{h`8(1<6lr zKfQlp{{81mfCBPD;DERUpq~)Tz?aQ|y(kEPgaGP7VKf&?1L1@cGT0%4yL?C>gArOd z;)Drq2;qk)qDUc&8Mf#ji!EAcV}iNNn4^I)X4qkjH{SRnjzsPl    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::OneZero Class Reference

    STK one-zero filter class. -More... -

    -#include <OneZero.h> -

    +

    stk::OneZero Class Reference

    +

    STK one-zero filter class. +More...

    + +

    #include <OneZero.h>

    Inheritance diagram for stk::OneZero:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    OneZero (StkFloat theZero=-1.0)
     The default constructor creates a low-pass filter (zero at z = -1.0).
    ~OneZero ()
     Class destructor.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    -void setCoefficients (StkFloat b0, StkFloat b1, bool clearState=false)
     Set all filter coefficients.
    void setZero (StkFloat theZero)
     Set the zero position in the z-plane.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    OneZero (StkFloat theZero=-1.0)
     The default constructor creates a low-pass filter (zero at z = -1.0).
    ~OneZero ()
     Class destructor.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat b1, bool clearState=false)
     Set all filter coefficients.
    void setZero (StkFloat theZero)
     Set the zero position in the z-plane.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK one-zero filter class. -

    -This class implements a one-zero digital filter. A method is provided for setting the zero position along the real axis of the z-plane while maintaining a constant filter gain.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK one-zero filter class.

    +

    This class implements a one-zero digital filter. A method is provided for setting the zero position along the real axis of the z-plane while maintaining a constant filter gain.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -91,18 +81,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Set the zero position in the z-plane. -

    -This method sets the zero position along the real-axis of the z-plane and normalizes the coefficients for a maximum gain of one. A positive zero value produces a high-pass filter, while a negative zero value produces a low-pass filter. This method does not affect the filter gain value. +

    Set the zero position in the z-plane.

    +

    This method sets the zero position along the real-axis of the z-plane and normalizes the coefficients for a maximum gain of one. A positive zero value produces a high-pass filter, while a negative zero value produces a low-pass filter. This method does not affect the filter gain value.

    +
    -

    - + +

    void stk::OneZero::setZero void stk::OneZero::setZero ( StkFloat  theZero theZero  ) 
    - + @@ -122,20 +111,19 @@ This method sets the zero position along the real-axis of the z-plane and normal
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::OneZero::tick StkFrames & stk::OneZero::tick ( StkFrames frames,
    - + @@ -167,20 +155,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::OneZero::tick StkFrames & stk::OneZero::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1OneZero.png b/doc/html/classstk_1_1OneZero.png index cdfc75b24d06062b7e36ff448374246349f2e666..de49840acbcb19bd8857595d8877f4904c199867 100644 GIT binary patch delta 468 zcmV;_0W1E@1BC>T7zqdi0001?i&vSEAt!$bbW%=J0RR90|NsC0)yh;d0004$Nkla3 zXugY7Kmx> zK5wLcn+g%=Apj)b5V=L2MpmhS2!JlVJU|4Jss@r{zl23q`-C2j!TdAoo=|hT-gc7J zpq^1+N8Q!hmRaqVR$xZmw{cb1Nw9Wu+#ge8^uW4M zWAwoKP#<*$NF|k2Qb{G1)W4;|!vY+3Me0|m2*WA>jAcuwFH%u&X6`W+2qB-eIz2xi z1cX$Ys!)$pT8&j|f~9;tEV1Tj&Nj~B7SoeTzE$f$ZTIoFQ{b3dnp7frJf%SP3cRUR zH%k9c6wudr26_d$jx8uqdR0>Oj?;vEFI!iF7-xX*0aBkq^{^NAz$8V<`Y;Co0000< KMNUMnLSTY~2iLg( delta 411 zcmV;M0c8G#1k3}F7zqRe0001Fd%BpBAt!$UbW%=J06^y0W&i*IVo5|nR9J=WmQ8L0 zAq<6K(>3M><^)xHp|0lsM<}-W?Jxw=M(Ri=lQ6^|=GoCi&wMVAck>Ze$L(2OzSV%`B3&5cITNNj<508zh&Q!*RaR2E@Fp$RUed9R#|0fs6RWi*>C}zjK(F~ zE{1Gx&f;B69?enpJPljTSz>9UZ@g5?7ITJTCWZAQwwkk&H`X|2J98F_`x>&HIeV-j znX}AFABGwp4P~EU)t~(h`=9^Ul~sRM+55AwJe+aMhuxL6c@IE|ap@D*n(m+h3kICC zDHylK+?>+#Y^|(ZipIIro?PV46N`{%*?dup7_(H_QA)$twbql>h($07(Z$PDHLk FV1g>c!_oi% diff --git a/doc/html/classstk_1_1PRCRev-members.html b/doc/html/classstk_1_1PRCRev-members.html index c372fa1..9cdf871 100644 --- a/doc/html/classstk_1_1PRCRev-members.html +++ b/doc/html/classstk_1_1PRCRev-members.html @@ -8,51 +8,51 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PRCRev Member List

    This is the complete list of members for stk::PRCRev, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::PRCRev Member List

    This is the complete list of members for stk::PRCRev, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::PRCRev [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::PRCRev [inline]
    PRCRev(StkFloat T60=1.0)stk::PRCRev
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setT60(StkFloat T60)stk::PRCRev
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::PRCRev [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::PRCRev
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::PRCRev
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::PRCRev [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(unsigned int channel=0)stk::PRCRev [inline]
    PRCRev(StkFloat T60=1.0)stk::PRCRev
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setT60(StkFloat T60)stk::PRCRev
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input, unsigned int channel=0)stk::PRCRev [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::PRCRev
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::PRCRev
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PRCRev.gif b/doc/html/classstk_1_1PRCRev.gif new file mode 100644 index 0000000000000000000000000000000000000000..4803440d5d2ffa598580f5ca147fd6ed3de9fc02 GIT binary patch literal 759 zcmV}nxH#+0yZ>OQgk))+-H5Jii>YobfADPIwH#bK82mj! zFX+m}hQ16^I5VDpJm_*mjP9l@XK9HHPN7O3vp8^7ht&>vyl!c?-l&P2M!n}^W<8(p z#_maMeQIHXV=RC^URM~5hd_&uZe=%>O_Y|Ih?tt4C5fJ)0-&Ouq@|gssFkX#HWje3 zva=2Vwzs&sy1Tr%2ED++!o$SCzs1PO%E1QB%g@ls&BxKz*16Np*W1FdJh?C-Yj@a*#Q>Gk&I`1#@c{M`QjT?;6%TS0mU*AYx8jv=~*4$Va*2XW%C ziWb#n+=l*fBd?Agb%6}&i=;u5&_*hw#j>SK3$9|eius2VO;Iy%ZqkV=Cl(Hn)_`df z2!u~Qgs3z^u}1@`p;C|*QX)lY8z5Fh*i6brk|7Oo_)+2m zXukDbKm4alfCAz|V1c$Ah@gVJ1dw1b{v`-WE)z-!1T+i+_#iM2-qK-*8v+2Lh#``= zOok$U7~qEu8dxHW8hYsAfgp}3;eZ>mSYwVZn#f~}Kbp8Bg*N(_W03|{nBs*cCds6a zFdBK|fJ34vBaR^=3FVAWI*6o|LO!UalrJ`UWsoj@StN{XwuohxJ&qWqoDHfu    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PRCRev Class Reference

    Perry's simple reverberator class. -More... -

    -#include <PRCRev.h> -

    +

    stk::PRCRev Class Reference

    +

    Perry's simple reverberator class. +More...

    + +

    #include <PRCRev.h>

    Inheritance diagram for stk::PRCRev:
    - -

    - -stk::Effect -stk::Stk +
    + + +stk::Effect +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    PRCRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    -void clear (void)
     Reset and clear all internal state.
    -void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    + + + + + + + + + + + + + + +

    Public Member Functions

    PRCRev (StkFloat T60=1.0)
     Class constructor taking a T60 decay time argument (one second default value).
    +void clear (void)
     Reset and clear all internal state.
    +void setT60 (StkFloat T60)
     Set the reverberation T60 decay time.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed stereo frame.
    StkFloat tick (StkFloat input, unsigned int channel=0)
     Input one sample to the effect and return the specified channel value of the computed stereo frame.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with stereo outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.
    -


    Detailed Description

    -Perry's simple reverberator class. -

    -This class takes a monophonic input signal and produces a stereo output signal. It is based on some of the famous Stanford/CCRMA reverbs (NRev, KipRev), which were based on the Chowning/Moorer/Schroeder reverberators using networks of simple allpass and comb delay filters. This class implements two series allpass units and two parallel comb filters.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    Perry's simple reverberator class.

    +

    This class takes a monophonic input signal and produces a stereo output signal. It is based on some of the famous Stanford/CCRMA reverbs (NRev, KipRev), which were based on the Chowning/Moorer/Schroeder reverberators using networks of simple allpass and comb delay filters. This class implements two series allpass units and two parallel comb filters.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -78,18 +71,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Return the specified channel value of the last computed stereo frame. -

    -Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Return the specified channel value of the last computed stereo frame.

    +

    Use the lastFrame() function to get both values of the last computed stereo frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFloat stk::PRCRev::lastOut StkFloat stk::PRCRev::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + @@ -109,18 +101,17 @@ Use the -

    -Input one sample to the effect and return the specified channel value of the computed stereo frame. -

    -Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Input one sample to the effect and return the specified channel value of the computed stereo frame.

    +

    Use the lastFrame() function to get both values of the computed stereo output frame. The channel argument must be 0 or 1 (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFloat stk::PRCRev::tick StkFloat stk::PRCRev::tick ( StkFloat  input,
    - + @@ -140,18 +131,17 @@ Use the -

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

    -The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

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

    +

    The StkFrames argument reference is returned. The stereo outputs are written to the StkFrames argument starting at the specified channel. Therefore, the channel argument must be less than ( channels() - 1 ) of the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFrames& stk::PRCRev::tick StkFrames& stk::PRCRev::tick ( StkFrames frames,
    - + @@ -183,20 +173,20 @@ The -

    -Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object. -

    -The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the effect and write stereo outputs to the oFrames object.

    +

    The iFrames object reference is returned. The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oChannel argument must be less than ( channels() - 1 ) of the oFrames argument. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames& stk::PRCRev::tick StkFrames& stk::PRCRev::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PRCRev.png b/doc/html/classstk_1_1PRCRev.png index 51c8aea29bce49e1d91ef9add36d56a3cabe11f6..c60db5395658201054e291390349879403ac9e93 100644 GIT binary patch delta 461 zcmV;;0W$u<1O5Y$7zqdi0000-qMY54At!$bbW%=J0RR90|NsC0)yh;d0004vNkl6{NAM^Ig^mQ@4T1>f8o(s{ zZx9mO2LU1gW-*`m@GWrc1Ei8fLq>QHq_VtsuL3Q-pOR#MM#^e(K)OU&==;tf2IUqvckCOWi<&Mu~3i32H zuh(z_-b?ue`W=dYrztw+1!znADrJBDS%Y_L$SL=hu}Ac99hY$6GUgDB>@wM~xg%mg+;9m6be0RpA) zV>D*^^`{$!H!S=B+jR8ExV#2s>I~$YDidEr0aaiDHpqkOXhF%C*U3~_uTwcbgX`kX zK~+Py&h%hXRNHZ%a&L*1WsNSTba@KqpF@I=g2CetX80m8vEE9N00000NkvXXu0mjf DKD^r8 delta 399 zcmV;A0dW5Q1Hl837zqRe0001jQgPgoAt!$UbW%=J06^y0W&i*IS4l)cR9J=WmQ8ZQ zAPj|J)3wA6L~hVts4L(92$jS?g_uk-(|Q5~OyG;8=ZuqQz80JL^h@n_LC{gSB6{-f z93)*$L2`uQSa5VH{4Y>~5NS>n*tr=fY&?`2ah|$>5`GH$kh+MOrlzEo(wk{&R!x5@ zhHK=2ZVcXQ8$1D*AJ^+Y}bsSyh1}vT@MGOYW^%0Bbks1p)NS(nHkqyWIY&=hl=SN`UdG6I%JWr}I zs-{l$S=-Sl3WBaIcLOpy5DkLt z7ZCJ}FC1NZ*s}6z0G&I~>bijZ!lp(ArOpO4m_g7HLFoe9A|j;DV4d1jV5rg7U{W1c tm1-+mz-CbIV^m#%4}3EloPev3>kmu$EuExFw-f*X002ovPDHLkV1iICuw4KE diff --git a/doc/html/classstk_1_1PercFlut-members.html b/doc/html/classstk_1_1PercFlut-members.html index 2d8df43..114ccba 100644 --- a/doc/html/classstk_1_1PercFlut-members.html +++ b/doc/html/classstk_1_1PercFlut-members.html @@ -8,64 +8,64 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PercFlut Member List

    This is the complete list of members for stk::PercFlut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::PercFlut Member List

    This is the complete list of members for stk::PercFlut, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::PercFlut [virtual]
    PercFlut(void)stk::PercFlut
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::PercFlut [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::PercFlut [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~PercFlut(void)stk::PercFlut
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::PercFlut [virtual]
    PercFlut(void)stk::PercFlut
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::PercFlut [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::PercFlut [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~PercFlut(void)stk::PercFlut
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PercFlut.gif b/doc/html/classstk_1_1PercFlut.gif new file mode 100644 index 0000000000000000000000000000000000000000..b143702b54529541f912ed36abef3bc2345e4e92 GIT binary patch literal 964 zcmV;#13UajNk%w1VNn3U0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08s$I000C2IJ(^aFv>}pxH#+0yZ>M)C}L@zXhx=N>#lArgYazM2tK%FE2e2G7mW(#+4v)7RL%)zI19*xT0L;?d#b z=F8>h>dx!!#p&+xx$yGw^!4rc`0D!m=KcP}0Swq}Ai-}3?Im<)a3MK|>l#8tH}Rar zipDNtWVim&o5qg6K7#Bea^$X(Cg-KRhLV}BmoQ^mfCcLn%^5atmeHvyC(lGBvT(Rl zC%?om;HjoAM zV}TCsWHf0RK2M8Ct-4d|&#y1ZoK3sJzLqI*kF2(m9Jk)ezyS}wZ8$~a$B`e?y<2&3 z=gXmIl>Ux7N9!T63u6wFdq?jZ!DAF(k^DsS5YanSzmR=G_XptnoM}=bA2@M+J;Ds#=xRq3C4TVO8t}SxdSBG_| zRUje~7U6?$otWW-Yx%X}P*g3J35-e*A{dQW*=Pc5h7ol~VJI#_nTrrMCfAQRD(F;` zPI4CIi&FwsWhGEvSxS~#CU{_fVAhtOcD~?O4{v0i^jn$$2*+ld#l4A(nPPe?Oe=6iBpMf$&=%Irqif5tuAiAidb}||fq;g8i&pr=ks_CYjcIxS;pa!5P z5TlBUC#k2JYA33~n5wET4^ERQF0bxVD*&wi;_5K3-g=C$zS7D|uDPHZ1g^sNjM8hd zxr*v4tH36U?6JBKi|n<#s=Dj7$!g22wA}@qDw8e-jb^>wBvGHuC47_ zd+xB26sxbf=GKd^uHDMZ@4fuq8ZEo-;%acf*utvpz6dkiFS-fa3$3&IZX4{n@~(TZ m!r0boFPS52S2A`dTbD9*D@)fhbT2y>>dZ9PY%>rE0029lv+fZ9 literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1PercFlut.html b/doc/html/classstk_1_1PercFlut.html index c3b01fc..b11cc12 100644 --- a/doc/html/classstk_1_1PercFlut.html +++ b/doc/html/classstk_1_1PercFlut.html @@ -8,72 +8,71 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PercFlut Class Reference

    STK percussive flute FM synthesis instrument. -More... -

    -#include <PercFlut.h> -

    +

    stk::PercFlut Class Reference

    +

    STK percussive flute FM synthesis instrument. +More...

    + +

    #include <PercFlut.h>

    Inheritance diagram for stk::PercFlut:
    - -

    - -stk::FM -stk::Instrmnt -stk::Stk +
    + + +stk::FM +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     PercFlut (void)
     Class constructor.
    ~PercFlut (void)
     Class destructor.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + +

    Public Member Functions

     PercFlut (void)
     Class constructor.
    ~PercFlut (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK percussive flute FM synthesis instrument. -

    -This class implements algorithm 4 of the TX81Z.

    +


    Detailed Description

    +

    STK percussive flute FM synthesis instrument.

    +

    This class implements algorithm 4 of the TX81Z.

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

    -Control Change Numbers:

      -
    • Total Modulator Index = 2
    • Modulator Crossfade = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -81,20 +80,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::PercFlut::PercFlut stk::PercFlut::PercFlut ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PercFlut.png b/doc/html/classstk_1_1PercFlut.png index 6f06629e64f91139072d3d50d8dc5bd2dca5808c..59eb46ec823709fe129c5393bee81bcc919ffe6f 100644 GIT binary patch delta 581 zcmV-L0=oU61oZ@v7zqdi0000>Yk%UAAt!$bbW%=J0RR90|NsC0)yh;d00066NklKMk?%ZP~I%*(7&R{0k8xaB~2I z@O=?S?1l)40B~pPK@87{{Z1gJPBf*57ezhQpV{~Evg{wL9-gYVzApNz2c5Z5wf%n| z^?I>0TJ_$S-Wea}=bGXR#Pna+*-@ugJ|@9QB&t6coQfO#gMA9d&x; zV`8n@WV%>uHkmKJqSq8DQlv0-u>{1*yVck zi)dD!ZpFV3M4%LXn)<3P>aDgc;KerGtLb9PV2|{vIY+PROF2cXs0mZ$zK`+cQx{^B zqIe;XsvdR5Rz2SSCDH6-=*%&o>eD`&=O|Xa_a)MMulupPm_7siTvPl;F?;+2RXsB; TgZoSd00000NkvXXu0mjfG;S6p delta 495 zcmV6^4fS*5~*wf zGG$yKN%zJiAwj7N4`=~LQl=r&SP&XhR^9g`i5)46|l z(vEnYJS7gu>2Pw5T>llHjgQl_zan35e^1_StMTjPfAsF8lTJP<>AuwLsL4eK;awy& zJ7N(*6(_b3IYqkPNUDCK?qN2P{xtNj7jed&Kr@{<3_PCDu2HA(lSI?ROtK=;P?Lwaihy_IrK zcGff}dutLJcei-HUh+TL zNhh7WCJBopg|wLSXk@Hg>9LK-N3m3oWYV)n)>lVDfK;v)G6HWCzsEX7k|0|p`G}uM z-%E+F)x%1*IiozGtnOBzTW8#-OGBxAR@!@L ly>lt1t9    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Phonemes Member List

    This is the complete list of members for stk::Phonemes, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Phonemes Member List

    This is the complete list of members for stk::Phonemes, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    formantFrequency(unsigned int index, unsigned int partial)stk::Phonemes [static]
    formantGain(unsigned int index, unsigned int partial)stk::Phonemes [static]
    formantRadius(unsigned int index, unsigned int partial)stk::Phonemes [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    name(unsigned int index)stk::Phonemes [static]
    noiseGain(unsigned int index)stk::Phonemes [static]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    voiceGain(unsigned int index)stk::Phonemes [static]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    formantFrequency(unsigned int index, unsigned int partial)stk::Phonemes [static]
    formantGain(unsigned int index, unsigned int partial)stk::Phonemes [static]
    formantRadius(unsigned int index, unsigned int partial)stk::Phonemes [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    name(unsigned int index)stk::Phonemes [static]
    noiseGain(unsigned int index)stk::Phonemes [static]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    voiceGain(unsigned int index)stk::Phonemes [static]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Phonemes.gif b/doc/html/classstk_1_1Phonemes.gif new file mode 100644 index 0000000000000000000000000000000000000000..a3879f3f147035b39ff97915b4cfbcc150a62870 GIT binary patch literal 542 zcmV+(0^$8fNk%w1VOs!D0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09yc1000C2IJ(^aFv>~m5IF12yZ>M)hRSH3Xlj;f>%Jfh&$KGnc<$YLfcc?- z5GVi=bG)1}s96?unB+_NqdGaqs_#mZwwz1imD>D0k(XN5nDvm)Z=ClluAac{+1v#_ zcaD8|FMB9`aBgLXeqCv5Vp|!IenXFwa*a@#Xqudtou4p-prak4q^D7ssH+^Nte~#1 zoffpUwzm`jy1Tr+zQ4f12EoL|#>dFXzQfAR&d<&U($Lh^*1FQn*W290+0)(O;sD>; z&Kq3^m?juQLCQlkmsnT0ZaV%f{ifN6K&6_xL>fFh*r%#+Rxd{on zZ79*20gfV7TFof2qyV4>v$;zuM5j}AS^Z@d>Q;qVt9l*k6jk3Lm7_3GD^P0vo-I`{5B!;2qJerEyzJ4^>1k^lez literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Phonemes.html b/doc/html/classstk_1_1Phonemes.html index c3963ec..bffe2bd 100644 --- a/doc/html/classstk_1_1Phonemes.html +++ b/doc/html/classstk_1_1Phonemes.html @@ -8,66 +8,61 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Phonemes Class Reference

    STK phonemes table. -More... -

    -#include <Phonemes.h> -

    +

    stk::Phonemes Class Reference

    +

    STK phonemes table. +More...

    + +

    #include <Phonemes.h>

    Inheritance diagram for stk::Phonemes:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Static Public Member Functions

    -static const char * name (unsigned int index)
     Returns the phoneme name for the given index (0-31).
    -static StkFloat voiceGain (unsigned int index)
     Returns the voiced component gain for the given phoneme index (0-31).
    -static StkFloat noiseGain (unsigned int index)
     Returns the unvoiced component gain for the given phoneme index (0-31).
    -static StkFloat formantFrequency (unsigned int index, unsigned int partial)
     Returns the formant frequency for the given phoneme index (0-31) and partial (0-3).
    -static StkFloat formantRadius (unsigned int index, unsigned int partial)
     Returns the formant radius for the given phoneme index (0-31) and partial (0-3).
    -static StkFloat formantGain (unsigned int index, unsigned int partial)
     Returns the formant gain for the given phoneme index (0-31) and partial (0-3).
    + + + + + + + + + + + + +

    Static Public Member Functions

    +static const char * name (unsigned int index)
     Returns the phoneme name for the given index (0-31).
    +static StkFloat voiceGain (unsigned int index)
     Returns the voiced component gain for the given phoneme index (0-31).
    +static StkFloat noiseGain (unsigned int index)
     Returns the unvoiced component gain for the given phoneme index (0-31).
    +static StkFloat formantFrequency (unsigned int index, unsigned int partial)
     Returns the formant frequency for the given phoneme index (0-31) and partial (0-3).
    +static StkFloat formantRadius (unsigned int index, unsigned int partial)
     Returns the formant radius for the given phoneme index (0-31) and partial (0-3).
    +static StkFloat formantGain (unsigned int index, unsigned int partial)
     Returns the formant gain for the given phoneme index (0-31) and partial (0-3).
    -


    Detailed Description

    -STK phonemes table. -

    -This class does nothing other than declare a set of 32 static phoneme formant parameters and provide access to those values.

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


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

    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 - 2010.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Phonemes.png b/doc/html/classstk_1_1Phonemes.png index 05baf337d488d976ae464d813a87b782a77ea544..d7923ef2246a1fcb5b1a3d5afcf539f6637c12e4 100644 GIT binary patch delta 331 zcmV-R0kr<;0{sGz7zqdi0000%FZpPZAt!$bbW%=J0RR90|NsC0)yh;d0003DNkl%7<-6w9)e359M_xCc>X{#@3k_dwD7od0FS=@Lqp% zCUqy;hy%_o|CY{4m<3y!wx&_ci8Z21ha7a zOP8%oCR^NRw7j@qbs4%4i>hrL|SWVAVxx|8}PEpwTE?^XEOIf?&C d*uQD}wFdxx6gozT9f1G<002ovPDHLkV1hP#r6>RZ delta 310 zcmV-60m=UT0_Xye7zqRe0001l-xO()At!$UbW%=J06^y0W&i*H{z*hZR7i>Klsyi^ zAPj|J$!z-uaDuA6P^aAg2(`fwnm>X>mIw>wLHNMW9x$Jlc$v3vh-cx>Q&c2R?lMj? ztKsO8B1DoPojt(Ag%n&k2Fb0i-{3q@=W>cpaYi#9QdMv@lS{3cq0|rU%xS4&Mk;@m zQn~Nk8Fz|TV&L8I#)o4+ri1@|@cDZqKF#xu_|2Ue_`nA~@P0V91Q=*Z`UKpnR*GNa zkY^`28U(NzNB#p@WP{a0!kOR!;mZq@$s!hlhU*j$yNma@ZxW`!i+7=K    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PitShift Member List

    This is the complete list of members for stk::PitShift, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::PitShift Member List

    This is the complete list of members for stk::PitShift, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::PitShift [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(void) const stk::PitShift [inline]
    PitShift(void)stk::PitShift
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setShift(StkFloat shift)stk::PitShift
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::PitShift [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::PitShift
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::PitShift
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Effect [inline]
    clear(void)stk::PitShift [virtual]
    Effect(void)stk::Effect [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Effect [inline]
    lastOut(void) const stk::PitShift [inline]
    PitShift(void)stk::PitShift
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEffectMix(StkFloat mix)stk::Effect [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setShift(StkFloat shift)stk::PitShift
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::PitShift [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::PitShift
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::PitShift
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PitShift.gif b/doc/html/classstk_1_1PitShift.gif new file mode 100644 index 0000000000000000000000000000000000000000..dae4185af4f6b3778e860f8768ed2d5605e23335 GIT binary patch literal 733 zcmV<30wVoKNk%w1VMqXo0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui07w9c000C2IJ(^aFv|Iay*TU5yZ@L1j$~_>b_hH&#=4(7XAgiF6h3L zO$FRxia*y7#LG32nxGR0B`rP3q7T|U=90oeN(z*6x?uE4Jl;A>S@Y=1{3hjgyOza< z>;D@;S$S4{a9dOtiC{lHii?bMhBTC6m6w*7njmzWo}HeWprMzeq?D$oGZd_?uCEIK zva__cwzs$jxVyZ)zQ4J^!o$S52D-(`%DuYEp)jU1Ems>zlMWv20R^M;b3 zLrZuUl40qC%`y^8t-7GJ*1xX7E;xHzZQ8dH=4Q5=ckhP3fd_{;+}3H-#f>Mgb(~=H zfY1F!=Qmwn^?TRrWtX>|^m1C=*@aIx9v?fL=+moT&%V9;_W{1k;vpXZefjsl=U=`b zSEPLVy`VSCfB)In!+^FFNMC^iGU(rY0n*|iff7RapoJ1TI3IxvVpt1<6dtG{fceEI zVt@SssA7l+u2`Xq8-7S3j4EcB;D<5pBA|s6D%j$TH8yxli8)?~V~{^4S)+z2DrusQ zL-P2dk2EsLq?9xsc_ffkVu_@ILn`<{)gh_WO literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1PitShift.html b/doc/html/classstk_1_1PitShift.html index 84585b0..7da110d 100644 --- a/doc/html/classstk_1_1PitShift.html +++ b/doc/html/classstk_1_1PitShift.html @@ -8,68 +8,61 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PitShift Class Reference

    STK simple pitch shifter effect class. -More... -

    -#include <PitShift.h> -

    +

    stk::PitShift Class Reference

    +

    STK simple pitch shifter effect class. +More...

    + +

    #include <PitShift.h>

    Inheritance diagram for stk::PitShift:
    - -

    - -stk::Effect -stk::Stk +
    + + +stk::Effect +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    PitShift (void)
     Class constructor.
    -void clear (void)
     Reset and clear all internal state.
    -void setShift (StkFloat shift)
     Set the pitch shift factor (1.0 produces no shift).
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the effect and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object.
    + + + + + + + + + + + + + + +

    Public Member Functions

    PitShift (void)
     Class constructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setShift (StkFloat shift)
     Set the pitch shift factor (1.0 produces no shift).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the effect and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the effect and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object.
    -


    Detailed Description

    -STK simple pitch shifter effect class. -

    -This class implements a simple pitch shifter using delay lines.

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + @@ -89,18 +82,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFrames& stk::PitShift::tick StkFrames& stk::PitShift::tick ( StkFrames frames,
    - + @@ -132,20 +124,20 @@ The -

    -Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the effect and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames& stk::PitShift::tick StkFrames& stk::PitShift::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PitShift.png b/doc/html/classstk_1_1PitShift.png index f87c2a72aaa3f73eb6aa411fec02f3ebc2a514e5..a0790b0156307e59c3e6a1c456a20e09fa72a988 100644 GIT binary patch delta 452 zcmV;#0XzP=1N8%t7zqdi0001U+g-ttAt!$bbW%=J0RR90|NsC0)yh;d0004mNkl*b41^g+;{He82MpN!q_pc@HPWD@1%p34L!!K2DmA1^#LXSaS+QRH}Y4%#3+L?dZ zDy>@G%=TfvYXtobDC%=`((=)&e+1=iZrZrENgox}7w8?LmL9JW^@ZY9$UHxl=PH@TDav2o&`>dgLcN=O9uP zDCZzj80ZU6jUa*uB8VV@9s@#9ONc3&ptnItZd{I|h5Ja?rhZs2K<%f^xD^gt!$3;< zIJA{L)jlXlS{P7n2P*j`$qsF|=9sl}MO}c=Hh83yexs$d2{c>R({~^*Z3Qs0X5UJ4 u(mw{Nv}&~{s$%mT%_qQ@mY^6=Q2PNLpdS3c`(sxC0000JB)idX1yEJ&cCPwE=?&fK4%ukBsXwhibFLGRn$f)=!(e}_J!F7V@?NDpd1Te%PA z|9)s5p>s{3*`j3C>kieLz%!KsAs#c;nm|2O=p?s8o=Fbt6V%iMmM5K|rY3mgsn!JU z$#%zw-Hkr+4~AA<(1{UdK?_>Y91wF2M8ManVPeQzA`A!tw9#2Wyh13wJg^C4wNHUi z)*FPR%cThb1Y{7X0%jd713+Dw$GAiCqoXIKu!RJ0DC>ZkY$21Y5MH6;37$hLr@j#k l!t$K*nC5=Lb3r4Y)Gr)2654m%f@uH%002ovPDHLkV1kB    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PluckTwo Member List

    This is the complete list of members for stk::PluckTwo, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::PluckTwo Member List

    This is the complete list of members for stk::PluckTwo, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::PluckTwo
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::PluckTwo [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    PluckTwo(StkFloat lowestFrequency)stk::PluckTwo
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)stk::PluckTwo
    setDetune(StkFloat detune)stk::PluckTwo
    setFreqAndDetune(StkFloat frequency, StkFloat detune)stk::PluckTwo
    setFrequency(StkFloat frequency)stk::PluckTwo [virtual]
    setPluckPosition(StkFloat position)stk::PluckTwo
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~PluckTwo(void)stk::PluckTwo [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::PluckTwo
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::PluckTwo [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    PluckTwo(StkFloat lowestFrequency)stk::PluckTwo
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)stk::PluckTwo
    setDetune(StkFloat detune)stk::PluckTwo
    setFreqAndDetune(StkFloat frequency, StkFloat detune)stk::PluckTwo
    setFrequency(StkFloat frequency)stk::PluckTwo [virtual]
    setPluckPosition(StkFloat position)stk::PluckTwo
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~PluckTwo(void)stk::PluckTwo [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PluckTwo.gif b/doc/html/classstk_1_1PluckTwo.gif new file mode 100644 index 0000000000000000000000000000000000000000..52181cc57a57a5a5cf727011441ce8987a76d827 GIT binary patch literal 1024 zcmV+b1poU-Nk%w1VOIda0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09OFO000C2IJ(^aFv>}#xH#+0yZ>OwDPn1!=trh(>u&2S&t**CcxKI;f$Du-1m)8{-6X4m4iBQCdR+%9-(@~&O+l()<= z?(ZylC3|jcV}*QMXJ}wq7>;~GjgfGRIhQwrn42P+oSz+@praU~q@$*%pQ);wtgV+7 zva__c6#%%oy1Tr+zP$#&!o$SH#>cq9$ji*l#s<*N($mt=%GB7|zt+*(-rwBU-{aWg zgnt4$mZ_xzVPz(x%Bq+`1$es{O$h!sS7CZ9KnL)4kGlXaACHF4yi$m$d2N= zi58h*%=rF}<3Nw-Hi9H3a-^`5Cg-IDx02yMTQFnFv;eDSDN8nCy~2th)mh78$9WvS3X^mWOhH%=)f zl6zKe)C-#0l=Z-MEnTsX%(f+Jc5K`^Zvz)z%y=+g#!VXo7Cf1)hrE;KRGzdJF(Eg1 zfd&l(cC@R~remQ_jYBl+8mnLTl+DRC?XNR)>#p?=WlLSYe*>^4d>ZlM&B7tq$ZdIY z=gxu)m;Rf2OY1AKr_^qe`$+E~!Fv?Xk$gt;7SU5wACbL7_Y2`8lwXj(K>NL+Ki9tu zKmI@e`Pe7PfCLt3;DHDxsNjM^@P|wg4juzxgvCrq;V>3n_)CVq1b~Z&!VH)Th{liz zK!MV5*b9gzuBZ!(54uQ=iYKxNA&fG9sN;zvj%Xo{JMtK$jV*pyB#tnWh~$eqDmkQ% zEjsz6lrJ8+i;W>l(xZ?<9%<#4O9tuVic-?J<&{rzIVPH5HhJcnGA6lUoNb~RC6gZJ znP!!|gb5^@Y+}h}m|_lkrk7-n=_H{{8ae2XhXQJ1gMAjM;gyzN3a6%(a@t|0oSGRb zsG5peDubw|s_LpJ{^zMmukLbOtjTmkt8%wCM{6>>0@v$3zw#O^fc6lpPq4!w$ZM=T z%l4z}v%^CBYqRc93y`$ET6+<;yK4JUwBY8mn=J;6Ys+n?p^J%a>cS9PyC|>=uT)G4 zW=LFmJT}*5?^@PJ8h7by)CpXOA%wqZh1G~=SVf}OVsOzL7G!p56I``    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PluckTwo Class Reference

    STK enhanced plucked string model class. -More... -

    -#include <PluckTwo.h> -

    +

    stk::PluckTwo Class Reference

    +

    STK enhanced plucked string model class. +More...

    + +

    #include <PluckTwo.h>

    Inheritance diagram for stk::PluckTwo:
    - -

    - -stk::Instrmnt -stk::Stk -stk::Mandolin +
    + + +stk::Instrmnt +stk::Stk +stk::Mandolin +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    PluckTwo (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    -virtual ~PluckTwo (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setDetune (StkFloat detune)
     Detune the two strings by the given factor. A value of 1.0 produces unison strings.
    -void setFreqAndDetune (StkFloat frequency, StkFloat detune)
     Efficient combined setting of frequency and detuning.
    -void setPluckPosition (StkFloat position)
     Set the pluck or "excitation" position along the string (0.0 - 1.0).
    void setBaseLoopGain (StkFloat aGain)
     Set the base loop gain.
    -virtual void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    PluckTwo (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    +virtual ~PluckTwo (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +virtual void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setDetune (StkFloat detune)
     Detune the two strings by the given factor. A value of 1.0 produces unison strings.
    +void setFreqAndDetune (StkFloat frequency, StkFloat detune)
     Efficient combined setting of frequency and detuning.
    +void setPluckPosition (StkFloat position)
     Set the pluck or "excitation" position along the string (0.0 - 1.0).
    void setBaseLoopGain (StkFloat aGain)
     Set the base loop gain.
    +virtual void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -


    Detailed Description

    -STK enhanced plucked string model class. -

    -This class implements an enhanced two-string, plucked physical model, a la Jaffe-Smith, Smith, and others.

    -PluckTwo is an abstract class, with no excitation specified. Therefore, it can't be directly instantiated.

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

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + - + @@ -92,20 +83,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -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. +

    Set the base loop gain.

    +

    The actual loop gain is set according to the frequency. Because of high-frequency loop filter roll-off, higher frequency settings have greater loop gains.

    +
    -

    -


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

    void stk::PluckTwo::setBaseLoopGain void stk::PluckTwo::setBaseLoopGain ( StkFloat  aGain aGain  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PluckTwo.png b/doc/html/classstk_1_1PluckTwo.png index 265e047a132eaa2b51897fe7bfa5776e07fb2d34..b2db2d8c27c21e977b7c515aa74fa9ef628d4583 100644 GIT binary patch delta 624 zcmV-$0+0RC1fT_w7zqdi0000+bq}SHAt!$bbW%=J0RR90|NsC0)yh;d0006nNklyZU_8$&F^oCc$J3`=#O#N^?3;P?RFmQH#&b0 zxAv{)VeFdjo3G~kf$slwlYZwnqV9D5zFTV!oaEM;182F9I}dc}(xpq6E?v4Uj+`im zWCY#MyAXjdo}0sP^&fHp5de;c2n4Xrg8mW6XhrK1x~*d$XN#txwY18HK}S)*Lv=tu+VEavygd=+dQ2mo8npbXy=N3Q``8?nhk|S8hA&>qb94Nq5|!ZZ<>{ zt}akYKX=;OxMSJ+0He+R&DE=`qg&0yysMWs%)2IK)*W+(`L(N@o&3a++q!?AU7z+_ zuFu0O*W{s~f3EW2<_%mpUiWR;y(kYO`F;Z1qz8H`dKa7rz8~m5(@pxF--w#>XlZV( zIdGC&YYv>{KJGlwrAwDCUAlDXwm9C8y3w~Bk`Z)2>p}#+=&t9!@u)Z4R_K@C-0SrM zA^;q1U9|tbu65MP_MP)jceGqdAK>o$TlzRkZ?+RB69DdYCDGE2dExX1(F4|JdB=EM&yj5c-85^{?G0000< KMNUMnLSTZ9*hioM delta 545 zcmV++0^a?g1Y3JEf?|+1W&4-ByN|sjII+K);@B?f|ivBh3<9K;<@9}VX2{=TO zD^jFz5T@K(!x)hSp*(pVIfZ#L;`KwqD2!8Y;dEkY=P|T^6WCy0W(gNFnuBXIsK$Sw zL}TG#HY59&9ZYdf(FhB8T@1bepZXL`%WeMn0r36nN$~A{e-iw}Xc%m;!3Hm2({)q0 z2(zj%w9*I{;6PQyr5Z)xg;dfb%IyIrkx#6PuqdT80b#iv;aG(kPsRc-R86&oyX50u z7I?dGS8)Qf8GA4_6<2y!a1a$&ds%lD0Tf@bSE$jsbfWZtI-C=aigXW_$Bl`yuHgH&?;VZ17arO-w`~!dZ)Tdxt zOxF$c3D#hP4L0~;@bvHa=ReQasRW!#zLDyhz!cl2W`oC>Rkn`dkj~V~yO6TcOW0wR zt&^Nq&R_+pY6`EzJzK|cNvcs)`7dRL%GSy5=RQ1S>!?#xSZC`7YR8P0t>XjPT@?*& j#>qEm@Ok)5zU~{x>&ej?J    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Plucked Member List

    This is the complete list of members for stk::Plucked, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Plucked Member List

    This is the complete list of members for stk::Plucked, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Plucked
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Plucked [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Plucked [virtual]
    pluck(StkFloat amplitude)stk::Plucked
    Plucked(StkFloat lowestFrequency)stk::Plucked
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Plucked [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Plucked [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Plucked(void)stk::Plucked
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Plucked
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Plucked [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Plucked [virtual]
    pluck(StkFloat amplitude)stk::Plucked
    Plucked(StkFloat lowestFrequency)stk::Plucked
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Plucked [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Plucked [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Plucked(void)stk::Plucked
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Plucked.gif b/doc/html/classstk_1_1Plucked.gif new file mode 100644 index 0000000000000000000000000000000000000000..0e03f7fa537f41cd6a4e5c6f732b4651431a2845 GIT binary patch literal 756 zcmV}XxH#+0yZ_*)gk))++la1gE2wTPckpb_bsStf82mj! zFWAbthQ16^C^MRVJm_*mjP9l=CuxZcPN7O3vuI&eht&>vyk=>)-sn>-OrPE*?wCW= z+e>&KdTeT8gnLdFJ2FuCK&cn;a&(qYr(bCn~$=BH0-p1YE;=$qL z=EUdezUAub?Ct08@Z<9H-}Uy|`1#fQ{L}vaISVLoTfuk-%@IrpjiI=O4uL_8xQ?Pe zi`gb(#HIdmqpgk}X@Lwm(ql3I0l z^Jfa2a_T(#)1?oZE=<1Ev2wJiA4hc1WZjxn%F;m^oSaEoXc8i`hoqjppk2=-25lua>O$Y!>0ALFJQ+_m1jfg__`TX=Be4Ur2Y9+A02 z=M14IlzxzULF)ps|I^Nodp_^6l`j`hj=V(kzrfE^508C2_wLYFgcqs4{rmXy>)+4+ zzPo%~Km3ZfGHexMav+g+MUq zVTc`?sN#wxdU#=r4?=ihf-|~kUiXU zN*d{8icK0gql7(LxeJLtZmD6GOJ    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Plucked Class Reference

    STK plucked string model class. -More... -

    -#include <Plucked.h> -

    +

    stk::Plucked Class Reference

    +

    STK plucked string model class. +More...

    + +

    #include <Plucked.h>

    Inheritance diagram for stk::Plucked:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Plucked (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Plucked (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

    Plucked (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Plucked (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK plucked string model class. -

    -This class implements a simple plucked string physical model based on the Karplus-Strong algorithm.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

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


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

    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 - 2010.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Plucked.png b/doc/html/classstk_1_1Plucked.png index 4b07f9e35e7997977b59d4174cb34cccd55e00b6..130115d7bb6294e39d044e16f983f8016387a7cc 100644 GIT binary patch delta 458 zcmV;*0X6=_1N#Gz7zqdi0001f#Vv-BAt!$bbW%=J0RR90|NsC0)yh;d0004sNklY~evI{~;0JU|Zc5!)~(I)hikUqODN9rhtBo1<4;vj->4qy}h zki&>w}28b&Ujj-?)POpoX+1@>=_EoXl>vYi|z8FuAdUoPJxLQ-aT&~tsFPXb}XUUNxM~)mha-VQV>L`aK z4sv-ML=aEs^mg?4_c%ZVKoB7U0eo7Ze*)=Qv?-ozd7bW0U7}@LP;Wfq3#W>!$ks5@ z)6L=rO~pRvEPa-X#V%a5-*WR7t;K&{;LqhG?<_fTMa)-*Tzr0YAbaP{#kH5&!@I07*qoM6N<$g4`3_ A%m4rY delta 402 zcmV;D0d4;K1H=Q67zqRe0002HHNc0FAt!$UbW%=J06^y0W&i*IT1iAfR9J=WmQ8L0 zAq<7bo2;>KU~+@>LS4=Mk5JoSAPJ;Yok|@AYc%|Q*u0=o-u5vU+bzz-^;{fBN-a_( z{+=W44LOWRX_YjkZ+he`1zABBf|&dHSRc%N#i`E;Q#eaL;&R=hV_275W!Br*p>=;% zhU$>tPxNx1dl8EpakJlLCoa9oUvT^9q1ZEJ z$=!;)F&P<_kSWr>bCg_zc>>HXLG}{nVd0{?5KCc3hTTd~TlbDLBh%xmTS=VN?Qm4w zN?sUnoZN~pn2~8X`Um%WdT#lb6!+RDj;^?Z=0!    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PoleZero Member List

    This is the complete list of members for stk::PoleZero, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::PoleZero Member List

    This is the complete list of members for stk::PoleZero, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::PoleZero [inline]
    PoleZero()stk::PoleZero
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setA1(StkFloat a1)stk::PoleZero [inline]
    setAllpass(StkFloat coefficient)stk::PoleZero
    setB0(StkFloat b0)stk::PoleZero [inline]
    setB1(StkFloat b1)stk::PoleZero [inline]
    setBlockZero(StkFloat thePole=0.99)stk::PoleZero
    setCoefficients(StkFloat b0, StkFloat b1, StkFloat a1, bool clearState=false)stk::PoleZero
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::PoleZero [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::PoleZero [inline, virtual]
    ~PoleZero()stk::PoleZero
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::PoleZero [inline]
    PoleZero()stk::PoleZero
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setA1(StkFloat a1)stk::PoleZero [inline]
    setAllpass(StkFloat coefficient)stk::PoleZero
    setB0(StkFloat b0)stk::PoleZero [inline]
    setB1(StkFloat b1)stk::PoleZero [inline]
    setBlockZero(StkFloat thePole=0.99)stk::PoleZero
    setCoefficients(StkFloat b0, StkFloat b1, StkFloat a1, bool clearState=false)stk::PoleZero
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::PoleZero [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::PoleZero [inline, virtual]
    ~PoleZero()stk::PoleZero
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PoleZero.gif b/doc/html/classstk_1_1PoleZero.gif new file mode 100644 index 0000000000000000000000000000000000000000..9f8ff1044e506870b39cb5d8b9fab9f6726b3829 GIT binary patch literal 765 zcmV}zxH#+0yZ>OgDPn1!s7I!3>uT#O&tgp9IA-6$)q{cH zPw*SgcC;ceqa@;xte{WY+!&|5stby0Du-1m)8{-6X4m4iBQCdP+%9-(@~&I)l()<= z?(ZpiC3|jcV}*QMXJ}wq7>;~GjgfGRIhQnon42M*oSz(?praR}q@bp!oT;jqtgSf} zva__c6acuny1Tr+zP$#&!o$SH#>W7`$ji*l#RkyM($mh+%GB7|zShy&-rn5T-{aKc zgnt4$L8+w!1DCl_4m5)`0@Jt?fw4L0StI;!TWIMc zi4dR{J`Wuw<6&r~po7#v0(9q#7$IYphJqTxC?!N1yfP)Cb*rARbec+f#54@sKwP`d zA^V|fTP$tLniYEYs9i*VQM?jMwa?wJiA?0o3&{x~v~Hvx5*+uZtIC#RVa|LbDd!TN zKX=+J8Y$`0Kv8ds$-1?zeJWS(iY*(Lwc6FX;YJp2H*apfIR)+46 zzr_9d#smRiF#--aOo0aef?$HZEa*!BxIidOQ4=coA2tp)7~z4sNT^|e*<=VnfkKS9 z;fE)Vh@gihqNt*WCQ8`iE*Z*rB7`j7*kOt`nwVlPFy@NVnIw}@4ml&0N2;ixj$wAGC6PPwQYM&chS}qr526UCj&e?Erid%z v*yNmTf|)0UUZxpnn+#f5=!0b*iY0@KCfKNfj}90qfc{l#>7|(7mjD1eUe10y literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1PoleZero.html b/doc/html/classstk_1_1PoleZero.html index 486a70c..ab0184a 100644 --- a/doc/html/classstk_1_1PoleZero.html +++ b/doc/html/classstk_1_1PoleZero.html @@ -8,86 +8,75 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::PoleZero Class Reference

    STK one-pole, one-zero filter class. -More... -

    -#include <PoleZero.h> -

    +

    stk::PoleZero Class Reference

    +

    STK one-pole, one-zero filter class. +More...

    + +

    #include <PoleZero.h>

    Inheritance diagram for stk::PoleZero:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    PoleZero ()
     Default constructor creates a first-order pass-through filter.
    ~PoleZero ()
     Class destructor.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    -void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    -void setCoefficients (StkFloat b0, StkFloat b1, StkFloat a1, bool clearState=false)
     Set all filter coefficients.
    void setAllpass (StkFloat coefficient)
     Set the filter for allpass behavior using coefficient.
    void setBlockZero (StkFloat thePole=0.99)
     Create a DC blocking filter with the given pole position in the z-plane.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    PoleZero ()
     Default constructor creates a first-order pass-through filter.
    ~PoleZero ()
     Class destructor.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    +void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat b1, StkFloat a1, bool clearState=false)
     Set all filter coefficients.
    void setAllpass (StkFloat coefficient)
     Set the filter for allpass behavior using coefficient.
    void setBlockZero (StkFloat thePole=0.99)
     Create a DC blocking filter with the given pole position in the z-plane.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    -


    Detailed Description

    -STK one-pole, one-zero filter class. -

    -This class implements a one-pole, one-zero digital filter. A method is provided for creating an allpass filter with a given coefficient. Another method is provided to create a DC blocking filter.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK one-pole, one-zero filter class.

    +

    This class implements a one-pole, one-zero digital filter. A method is provided for creating an allpass filter with a given coefficient. Another method is provided to create a DC blocking filter.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -95,21 +84,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Set the filter for allpass behavior using coefficient. -

    -This method uses coefficient to create an allpass filter, which has unity gain at all frequencies. Note that the coefficient magnitude must be less than one to maintain stability. +

    Set the filter for allpass behavior using coefficient.

    +

    This method uses coefficient to create an allpass filter, which has unity gain at all frequencies. Note that the coefficient magnitude must be less than one to maintain stability.

    +
    -

    - + +

    void stk::PoleZero::setAllpass void stk::PoleZero::setAllpass ( StkFloat  coefficient coefficient  ) 
    - + - + @@ -117,18 +105,17 @@ This method uses coefficient to create an allpass filter, which has uni
    -

    -Create a DC blocking filter with the given pole position in the z-plane. -

    -This method sets the given pole position, together with a zero at z=1, to create a DC blocking filter. thePole should be close to one to minimize low-frequency attenuation. +

    Create a DC blocking filter with the given pole position in the z-plane.

    +

    This method sets the given pole position, together with a zero at z=1, to create a DC blocking filter. thePole should be close to one to minimize low-frequency attenuation.

    +
    -

    - + +

    void stk::PoleZero::setBlockZero void stk::PoleZero::setBlockZero ( StkFloat  thePole = 0.99 thePole = 0.99  ) 
    - + @@ -148,22 +135,22 @@ This method sets the given pole position, together with a zero at z=1, to create
    -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::PoleZero::tick StkFrames & stk::PoleZero::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1PoleZero.png b/doc/html/classstk_1_1PoleZero.png index 4defbcb2e21c44fc48b70a8d7e7f41e49c492528..ad99c099808ae19421f194a97ac1edf5bd4d8b71 100644 GIT binary patch delta 465 zcmV;?0WSW^1A+vQ7zqdi0000=yzH8hAt!$bbW%=J0RR90|NsC0)yh;d0004zNkl0)?2OFac*9rS!oj@$H#1cy^vBdrw_Hwas ziGvaQ2o@sHLjXv=A@Uw}8M%!GL;!U83eiv@U`i`YNIB6QW{J?vxFJF**vKC`q4llS#OMUR6NvpRtc(2v(V--=5hj$T00000NkvXX Hu0mjfk?PqW delta 409 zcmV;K0cQS!1j+-D7zqRe0001wOaYsbAt!$UbW%=J06^y0W&i*IU`a$lR9J=W)=Q3q zFbn|DWYcx*8<4p{d!boz|09e)`2h)q&L9nvBN|9}1jkh?yVvpNp7Ch=y1Shs>KQQN zbj%`O?OKR{Dv+1X5B97qh4S)=6i$nU*Om@Q*Zc^MExBUlC3`l-Q1-SP1LobQJdA($ z#xd~LcyE+n%EL6ayUpw;_RMd-+aCStU)%Zn68o6vOYCKNFl*MVS!!0FZEdbC0AO8c z3@x^Uu3Z#oTDl z5Q5LvgLXQkGu?x1siPxEFEer>H{=X?q*LBOiMQIIHZ;~ju|Ym$`5|8)t~SNc+E4~= zVKrXAvUy?~18*%Ym-8U`l{~nbhm+r%*)#UUZ~g}>crNl^k~XUV0000    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::ReedTable Member List

    This is the complete list of members for stk::ReedTable, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::ReedTable Member List

    This is the complete list of members for stk::ReedTable, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    ReedTable(void)stk::ReedTable [inline]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setOffset(StkFloat offset)stk::ReedTable [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSlope(StkFloat slope)stk::ReedTable [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::ReedTable [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::ReedTable [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::ReedTable [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Function(void)stk::Function [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastOut(void) const stk::Function [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    ReedTable(void)stk::ReedTable [inline]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setOffset(StkFloat offset)stk::ReedTable [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSlope(StkFloat slope)stk::ReedTable [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::ReedTable [inline, virtual]
    tick(StkFrames &frames, unsigned int channel=0)stk::ReedTable [inline]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::ReedTable [inline]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1ReedTable.gif b/doc/html/classstk_1_1ReedTable.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4252e2854394f3060406a831c769ba7ee6a05ff GIT binary patch literal 880 zcmV-$1CRViNk%w1VO;=-0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09^ox000C2IJ(^aFv>~m5;*J4yZ>M)j>>4BXo{9<>%Jlj&$KJocn;pW5MaMh zU>NiPdl;TBSoAcRN2C%q1XiJ)ruB!#OX6p_L zu(6&Nwzs&s7681xzQ4f1!ovUt#K*|V%FE2f&Ck%$%?8xc*4Nn7#@O85$=cQ4;^V#G z+vMop=jrU(?eEv?@bk;^^!LQ}`1`;5{Qv&`?F%UI9>Ie14kCP~a3Q;f4$(o3IBp_E zbr%O_#Ap6-V?2-aI)aQQa^$m;CYhm3sca=nWG-LklPM9QuA4Y>QlQ0iRZpI?ehv~E zD=1M$DZ02JlIMg{7)GCRXsTwY5H^qyWwB(W%$Bc@-gw=?YJ(w2hZX?}WGJoMLsB_l zS_9_}Q?75Nwj~pztXVo^r*2h5cr9N)h(EyU)6@=Nu5I=%qUsaGS+#4;)_qL)FdecY zyjF@-_-|fHqR~#8-1lfJqpm;2P6d1RCflWI<4&P__le%VN$4C-94CO|$dfBy&b+yE zXV0TcpH98H^_bSPYtOE2yZ7(ln|BXSzWjA?=F_WZZf?E%_t@XdR~~=9{rdLheA3Eq^h{=se z;&CRPm?DWQhS=hVFLD@ThBE@d)QvdisN;@2_UPk}JDw=u5JLV(WRdwDiR64rF8N-Q z%>{6rl+WGxos>C7xg3?zLCGAITxyA2nAU|!=9Xwm=cSEc5(%c5Q;yjr5y`n(r*d@0 zsU(+q;(6wqHtIQMoPiEnXrX)(I_I5=0t)D%a;9nMnsWA;=%J6ADdwe_Zh0n~lYVL_ zrc6y)DyEE9+9{%^)+s8Yg2D+ao|0-h>Z*@^`KO}1e#t1OlbV_;s-Vt#sjIq1IGU)V zsrJdHnOF|{Y@k>k>ujV>%13Foc;0^NUAW?EM{c=gzKX87>aLqEknqMU@4P-H G0029|tI3l9 literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1ReedTable.html b/doc/html/classstk_1_1ReedTable.html index 2abfeca..80061e6 100644 --- a/doc/html/classstk_1_1ReedTable.html +++ b/doc/html/classstk_1_1ReedTable.html @@ -8,66 +8,60 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::ReedTable Class Reference

    STK reed table class. -More... -

    -#include <ReedTable.h> -

    +

    stk::ReedTable Class Reference

    +

    STK reed table class. +More...

    + +

    #include <ReedTable.h>

    Inheritance diagram for stk::ReedTable:
    - -

    - -stk::Function -stk::Stk +
    + + +stk::Function +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    ReedTable (void)
     Default constructor.
    void setOffset (StkFloat offset)
     Set the table offset value.
    void setSlope (StkFloat slope)
     Set the table slope value.
    -StkFloat tick (StkFloat input)
     Take one sample input and map to one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.
    + + + + + + + + + + + + +

    Public Member Functions

    ReedTable (void)
     Default constructor.
    void setOffset (StkFloat offset)
     Set the table offset value.
    void setSlope (StkFloat slope)
     Set the table slope value.
    +StkFloat tick (StkFloat input)
     Take one sample input and map to one sample of output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the table and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.
    -


    Detailed Description

    -STK reed table class. -

    -This class implements a simple one breakpoint, non-linear reed function, as described by Smith (1986). This function is based on a memoryless non-linear spring model of the reed (the reed mass is ignored) which saturates when the reed collides with the mouthpiece facing.

    -See McIntyre, Schumacher, & Woodhouse (1983), Smith (1986), Hirschman, Cook, Scavone, and others for more information.

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + - + @@ -75,21 +69,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -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). +

    Set the table offset value.

    +

    The table offset roughly corresponds to the size of the initial reed tip opening (a greater offset represents a smaller opening).

    +
    -

    - + +

    void stk::ReedTable::setOffset void stk::ReedTable::setOffset ( StkFloat  offset offset  )  [inline]
    - + - + @@ -97,18 +90,17 @@ The table offset roughly corresponds to the size of the initial reed tip opening
    -

    -Set the table slope value. -

    -The table slope roughly corresponds to the reed stiffness (a greater slope represents a harder reed). +

    Set the table slope value.

    +

    The table slope roughly corresponds to the reed stiffness (a greater slope represents a harder reed).

    +
    -

    - + +

    void stk::ReedTable::setSlope void stk::ReedTable::setSlope ( StkFloat  slope slope  )  [inline]
    - + @@ -128,18 +120,17 @@ The table slope roughly corresponds to the reed stiffness (a greater slope repre
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFrames & stk::ReedTable::tick StkFrames & stk::ReedTable::tick ( StkFrames frames,
    - + @@ -171,20 +162,20 @@ The -

    -Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the table and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::ReedTable::tick StkFrames & stk::ReedTable::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1ReedTable.png b/doc/html/classstk_1_1ReedTable.png index fa3a8a281a3d78927d04e294ae22d2df9997c49f..0dc999c9994cfb681cf65dc8c4b39cff7f13e5e5 100644 GIT binary patch delta 490 zcmVOjr_oFxB@!_RfyA+pH=Rn*}Zx-eeR+%KZJk<65lBfZmoGLx#lOve7r?#zFS zs!B4grdm}$%-I>>yWJ_C) zYt+}#kuz);0PMiY+z<4#-JQN1bs%Q|Zh`g>+QRi9Fmr21UmfTbt%U75y^osd_SK2r z=egYN-tC&>QfGQqM}17@W8Ek7W!--UIjd?5_9*vT$+Vh|%jjJ)*TmnMt7P~)L;Y{- zku5!I<>CB=^im@EP`#8$K34zLcZNE3>eQ)Ir%ruA9g!^|@TAn2(2-of*8Si+xfT6O z^SGz)KR9}Gp#v$&4fPvBJ%pS^rW(BtBFRH%S-qlYBihxcd&nxfxNOeO8ueB_ZOnbA z56SqIC%PWY>HVw{oNRGOW;mBdW2u8C={M g{?1VUA9`f_0iXsabZbrdga7~l07*qoM6N<$f{LO6i2wiq delta 436 zcmV;l0Zaay1my#e7zqRe0001Ytom$`At!$UbW%=J06^y0W&i*Idr3q=R9J=WmP?Mq zAPk0KGi%HZoD+;@F4R@;e}wS^!+??!s$^5yiW(jt_Kzz?fB0RB@9?v�T;j^$oD$ zmQV92qZyAGK`A~3*@_+UoDxxl0H4Wu!t;^Buzr~8X*?I3@tf+|>V0Q=(7J*)ndyI_ z{-E5K^i%r$lAne1SM#gilY@91ZCt~DJ@4h8&&RF&-TiUidFP$KpLhRxk~bd-@Za(b zhG~cI6CU`n-gkH^PaGio^Tz+{ e{8jwo_v8=Dnqc39O3MEL0000    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Resonate Member List

    This is the complete list of members for stk::Resonate, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Resonate Member List

    This is the complete list of members for stk::Resonate, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Resonate
    controlChange(int number, StkFloat value)stk::Resonate [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Resonate [inline]
    keyOn(void)stk::Resonate [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Resonate [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Resonate [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Resonate(void)stk::Resonate
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEqualGainZeroes(void)stk::Resonate [inline]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setNotch(StkFloat frequency, StkFloat radius)stk::Resonate
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius)stk::Resonate
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Resonate [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Resonate(void)stk::Resonate
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Resonate
    controlChange(int number, StkFloat value)stk::Resonate [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Resonate [inline]
    keyOn(void)stk::Resonate [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Resonate [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Resonate [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Resonate(void)stk::Resonate
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setEqualGainZeroes(void)stk::Resonate [inline]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setNotch(StkFloat frequency, StkFloat radius)stk::Resonate
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius)stk::Resonate
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Resonate [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Resonate(void)stk::Resonate
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Resonate.gif b/doc/html/classstk_1_1Resonate.gif new file mode 100644 index 0000000000000000000000000000000000000000..ff2e56ae43e39aca9137ca1d8b32ede4828bf897 GIT binary patch literal 780 zcmV+n1M~bxNk%w1VO0Q#0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui0962p000C2IJ(^aFv>}xxH#+0yZ>OQDPn1!Xh)`O>t^dK&tXj8_+`_<)q{cH zPw*SgcC#Wdqa@;xsi05V+!&|5stbB*Du-1m)8{-6WY^-gBQCdP+%9-(@~&HPl()<= z?(ZpiB71IZV}*QMXJ}wq7>;~GjgfGRIhSUbnlFNzo*bQ@qB@qNrl6&#s-&x}tgfpS zva__c69Blmy1Tr+zPtv%!o$SH#>c_O%FE2k2G7mW($mk$)7RL-)zI19-T>Ry-{aKe z=GWrq>d5Qu?C$W|@$FY;JAVYy&+7PZ6QN+5B)`4=Wt@P ziWZk)%=rF}2 z21HLSL`w`+YBZGv5y-k-XN$=S*wltTGk7htzw^_ zdV&sAcQg&rrcIzuEn+q6rmru#j!ieF?c1~Tp7!kW>2}@WOtI^Lx%S_o@4op=Pjn6xISY0hwmB2PdMLT{ekxZ=I^&( zx6?jJ00t=FfCLt3;DHDRFkLZ0EJ#d)4hjQdguYBjAukqIh>L;}N&*ju!(`YChahU0 zONr;8SfPplKqy3u8=4s7h8EU1p@KG&=%R=%sz~CDIGzZkE zI(GPClS@*Gc}FG7a|%dhHG93sil=tc&VnDM!2b`35F`_ KsH6gz002A78HNe~ literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Resonate.html b/doc/html/classstk_1_1Resonate.html index 2348b2a..d67a9d7 100644 --- a/doc/html/classstk_1_1Resonate.html +++ b/doc/html/classstk_1_1Resonate.html @@ -8,94 +8,88 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Resonate Class Reference

    STK noise driven formant filter. -More... -

    -#include <Resonate.h> -

    +

    stk::Resonate Class Reference

    +

    STK noise driven formant filter. +More...

    + +

    #include <Resonate.h>

    Inheritance diagram for stk::Resonate:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Resonate (void)
     Class constructor.
    ~Resonate (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -void setResonance (StkFloat frequency, StkFloat radius)
     Set the filter for a resonance at the given frequency (Hz) and radius.
    -void setNotch (StkFloat frequency, StkFloat radius)
     Set the filter for a notch at the given frequency (Hz) and radius.
    -void setEqualGainZeroes (void)
     Set the filter zero coefficients for contant resonance gain.
    -void keyOn (void)
     Initiate the envelope with a key-on event.
    -void keyOff (void)
     Signal a key-off event to the envelope.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Resonate (void)
     Class constructor.
    ~Resonate (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setResonance (StkFloat frequency, StkFloat radius)
     Set the filter for a resonance at the given frequency (Hz) and radius.
    +void setNotch (StkFloat frequency, StkFloat radius)
     Set the filter for a notch at the given frequency (Hz) and radius.
    +void setEqualGainZeroes (void)
     Set the filter zero coefficients for contant resonance gain.
    +void keyOn (void)
     Initiate the envelope with a key-on event.
    +void keyOff (void)
     Signal a key-off event to the envelope.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK noise driven formant filter. -

    -This instrument contains a noise source, which excites a biquad resonance filter, with volume controlled by an ADSR.

    -Control Change Numbers:

      -
    • Resonance Frequency (0-Nyquist) = 2
    • Pole Radii = 4
    • Notch Frequency (0-Nyquist) = 11
    • Zero Radii = 1
    • Envelope Gain = 128
    -

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


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

    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 - 2010.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Resonate.png b/doc/html/classstk_1_1Resonate.png index 8c8a92335480fafdcde3d339df4056935836a021..5d031e6ee7612aa57cc461fb168ecf01dea8a0d1 100644 GIT binary patch delta 472 zcmV;}0Vn>}1BnEX7zqdi0001?i&vSEAt!$bbW%=J0RR90|NsC0)yh;d0004)NklLl%~=I;Yf7`;uKhoz0aZ$Z6>3L+>UfD!(T ziWXa>0z?25fp5m}ajNVH)IBo_Nx}n{@gp@7-WkFZA73K-K`RG|O2&cJ`d zv{->UE18xK$9o{Cub{eoxsO{uQF}8rXAi6kHD?d35A{)JAgDnNYEXk3)S$kWx_MaI z==&Db%cvlNcE_}7ef$b4Km0v~Pn&U>1 zpr2N+fYx=aF)wO2v##^BOkFMNjskU7dRq1wXsL1@j584LfuKHv>R~?+n3-D%n7RYLS5zlN2qNukWL1Xv?Dc=tx-tq2YeG{^uydZ9?o82&wTTT@pYX3E&H~;hTXPx5og#}orAN^I_s>2`?Ec34y#$1fx^oy zG&jbE2i2&t+mRIM{lHRnLh5nM_3(VQG1UBDW1Abp;^ne6#;hntZD3)qVIiEo!n%Jy`y2K@|F1jith4uLVL4Jr%bVSmjdhf651>Of z@!gz-04YUdBSMz24Ya)0-ak%8t@n?QJ**(U8)34kzE6vuD^7-~2Z`bVLzLhFQyz P00000NkvXXu0mjf#um?( diff --git a/doc/html/classstk_1_1Rhodey-members.html b/doc/html/classstk_1_1Rhodey-members.html index cdc6bae..3d0a8ea 100644 --- a/doc/html/classstk_1_1Rhodey-members.html +++ b/doc/html/classstk_1_1Rhodey-members.html @@ -8,64 +8,64 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Rhodey Member List

    This is the complete list of members for stk::Rhodey, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Rhodey Member List

    This is the complete list of members for stk::Rhodey, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Rhodey [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Rhodey(void)stk::Rhodey
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::Rhodey [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Rhodey [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~Rhodey(void)stk::Rhodey
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Rhodey [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Rhodey(void)stk::Rhodey
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::Rhodey [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Rhodey [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~FM(void)stk::FM [virtual]
    ~Rhodey(void)stk::Rhodey
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Rhodey.gif b/doc/html/classstk_1_1Rhodey.gif new file mode 100644 index 0000000000000000000000000000000000000000..1c0da016a86ac57aee19578f38e86578c51ca493 GIT binary patch literal 939 zcmV;c162G+Nk%w1VN3wP0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui089YD000C2IJ(^aFv>ZFy*TU5yZ@X5j$~;6V4%6gCTYVP;e9@; zd+upxUx9d6L}Of47m9d3iH&QAHIpxXl$SD+n42J$oS&Ybo1vnYq@|Oms5TU>uCK5T z0JF5Uwzs&svj)1ozQ4f1x4go|#>cn@%E-*kz{!*}H_|y9P&i($F0StI-Ai-h=4+cx9a9l%s53@0hsE#7F zi56{P%t-!gBgbkVn|b6oGGj?#u~MpBxnPw`0jgfIh$%Bt%~CXP($OTSP#!oi%y_c$ z(@qSbJm1J+#Al11GFy~%kwYZ|6F`gzm5Bq0Dpe>-iNZ`uMrltsKGAB8LkLAuuW9&j zU9?Co+OA^j?CCIdklneEe2$d@SS;YRff3);fCUX$Fj(oD^|H9_R<}Aqz0J&u^Qg_9 zD}fFzhIFdYrVXX8!LqgM3Gz--l>HD|$b#2yFSMq6x9#2wfg=?Djd*b54w3t!U0eBb z=e?LWl&+BaLF)vu2h{G5`#$gZz}FKW8@ev?@6fYTpN@Sy^A+I_d-uA&{hX_RxIs>inN<{rQXNP_fP3`>BU3h=5Sd^yvZdC9Dma!Ejy(Q#LV*7v$)A$>F}a$P zsX=L)l%!D^+I?8IR-Swsaaqf6UV5ZNcwVCIieg;Y>po0o}CZ7@!dgwa|HtOi3kVY!$q>!%JgQWprs%e^+`jROCpX!nz zEujWeYB8Pm^69C!l)9=hteP5Yr#^r>ORTn%dMl`|rpjxsyoM@ltE|47Yo@~+7Y$`bw|B%HgUoaP2;    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Rhodey Class Reference

    STK Fender Rhodes electric piano FM synthesis instrument. -More... -

    -#include <Rhodey.h> -

    +

    stk::Rhodey Class Reference

    +

    STK Fender Rhodes electric piano FM synthesis instrument. +More...

    + +

    #include <Rhodey.h>

    Inheritance diagram for stk::Rhodey:
    - -

    - -stk::FM -stk::Instrmnt -stk::Stk +
    + + +stk::FM +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Rhodey (void)
     Class constructor.
    ~Rhodey (void)
     Class destructor.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + +

    Public Member Functions

     Rhodey (void)
     Class constructor.
    ~Rhodey (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK Fender Rhodes electric piano FM synthesis instrument. -

    -This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

    +


    Detailed Description

    +

    STK Fender Rhodes electric piano FM synthesis instrument.

    +

    This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

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

    -Control Change Numbers:

      -
    • Modulator Index One = 2
    • Crossfade of Outputs = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -82,20 +81,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::Rhodey::Rhodey stk::Rhodey::Rhodey ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Rhodey.png b/doc/html/classstk_1_1Rhodey.png index 769003e7caec79c5312b8ce7e6576368ba125f39..c6de1b86087e7c79a912237a269fb029dc197579 100644 GIT binary patch delta 575 zcmV-F0>J&11n&fp7zqdi0001)J9WB|At!$bbW%=J0RR90|NsC0)yh;d00060Nkl0cL@=^O>*!z5$f%2C+l(6UCX7K18MAHZbz zM;NZLJq%CN%Uo`AwM9Rer-;SPpYifW0u|->iR{ z>jm&I&-C{K3{EQP||r zvPSGN236#4YGZ#G|0N7i1&}LM(m% zYkJr!r6z~@HP)xsupH(M%kl?oOwE5i%ni)rIMaV$-;+PXhHCObC-%Eo<*V+!Z}c^* z6>61OYlT`V_Tp+1BSwrEF=E6-MC2%Ja%fp2R*FFtu?qlUEY9s?9gT+t3{VA-yq{ub zKoyGE^+_Asz}yHcJZ0OMAtM%Vd&uX90>m(%VIgOe0)+2Im?1mE?`sR=gHC^}9IJfQ zz4wj2X0<}C5^JqcE5%-1O=84|5hF&7n23m=unFpJpV(szlKNJnJk~GV#wKG+7$D+5 zm44-g!A{SEp!dR^cgzf17`t}7x_*{=GwfP8%h_%DH<%$KmcPTnb_!{U1&CqZ3otzl z_cO`atN>rJ&hc&F^%LBe-=e+8aZMI&DjI<9P+%`lrv|} zF3P~vLbS}kU4YdqK    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::RtWvIn Member List

    This is the complete list of members for stk::RtWvIn, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::RtWvIn Member List

    This is the complete list of members for stk::RtWvIn, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::WvIn [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::WvIn [inline]
    lastOut(unsigned int channel=0)stk::RtWvIn [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    RtWvIn(unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)stk::RtWvIn
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    start(void)stk::RtWvIn
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stop(void)stk::RtWvIn
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::RtWvIn [virtual]
    tick(StkFrames &frames)stk::RtWvIn [virtual]
    ~RtWvIn()stk::RtWvIn
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::WvIn [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::WvIn [inline]
    lastOut(unsigned int channel=0)stk::RtWvIn [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    RtWvIn(unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)stk::RtWvIn
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    start(void)stk::RtWvIn
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stop(void)stk::RtWvIn
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::RtWvIn [virtual]
    tick(StkFrames &frames)stk::RtWvIn [virtual]
    ~RtWvIn()stk::RtWvIn
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1RtWvIn.gif b/doc/html/classstk_1_1RtWvIn.gif new file mode 100644 index 0000000000000000000000000000000000000000..48ae8c4f3a1ef29431e04eb9c2b7c30ce0b316a6 GIT binary patch literal 721 zcmV;?0xtbWNk%w1VMqXo0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui07w9c000C2IJ(^aFv|Iay*TU5yZ@L1j$~_>b_hH&#=4(7XAgiF6h3L zO$FRxia*y7#LG32nxGR0B`rP3q7T|U=90oeN(z*6x?uE4Jl;A>S@Y=1{3hjgyOza< z>;D@;S$S4{a9dOtiC{lHii?bMhBTC6m6w*7njmzWo}HeWprMzeq?D$oGZd_?uCEIK zva__cwzs$jxVyZ)zQ4J^!o$S52D-(`%DuA7E zf0+GW^xd-Ge!CFJ-+=@sSRjA~>Nnte1OC@v4+mBl;e80U*PwbEUKpW*8Ttp}g%)Dy zUWXml@*pqyVaT6-F!~oFh_nQ#p@+zqKggwcqEFpcnG9` zI#yVsic!)iWRnRh`6G!4(wL%%L2}5Rjku9%o0+tsDVv(GvFVzdteq$4oOIUNLjnLh DtRi#G literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1RtWvIn.html b/doc/html/classstk_1_1RtWvIn.html index f0dd4d5..4356056 100644 --- a/doc/html/classstk_1_1RtWvIn.html +++ b/doc/html/classstk_1_1RtWvIn.html @@ -8,65 +8,58 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::RtWvIn Class Reference

    STK realtime audio (blocking) input class. -More... -

    -#include <RtWvIn.h> -

    +

    stk::RtWvIn Class Reference

    +

    STK realtime audio (blocking) input class. +More...

    + +

    #include <RtWvIn.h>

    Inheritance diagram for stk::RtWvIn:
    - -

    - -stk::WvIn -stk::Stk +
    + + +stk::WvIn +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     RtWvIn (unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)
     Default constructor.
    ~RtWvIn ()
     Class destructor.
    void start (void)
     Start the audio input stream.
    void stop (void)
     Stop the audio input stream.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    + + + + + + + + + + + + + + +

    Public Member Functions

     RtWvIn (unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)
     Default constructor.
    ~RtWvIn ()
     Class destructor.
    void start (void)
     Start the audio input stream.
    void stop (void)
     Stop the audio input stream.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Compute a sample frame and return the specified channel value.
    StkFramestick (StkFrames &frames)
     Fill the StkFrames argument with computed frames and return the same reference.
    -


    Detailed Description

    -STK realtime audio (blocking) input class. -

    -This class provides a simplified interface to RtAudio for realtime audio input. It is a subclass of WvIn. This class makes use of RtAudio's callback functionality by creating a large ring-buffer from which data is read. This class should not be used when low-latency is desired.

    -RtWvIn supports multi-channel data in both interleaved and non-interleaved formats. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK realtime audio (blocking) input class.

    +

    This class provides a simplified interface to RtAudio for realtime audio input. It is a subclass of WvIn. This class makes use of RtAudio's callback functionality by creating a large ring-buffer from which data is read. This class should not be used when low-latency is desired.

    +

    RtWvIn supports multi-channel data in both interleaved and non-interleaved formats. It is important to distinguish the tick() method that computes a single frame (and returns only the specified sample of a multi-channel frame) from the overloaded one that takes an StkFrames object for multi-channel and/or multi-frame data.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -104,22 +97,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Default constructor. -

    -The default device argument value (zero) will select the default input device on your system. The first device enumerated by the underlying audio API is specified with a value of one. The default buffer size of RT_BUFFER_SIZE is defined in Stk.h. An StkError will be thrown if an error occurs duing instantiation. +

    Default constructor.

    +

    The default device argument value (zero) will select the default input device on your system. The first device enumerated by the underlying audio API is specified with a value of one. The default buffer size of RT_BUFFER_SIZE is defined in Stk.h. An StkError will be thrown if an error occurs duing instantiation.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::RtWvIn::RtWvIn stk::RtWvIn::RtWvIn ( unsigned int  nChannels = 1,
    - + - + @@ -127,21 +119,20 @@ The default device argument value (zero) will select the default input
    -

    -Start the audio input stream. -

    -The stream is started automatically, if necessary, when a tick() or tickFrame() method is called. +

    Start the audio input stream.

    +

    The stream is started automatically, if necessary, when a tick() or tickFrame() method is called.

    +
    -

    - + +

    void stk::RtWvIn::start void stk::RtWvIn::start ( void   ) 
    - + - + @@ -149,21 +140,20 @@ The stream is started automatically, if necessary, when a -

    -Stop the audio input stream. -

    -It may be necessary to use this method to avoid audio underflow problems if you wish to temporarily stop audio input. +

    Stop the audio input stream.

    +

    It may be necessary to use this method to avoid audio underflow problems if you wish to temporarily stop audio input.

    + -

    - + +

    void stk::RtWvIn::stop void stk::RtWvIn::stop ( void   ) 
    - + - + @@ -171,21 +161,20 @@ It may be necessary to use this method to avoid audio underflow problems if you
    -

    -Return the specified channel value of the last computed frame. -

    -For multi-channel files, use the lastFrame() function to get all values from the last computed frame. If the device is stopped, the returned value is 0.0. The channel argument must be less than the number of channels in the audio stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Return the specified channel value of the last computed frame.

    +

    For multi-channel files, use the lastFrame() function to get all values from the last computed frame. If the device is stopped, the returned value is 0.0. The channel argument must be less than the number of channels in the audio stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFloat stk::RtWvIn::lastOut StkFloat stk::RtWvIn::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + - + @@ -193,23 +182,22 @@ For multi-channel files, use the -

    -Compute a sample frame and return the specified channel value. -

    -For multi-channel files, use the lastFrame() function to get all values from the computed frame. If the device is "stopped", it is "started". The channel argument must be less than the number of channels in the audio stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::WvIn.

    +

    Compute a sample frame and return the specified channel value.

    +

    For multi-channel files, use the lastFrame() function to get all values from the computed frame. If the device is "stopped", it is "started". The channel argument must be less than the number of channels in the audio stream (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::WvIn.

    -

    - + +

    StkFloat stk::RtWvIn::tick StkFloat stk::RtWvIn::tick ( unsigned int  channel = 0 channel = 0  )  [virtual]
    - + - + @@ -217,22 +205,22 @@ For multi-channel files, use the -

    -Fill the StkFrames argument with computed frames and return the same reference. -

    -If the device is "stopped", it is "started". The number of channels in the StkFrames argument must equal the number of channels specified during instantiation. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. -

    Implements stk::WvIn.

    +

    Fill the StkFrames argument with computed frames and return the same reference.

    +

    If the device is "stopped", it is "started". The number of channels in the StkFrames argument must equal the number of channels specified during instantiation. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception.

    + +

    Implements stk::WvIn.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames& stk::RtWvIn::tick StkFrames& stk::RtWvIn::tick ( StkFrames frames frames  )  [virtual]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1RtWvIn.png b/doc/html/classstk_1_1RtWvIn.png index 62808d45ccd2ef8ee672b983390d416f84fe1bfa..97b9665199b9e9f7db29ad3d9f5afc4583cd38b8 100644 GIT binary patch delta 425 zcmV;a0apH_1KITpdUOnLWBqrB1Gsh(2>;2At{Z} zJqRN3-F{so-+}-U0M0Vd^#=mad8kbitU_IH*!B$RRG-`VS+Tp+Hqf-wO|fliW0m5N zsga##qI6%u)Y`g@y8-c`C3F|cdL4f~@|9g{l9UD2nk1z`KX__{2oWMgh|psoB(;K^ zO%r+m_6Uu&Tcy?(8;U&~{ubgxOXw{qsr?lJ81o+u TxbpF(00000NkvXXu0mjfK4HZ* delta 369 zcmV-%0gnFK1ET|w7zqRe0002CE3m+kAt!$UbW%=J06^y0W&i*IIY~r8R9J=WmO+lg zAPhxeGi%#7Fmr?ULbJ;Kk1!Zx2(3FsRVqbOoCOIy{6C2zJ6tCsT+-9{K0QRNBVyu2 ze?wgET!@KLmjp$!v;!oYnTrkzNaR7n)dlf{zFdbStqUcU>&9I?sN-U(1P9$eMn!>>OCi`pRYjsra;TS z6j&UgT~kmBF=;)g5$a6=5m9GHxe>Cgqw&@hsBahQO+h^zInb^tcnr    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::RtWvOut Member List

    This is the complete list of members for stk::RtWvOut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::RtWvOut Member List

    This is the complete list of members for stk::RtWvOut, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    RtWvOut(unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)stk::RtWvOut
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    start(void)stk::RtWvOut
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stop(void)stk::RtWvOut
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)stk::RtWvOut [virtual]
    tick(const StkFrames &frames)stk::RtWvOut [virtual]
    WvOut(void)stk::WvOut [inline]
    ~RtWvOut()stk::RtWvOut
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    RtWvOut(unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)stk::RtWvOut
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    start(void)stk::RtWvOut
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stop(void)stk::RtWvOut
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)stk::RtWvOut [virtual]
    tick(const StkFrames &frames)stk::RtWvOut [virtual]
    WvOut(void)stk::WvOut [inline]
    ~RtWvOut()stk::RtWvOut
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1RtWvOut.gif b/doc/html/classstk_1_1RtWvOut.gif new file mode 100644 index 0000000000000000000000000000000000000000..0bcbbbf2f1ac56e54d30efda5b52e8629f7fd0f7 GIT binary patch literal 775 zcmV+i1Ni($Nk%w1VNw8y0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08#*m000C2IJ(^aFv>}rxH#+0yZ>N#DPn1!s79u2>k8{D&t6R5w><|J4+cP= zz$bj^WW--4Iiwv?z+RNODN1=%*3-mH3aQa$uW1~-tVC-kOlG^b+^>{79;#FDQ;~FjgfDQIF~Yln42G(oS!O|prf6lq^F^%s;R53o~<|) zva__c5CFKjy1Tr+zPkp$!o$SH#>BzL%FE2f2G7mW(#_Aw)7RL&)zI19+1u9M;?m*c z=FH{i>dx!!#_8_yy72Py^!4ud`0M)n=l%Z10SxGEAi-}3?Inz7a3MK|?HWQvH&LC$ zipMTuWVilNoW_pAK7#ZmawM;kCg-KZhLV}BmoQ^mfTijc%^5atmeF}CCr?FC>UfYN zbWIQ?Abe)&^Qh_2Lxz%?>XQZ%Afkw}I+b&@6w*Ii!&0iF229Zog3!$Q;0V&#vOkm!6UOJL?>=htxjI`AF{|!FLqDkvvB8712*r50Sk?_Y2`Clz)&uLHhym=iVo& zzs~>v00t=FfCLW6-7i2K=u3hM^1@()x;zLWE)p(C;V}K>62OHV0ZFux9#|oSk2V;of|EMhD0h`&dZ~5=cIxS;paPfx F06Xc-gb@G$ literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1RtWvOut.html b/doc/html/classstk_1_1RtWvOut.html index 842c475..5ef4814 100644 --- a/doc/html/classstk_1_1RtWvOut.html +++ b/doc/html/classstk_1_1RtWvOut.html @@ -8,62 +8,56 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::RtWvOut Class Reference

    STK realtime audio (blocking) output class. -More... -

    -#include <RtWvOut.h> -

    +

    stk::RtWvOut Class Reference

    +

    STK realtime audio (blocking) output class. +More...

    + +

    #include <RtWvOut.h>

    Inheritance diagram for stk::RtWvOut:
    - -

    - -stk::WvOut -stk::Stk +
    + + +stk::WvOut +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     RtWvOut (unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)
     Default constructor.
    ~RtWvOut ()
     Class destructor.
    void start (void)
     Start the audio output stream.
    void stop (void)
     Stop the audio output stream.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (const StkFrames &frames)
     Output the StkFrames data.
    + + + + + + + + + + + + +

    Public Member Functions

     RtWvOut (unsigned int nChannels=1, StkFloat sampleRate=Stk::sampleRate(), int device=0, int bufferFrames=RT_BUFFER_SIZE, int nBuffers=20)
     Default constructor.
    ~RtWvOut ()
     Class destructor.
    void start (void)
     Start the audio output stream.
    void stop (void)
     Stop the audio output stream.
    void tick (const StkFloat sample)
     Output a single sample to all channels in a sample frame.
    void tick (const StkFrames &frames)
     Output the StkFrames data.
    -


    Detailed Description

    -STK realtime audio (blocking) output class. -

    -This class provides a simplified interface to RtAudio for realtime audio output. It is a subclass of WvOut. This class makes use of RtAudio's callback functionality by creating a large ring-buffer into which data is written. This class should not be used when low-latency is desired.

    -RtWvOut supports multi-channel data in interleaved format. It is important to distinguish the tick() method that outputs a single sample to all channels in a sample frame from the overloaded one that takes a reference to an StkFrames object for multi-channel and/or multi-frame data.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK realtime audio (blocking) output class.

    +

    This class provides a simplified interface to RtAudio for realtime audio output. It is a subclass of WvOut. This class makes use of RtAudio's callback functionality by creating a large ring-buffer into which data is written. This class should not be used when low-latency is desired.

    +

    RtWvOut supports multi-channel data in interleaved format. It is important to distinguish the tick() method that outputs a single sample to all channels in a sample frame from the overloaded one that takes a reference to an StkFrames object for multi-channel and/or multi-frame data.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -101,22 +95,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Default constructor. -

    -The default device argument value (zero) will select the default output device on your system. The first device enumerated by the underlying audio API is specified with a value of one. The default buffer size of RT_BUFFER_SIZE is defined in Stk.h. An StkError will be thrown if an error occurs duing instantiation. +

    Default constructor.

    +

    The default device argument value (zero) will select the default output device on your system. The first device enumerated by the underlying audio API is specified with a value of one. The default buffer size of RT_BUFFER_SIZE is defined in Stk.h. An StkError will be thrown if an error occurs duing instantiation.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::RtWvOut::RtWvOut stk::RtWvOut::RtWvOut ( unsigned int  nChannels = 1,
    - + - + @@ -124,21 +117,20 @@ The default device argument value (zero) will select the default output
    -

    -Start the audio output stream. -

    -The stream is started automatically, if necessary, when a tick() method is called. +

    Start the audio output stream.

    +

    The stream is started automatically, if necessary, when a tick() method is called.

    +
    -

    - + +

    void stk::RtWvOut::start void stk::RtWvOut::start ( void   ) 
    - + - + @@ -146,21 +138,20 @@ The stream is started automatically, if necessary, when a -

    -Stop the audio output stream. -

    -It may be necessary to use this method to avoid undesireable audio buffer cycling if you wish to temporarily stop audio output. +

    Stop the audio output stream.

    +

    It may be necessary to use this method to avoid undesireable audio buffer cycling if you wish to temporarily stop audio output.

    + -

    - + +

    void stk::RtWvOut::stop void stk::RtWvOut::stop ( void   ) 
    - + - + @@ -168,23 +159,22 @@ It may be necessary to use this method to avoid undesireable audio buffer cyclin
    -

    -Output a single sample to all channels in a sample frame. -

    -If the device is "stopped", it is "started". -

    Implements stk::WvOut.

    +

    Output a single sample to all channels in a sample frame.

    +

    If the device is "stopped", it is "started".

    + +

    Implements stk::WvOut.

    -

    - + +

    void stk::RtWvOut::tick void stk::RtWvOut::tick ( const StkFloat  sample sample  )  [virtual]
    - + - + @@ -192,22 +182,22 @@ If the device is "stopped", it is "started".
    -

    -Output the StkFrames data. -

    -If the device is "stopped", it is "started". The number of channels in the StkFrames argument must equal the number of channels specified during instantiation. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. -

    Implements stk::WvOut.

    +

    Output the StkFrames data.

    +

    If the device is "stopped", it is "started". The number of channels in the StkFrames argument must equal the number of channels specified during instantiation. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception.

    + +

    Implements stk::WvOut.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    void stk::RtWvOut::tick void stk::RtWvOut::tick ( const StkFrames frames frames  )  [virtual]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1RtWvOut.png b/doc/html/classstk_1_1RtWvOut.png index 8aa2fd972af758aef55b119935c7b6073d460fb5..fb9ba662ee515198ee1f532c4175cb3a662917d1 100644 GIT binary patch delta 464 zcmV;>0Wbc{1AzpP7zqdi0000(S4`lMAt!$bbW%=J0RR90|NsC0)yh;d0004yNklbNhXyGDRBgw~*@jtrTqwY`r99e6) z8Bf+4Zr(tCNyn2+GRY*9Oft#mkq93J(bXh*8;N4hTLUHB4}IAtZ;&H4A^X)O36#P& zl}zKLey`aDi@<@tWFciOlHIcm;^g^vj4OOWmooOUfM5G$qdaMjPAd5|X$w3*wMRE+ zlT>?oYL6$!E)8y7cwc~PkGqBXhcvk*xQ^#zBgtox;o}E}ts@C)48eZ@0000kZ>FC%}B z&Ixfw>3XKzLr%$l-HCv+8hkV@oy$`j|dLDxr_pYuxuc$>FE?2V&zOWqRJATmS$707(Z$PDHLk FV1iM;!_xo& diff --git a/doc/html/classstk_1_1Sampler-members.html b/doc/html/classstk_1_1Sampler-members.html index e08365a..ff27217 100644 --- a/doc/html/classstk_1_1Sampler-members.html +++ b/doc/html/classstk_1_1Sampler-members.html @@ -8,55 +8,55 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Sampler Member List

    This is the complete list of members for stk::Sampler, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Sampler Member List

    This is the complete list of members for stk::Sampler, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Sampler
    controlChange(int number, StkFloat value)=0stk::Sampler [pure virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Sampler
    keyOn(void)stk::Sampler
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Sampler [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Sampler(void)stk::Sampler
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)=0stk::Sampler [pure virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)=0stk::Sampler [pure virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Sampler(void)stk::Sampler [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Sampler
    controlChange(int number, StkFloat value)=0stk::Sampler [pure virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Sampler
    keyOn(void)stk::Sampler
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Sampler [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)=0stk::Instrmnt [pure virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    Sampler(void)stk::Sampler
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)=0stk::Sampler [pure virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)=0stk::Sampler [pure virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Sampler(void)stk::Sampler [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Sampler.gif b/doc/html/classstk_1_1Sampler.gif new file mode 100644 index 0000000000000000000000000000000000000000..2010b2781b1b78d3948fdc33aaf4df1279d2117b GIT binary patch literal 977 zcmV;?11|hWNk%w1VNU?S0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08aqG000C2IJ(^aFv>}lxH#+0yZ<0)g=A@-+la1gE2wTPckpb_wHsVJ82mj! zFX+m(hQ16^h#TmJKc;j;=uUVVCBKyQq9bY(Y{F^QI$G?bd1B$%F_prM+hq?V?qH>s*k6|bcHmf?f~uY>hbdD^!4NS_}}{b+Wr2j0Sw5E;5>uq1|kf%ketGX*~yQuzA7srmcK7#BuvS3MPB9qNp$+9J@R+l)zJoR!W8Jn$Y;yi%~O9ww3fZE~E zQ_@cpLbq)C2_+ICF<{mR0mH~?qozb<4%(`Qk5og8)?E2&G=q^dQjbpYxmJ(Ywudli zi3&$;*Qsvd8hV>T>z*zizGx7` z<RC5DGMzG3-==MknixSnA9fbadq-!~s$ecSbb=-fzSPTAp;Rc`s@m`-lFV~++NY37&)qN!z;S^6lZkzN7`bf}UJCfR7B(?J@Yq|Xg#>7|%vN}xRVaoQ+6z9G2V zg29POoP(Xdld3zbuG8v4pT3&Vr|{4!t39^n8mq32-s%vqr~*r>u%Z%Mps)EDnR^ax zuNc7WE3j3fQ?!z;M(rooUMoVj+IsNPVS@!l%D0ORc1BWcWJ}dpaczc|6@^5F7rHN4 ztJq_BG;-O#e9&9eUqVHauU?Gh^#Le!xf|}lnH5}aUnd9x6kvw&d)LAC76vX{6%+jK zwsBCVZ^vuN`v@fMLfoymAxzuK#olsD+Q}`;ymGZSx8Sn2J73!~wa*4kTLJ((|0VKX literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Sampler.html b/doc/html/classstk_1_1Sampler.html index 662c034..2efa527 100644 --- a/doc/html/classstk_1_1Sampler.html +++ b/doc/html/classstk_1_1Sampler.html @@ -8,80 +8,72 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Sampler Class Reference

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

    -#include <Sampler.h> -

    +

    stk::Sampler Class Reference

    +

    STK sampling synthesis abstract base class. +More...

    + +

    #include <Sampler.h>

    Inheritance diagram for stk::Sampler:
    - -

    - -stk::Instrmnt -stk::Stk -stk::Moog +
    + + +stk::Instrmnt +stk::Stk +stk::Moog +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Sampler (void)
     Default constructor.
    -virtual ~Sampler (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -virtual void setFrequency (StkFloat frequency)=0
     Set instrument parameters for a particular frequency.
    -void keyOn (void)
     Initiate the envelopes with a key-on event and reset the attack waves.
    -void keyOff (void)
     Signal a key-off event to the envelopes.
    -virtual void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -virtual void controlChange (int number, StkFloat value)=0
     Perform the control change specified by number and value (0.0 - 128.0).
    -virtual StkFloat tick (unsigned int channel=0)=0
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Sampler (void)
     Default constructor.
    +virtual ~Sampler (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +virtual void setFrequency (StkFloat frequency)=0
     Set instrument parameters for a particular frequency.
    +void keyOn (void)
     Initiate the envelopes with a key-on event and reset the attack waves.
    +void keyOff (void)
     Signal a key-off event to the envelopes.
    +virtual void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +virtual void controlChange (int number, StkFloat value)=0
     Perform the control change specified by number and value (0.0 - 128.0).
    +virtual StkFloat tick (unsigned int channel=0)=0
     Compute and return one output sample.
    -


    Detailed Description

    -STK sampling synthesis abstract base class. -

    -This instrument provides an ADSR envelope, a one-pole filter, and structures for an arbitrary number of attack and looped files.

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


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

    Detailed Description

    +

    STK sampling synthesis abstract base class.

    +

    This instrument provides an ADSR envelope, a one-pole filter, and structures for an arbitrary number of attack and looped files.

    +

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

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Sampler.png b/doc/html/classstk_1_1Sampler.png index d584a5823f1e508fd64b443ac379eae72949c047..135b91ee72daaa83e6e3525980422a0d1dd7950c 100644 GIT binary patch delta 597 zcmV-b0;>JF1ce2V7zqdi0001T49>ZcAt!$bbW%=J0RR90|NsC0)yh;d0006MNkl0{N;F-zDFMt0#%uGMj@XtCiEQ+~=s^Uo4`4F< zR}bgdwg-p+aBKCZA71fn7my}H6vKwMJYDG5+4)^1e3$QZp>BKE^Z8Edv7K-GJF9>1 zRy{P|S`Dj*ALi$m-ut}Z_vK>CtAWpWImd#*Ue2*#wDFLY!9uG`{UN6J@3h>XXm$(Nm^L%64&1 zcTelisLS`-v*~5e=R0^F|K014Y0Q6j&(nlzHAcc}G4say^80|^BVO?PGWvb~jF)pP z80_U73r2gduP;4%^ytx}M=#PtY)c4DgI=hI)b)Xz=S`;WJzT6>@qm={|HtCa8=wa3 zO}W$=bIdD|s3Ub@jVdEZ`oJdI1v<|b`4eDZ;)bng`g zA|=q@>oeS?+w{cK&?fHA`(;6YnpE!@w(a>GKlYmQYwB_S?VevPqC2t1+pX_@i}aT2 ju?6;@8Gc{A&Wmk7;SDj}yCQ>e00000NkvXXu0mjfEEqfE delta 520 zcmV+j0{8ue1-S%}7zqRe0002D{3E!LAt!$UbW%=J06^y0W&i*I&q+i=Fl~nd1x%T=B$4w z$w+9)MUvsqk+Y@=xMv1l0hce=fxV0de*~UB?+m`2PIm@>A!`E-H1OcyQ|q2AUdkQ1 zz4_BOK*FMO_!yD^A~qgEX;%=F)KDD}va;aC7;<+5V-YXvL`Ph%c}=jEV0H!A47_Qaj|1fQ7%LKC`z z8m$4#=H+Bk=$s7n9^D4|JaYzyVQ9$(G%UY-T3WNdvNOl#AR4j?PNOA#gC7%wA=U`Xz z!5y$G`Rsvh$%o?3du&TS`j}-swMB4{%-E>x(Sv-=?gg&ad%gg;N~5M)Q$n)<0000< KMNUMnLSTZ0=;}5A diff --git a/doc/html/classstk_1_1Saxofony-members.html b/doc/html/classstk_1_1Saxofony-members.html index 39859c2..8531239 100644 --- a/doc/html/classstk_1_1Saxofony-members.html +++ b/doc/html/classstk_1_1Saxofony-members.html @@ -8,56 +8,56 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Saxofony Member List

    This is the complete list of members for stk::Saxofony, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Saxofony Member List

    This is the complete list of members for stk::Saxofony, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Saxofony
    controlChange(int number, StkFloat value)stk::Saxofony [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Saxofony [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Saxofony [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    Saxofony(StkFloat lowestFrequency)stk::Saxofony
    setBlowPosition(StkFloat aPosition)stk::Saxofony
    setFrequency(StkFloat frequency)stk::Saxofony [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Saxofony
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Saxofony
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Saxofony [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Saxofony(void)stk::Saxofony
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Saxofony
    controlChange(int number, StkFloat value)stk::Saxofony [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Saxofony [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Saxofony [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    Saxofony(StkFloat lowestFrequency)stk::Saxofony
    setBlowPosition(StkFloat aPosition)stk::Saxofony
    setFrequency(StkFloat frequency)stk::Saxofony [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Saxofony
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Saxofony
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Saxofony [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Saxofony(void)stk::Saxofony
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Saxofony.gif b/doc/html/classstk_1_1Saxofony.gif new file mode 100644 index 0000000000000000000000000000000000000000..22ad0e752d77cb49b7494089885602fa75361bfe GIT binary patch literal 788 zcmV+v1MB=pNk%w1VO9W$0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09F8q000C2IJ(^aFv>}zxH#+0yZ>OgDPn1!s7I!3>uT#O&tgp9IA-6$)q{cH zPw*SgcC;ceqa@;xte{WY+!&|5stby0Du-1m)8{-6X4m4iBQCdP+%9-(@~&I)l()<= z?(ZpiC3|jcV}*QMXJ}wq7>;~GjgfGRIhQnon42M*oSz(?praR}q@bp!oT;jqtgSf} zva__c6acuny1Tr+zP$#&!o$SH#>W7`$ji*l#RkyM($mh+%GB7|zShy&-rn5T-{aKc zgnt4$L8+w!1DCl_4m5)`0@Jt?fw4L0StI;!MQG_$ zM+P7rK|>6+QuM{qno89`0`$d?R5Fgj5V@)%sRlxj5UC*}_R&}>bP#o2a_9|HN{Qf> zh5J;1rZ!_eXiX~@>?5*kg^~^Xc23*BgA*$btXJ{U#eM-tR@>q3q&br(r8P{*%~PL0 z19=VYYBcFsrcd7ht-40));nQuVlBIC%-gtW?NhmO7w_JPmi?{?mt z|J%oVk_0H=fCLt3;DHDx7=(YuEXW`+4n8PMgcABfVTHV0*h>Joa5#)4*l6gCh`V^` z;V&lwkRmfHQX`^+La5lGg%-l7i-|Bs7~_mO=F*~uCeA41i9vR_B9THCDdUn%;+Uk5 z8U9$Jk;S~|Ba%-Fxg?fY-q@mwTz*NTkvev%B$rTbxuKY94vFH8S{8X`oN1cLq?Z|H zspOP(LYX3mXwuoFpKBIMC6Z_ENG6zYg4v~`Y2GO&iOfyPrg3aiI^3n2R@kY8pFS8W SgQNPV;Hjvls_K9V0029kI*^h8 literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Saxofony.html b/doc/html/classstk_1_1Saxofony.html index 4c30ab0..5a03dd6 100644 --- a/doc/html/classstk_1_1Saxofony.html +++ b/doc/html/classstk_1_1Saxofony.html @@ -8,92 +8,88 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Saxofony Class Reference

    STK faux conical bore reed instrument class. -More... -

    -#include <Saxofony.h> -

    +

    stk::Saxofony Class Reference

    +

    STK faux conical bore reed instrument class. +More...

    + +

    #include <Saxofony.h>

    Inheritance diagram for stk::Saxofony:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Saxofony (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Saxofony (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setBlowPosition (StkFloat aPosition)
     Set the "blowing" position between the air column terminations (0.0 - 1.0).
    -void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    -void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Saxofony (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~Saxofony (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setBlowPosition (StkFloat aPosition)
     Set the "blowing" position between the air column terminations (0.0 - 1.0).
    +void startBlowing (StkFloat amplitude, StkFloat rate)
     Apply breath pressure to instrument with given amplitude and rate of increase.
    +void stopBlowing (StkFloat rate)
     Decrease breath pressure with given rate of decrease.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK faux conical bore reed instrument class. -

    -This class implements a "hybrid" digital waveguide instrument that can generate a variety of wind-like sounds. It has also been referred to as the "blowed string" model. The waveguide section is essentially that of a string, with one rigid and one lossy termination. The non-linear function is a reed table. The string can be "blown" at any point between the terminations, though just as with strings, it is impossible to excite the system at either end. If the excitation is placed at the string mid-point, the sound is that of a clarinet. At points closer to the "bridge", the sound is closer to that of a saxophone. See Scavone (2002) for more details.

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

    -Control Change Numbers:

      -
    • Reed Stiffness = 2
    • Reed Aperture = 26
    • Noise Gain = 4
    • Blow Position = 11
    • Vibrato Frequency = 29
    • Vibrato Gain = 1
    • Breath Pressure = 128
    -

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -101,20 +97,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

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

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

    Class constructor, taking the lowest desired playing frequency.

    +

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

    +
    -

    -


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

    stk::Saxofony::Saxofony stk::Saxofony::Saxofony ( StkFloat  lowestFrequency lowestFrequency  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Saxofony.png b/doc/html/classstk_1_1Saxofony.png index adf7a7e15edba93f5f6e67906da897decf026a21..9675ce8725a878d044f674834fecb9cfccab6ca8 100644 GIT binary patch delta 488 zcmVj)Mm9ycGAVRnGNcRg3Z3B!=WdR}phTsq9@B%Aq0;z4IP!ir@dA^-4x&0*zS4kMo=S^&~HVK20?IuD0j!u8V zPRTe4wO~>*8;*BEu>Xqn`9fc4d1dgY*_>TmA2w$f*NJ`DNeDLBV1o@d*kHenJzQEk z$e{&$FAE~r+jIA@>G(Y?Km@?ZAOZopo4`K=s=X*fMr;|!)AX(CC_N>}3uy5v%bFS^ zYiix6hxUmZBw@}<_bO|X(6ROzFSCE=6!uBjVtJRfV7(;e8nM%p5buOwAH({5p)a(& zGWgSM&MvMGo3o4S#6IjK1RHFy!3G;_u;0eQr6qXmE7;puq|-exeeAsFiiKQ8GhbRQ zkP;s_nbAI=hIv%E)N5IJ{nKojh8kgoH`*dK-VpGLrfeHC%Ah=Dz}iTcgaK4rJ>K&L z+t$z&odjF5t0c(Bj@7el$z&eiEwQ}8I!j7casqI*=97wdFOwb537svK2}Nb eVtgX&(tZG(C?t?Skpu?-0000}nTwygyk4-g{-nunV?mo@oxHo^P zL0XgEc)mP`c+7Uq*(>ascYfDi`?vqiF2A?1uVuM~y=@N8I_s>nY_88XY*JWRG1ST- zUS=a@HO6N&p%&Tr7RkD1$&`?4989W*{Rz|8hMlv*(oibYVwOj=t)XF6s2#DZ8Z%aF zIAE!$v9#G?qp7jHsY0z{n>mb_vsZsu*JtlxKly*%S!bPnK8xcv!EmzhP_|sL_6^Wu zfmf@wIgP;y0Ycsls4fV+kb|Sk$5=k`0dkhCx{$RZ5Fj+HgsDmd{)*POzbVUISr2>Ngwte)hyW Z{|7KrEq6_f5K{mE002ovPDHLkV1mbf&nEx? diff --git a/doc/html/classstk_1_1Shakers-members.html b/doc/html/classstk_1_1Shakers-members.html index ca8583d..5ac77a5 100644 --- a/doc/html/classstk_1_1Shakers-members.html +++ b/doc/html/classstk_1_1Shakers-members.html @@ -8,52 +8,52 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Shakers Member List

    This is the complete list of members for stk::Shakers, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Shakers Member List

    This is the complete list of members for stk::Shakers, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    controlChange(int number, StkFloat value)stk::Shakers [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Shakers [virtual]
    noteOn(StkFloat instrument, StkFloat amplitude)stk::Shakers [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    Shakers(void)stk::Shakers
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Shakers [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Shakers(void)stk::Shakers
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    controlChange(int number, StkFloat value)stk::Shakers [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Shakers [virtual]
    noteOn(StkFloat instrument, StkFloat amplitude)stk::Shakers [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Instrmnt [inline, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    Shakers(void)stk::Shakers
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Shakers [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Shakers(void)stk::Shakers
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Shakers.gif b/doc/html/classstk_1_1Shakers.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb4d60e5705c50fe21be41470fb78278f7099ac3 GIT binary patch literal 765 zcmVv0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08apj000C2IJ(^aFv>}lxH#+0yZ<0)g=A@-+la1gE2wTPckpb_wHsVJ82mj! zFX+m(hQ16^h#TmJKc;j;=uUVVCBKyQq9bY(Y{F^QI$G?bd1B$%F_prM+hq?V?qH>s*k6|bcHmf?f~uY>hbdD^!4NS_}}{b+Wr2j0Sw5E;5>uq1|kf%ketGX*~yQuzA7srmcK7#BuvS3MPB9qNp$+9J@R+l)zJoR!W8Jn$Y;yi%~O9ww3fZE~E zQ_@cpLbq)C2_+ICF<{mR0mH~?qozb<4%(`Qk5og8)?E2&G=q^dQjbpYxmJ(Ywudli zi3&$;*Qsvd8hV>T>z*zizGx7` z<RC5DGMzG3-==MknixSnA9fbadq-!~s$ecSbb=-SE!B6W;QnhTC-b z;D-l}=;4YG0+Hc^47Ld4i5`Mj;f*s=xS@(Pim2j_Hv)-ck37a`V1gCeIH8a;ikPI6 zLo#Wgl0D`~Wr$7g=wg*8ZrLQ4Mq)YQm0$8`W{@u;siu!d=7{5!AfB1!n^C4&7|(NmjD1el(&UG literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Shakers.html b/doc/html/classstk_1_1Shakers.html index 3f2d116..ec5f551 100644 --- a/doc/html/classstk_1_1Shakers.html +++ b/doc/html/classstk_1_1Shakers.html @@ -8,71 +8,94 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Shakers Class Reference

    PhISEM and PhOLIES class. -More... -

    -#include <Shakers.h> -

    +

    stk::Shakers Class Reference

    +

    PhISEM and PhOLIES class. +More...

    + +

    #include <Shakers.h>

    Inheritance diagram for stk::Shakers:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Shakers (void)
     Class constructor.
    ~Shakers (void)
     Class destructor.
    void noteOn (StkFloat instrument, StkFloat amplitude)
     Start a note with the given instrument and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + +

    Public Member Functions

    Shakers (void)
     Class constructor.
    ~Shakers (void)
     Class destructor.
    void noteOn (StkFloat instrument, StkFloat amplitude)
     Start a note with the given instrument and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -PhISEM and PhOLIES class. -

    -PhISEM (Physically Informed Stochastic Event Modeling) is an algorithmic approach for simulating collisions of multiple independent sound producing objects. This class is a meta-model that can simulate a Maraca, Sekere, Cabasa, Bamboo Wind Chimes, Water Drops, Tambourine, Sleighbells, and a Guiro.

    -PhOLIES (Physically-Oriented Library of Imitated Environmental Sounds) is a similar approach for the synthesis of environmental sounds. This class implements simulations of breaking sticks, crunchy snow (or not), a wrench, sandpaper, and more.

    -Control Change Numbers:

      -
    • Shake Energy = 2
    • System Decay = 4
    • Number Of Objects = 11
    • Resonance Frequency = 1
    • Shake Energy = 128
    • Instrument Selection = 1071
        -
      • Maraca = 0
      • Cabasa = 1
      • Sekere = 2
      • Guiro = 3
      • Water Drops = 4
      • Bamboo Chimes = 5
      • Tambourine = 6
      • Sleigh Bells = 7
      • Sticks = 8
      • Crunch = 9
      • Wrench = 10
      • Sand Paper = 11
      • Coke Can = 12
      • Next Mug = 13
      • Penny + Mug = 14
      • Nickle + Mug = 15
      • Dime + Mug = 16
      • Quarter + Mug = 17
      • Franc + Mug = 18
      • Peso + Mug = 19
      • Big Rocks = 20
      • Little Rocks = 21
      • Tuned Bamboo Chimes = 22
      -
    -

    -by Perry R. Cook, 1996 - 2009.


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + @@ -92,22 +115,22 @@ by Perry R. Cook, 1996 - 2009.

    Member Function Documentation

    -

    -Start a note with the given instrument and amplitude. -

    -Use the instrument numbers above, converted to frequency values as if MIDI note numbers, to select a particular instrument. -

    Implements stk::Instrmnt.

    +

    Start a note with the given instrument and amplitude.

    +

    Use the instrument numbers above, converted to frequency values as if MIDI note numbers, to select a particular instrument.

    + +

    Implements stk::Instrmnt.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    void stk::Shakers::noteOn void stk::Shakers::noteOn ( StkFloat  instrument,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Shakers.png b/doc/html/classstk_1_1Shakers.png index 4bf75e8dfb651e300250379436ddc011ccd6060e..89f37fa5214103d56cf34d75abf23d458beac471 100644 GIT binary patch delta 463 zcmcc2+`uwHf|G-pfq`KnyW5V5it6ZuST1_s7{PZ!6K3dXl{&u%)b zz|m@(a_oEklidP>SH2zNn_E(tAvSTof8Uam+hTTx>76wBwC_YS$04Z$$Np;aA1*(` z?849zwRh&-@``J$M>JiMXZ-G1-n#MJx%X2alvizUz4c8~|JB_yk0aLaFZ*metG@l! z+shj&UCjUQfAUvO|7UgOeb-}N_4n&M@hZOl18cUw uw@s5cFP9hhSmt}xPdkP8jB)G!GG2b7xHWE8o&YfB7(8A5T-G@yGywqAzvc`8 delta 418 zcmV;T0bTxp1k(eM7zqRe0000~_p7;)At!$UbW%=J06^y0W&i*IX-PyuR9J=WmO*mE zAPhxeleMH9;1gup3w7oDAEA}klQD5~5)FPysi4jU|$s@=I+FW=VfD9E-%MU@5F3pUk$$Pb~2hD$o zwDcm)@bAc7rvZ3tEbt3(`f=@yOE35%aDRI+c-i*{gTK)A0vEWzlY{@-_n3L{H+1{* zPu~C&xy#{i%myg&;1J2YfRwF<`Uo^rI=0fXUi-8bK%3Kjw$k%=W`P56_Hlg&M@JmyYyA!y?*IS* M07*qoM6N<$f-~5^(f|Me diff --git a/doc/html/classstk_1_1Simple-members.html b/doc/html/classstk_1_1Simple-members.html index 0b1805f..013df95 100644 --- a/doc/html/classstk_1_1Simple-members.html +++ b/doc/html/classstk_1_1Simple-members.html @@ -8,55 +8,55 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Simple Member List

    This is the complete list of members for stk::Simple, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Simple Member List

    This is the complete list of members for stk::Simple, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Simple
    controlChange(int number, StkFloat value)stk::Simple [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Simple
    keyOn(void)stk::Simple
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Simple [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Simple [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Simple [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    Simple(void)stk::Simple
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Simple [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Simple(void)stk::Simple
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Simple
    controlChange(int number, StkFloat value)stk::Simple [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::Simple
    keyOn(void)stk::Simple
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Simple [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Simple [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Simple [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    Simple(void)stk::Simple
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Simple [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Simple(void)stk::Simple
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Simple.gif b/doc/html/classstk_1_1Simple.gif new file mode 100644 index 0000000000000000000000000000000000000000..f770823479d07cc53922026a0203cbcd2b9913ef GIT binary patch literal 749 zcmVZFy*TU5yZ@X5j$~;6V4%6gCTYVP;e9@; zd+upxUx9d6L}Of47m9d3iH&QAHIpxXl$SD+n42J$oS&Ybo1vnYq@|Oms5TU>uCK5T z0JF5Uwzs&svj)1ozQ4f1x4go|#>cn@%E-*kz{!*}H_|y9P&i($F0StI-Ai-h=4+cx9a9l%s53@0hsE#7F zi56{P%t-!gBgbkVn|b6oGGj?#u~MpBxnPw`0jgfIh$%Bt%~CXP($OTSP#!oi%y_c$ z(@qSbJm1J+#Al11GFy~%kwYZ|6F`gzm5Bq0Dpe>-iNZ`uMrltsKGAB8LkLAuuW9&j zU9?Co+OA^j?CCIdklneEe2$d@SS;YRff3);fCUX$Fj(oD^|H9_R<}Aqz0J&u^Qg_9 zD}fFzhIFdYrVXX8!LqgM3Gz--l>HD|$b#2yFSMq6x9#2wfg=?Djd*b54w3t!U0eBb z=e?LWl&+BaLF)vu2h{G5`#$gZz}FKW8@ev?@6fYTpN@Sy^A+I_d*`UW{rmXy>)+46 zzO;N>J^WWofCA1!V1Wk;n4m8K82F1Lv@~dpguyJ>i-Z*Bl3|7u7GvRn7zT);hPaG4 zqJsxg=);8^4(K2NCPw%oj2wnYBa8-~cp{D(wkV^EH$JH1i#q    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Simple Class Reference

    STK wavetable/noise instrument. -More... -

    -#include <Simple.h> -

    +

    stk::Simple Class Reference

    +

    STK wavetable/noise instrument. +More...

    + +

    #include <Simple.h>

    Inheritance diagram for stk::Simple:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Simple (void)
     Class constructor.
    ~Simple (void)
     Class destructor.
    -void clear (void)
     Clear internal states.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void keyOn (void)
     Start envelope toward "on" target.
    -void keyOff (void)
     Start envelope toward "off" target.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     Simple (void)
     Class constructor.
    ~Simple (void)
     Class destructor.
    +void clear (void)
     Clear internal states.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void keyOn (void)
     Start envelope toward "on" target.
    +void keyOff (void)
     Start envelope toward "off" target.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK wavetable/noise instrument. -

    -This class combines a looped wave, a noise source, a biquad resonance filter, a one-pole filter, and an ADSR envelope to create some interesting sounds.

    -Control Change Numbers:

      -
    • Filter Pole Position = 2
    • Noise/Pitched Cross-Fade = 4
    • Envelope Rate = 11
    • Gain = 128
    -

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -96,20 +90,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::Simple::Simple stk::Simple::Simple ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Simple.png b/doc/html/classstk_1_1Simple.png index e6af30a8867448ae4bdc940f3523532c94e5bdef..a6b15f1717b6f4e0f07d6ac3ad1bb8938d1fe3e0 100644 GIT binary patch delta 458 zcmV;*0X6=}1N#Gz7zqdi0001bF#WrcAt!$bbW%=J0RR90|NsC0)yh;d0004sNklU#AA^0Jm^0J15^P79#o+~Z&ui)&}Kz-Ibqdm&i%17R7+J_+EYKkjM4St`A_qZ zDvTz!c@J~*8Z5SXfkpBIY#hzC%?*E;_0h(EjrZZtV8b@~q7(L6SmvkhyEa9=jrk?}hRIEESe0U#SEjcTg=Cz2I-Lx9yeKwoO%?#9pg(VGCQ>)v*8OL$aMHGrVEwNeqkY zkYP{JkjSLh5XXDNI2nLA-}A(mqcX?YrhmeU>mai$LFc?3;I`-vW9nnob;NkwI%8a2 zhsFC?NUkHt)sQq8-s96>6I(vy@tS|57Phd3-4w&A<@`*3xCQ3HuA&OcwjW{O+WZF$ zJfPiz1?3Qcmk9a>lc)!XPpClz0b|fQ$e5C;g7%h)1E%?*>9S&?sF7erlZ0J1ckC@o z$k@3zDTt~~C6wOIO8alV_Z9va+aI|yHunR51Cyj35GDkQ-T(jq07*qoM6LruV1j)` B!rlM? diff --git a/doc/html/classstk_1_1SineWave-members.html b/doc/html/classstk_1_1SineWave-members.html index e241443..e5dbada 100644 --- a/doc/html/classstk_1_1SineWave-members.html +++ b/doc/html/classstk_1_1SineWave-members.html @@ -8,53 +8,53 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::SineWave Member List

    This is the complete list of members for stk::SineWave, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::SineWave Member List

    This is the complete list of members for stk::SineWave, including all inherited members.
    addPhase(StkFloat phase)stk::SineWave
    addPhaseOffset(StkFloat phaseOffset)stk::SineWave
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTime(StkFloat time)stk::SineWave
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::SineWave [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::SineWave
    sampleRate(void)stk::Stk [inline, static]
    setFrequency(StkFloat frequency)stk::SineWave
    setRate(StkFloat rate)stk::SineWave [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    SineWave(void)stk::SineWave
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::SineWave [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::SineWave [inline, virtual]
    ~SineWave(void)stk::SineWave
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addPhase(StkFloat phase)stk::SineWave
    addPhaseOffset(StkFloat phaseOffset)stk::SineWave
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addTime(StkFloat time)stk::SineWave
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::SineWave [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::SineWave
    sampleRate(void)stk::Stk [inline, static]
    setFrequency(StkFloat frequency)stk::SineWave
    setRate(StkFloat rate)stk::SineWave [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    SineWave(void)stk::SineWave
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::SineWave [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::SineWave [inline, virtual]
    ~SineWave(void)stk::SineWave
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1SineWave.gif b/doc/html/classstk_1_1SineWave.gif new file mode 100644 index 0000000000000000000000000000000000000000..52e5de496675db16b93c2accd2bc9ae0255b326e GIT binary patch literal 816 zcmV-01JC?NNk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW%vJ*|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QE1C0az%a5WB>fjEw-`h~qUct|%ihJMMU6jYM+OV~#e`m?Vro=7=OO zH2&zMlu=G;WtC70Ipva0>PV%KNpk7sk6d0!<(V#O38sZwt~lnKMRqBtFJ;zAXPYU8 zIpmf_B1UA4fM%KJm6P0wBAHgw2_>S8Dk`O!GL8wOnv9m|;-Y*u8f2W1J}POAc    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::SineWave Class Reference

    STK sinusoid oscillator class. -More... -

    -#include <SineWave.h> -

    +

    stk::SineWave Class Reference

    +

    STK sinusoid oscillator class. +More...

    + +

    #include <SineWave.h>

    Inheritance diagram for stk::SineWave:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    SineWave (void)
     Default constructor.
    ~SineWave (void)
     Class destructor.
    -void reset (void)
     Clear output and reset time pointer to zero.
    void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    void setFrequency (StkFloat frequency)
     Set the data interpolation rate based on a looping frequency.
    -void addTime (StkFloat time)
     Increment the read pointer by time in samples, modulo the table size.
    void addPhase (StkFloat phase)
     Increment the read pointer by a normalized phase value.
    void addPhaseOffset (StkFloat phaseOffset)
     Add a normalized phase offset to the read pointer.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    SineWave (void)
     Default constructor.
    ~SineWave (void)
     Class destructor.
    +void reset (void)
     Clear output and reset time pointer to zero.
    void setRate (StkFloat rate)
     Set the data read rate in samples. The rate can be negative.
    void setFrequency (StkFloat frequency)
     Set the data interpolation rate based on a looping frequency.
    +void addTime (StkFloat time)
     Increment the read pointer by time in samples, modulo the table size.
    void addPhase (StkFloat phase)
     Increment the read pointer by a normalized phase value.
    void addPhaseOffset (StkFloat phaseOffset)
     Add a normalized phase offset to the read pointer.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Detailed Description

    -STK sinusoid oscillator class. -

    -This class computes and saves a static sine "table" that can be shared by multiple instances. It has an interface similar to the WaveLoop class but inherits from the Generator class. Output values are computed using linear interpolation.

    -The "table" length, set in SineWave.h, is 2048 samples by default.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK sinusoid oscillator class.

    +

    This class computes and saves a static sine "table" that can be shared by multiple instances. It has an interface similar to the WaveLoop class but inherits from the Generator class. Output values are computed using linear interpolation.

    +

    The "table" length, set in SineWave.h, is 2048 samples by default.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -94,21 +83,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2007.

    Member Function Docum
    -

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

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

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

    +

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

    +
    -

    - + +

    void stk::SineWave::setRate void stk::SineWave::setRate ( StkFloat  rate rate  )  [inline]
    - + - + @@ -116,21 +104,20 @@ If the rate value is negative, the data is read in reverse order.
    -

    -Set the data interpolation rate based on a looping frequency. -

    -This function determines the interpolation rate based on the file size and the current Stk::sampleRate. The frequency value corresponds to file cycles per second. The frequency can be negative, in which case the loop is read in reverse order. +

    Set the data interpolation rate based on a looping frequency.

    +

    This function determines the interpolation rate based on the file size and the current Stk::sampleRate. The frequency value corresponds to file cycles per second. The frequency can be negative, in which case the loop is read in reverse order.

    +
    -

    - + +

    void stk::SineWave::setFrequency void stk::SineWave::setFrequency ( StkFloat  frequency frequency  ) 
    - + - + @@ -138,21 +125,20 @@ This function determines the interpolation rate based on the file size and the c
    -

    -Increment the read pointer by a normalized phase value. -

    -This function increments the read pointer by a normalized phase value, such that phase = 1.0 corresponds to a 360 degree phase shift. Positive or negative values are possible. +

    Increment the read pointer by a normalized phase value.

    +

    This function increments the read pointer by a normalized phase value, such that phase = 1.0 corresponds to a 360 degree phase shift. Positive or negative values are possible.

    +
    -

    - + +

    void stk::SineWave::addPhase void stk::SineWave::addPhase ( StkFloat  phase phase  ) 
    - + - + @@ -160,18 +146,17 @@ This function increments the read pointer by a normalized phase value, such that
    -

    -Add a normalized phase offset to the read pointer. -

    -A phaseOffset = 1.0 corresponds to a 360 degree phase offset. Positive or negative values are possible. +

    Add a normalized phase offset to the read pointer.

    +

    A phaseOffset = 1.0 corresponds to a 360 degree phase offset. Positive or negative values are possible.

    +
    -

    - + +

    void stk::SineWave::addPhaseOffset void stk::SineWave::addPhaseOffset ( StkFloat  phaseOffset phaseOffset  ) 
    - + @@ -191,22 +176,22 @@ A phaseOffset = 1.0 corresponds to a 360 degree phase offset. Positive
    -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::SineWave::tick StkFrames & stk::SineWave::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1SineWave.png b/doc/html/classstk_1_1SineWave.png index ad28a429f1f3f1d2097b4c4e66ffaf172126bb41..68f4673cab463f4ce9e44f5b28381f51cf6e2e86 100644 GIT binary patch delta 501 zcmV!=bAW@&w5!TX?gPQ1%qLDMG4`2~~ z0gWEJLIXJiAjZDT;Z552hCHMImGkhkv>8lzt{-OPJRwWN4s(I#ge=NV|(j zTSiMrE25W?!+M8^{%3SpOIxk%4gU3u@oJaRpQ9i+7i-=*cPxm z<2Pi;KaHRpqIZbsKTU_VwAISq@Xw%23A5wqQo`&&`b%$!XwjlYixw?f^ebtEwS=e> zihdi7H1z@0@I0-5o}=M^F3~_rb{TzwKT8P-bs;~7e>hTyjdT^O(YJ5oU@KvhdD9ys z6WtBU_Hruhhw^xb?#7%y+F<<;CVGhU=TjNSgm4*oS5!zk2i0|z>#2-4G>QD>Q9|0< rUdAccegnGE-f_LBcZldeO^3A~mwYA?_H{mU00000NkvXXu0mjfm8$73 delta 445 zcmV;u0Yd(!1nvWn7zqRe0001$aN!k^At!$UbW%=J06^y0W&i*Igh@m}R9J=WmP>NO zAPk0KlQq%}pf_kQ)Rpglgz5!`*d`&VXPOj+SYSRtk~7ZlzDCS_ru*&VZRnU#Jz&Ck zFOA&0K|=ym26_9ubf1>(P(p~rVQe?w(A2>Cya;ziYG;pbR3HsW{eU>qRe%w!t8}FTQTAuu#$t(NQ`A}2hej7&hrE}>rASJJt|D1! znxjlnU6i!1=voD;z%zZUSW8zbu!Mh_ku6=RKrW8dL^4Qv1FZW8e<$xwPd#`F{R00D zlb-aX{}&A-=EA^<{>ACyA(ZuAK0P{A^G7r|2*E2&U+-xV7@a$iX}VAgd?k(?51ow7 zX(!Xvzz(Zs1DTxF&<<8w527I$EqMnS=j=2R%hLAJH0=<@s<{0X9ah@h8VM;cXACTE nu7S`V%su=pC;d1*^oIBWn0PuW*UH!K00000NkvXXu0mjfb`#I7 diff --git a/doc/html/classstk_1_1SingWave-members.html b/doc/html/classstk_1_1SingWave-members.html index 1ef2b6a..131eaaa 100644 --- a/doc/html/classstk_1_1SingWave-members.html +++ b/doc/html/classstk_1_1SingWave-members.html @@ -8,60 +8,60 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::SingWave Member List

    This is the complete list of members for stk::SingWave, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::SingWave Member List

    This is the complete list of members for stk::SingWave, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::SingWave [inline]
    normalize(void)stk::SingWave [inline]
    normalize(StkFloat peak)stk::SingWave [inline]
    noteOff(void)stk::SingWave [inline]
    noteOn(void)stk::SingWave [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::SingWave [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::SingWave
    setGainRate(StkFloat rate)stk::SingWave [inline]
    setGainTarget(StkFloat target)stk::SingWave [inline]
    setRandomGain(StkFloat gain)stk::SingWave [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSweepRate(StkFloat rate)stk::SingWave [inline]
    setVibratoGain(StkFloat gain)stk::SingWave [inline]
    setVibratoRate(StkFloat rate)stk::SingWave [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    SingWave(std::string fileName, bool raw=false)stk::SingWave
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::SingWave [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::SingWave [inline, virtual]
    ~SingWave(void)stk::SingWave
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Generator [inline]
    Generator(void)stk::Generator [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Generator [inline]
    lastOut(void) const stk::SingWave [inline]
    normalize(void)stk::SingWave [inline]
    normalize(StkFloat peak)stk::SingWave [inline]
    noteOff(void)stk::SingWave [inline]
    noteOn(void)stk::SingWave [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    reset(void)stk::SingWave [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::SingWave
    setGainRate(StkFloat rate)stk::SingWave [inline]
    setGainTarget(StkFloat target)stk::SingWave [inline]
    setRandomGain(StkFloat gain)stk::SingWave [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setSweepRate(StkFloat rate)stk::SingWave [inline]
    setVibratoGain(StkFloat gain)stk::SingWave [inline]
    setVibratoRate(StkFloat rate)stk::SingWave [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    SingWave(std::string fileName, bool raw=false)stk::SingWave
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(void)stk::SingWave [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::SingWave [inline, virtual]
    ~SingWave(void)stk::SingWave
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1SingWave.gif b/doc/html/classstk_1_1SingWave.gif new file mode 100644 index 0000000000000000000000000000000000000000..192ad13070ca2b6cb7cc0a83d80db01e7b9ab31d GIT binary patch literal 823 zcmV-71IYYGNk%w1VOju)0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09pWu000C2IJ(^aFv>}*xH#+0yZ>PLDPn1!s7R)4>w4=e&uC2FIA`a<)q{cH zPw*SwcDN!iqa@}8NLSD|ZElRzo>dlQHI+l_l<9LG2RCdH+ZmhPw5~TyHGSDHdFyND z82NZDdMA8uZDfXhTxe-wS{RRgLXMJgj8B+2gPEKqo1LIAm!YJdqot^#sjI52t{I=N zoE5aSwzswby1Tr+zQ4f12EoL|#>dFXy~E1Q&d<#T($Lh^)&SDX*W28}+1lOV-QVEi z=GW!t>eT7$?#k`&^2PD<_P+J^`q=yZ`2GNOpty@_Yk589Mp?%BQaNM?_ z`8w{L8AFt=YQr+A!dSGUKdT>+g}tGu(L7IYXR@uE1@GQ9asv-K9MtdPDug3ngtNJG zn*n3W+$DW_w&~WcV~0j=`?K!ezlYB_UVM3v=h3GRxjtES>+RjgNA_N3{g?My=2y8N zW&Zz?|A`bJNCS3MphgE`lwd^*PShYo4>lB`LKEtO*o7EosNsejcIe@T^BEIFh{cRZ zVlXD2_)Cf^_QE1C0az%a5WB>fjEw-`h~qUct|%ihJMMU6jYM+OV~#e`m?Vro=7=OO zBQE))lNP3^V~t1lDCLq@Qu!p5RsNV{mr{CJ=9#`|>0+2O7D;B2PR1x_lW$Im<%(nq z38a{A!a3)hSXyc3Bx&l|XPhX4NoAd0nyILxUBam6mV7o@X`L)a>L{F>LTRX#fFe4m zpq)nfsE|r>isYw;_S334N7|#QJF&`IE3B`ccq@s!hS=+TzsC3Bu*4Q?EQbjI06PQ@ Bp<)04 literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1SingWave.html b/doc/html/classstk_1_1SingWave.html index 1e14df1..5136eed 100644 --- a/doc/html/classstk_1_1SingWave.html +++ b/doc/html/classstk_1_1SingWave.html @@ -8,108 +8,91 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::SingWave Class Reference

    STK "singing" looped soundfile class. -More... -

    -#include <SingWave.h> -

    +

    stk::SingWave Class Reference

    +

    STK "singing" looped soundfile class. +More...

    + +

    #include <SingWave.h>

    Inheritance diagram for stk::SingWave:
    - -

    - -stk::Generator -stk::Stk +
    + + +stk::Generator +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     SingWave (std::string fileName, bool raw=false)
     Class constructor taking filename argument.
    ~SingWave (void)
     Class destructor.
    -void reset (void)
     Reset file to beginning.
    -void normalize (void)
     Normalize the file to a maximum of +-1.0.
    -void normalize (StkFloat peak)
     Normalize the file to a maximum of +- peak.
    -void setFrequency (StkFloat frequency)
     Set looping parameters for a particular frequency.
    -void setVibratoRate (StkFloat rate)
     Set the vibrato frequency in Hz.
    -void setVibratoGain (StkFloat gain)
     Set the vibrato gain.
    -void setRandomGain (StkFloat gain)
     Set the random-ness amount.
    -void setSweepRate (StkFloat rate)
     Set the sweep rate.
    -void setGainRate (StkFloat rate)
     Set the gain rate.
    -void setGainTarget (StkFloat target)
     Set the gain target value.
    -void noteOn (void)
     Start a note.
    -void noteOff (void)
     Stop a note.
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     SingWave (std::string fileName, bool raw=false)
     Class constructor taking filename argument.
    ~SingWave (void)
     Class destructor.
    +void reset (void)
     Reset file to beginning.
    +void normalize (void)
     Normalize the file to a maximum of +-1.0.
    +void normalize (StkFloat peak)
     Normalize the file to a maximum of +- peak.
    +void setFrequency (StkFloat frequency)
     Set looping parameters for a particular frequency.
    +void setVibratoRate (StkFloat rate)
     Set the vibrato frequency in Hz.
    +void setVibratoGain (StkFloat gain)
     Set the vibrato gain.
    +void setRandomGain (StkFloat gain)
     Set the random-ness amount.
    +void setSweepRate (StkFloat rate)
     Set the sweep rate.
    +void setGainRate (StkFloat rate)
     Set the gain rate.
    +void setGainTarget (StkFloat target)
     Set the gain target value.
    +void noteOn (void)
     Start a note.
    +void noteOff (void)
     Stop a note.
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (void)
     Compute and return one output sample.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill a channel of the StkFrames object with computed outputs.
    -


    Detailed Description

    -STK "singing" looped soundfile class. -

    -This class loops a specified soundfile and modulates it both periodically and randomly to produce a pitched musical sound, like a simple voice or violin. In general, it is not be used alone because of "munchkinification" effects from pitch shifting. Within STK, it is used as an excitation source for other instruments.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK "singing" looped soundfile class.

    +

    This class loops a specified soundfile and modulates it both periodically and randomly to produce a pitched musical sound, like a simple voice or violin. In general, it is not be used alone because of "munchkinification" effects from pitch shifting. Within STK, it is used as an excitation source for other instruments.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -129,19 +112,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor taking filename argument. -

    -An StkError will be thrown if the file is not found, its format is unknown, or a read error occurs. If the soundfile has no header, the second argument should be true and the file data will be assumed to consist of 16-bit signed integers in big-endian byte order at a sample rate of 22050 Hz. +

    Class constructor taking filename argument.

    +

    An StkError will be thrown if the file is not found, its format is unknown, or a read error occurs. If the soundfile has no header, the second argument should be true and the file data will be assumed to consist of 16-bit signed integers in big-endian byte order at a sample rate of 22050 Hz.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::SingWave::SingWave stk::SingWave::SingWave ( std::string  fileName,
    - + @@ -161,22 +143,22 @@ An -

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

    -The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Generator.

    +

    Fill a channel of the StkFrames object with computed outputs.

    +

    The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Generator.

    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::SingWave::tick StkFrames & stk::SingWave::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1SingWave.png b/doc/html/classstk_1_1SingWave.png index 56a1b6edba33fa77ebff41a4116e7e44cddd2e8e..bc7d17ead0ac3938175cfe93c5156f486148b9ac 100644 GIT binary patch delta 517 zcmey#yp3go1SbbG0|P@q1CPi=MfG})k|4iehW`+7^;C!v0|VnxPZ!6K3dXl{FHSnF zz~Q<#?b!eSPih4YX8Q(DHuBwm;jN!S!G-RxmbrP;w!KMd+$Sn!*<8ag`GfR@4L3wh zCKxjuI&oMc&gJ#33D%qeg;I9iVr3^JLF>GiB|<#yN}vce!3Yn)q5SMcZ_zXwVk-aHU()rEA%j?5#Tc zc2abSOSGk+q=Ueu!k$eE##>lcHuKbP?<{Ufb96I#eaJ|5?XJsJ3HIVoShsLoYP%tI zV&+BROE3K;OPn6@aemqFMugiQrg6qu^L#me!K0afLECYo-}9WE|HnEpYo1KJ!c;q5 zNGMDB?1lAtXKb9V|2ehcskdC=lFfFJR;ic6shV`MLU)a|V3!LnFHeRlhc-%3q(68D?c*)mmhI~=md-^WEv-o`Ozf}C12v_;P me(UZiZhN>Rq@ML{TKzI#HHo`sQNMuk&EVFQqq delta 456 zcmV;(0XP1(1o;Dy7zqRe0001$aN!k^At!$UbW%=J06^y0W&i*Ik4Z#9R9J=WmR*vA zAPmRhrOzZcfZm{cp?&iHN7#IcuqrLnWv1Np$Sref2bVOOLnf$IvmMTEK+y zQ5v~-hlT{G4D#};>oG0Mp@a~L!&ooAqv-_evlF&xA~P);wP}kaXL%c4tXt!OOcc^T|~0c zG)I}DnkZ@iqDvL10?+iZVl`c;z#M<-itOn^1#)quCXzwY0kG~1z9*kfPdzw|xZA!L6qM~e={{22`nLhwq{&wFy>0XbkbM$?7Pz*pkP@U547 zj!WEvfqbD8Y_noEP?NnX+QCNaMg=W-2YNv=ZIM`(nU*BgO|c?wU(>#z&1^K0usdU5 yar1!C9?Z0#<-x=$9lB@_M}sf-#*U%8z7Rh!pE`;RNRFTY0000    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Sitar Member List

    This is the complete list of members for stk::Sitar, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Sitar Member List

    This is the complete list of members for stk::Sitar, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Sitar
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Sitar [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Sitar [virtual]
    pluck(StkFloat amplitude)stk::Sitar
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Sitar [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    Sitar(StkFloat lowestFrequency=20)stk::Sitar
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Sitar [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Sitar(void)stk::Sitar
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Sitar
    controlChange(int number, StkFloat value)stk::Instrmnt [inline, virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Sitar [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Sitar [virtual]
    pluck(StkFloat amplitude)stk::Sitar
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Sitar [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    Sitar(StkFloat lowestFrequency=20)stk::Sitar
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Sitar [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~Sitar(void)stk::Sitar
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Sitar.gif b/doc/html/classstk_1_1Sitar.gif new file mode 100644 index 0000000000000000000000000000000000000000..5c83399c24bb86a6a14bf391524ad2e942460fb9 GIT binary patch literal 735 zcmV<50wDcINk%w1VN3vs0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui089Xg000C2IJ(^aFv>ZFy*TU5yZ@X5j$~;6V4%6gCTYVP;e9@; zd+upxUx9d6L}Of47m9d3iH&QAHIpxXl$SD+n42J$oS&Ybo1vnYq@|Oms5TU>uCK5T z0JF5Uwzs&svj)1ozQ4f1x4go|#>cn@%E-*kz{!*}H_|y9P&i($F0StI-Ai-h=4+cx9a9l%s53@0hsE#7F zi56{P%t-!gBgbkVn|b6oGGj?#u~MpBxnPw`0jgfIh$%Bt%~CXP($OTSP#!oi%y_c$ z(@qSbJm1J+#Al11GFy~%kwYZ|6F`gzm5Bq0Dpe>-iNZ`uMrltsKGAB8LkLAuuW9&j zU9?Co+OA^j?CCIdklneEe2$d@SS;YRff3);fCUX$Fj(oD^|H9_R<}Aqz0J&u^Qg_9 zD}fFzhIFdYrVXX8!LqgM3Gz--l>HD|$b#2yFSMq6x9#2wfg=?Djd*b54w3t!U0eBb z=e?LWl&+BaLF)vu2h{G5`#$gZz}FKW8@ev?@6fYTpN@Sy^A+I_d*`UW{rmXy>)+46 zzNUOzJ^WWofCA1!V1Wk;m|!sh82F1Lv@{5Sgw!l3jD!^Cl3|7uW@Di)1p3h7h_`U) zpokMD*r16TvWN?Y4t7W(j0SQ@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Sitar Class Reference

    STK sitar string model class. -More... -

    -#include <Sitar.h> -

    +

    stk::Sitar Class Reference

    +

    STK sitar string model class. +More...

    + +

    #include <Sitar.h>

    Inheritance diagram for stk::Sitar:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Sitar (StkFloat lowestFrequency=20)
     Class constructor, taking the lowest desired playing frequency.
    ~Sitar (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + +

    Public Member Functions

    Sitar (StkFloat lowestFrequency=20)
     Class constructor, taking the lowest desired playing frequency.
    ~Sitar (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK sitar string model class. -

    -This class implements a sitar plucked string physical model based on the Karplus-Strong algorithm.

    -This is a digital waveguide model, making its use possibly subject to patents held by Stanford University, Yamaha, and others. There exist at least two patents, assigned to Stanford, bearing the names of Karplus and/or Strong.

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


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

    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 - 2010.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Sitar.png b/doc/html/classstk_1_1Sitar.png index 53a29d97a8c1fafeda5f83896c458346d75c3262..801982a4ee0532865154ccfb5bb5dbc8fbacc2ea 100644 GIT binary patch delta 437 zcmV;m0ZRV21Lgye7zqdi0001bF#WrcAt!$bbW%=J0RR90|NsC0)yh;d0004XNklv3h@OIJn!pRDT!JpR!X9liamIm#E20iMvNFS5fM2OmmHe5 zi2WIZD&k>S^YIk_5C*6M2p&|Sz?fFppF&#}^^}g)terd_4vCtnLAz{^Pna1)FMj== zo-P%(Cbs!I=IK2wwt2#$e1Xkdb8dh024;P`$KY$ss$yc=vj%Roxxm70`8cizFt!;7FtvG!jU{maZ(!DD+x{U_W2<5F f*(CO5EOGq+HLf66H?8Y#00000NkvXXu0mjf1lrF1 delta 389 zcmV;00eb%C1GfW^7zqRe0002Lz!18TAt!$UbW%=J06^y0W&i*IO-V#SR9J=WmQ8NN zAPj}^rfcjQnBJhhP*=JC5$YdEXn+Z=W-(FmEJDnOAJ!=H3!hUFKGH^e$b4M~OJJ^uRF#Fh`ajyZ8^VGCQ>O);E`5NGPcO|Y^Cj3L4$7G)Ji7zT`9 zLo*R0pgiIU1J#M929nYj`Qf>m>EtZryTx6q7KQpScqeTOE}C1&q7CLdaD}O;c2Lwn jI)$F-qgYsj&3%C19LOBfCG%w200000NkvXXu0mjf86&k5 diff --git a/doc/html/classstk_1_1Skini-members.html b/doc/html/classstk_1_1Skini-members.html index a35ae81..f44a99f 100644 --- a/doc/html/classstk_1_1Skini-members.html +++ b/doc/html/classstk_1_1Skini-members.html @@ -8,47 +8,47 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Skini Member List

    This is the complete list of members for stk::Skini, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Skini Member List

    This is the complete list of members for stk::Skini, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    nextMessage(Skini::Message &message)stk::Skini
    parseString(std::string &line, Skini::Message &message)stk::Skini
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFile(std::string fileName)stk::Skini
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    Skini()stk::Skini
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    whatsThisController(long number)stk::Skini [static]
    whatsThisType(long type)stk::Skini [static]
    ~Skini()stk::Skini
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    nextMessage(Skini::Message &message)stk::Skini
    parseString(std::string &line, Skini::Message &message)stk::Skini
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFile(std::string fileName)stk::Skini
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    Skini()stk::Skini
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    whatsThisController(long number)stk::Skini [static]
    whatsThisType(long type)stk::Skini [static]
    ~Skini()stk::Skini
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Skini.gif b/doc/html/classstk_1_1Skini.gif new file mode 100644 index 0000000000000000000000000000000000000000..2baaae22705579f3f1cf05d481ea9ce12ded2385 GIT binary patch literal 460 zcmV;-0Wrl%1As;jK6uCJ;F zu(PzawzIOgy1TmuzP!M}uD-d##=XSF$IH0M%+IvS(9^8a)YR73(AnC|+}+3D;KJhL zz~$z>>D%ki=mahyL9wF6 zix@L%%m|WjSB{RlK7zC*awM&iCSjpesVV?T9jjbUoF#K&O`0uh-IRGV*vghXKk{Vh zYAArAC3_xKY7}YAoIqQ-tQiz4Q>Id*zKppO>QS#;UnSLgtLoFQR*Nb<>y&6(s$PxS zESeVWTC{bWvQ;aV>eQ!lDW3fr7%bV8eG${VtN5ql!;iy8mdY5hyu0RTJy C7VUrl literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Skini.html b/doc/html/classstk_1_1Skini.html index 5345b5c..a9bd669 100644 --- a/doc/html/classstk_1_1Skini.html +++ b/doc/html/classstk_1_1Skini.html @@ -8,78 +8,69 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Skini Class Reference

    STK SKINI parsing class. -More... -

    -#include <Skini.h> -

    +

    stk::Skini Class Reference

    +

    STK SKINI parsing class. +More...

    + +

    #include <Skini.h>

    Inheritance diagram for stk::Skini:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Classes

    struct  Message
     A message structure to store and pass parsed SKINI messages. More...

    Public Member Functions

    Skini ()
     Default constructor.
    ~Skini ()
     Class destructor.
    bool setFile (std::string fileName)
     Set a SKINI formatted file for reading.
    long nextMessage (Skini::Message &message)
     Parse the next file message (if a file is loaded) and return the message type.
    long parseString (std::string &line, Skini::Message &message)
     Attempt to parse the given string and returning the message type.

    Static Public Member Functions

    -static std::string whatsThisType (long type)
     Return the SKINI type string for the given type value.
    -static std::string whatsThisController (long number)
     Return the SKINI controller string for the given controller number.
    + + + + + + + + + + + + + + + + + + +

    Classes

    struct  Message
     A message structure to store and pass parsed SKINI messages. More...

    Public Member Functions

    Skini ()
     Default constructor.
    ~Skini ()
     Class destructor.
    bool setFile (std::string fileName)
     Set a SKINI formatted file for reading.
    long nextMessage (Skini::Message &message)
     Parse the next file message (if a file is loaded) and return the message type.
    long parseString (std::string &line, Skini::Message &message)
     Attempt to parse the given string and returning the message type.

    Static Public Member Functions

    +static std::string whatsThisType (long type)
     Return the SKINI type string for the given type value.
    +static std::string whatsThisController (long number)
     Return the SKINI controller string for the given controller number.
    -


    Detailed Description

    -STK SKINI parsing class. -

    -This class parses SKINI formatted text messages. It can be used to parse individual messages or it can be passed an entire file. The SKINI specification is Perry's and his alone, but it's all text so it shouldn't be too hard to figure out.

    -SKINI (Synthesis toolKit Instrument Network Interface) is like MIDI, but allows for floating-point control changes, note numbers, etc. The following example causes a sharp middle C to be played with a velocity of 111.132:

    +


    Detailed Description

    +

    STK SKINI parsing class.

    +

    This class parses SKINI formatted text messages. It can be used to parse individual messages or it can be passed an entire file. The SKINI specification is Perry's and his alone, but it's all text so it shouldn't be too hard to figure out.

    +

    SKINI (Synthesis toolKit Instrument Network Interface) is like MIDI, but allows for floating-point control changes, note numbers, etc. The following example causes a sharp middle C to be played with a velocity of 111.132:

        noteOn  60.01  111.132
    -

    -

    See also:
    Synthesis toolKit Instrument Network Interface (SKINI)
    -by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Documentation

    - +
    See also:
    Synthesis toolKit Instrument Network Interface (SKINI)
    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -87,21 +78,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Set a SKINI formatted file for reading. -

    -If the file is successfully opened, this function returns true. Otherwise, false is returned. +

    Set a SKINI formatted file for reading.

    +

    If the file is successfully opened, this function returns true. Otherwise, false is returned.

    +
    -

    - + +

    bool stk::Skini::setFile bool stk::Skini::setFile ( std::string  fileName fileName  ) 
    - + - + @@ -109,18 +99,17 @@ If the file is successfully opened, this function returns true. Otherwi
    -

    -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. +

    Parse the next file message (if a file is loaded) and return the message type.

    +

    This function skips over lines in a file which cannot be parsed. A type value equal to zero in the referenced message structure (and the returned value) indicates the file end is reached or no file is open for reading.

    +
    -

    - + +

    long stk::Skini::nextMessage long stk::Skini::nextMessage ( Skini::Message message message  ) 
    - + @@ -140,20 +129,20 @@ This function skips over lines in a file which cannot be parsed. A type value eq
    -

    -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. +

    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 documentation for this class was generated from the following file:
    long stk::Skini::parseString long stk::Skini::parseString ( std::string &  line,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Skini.png b/doc/html/classstk_1_1Skini.png index 0200fd2f9c600b59cc4fcaf2e524f64f746dabc5..7ba6be55957781b28d52a32fcd4a5477e271307c 100644 GIT binary patch delta 291 zcmV+;0o?w@0@VVL7zqdi0001T6y{-(At!$bbW%=J0RR90|NsC0)yh;d0002wNklH9yjKh{z}ie|*jC}c6)(XTyjnZM~s6dmny6?_(2gL($w$Zx?| zS_}iN0ZykZ0DiW7}E9hC*1|b^?oS%gal9AK0)xR|n6LbddJwd178`Cbh;DQS-`0HRKig4Xl!2~kT08W{I#a#@; z+t521AR4cZ*K%)N!pVYVe;tQucxt@N!mF>Q<~`p+O`c$juOsn0<)dH p?Rf?V#_29?_nzyk`dv6t52~^arDYEglpFv6002ovPDHLkV1lHaj2{31 delta 274 zcmV+t0qy?P0>uK57zqRe0002DKlFbdn zAPj}^rDvNBOgCs3>M8q=P#!;_I4V&TMT(+WC>VeCvx9K&p}AKW*z+9NYu-hI2LBIh z@(fn5l7mPRUveu(fof6}qk## zV|6RUXP1-9gTaOd((_*DUK2Z(|@xOKlaW~iN_E5 Y3l}bVNWzD7UjP6A07*qoM6N<$g3a`I$N&HU diff --git a/doc/html/classstk_1_1Socket-members.html b/doc/html/classstk_1_1Socket-members.html index 1454d46..c9973a7 100644 --- a/doc/html/classstk_1_1Socket-members.html +++ b/doc/html/classstk_1_1Socket-members.html @@ -8,51 +8,51 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Socket Member List

    This is the complete list of members for stk::Socket, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Socket Member List

    This is the complete list of members for stk::Socket, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)=0stk::Socket [pure virtual]
    readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    writeBuffer(const void *buffer, long bufferSize, int flags=0)=0stk::Socket [pure virtual]
    writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)=0stk::Socket [pure virtual]
    readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    writeBuffer(const void *buffer, long bufferSize, int flags=0)=0stk::Socket [pure virtual]
    writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Socket.gif b/doc/html/classstk_1_1Socket.gif new file mode 100644 index 0000000000000000000000000000000000000000..1eecd42c86c4cbe0e4171c916e03f5fdd5278175 GIT binary patch literal 1539 zcmV+e2K@O)Nk%w1VJiWM0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui04o8A000C22)f+|Q9XRXFyZ>M)j+kYhXsWJk>#~C&&vb3yc&_h!KfJ)8 za7ZkoV!fnt$yEM~(5Q4uWgwf_takUTdcWXs9GRdNPNKmX}_PTY!C>kv4^$e4l5Pn5U>inpu&Kf}fm_ zeUgT$wzom6SfPZWII*eAujucI^Y*MaZz!|V9P?UVdX-T43)^&1H1U%-QE_7Pk-2cbhm3K>eIVep|v zDG?`5ta$#hqZ^GNd2sYd@TQ#Euir3z{|crOc(7q3g%2wZl6bLW7L6ZEJ`s7c<)fD~1F5XJb5qZt zQE(1@c{J(CrcXakt$H!*)`wri9xQwI-`chh(%a3ux9{J;g9{(-J2$2PJdqo>q ze*X6V`z_EPe+2Ru;D8p`ho2Gl!ROz74;rYRfCWC-+=Ue;xL_R(PFP-g0Yc~?10jl- zp?Dj%pa&opuXPr~T zS&W`|I>6^GfA$$8afB9X=%K+0`Vel47R6|zKsg2JU6M{J7gmSqu*4Q?Y_3v8{$=Yi z%UaTGG0)->Endo2%hR;BV4I4zc5r)&w{#^76}Xp>yN0=npqq%gfLY5FyI{b3hrHd2 z`>wk)(OZYUeA&Aczia?3g}`bMEQY~|;j0wFMKJt@!(Mos)5IMZK=H*HNPscM7H>?k z#vV`HamYEnWHLn>pR6)8E~z|B%PyybOw1^;OmodJ->ikrI%~vp&k|t(^hPNU&Ct(A z4L0Auwd4b7~>){tP$Odv#iodekB%(BPVWG}Hz+A~ni z1KMjhk&W8o=zw%N=$vgg+)78y_uF{)ZFoF@bN#gqa$haVIef>X^&rarV1swtlEi{J z$pUV=;-ky_<_T9_4g8Ck&lm1RGtLrk3JdmSPx#oqN154|{ z*TDMj_V}K5FPHOzIPq$uE(|4|BmaBh%|K6i-H^NTeD9R#Uib8tfB*gK(LaBE*AOt` z{Pv0)K0Ex$*FSvm0vtbn=)$XSKK<(p+wzLnINGU?aM%Nd|H_9u;H8g!5730|5U4!v zIirEI89LOgFS4m68Oob8|r5-}r z4^@IPlLT?)Dmy7Py}`1U+_)t!vw+H7?o5}yWCAOLDNI@tGj6~    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Socket Class Reference

    STK internet socket abstract base class. -More... -

    -#include <Socket.h> -

    +

    stk::Socket Class Reference

    +

    STK internet socket abstract base class. +More...

    + +

    #include <Socket.h>

    Inheritance diagram for stk::Socket:
    - -

    - -stk::Stk -stk::TcpClient -stk::TcpServer -stk::UdpSocket +
    + + +stk::Stk +stk::TcpClient +stk::TcpServer +stk::UdpSocket +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Socket ()
     Class constructor.
    -virtual ~Socket ()
     Class destructor.
    -int id (void) const
     Return the socket descriptor.
    -int port (void) const
     Return the socket port number.
    -virtual int writeBuffer (const void *buffer, long bufferSize, int flags=0)=0
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    -virtual int readBuffer (void *buffer, long bufferSize, int flags=0)=0
     Read an input buffer, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.

    Static Public Member Functions

    -static void close (int socket)
     Close the socket.
    -static bool isValid (int socket)
     Returns true if the socket descriptor is valid.
    -static void setBlocking (int socket, bool enable)
     If enable = false, the socket is set to non-blocking mode. When first created, sockets are by default in blocking mode.
    -static int writeBuffer (int socket, const void *buffer, long bufferSize, int flags)
     Write a buffer via the specified socket. Returns the number of bytes written or -1 if an error occurs.
    -static int readBuffer (int socket, void *buffer, long bufferSize, int flags)
     Read a buffer via the specified socket. Returns the number of bytes read or -1 if an error occurs.
    + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Socket ()
     Class constructor.
    +virtual ~Socket ()
     Class destructor.
    +int id (void) const
     Return the socket descriptor.
    +int port (void) const
     Return the socket port number.
    +virtual int writeBuffer (const void *buffer, long bufferSize, int flags=0)=0
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    +virtual int readBuffer (void *buffer, long bufferSize, int flags=0)=0
     Read an input buffer, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.

    Static Public Member Functions

    +static void close (int socket)
     Close the socket.
    +static bool isValid (int socket)
     Returns true if the socket descriptor is valid.
    +static void setBlocking (int socket, bool enable)
     If enable = false, the socket is set to non-blocking mode. When first created, sockets are by default in blocking mode.
    +static int writeBuffer (int socket, const void *buffer, long bufferSize, int flags)
     Write a buffer via the specified socket. Returns the number of bytes written or -1 if an error occurs.
    +static int readBuffer (int socket, void *buffer, long bufferSize, int flags)
     Read a buffer via the specified socket. Returns the number of bytes read or -1 if an error occurs.
    -


    Detailed Description

    -STK internet socket abstract base class. -

    -This class provides common functionality for TCP and UDP internet socket server and client subclasses. This class also provides a number of static functions for use with external socket descriptors.

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


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

    Detailed Description

    +

    STK internet socket abstract base class.

    +

    This class provides common functionality for TCP and UDP internet socket server and client subclasses. This class also provides a number of static functions for use with external socket descriptors.

    +

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

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Socket.png b/doc/html/classstk_1_1Socket.png index 4c1d1851ab89ad442300f50146f5c14b3919586e..de9b20d576160f4bc2df64de65860801127ac40a 100644 GIT binary patch delta 848 zcmbQn{*P^f1SbbG0|P@xt8LLlMfG})k|4iehW`+7^;C!v0|PU!r;B4q1>@Vh7uPLO z;Au!at+MaG@_cTVs1<^0?2k{}f0I@|VdG{0sQm4-9~m3J(|V-0+CYE9AujDT8>&`K zZBcl(xx?ag#8!=Y{^nm7tCPWkrg8lt z)9+lLb+^88>aA;Uj(Vlsb~#co_5YE_qW>++JboQ33KMkL=BwoL>BQ~JUAHc7d1Dpk z{_$IsmFKCa7Rj%pQl~6i`K9qvSm8T;tJ|ggw{FHoK9!3p*|xee^lVvns@dAR%`eYP zDW6-#IPH5vPMGQ6@Ye_BcbG$6nAmzX8S0aId|u(#eiZw$js0JjNkpP6+*=UFl7p{o z?3_3D=hjEg@}D8TtHXTBK~Mzz3f1Oxys}*4?Dsy`-In(stm;@NlXp*X^{eZhze+=Y zZL@oRcxve1ty*tiZe6H!=Xd>!Q)y8@EA`g8I0;PrwNd@AKvPS}oHOe$ihm6*>iVJN zzGopz=gv2m9A>SVbnUOru0)scC2Jpjtq}hj;??z7-6Tw1e6P~4;v-(4vLd&6GiQbv zyD;hd|5H~lJRkb6@9q6xFXly?9>1r%$k=_=p`WYm`IcO4cD{S`nWz0Bo4u3e{?wn+ z>N_sC`k&0wTX#f%7QSBk&t!Snxyk4L&fv;U-)*-e`T41x6-FiQMJsM+uFhg8U-ohB zoU2w7?>GPQw-!2kVTIZE?+NLBtJ*Gw&9%L;?BnyRD-(hzUT*HZawhh7U)S=@wfxtP z|J!0&RV1T%%6t92io4CBvx?lm%H@2z5q0Iu`YM|bT4yHg8%wwMuTCXy% r$W*cltx$@a@Qh!q(EqvJjEp*9)?x5;^>bP0l+XkKYpkqr delta 872 zcmV-u1DE{%29^hq7zqRe0000@bAt!$UbW%=J06^y0W&i*KEJ;K`RCt{2oNaE~ zFbsxm6zFe}H;{ILVFPxa0t0gYBTS?|BFj=bCQU?ad}|HAphV{>3`GDyYFrZh5g>t7(W}7vM22NphGkd^uynqV zP4vDv|3pf$E+4B2hSG`kez~kh7)dFX)+ujT5*e06h9!|kk~D@TNmKe~!vp}R zr?mmX_3XAkVVxs9bO+;mtk!>_A*A~z25X`dR&!R{ht}L-iq%A5=*=KL$7*6uSRSj7 z0~r>?Q6jH`{2a2xAkT*b);t2@^XXJNMbP>ED^_b9K`ss0#w6nnpAuy(Ocnq>v9o)E zFIb)p46qxmVFdd@5Ku@txS?V-#u4doe;dP(!jMft3Rb9w2|k%%gadyTp0P#|><3YP zd}?a3szU>oXVw_cquF6K_7Z0-fC1Jpg7Z=}sCu4P%&~|gtm|J*rGyr%@o^Z8Rv2JS zB2rYs%G0-*@<-!{QizJhMQo=$UVR*znNr$^MI1%s6kOpjC}L+E(Z={rxw z&g-h|Tab$1uf#zF?Lkz$68Qo=7qKyp$SbkLmN7 y``dpIlKzGz>Hi|E$(zzdw_eC*y7fXfOY;X5_@a^u^>ktY0000    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Sphere Member List

    This is the complete list of members for stk::Sphere, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Sphere Member List

    This is the complete list of members for stk::Sphere, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addVelocity(StkFloat x, StkFloat y, StkFloat z)stk::Sphere
    getMass(void)stk::Sphere [inline]
    getPosition(void)stk::Sphere [inline]
    getRadius(void)stk::Sphere [inline]
    getRelativePosition(Vector3D *position)stk::Sphere
    getVelocity(Vector3D *velocity)stk::Sphere
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isInside(Vector3D *position)stk::Sphere
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setMass(StkFloat mass)stk::Sphere [inline]
    setPosition(StkFloat x, StkFloat y, StkFloat z)stk::Sphere [inline]
    setRadius(StkFloat radius)stk::Sphere [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setVelocity(StkFloat x, StkFloat y, StkFloat z)stk::Sphere [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Sphere(StkFloat radius=1.0)stk::Sphere [inline]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat timeIncrement)stk::Sphere [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    addVelocity(StkFloat x, StkFloat y, StkFloat z)stk::Sphere
    getMass(void)stk::Sphere [inline]
    getPosition(void)stk::Sphere [inline]
    getRadius(void)stk::Sphere [inline]
    getRelativePosition(Vector3D *position)stk::Sphere
    getVelocity(Vector3D *velocity)stk::Sphere
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isInside(Vector3D *position)stk::Sphere
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setMass(StkFloat mass)stk::Sphere [inline]
    setPosition(StkFloat x, StkFloat y, StkFloat z)stk::Sphere [inline]
    setRadius(StkFloat radius)stk::Sphere [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setVelocity(StkFloat x, StkFloat y, StkFloat z)stk::Sphere [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Sphere(StkFloat radius=1.0)stk::Sphere [inline]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat timeIncrement)stk::Sphere [inline]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Sphere.gif b/doc/html/classstk_1_1Sphere.gif new file mode 100644 index 0000000000000000000000000000000000000000..8c2d54402422cc9ece21cbaf46b03651f1c9742c GIT binary patch literal 509 zcmVb45uCK5R z0JF5Uwzs&s00z3fzQ4f1wYch>%E-*kzRJYT($dh&)7Qw=(b(L=+uh*5-{IuA zDk30Ss7dAi-b;4~kPbk0G~&4s$__cxxiX zVHc@oAu zODH#z<-<5529sZttSJd%qk`ytr|c2><{)Y8?#N literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Sphere.html b/doc/html/classstk_1_1Sphere.html index 92274e6..14c89aa 100644 --- a/doc/html/classstk_1_1Sphere.html +++ b/doc/html/classstk_1_1Sphere.html @@ -8,94 +8,82 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Sphere Class Reference

    STK sphere class. -More... -

    -#include <Sphere.h> -

    +

    stk::Sphere Class Reference

    +

    STK sphere class. +More...

    + +

    #include <Sphere.h>

    Inheritance diagram for stk::Sphere:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Sphere (StkFloat radius=1.0)
     Constructor taking an initial radius value.
    -void setPosition (StkFloat x, StkFloat y, StkFloat z)
     Set the 3D center position of the sphere.
    -void setVelocity (StkFloat x, StkFloat y, StkFloat z)
     Set the 3D velocity of the sphere.
    -void setRadius (StkFloat radius)
     Set the radius of the sphere.
    -void setMass (StkFloat mass)
     Set the mass of the sphere.
    -Vector3DgetPosition (void)
     Get the current position of the sphere as a 3D vector.
    -Vector3DgetRelativePosition (Vector3D *position)
     Get the relative position of the given point to the sphere as a 3D vector.
    -StkFloat getVelocity (Vector3D *velocity)
     Set the velcoity of the sphere as a 3D vector.
    -StkFloat isInside (Vector3D *position)
     Returns the distance from the sphere boundary to the given position (< 0 if inside).
    -StkFloat getRadius (void)
     Get the current sphere radius.
    -StkFloat getMass (void)
     Get the current sphere mass.
    -void addVelocity (StkFloat x, StkFloat y, StkFloat z)
     Increase the current sphere velocity by the given 3D components.
    -void tick (StkFloat timeIncrement)
     Move the sphere for the given time increment.
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Sphere (StkFloat radius=1.0)
     Constructor taking an initial radius value.
    +void setPosition (StkFloat x, StkFloat y, StkFloat z)
     Set the 3D center position of the sphere.
    +void setVelocity (StkFloat x, StkFloat y, StkFloat z)
     Set the 3D velocity of the sphere.
    +void setRadius (StkFloat radius)
     Set the radius of the sphere.
    +void setMass (StkFloat mass)
     Set the mass of the sphere.
    +Vector3DgetPosition (void)
     Get the current position of the sphere as a 3D vector.
    +Vector3DgetRelativePosition (Vector3D *position)
     Get the relative position of the given point to the sphere as a 3D vector.
    +StkFloat getVelocity (Vector3D *velocity)
     Set the velcoity of the sphere as a 3D vector.
    +StkFloat isInside (Vector3D *position)
     Returns the distance from the sphere boundary to the given position (< 0 if inside).
    +StkFloat getRadius (void)
     Get the current sphere radius.
    +StkFloat getMass (void)
     Get the current sphere mass.
    +void addVelocity (StkFloat x, StkFloat y, StkFloat z)
     Increase the current sphere velocity by the given 3D components.
    +void tick (StkFloat timeIncrement)
     Move the sphere for the given time increment.
    -


    Detailed Description

    -STK sphere class. -

    -This class implements a spherical ball with radius, mass, position, and velocity parameters.

    -by Perry R. Cook, 1995 - 2009.


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

    Detailed Description

    +

    STK sphere class.

    +

    This class implements a spherical ball with radius, mass, position, and velocity parameters.

    +

    by Perry R. Cook, 1995 - 2010.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Sphere.png b/doc/html/classstk_1_1Sphere.png index a91749241e9862f056507507a72bba5c2e545e35..114a71ad18dd00238a1f08b4a2af97a5c968a773 100644 GIT binary patch delta 332 zcmV-S0ki(*0{#M!7zqdi0001qLleG{At!$bbW%=J0RR90|NsC0)yh;d0003ENklAZu9dI%Nw=d~1dZP~M^TEkdzs9M8VfvA_BV4@P0s6-_yQU8iUSP-H*Pty?P!L| zxG1R^P!6NrlHQpp)V6DZ*7mupK5ID6clK(qeKKiLU^iWC*GH#Rog2+3c=5`FU7UBK e^7kqp6&4>BSrDPewG_<&0000KlTi+X zAPk1##pkv+z};ZG(4M^i5!Rmq&Iyw&E^~<$0o#witqJbdW9~X`+vP8)Fp8}#ql7I= zuxn5}vRF(Ymyax|cwAztpm7PIrWG(a?Ey=TQld~%xK5>vrTRuj$(^MhYt8>KHh?-gg=5@w@x(m|Lts%OZ4{RJP! zXgO0_)a5h9?TjcML8L(e-g    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::StifKarp Member List

    This is the complete list of members for stk::StifKarp, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::StifKarp Member List

    This is the complete list of members for stk::StifKarp, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::StifKarp
    controlChange(int number, StkFloat value)stk::StifKarp [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::StifKarp [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::StifKarp [virtual]
    pluck(StkFloat amplitude)stk::StifKarp
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)stk::StifKarp
    setFrequency(StkFloat frequency)stk::StifKarp [virtual]
    setPickupPosition(StkFloat position)stk::StifKarp
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStretch(StkFloat stretch)stk::StifKarp
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    StifKarp(StkFloat lowestFrequency)stk::StifKarp
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::StifKarp [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~StifKarp(void)stk::StifKarp
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::StifKarp
    controlChange(int number, StkFloat value)stk::StifKarp [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::StifKarp [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::StifKarp [virtual]
    pluck(StkFloat amplitude)stk::StifKarp
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBaseLoopGain(StkFloat aGain)stk::StifKarp
    setFrequency(StkFloat frequency)stk::StifKarp [virtual]
    setPickupPosition(StkFloat position)stk::StifKarp
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setStretch(StkFloat stretch)stk::StifKarp
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    StifKarp(StkFloat lowestFrequency)stk::StifKarp
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::StifKarp [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    ~StifKarp(void)stk::StifKarp
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1StifKarp.gif b/doc/html/classstk_1_1StifKarp.gif new file mode 100644 index 0000000000000000000000000000000000000000..f5ff8a4bcf6e15a24b4137070d34f661f12c3937 GIT binary patch literal 763 zcmVNk%w1VNL*u0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08Rji000C2IJ(^aFv>}XxH#+0yZ_*)gk))++la1gE2wTPckpb_bsStf82mj! zFWAbthQ16^C^MRVJm_*mjP9l=CuxZcPN7O3vuI&eht&>vyk=>)-sn>-OrPE*?wCW= z+e>&KdTeT8gnLdFJ2FuCK&cn;a&(qYr(bCn~$=BH0-p1YE;=$qL z=EUdezUAub?Ct08@Z<9H-}Uy|`1#fQ{L}vaISVLoTfuk-%@IrpjiI=O4uL_8xQ?Pe zi`gb(#HIdmqpgk}X@Lwm(ql3I0l z^Jfa2a_T(#)1?oZE=<1Ev2wJiA4hc1WZjxn%F;m^oSaEoXc8i`hoqjppk2=-25lua>O$Y!>0ALFJQ+_m1jfg__`TX=Be4Ur2Y9+A02 z=M14IlzxzULF)ps|I^Nodp_^6l`j`hj=V(kzrfE^508C2_wLYFgcqs4{rmXy>)+4+ zzQTN6Km3 zV1O5vIAVnsGDu*G1}fO1g(|v;3ydO)=pl|a+JfVbIgYqviaeTV;E_H4a^R0F?gC_p zDr%S{k;5<    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::StifKarp Class Reference

    STK plucked stiff string instrument. -More... -

    -#include <StifKarp.h> -

    +

    stk::StifKarp Class Reference

    +

    STK plucked stiff string instrument. +More...

    + +

    #include <StifKarp.h>

    Inheritance diagram for stk::StifKarp:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    StifKarp (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~StifKarp (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void setStretch (StkFloat stretch)
     Set the stretch "factor" of the string (0.0 - 1.0).
    -void setPickupPosition (StkFloat position)
     Set the pluck or "excitation" position along the string (0.0 - 1.0).
    void setBaseLoopGain (StkFloat aGain)
     Set the base loop gain.
    -void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    StifKarp (StkFloat lowestFrequency)
     Class constructor, taking the lowest desired playing frequency.
    ~StifKarp (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void setStretch (StkFloat stretch)
     Set the stretch "factor" of the string (0.0 - 1.0).
    +void setPickupPosition (StkFloat position)
     Set the pluck or "excitation" position along the string (0.0 - 1.0).
    void setBaseLoopGain (StkFloat aGain)
     Set the base loop gain.
    +void pluck (StkFloat amplitude)
     Pluck the string with the given amplitude using the current frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK plucked stiff string instrument. -

    -This class implements a simple plucked string algorithm (Karplus Strong) with enhancements (Jaffe-Smith, Smith, and others), including string stiffness and pluck position controls. The stiffness is modeled with allpass filters.

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

    -Control Change Numbers:

      -
    • Pickup Position = 4
    • String Sustain = 11
    • String Stretch = 1
    -

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + - + @@ -105,20 +96,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -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. +

    Set the base loop gain.

    +

    The actual loop gain is set according to the frequency. Because of high-frequency loop filter roll-off, higher frequency settings have greater loop gains.

    +
    -

    -


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

    void stk::StifKarp::setBaseLoopGain void stk::StifKarp::setBaseLoopGain ( StkFloat  aGain aGain  ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1StifKarp.png b/doc/html/classstk_1_1StifKarp.png index 3b81b828becb4f2ef5d81034990d98ef51a5521e..404a75156d10e606c0493e1ec55785b7287dd042 100644 GIT binary patch delta 473 zcmV;~0Ve*;1BwKY7zqdi0001f#Vv-BAt!$bbW%=J0RR90|NsC0)yh;d0004*Nklr|bN(c6KM#UKP7sr<>m7e6fpG>=xVquR4Fb z(+VxNHlnq{hk4JEdkq)+V7xi<-HG4eat`%kxtv42VD9CeB}a}NIdbI4J>ibfkq!wQ z-7GzOO#9r>IYkV;#BD>YJ0Hs z@L~RdhGNgTmcGmRVkgeqzjEUd&BcFiaav7n#4NNnthlMO{0SiUuUzbdG5E3l6)xvc zFP6(W)C=Zb-dS?w$dMyQj@%Otp(7!(26AB>(r^vH!nJYdJGkcR;u2H%svhHjl=O?! z=Ifgh21-h8=x3GG$hD~@V&%DHo8NW{ea)P%^R;wmSC(74FMi}~-FP(JzI{cpmz*zl zYK3v9uamPIS}}1Gy*N89wl>0!%EGn_|0P&;_D{D$=uP%+j=y(NTMk zFbqWP&8#KeK;#C=g|eFaA0hfWKn!szEJDQ^3jBGfr-!1Z%iCC$*JY$$?#1y!ennb{ zzvoCtha4_QzDwFNZ`yO#f=rNwAm)BQ)&pa#IQ2PU8fVRqxX^7r4s|JAhTpyq)m48R z>O+1%@ymVgq$YR7jlP$idh`~5!9CwEp?hg3OAeKk$5S&&~WY^UHtaCO5fr4#%p%kVL%+*RBW!YN-ISbi#p;z&>9% zEC^7Yla{rjHkFYq0AO-eS0Mz8O>}BKr9~imk^@5koI~*T@eNY9anU?    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Stk Member List

    This is the complete list of members for stk::Stk, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Stk Member List

    This is the complete list of members for stk::Stk, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Stk.gif b/doc/html/classstk_1_1Stk.gif new file mode 100644 index 0000000000000000000000000000000000000000..98bf88fead8be316f6e5b57ae5d18a95ad05c668 GIT binary patch literal 6090 zcmV;*7d7ZdNk%w1VZZ=D1o8j?|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui0Kfo11ONm67`oj4Fv>|QxH#+0yZ>M)e!*y-XzG<}>%J)q&$KDmc#htBU-Q18 z5GX93h{hxgscdeT&Zr3bVo?DMjJ0=_dY{29DI@OgzUYy8YE@t_NZ{g4r>)b{`diZVt=GMP0}CDuxUapxgcB=XjMwm&wlm%`o=iEhV=s_lNUqGe^WDn; zLW>?vy0q!jq%)&lEqe3f0B~XBbr4rUY}tEp3kJ=)x9`!af17r#ShnuE$79zXoO~~D z;m}V9kKQ`5Z2=3gD@RT@d-mJ9zklCNy}Weu=zkN>z1_I>_S@&;p1=J4`{sI|r-weh z{Qi2q#~Ftoc;eM(pL_CIwqJVvQTHE!^kFxkeR4%8VSxz}rr(0T8RX%IAciR7h!3)N zAB7pFXrX~D2DTxGtTh;2iFYArqg~Be7~zfz!bqKr(9u}qe6Z1HV*~MpcO7`OO=#DP zKAsmPj6!;5|jB}djCY*4B zRVQj}s)y&FeCfHTX?^;3C!kk~H7KEr28rmSagEjJmXjK))}@$cswt+GidJZ+poYqy zsHB!^Dgd9Js;a1|uIlQft-dO2ow3epE0?w2sw<4S?&>Rgz5XifsKXZPYp}*9{>!Mc z%({wfv&=pVZL-o%TWqz~3X5&F$8zg!quYLKYq;XdN^ZH%qN}c!=dNpNyY7+-Z@i(- zOK+$4-V3X~{1V&mzpLd7@SFk3^(lXTA)^YD5QzjyD-HV!QhFen@dDUb7)8+M)BF{!7 z)>A{ibm5l$odg=juMT?s}f4mx}uA8rDwg?YM`D@8Z3K2|KUA z2Vb$`EE|93@El6~@bl0+tb4-zB1}E&*HdqO_RVu|@b=y_7(T$@k6&K-=0}Hq`ogWx z{+RF6>wf$J(;x5r_Ai@1y7=!8od5g-V7dAyKmr2Lfc`_^{uG!$2HMYo^n+mhB=|lG zvd@C)!=U*zI6mh^?}H#j%k)CUJLRPbc{ekm@J0x#5~}b?EbNpEUud})R%(Vclne6~ zBs%~(t~*G&8so4gH`2ing+XiC4~!?Eg|XqJ-o_-uwMhPLb~BKXs5Z39)ewnM zi(BC8W5vcHE@wl-V$Hzlwz!dTLP0bm=cx9$&UH}8K8nL=U0(w2k5T~8ZqxebNjTB29t&>M-2vUC~@ub6yrbwBy#0mwmlvZkK`(~;{BO1|>mC@;M zf(aN^3XzG6H0pAklsIC(lrWYgVi}{FB&If1rnBtn8#R|jIX=-vDV@{pl6D(Dl2MRf zB`LlT$yP*`aExK|+)+CT){^edXH;#XDI@386FN1F#o62z=NdDm)>N%nEhbC{BUJb) zcCmH+Ya1a8&3$E+vW;o%ns|y?jmgQbqFSl)!V*?Bi8gqO0xbzU`f%E|1(sxDpPJwR=a)-3JFFkAD#oBbSW6N1DTRyb83FT&r$%)oCQmdr z@z{n)Mq;XmrS#Y$!c~r`v}0kn>eChLkHLDq4;;~U)<}94aaXl$i-AbvxTdnldqwgp z3)$8t^G%T?=2;Ub=i)Qcm2IkRVTEA~MH*Mlj9*@ImSq@9!7kOuW#y~gMtLDfDp<%k zZm=g0d{;R;c+5An^PTA&T0O_f#-$sUho`-2Wr6oYCzm&H|X-p%FBaxw_%k#1zhtmNHW{d8T?}`O{=3a+^i`vZXSu zX97z2DM|T7fah7R?%|{p%bLk1S^1HJgg2^+7a)qqm2Ol9a*{-2Ylc+J9z&V{=dW}y#Bwx>aGi1$6H2P{PXJklEaGT0O%nZ7IFI4B5F2c>DO@U*JnN? ze~r{*2gq|2#(UIPW)?SCGUjpQ=YaT^AIn!J!G~xcm>%MWS|f-aCD=O@sC#L5f_Acd zX19Qb)^=()eJmJvF=&JAhl4o?ey2zsr@gh}XxOE`H( zC|yk`g;f}NQ)pdJXoXvdg;)4^S%_U<*mz;cU0n!<7zKoOCxi|Xf-AU#zK3_oFg{O4;Xe+LvZeM@I%GgIZQ) zQ8r^32!RM_{x)jX9Ef;{Of)(?vx$)ubVGM^cxYNOQ)CZ#Bx`0-NnQzgcnzsu4_SB-3108{7n2j~b8cOGWJF}G# zSc@U|RYEz3WaElemW;s&i{z)4OqPoPxQm(iik)bTzQ|XV$dZZ3iNUyxo`_}{=$HO? zm9tlk=x3JjcYa-2H%i8gfGLVDxs>4+ll4b-UWb`Urr&o+#s*d6=5MX?y;Y z(SLu4R2KH0%tsmW36)358SKf5P^EAprk^RMaFUab_6dSC)i|7FiW2yI3YeVqn0#)T zAPky;)M%i=>7UGza+TDe7qWD@qc?VWm-d#IZ|Rje=b(S-oE4aSd8Hy}sYd)JeJpx| zMP+6TXLS0NZwjSxDyDf# zrgbWueF|-NdTVL8rQLa;B>1F)8l_m*r2tT*9@C@{hNv8)sH4fKRg#}wh5nP4+J}Rf zfEWX*Dk*S8!-#!UVq|5i3_6V&x2X`9qcFymXLOiF!hM4IqhLB@9e1H*lc~U%mMChK zK-!`j2#GoNn6dhDXvLVe+G-<8q8&;Wn_js9B>ZJF|t}PjdSvr*c8mzWM zs9ajFL-?o87O0cDr)ui3Y&xgasj$q(u<{Cp7>k`5`ZE>yIOgY!(}8 z9V?O_n@k2LC;MwD8=WgFvLS1yC2MS>i#e-HY^^(N zrK_E%tGcP{r?(5JuPbb^+iAJGu)F)4!Ru?idu&1Txv{mm?n<@Tiny5jugm+mSL(c- z8>E`Mw02mc`-YAtVpd!$xqfT4JSnyGS-zB6xe;1@PD!f%yDD{9OQ6b!y~OCEyf~FG z+O0)bZ{Yfwfsw0&^o)BOb)Nd5=$o&(!J(Y$W2oArQyWcgJ9EufztKv#(3%|jtGrug zj0M`Q2)MT2TfjTpzc?C=OLK5fcQ%_tqt9!$*UP-&O1(Y1m@O>5{92Fu3wAbq!|+Li zJ-EV(yLEC$!!QeJZU@4*guEIRy46*@%T~L%>%_YIyA?aUyvD@ICdDL+#U@L|x@N`C z2F1Xu#jMN4w&umM1jbV=#;{Aqv}VT9b~8wvQ5f8rF3i6$45vOzuXT*WcZ{cb%%pRi z!1U(5D%sWk#BbVP@k}@8;Cr|mUA@BU(d!((3A$rQV$Gub$>ki% zy`0D@U97+=(l)9&i}-%Y9JuJX(`?qv9R6*<8SJWPWRxkKilm6j=-j*wh_<(Uj6dYb zGY!fkJtRyGI-R^`8#v4&I?HS|F}5tX`?sx+zwFdTchqDp)iq7k#!Rkh zJ=Q$UeLY>tWevR~{nH^F(r#_mG%L!4?bxdc*{(~en8nSB?adAQ$5P7MsNtyFe9;4(s}c$!DE7a?huHA?(nncu6sB_n zBHYy-wxb$!O=rR;rZoOrzT9oE{>3QNYHie=Y?LShmdJe?58}V$OPCg{)=8_1)Q#Q% ztgAZ1Gz@IYJxNzS$JMkvh;v(t(0AX2S<3pI)GwT^#^>C=y54h5zvW+J&CcX zs_xrzQQgv0eb^9g$9_%XZ*Afq4Y{2A*Lr=hDdgV$Hz}KGsN$>awot7s}TEEv*(Dv??s?oo?Uu#2!GR@MwKIp2hw`L`A z0&eQZKIyc+bgAkzuPn(vO0>@o?b*KVbgtZ=%I%&`>yRbso$l=<1Mb?6?%8hckV5X0 z&hC%m?u-uah$8QVPVbSf?u;((i)HVFe&!#f?}Sd~e=hI_fA9#O@UyP)4Bzk$ukZw4 z=np^f6kqWRZ}AwP@fuI(5s&8^|M4LI@Eu?0BhT?6fAT0V@Fkz>Dc|xgf9xwS=Q00z zFJJRE-{&)*^Edv#^E^-TJ^%ANuk%1Z^e!*-M1S-lZ}dpN^ck=8O#k!~@AObV^$<_> zR?qNKzwrQ%<`mEGFy-%pj_-?H@m_yYVDIN*k0)o}=V`CBU7zx}^ysh-=_p0^aNikn zpH?xwtO;NC)cD;WH<=`6&1=u+W2K3LAAzu1w|0;6hc7lfId#KMa?XzRci*&Cy?q6m zie%gHzTVaNDZzoi>0a6Smhbr5+ldng)^pG4B7gaR8`npLH)>11BaZNX|4fCy=WTz8 z7N7gZwEK77`^zKzc24|XQiBc;{L7^Lo)7y(?EI&H^2pyAcNg_=zxA`#_*dWkD)0T^ zukKkN{{G~D>f>Mj=s)o3zy9IQ{_d~-?;ro4F8}oJ@%4ZIG>`x9fByQ9{`}wn2mrd= z{xHf(o2fYK&Ab1gc7b@ z1D#s0E39^#<$Af*uNWB~n}g-E8kb(XW9{8wPOsbV_`H74@B7hF0|JADg@%WSiHeJi zjf?|;PJ)hj>>4vCNv#zrWRjXH3Rk>oo`n9Z~IbuPOHEWhm+7D~ldad);LtMF2?bPjX7w@b) QdpY    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Stk Class Reference

    STK base class. -More... -

    -#include <Stk.h> -

    +

    stk::Stk Class Reference

    +

    STK base class. +More...

    + +

    #include <Stk.h>

    Inheritance diagram for stk::Stk:
    - -

    - -stk::Effect -stk::FileRead -stk::FileWrite -stk::Filter -stk::Function -stk::Generator -stk::Instrmnt -stk::Messager -stk::MidiFileIn -stk::Mutex -stk::Phonemes -stk::Skini -stk::Socket -stk::Sphere -stk::Thread -stk::Vector3D -stk::Voicer -stk::WvIn -stk::WvOut +
    + + +stk::Effect +stk::FileRead +stk::FileWrite +stk::Filter +stk::Function +stk::Generator +stk::Instrmnt +stk::Messager +stk::MidiFileIn +stk::Mutex +stk::Phonemes +stk::Skini +stk::Socket +stk::Sphere +stk::Thread +stk::Vector3D +stk::Voicer +stk::WvIn +stk::WvOut +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.

    Static Public Member Functions

    -static StkFloat sampleRate (void)
     Static method that returns the current STK sample rate.
    static void setSampleRate (StkFloat rate)
     Static method that sets the STK sample rate.
    -static std::string rawwavePath (void)
     Static method that returns the current rawwave path.
    -static void setRawwavePath (std::string path)
     Static method that sets the STK rawwave path.
    -static void swap16 (unsigned char *ptr)
     Static method that byte-swaps a 16-bit data type.
    -static void swap32 (unsigned char *ptr)
     Static method that byte-swaps a 32-bit data type.
    -static void swap64 (unsigned char *ptr)
     Static method that byte-swaps a 64-bit data type.
    -static void sleep (unsigned long milliseconds)
     Static cross-platform method to sleep for a number of milliseconds.
    -static void handleError (const char *message, StkError::Type type)
     Static function for error reporting and handling using c-strings.
    -static void handleError (std::string message, StkError::Type type)
     Static function for error reporting and handling using c++ strings.
    -static void showWarnings (bool status)
     Toggle display of WARNING and STATUS messages.
    -static void printErrors (bool status)
     Toggle display of error messages before throwing exceptions.

    Static Public Attributes

    static const StkFormat STK_SINT8
    static const StkFormat STK_SINT16
    static const StkFormat STK_SINT24
    static const StkFormat STK_SINT32
    static const StkFormat STK_FLOAT32
    static const StkFormat STK_FLOAT64

    Protected Member Functions

    Stk (void)
     Default constructor.
    -virtual ~Stk (void)
     Class destructor.
    -virtual void sampleRateChanged (StkFloat newRate, StkFloat oldRate)
     This function should be implemented in subclasses that depend on the sample rate.
    -void addSampleRateAlert (Stk *ptr)
     Add class pointer to list for sample rate change notification.
    -void removeSampleRateAlert (Stk *ptr)
     Remove class pointer from list for sample rate change notification.
    -void handleError (StkError::Type type)
     Internal function for error reporting that assumes message in errorString_ variable.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.

    Static Public Member Functions

    +static StkFloat sampleRate (void)
     Static method that returns the current STK sample rate.
    static void setSampleRate (StkFloat rate)
     Static method that sets the STK sample rate.
    +static std::string rawwavePath (void)
     Static method that returns the current rawwave path.
    +static void setRawwavePath (std::string path)
     Static method that sets the STK rawwave path.
    +static void swap16 (unsigned char *ptr)
     Static method that byte-swaps a 16-bit data type.
    +static void swap32 (unsigned char *ptr)
     Static method that byte-swaps a 32-bit data type.
    +static void swap64 (unsigned char *ptr)
     Static method that byte-swaps a 64-bit data type.
    +static void sleep (unsigned long milliseconds)
     Static cross-platform method to sleep for a number of milliseconds.
    +static void handleError (const char *message, StkError::Type type)
     Static function for error reporting and handling using c-strings.
    +static void handleError (std::string message, StkError::Type type)
     Static function for error reporting and handling using c++ strings.
    +static void showWarnings (bool status)
     Toggle display of WARNING and STATUS messages.
    +static void printErrors (bool status)
     Toggle display of error messages before throwing exceptions.

    Static Public Attributes

    static const StkFormat STK_SINT8
    static const StkFormat STK_SINT16
    static const StkFormat STK_SINT24
    static const StkFormat STK_SINT32
    static const StkFormat STK_FLOAT32
    static const StkFormat STK_FLOAT64

    Protected Member Functions

    Stk (void)
     Default constructor.
    +virtual ~Stk (void)
     Class destructor.
    +virtual void sampleRateChanged (StkFloat newRate, StkFloat oldRate)
     This function should be implemented in subclasses that depend on the sample rate.
    +void addSampleRateAlert (Stk *ptr)
     Add class pointer to list for sample rate change notification.
    +void removeSampleRateAlert (Stk *ptr)
     Remove class pointer from list for sample rate change notification.
    +void handleError (StkError::Type type)
     Internal function for error reporting that assumes message in errorString_ variable.
    -


    Detailed Description

    -STK base class. -

    -Nearly all STK classes inherit from this class. The global sample rate and rawwave path variables can be queried and modified via Stk. In addition, this class provides error handling and byte-swapping functions.

    -The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    -STK WWW site: http://ccrma.stanford.edu/software/stk/

    -The Synthesis ToolKit in C++ (STK) Copyright (c) 1995-2009 Perry R. Cook and Gary P. Scavone

    -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    -Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


    Member Function Documentation

    - +

    Detailed Description

    +

    STK base class.

    +

    Nearly all STK classes inherit from this class. The global sample rate and rawwave path variables can be queried and modified via Stk. In addition, this class provides error handling and byte-swapping functions.

    +

    The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    +

    STK WWW site: http://ccrma.stanford.edu/software/stk/

    +

    The Synthesis ToolKit in C++ (STK) Copyright (c) 1995-2010 Perry R. Cook and Gary P. Scavone

    +

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    +

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    +

    Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    +

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    +

    Member Function Documentation

    +
    - + - + @@ -166,21 +141,20 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
    -

    -Static method that sets the STK sample rate. -

    -The sample rate set using this method is queried by all STK classes that depend on its value. It is initialized to the default SRATE set in Stk.h. Many STK classes use the sample rate during instantiation. Therefore, if you wish to use a rate that is different from the default rate, it is imperative that it be set BEFORE STK objects are instantiated. A few classes that make use of the global STK sample rate are automatically notified when the rate changes so that internal class data can be appropriately updated. However, this has not been fully implemented. Specifically, classes that appropriately update their own data when either a setFrequency() or noteOn() function is called do not currently receive the automatic notification of rate change. If the user wants a specific class instance to ignore such notifications, perhaps in a multi-rate context, the function Stk::ignoreSampleRateChange() should be called. +

    Static method that sets the STK sample rate.

    +

    The sample rate set using this method is queried by all STK classes that depend on its value. It is initialized to the default SRATE set in Stk.h. Many STK classes use the sample rate during instantiation. Therefore, if you wish to use a rate that is different from the default rate, it is imperative that it be set BEFORE STK objects are instantiated. A few classes that make use of the global STK sample rate are automatically notified when the rate changes so that internal class data can be appropriately updated. However, this has not been fully implemented. Specifically, classes that appropriately update their own data when either a setFrequency() or noteOn() function is called do not currently receive the automatic notification of rate change. If the user wants a specific class instance to ignore such notifications, perhaps in a multi-rate context, the function Stk::ignoreSampleRateChange() should be called.

    +
    -

    - + +

    static void stk::Stk::setSampleRate static void stk::Stk::setSampleRate ( StkFloat  rate rate  )  [static]
    - + - + @@ -188,113 +162,107 @@ The sample rate set using this method is queried by all STK classes that depend
    -

    -A function to enable/disable the automatic updating of class data when the STK sample rate changes. -

    -This function allows the user to enable or disable class data updates in response to global sample rate changes on a class by class basis. -

    Reimplemented in stk::BiQuad, stk::FormSwep, stk::TwoPole, and stk::TwoZero.

    +

    A function to enable/disable the automatic updating of class data when the STK sample rate changes.

    +

    This function allows the user to enable or disable class data updates in response to global sample rate changes on a class by class basis.

    + +

    Reimplemented in stk::BiQuad, stk::FormSwep, stk::TwoPole, and stk::TwoZero.

    -

    -


    Member Data Documentation

    - + +

    Member Data Documentation

    +
    void stk::Stk::ignoreSampleRateChange void stk::Stk::ignoreSampleRateChange ( bool  ignore = true ignore = true  )  [inline]
    - +
    const StkFormat stk::Stk::STK_SINT8 [static] const StkFormat stk::Stk::STK_SINT8 [static]
    +

    -128 to +127

    -

    --128 to +127

    -

    - +

    +
    - +
    const StkFormat stk::Stk::STK_SINT16 [static] const StkFormat stk::Stk::STK_SINT16 [static]
    +

    -32768 to +32767

    -

    --32768 to +32767

    -

    - +

    +
    - +
    const StkFormat stk::Stk::STK_SINT24 [static] const StkFormat stk::Stk::STK_SINT24 [static]
    +

    Upper 3 bytes of 32-bit signed integer.

    -

    -Upper 3 bytes of 32-bit signed integer.

    -

    - +

    +
    - +
    const StkFormat stk::Stk::STK_SINT32 [static] const StkFormat stk::Stk::STK_SINT32 [static]
    +

    -2147483648 to +2147483647.

    -

    --2147483648 to +2147483647.

    -

    - +

    +
    - +
    const StkFormat stk::Stk::STK_FLOAT32 [static] const StkFormat stk::Stk::STK_FLOAT32 [static]
    +

    Normalized between plus/minus 1.0.

    -

    -Normalized between plus/minus 1.0.

    -

    - +

    +
    - +
    const StkFormat stk::Stk::STK_FLOAT64 [static] const StkFormat stk::Stk::STK_FLOAT64 [static]
    +

    Normalized between plus/minus 1.0.

    -

    -Normalized between plus/minus 1.0.

    -

    -


    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)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Stk.png b/doc/html/classstk_1_1Stk.png index b95c826cf0cba28692a78e2d48c8a16b82c8f10c..6897e0a98bdad70c76906f907e3a80c99fd44da2 100644 GIT binary patch literal 3426 zcmbVOdpK148eVIbJA+Ib<%F|iQp$*8Yr71Q%OvAcLPAn|Czp`BX|=bqZ6ybhgb|T4 z4MoLF%&sZ-+r}QbPIAA?ZIm%*ja}zC&v|x#IKStaS>IZ}-2ob~}B)Z8fT0<@hq$7^zd_Eru`Fv(}wnriot$&zIX5=gWAaW}f zY=6`N*_I`!s62wnq$N)QvldBpx%l6U^#-T(0 z9Ni~p#LEqzJ7?AK*&q2SS%~sJ>q*u1wrZe#cmT>XzN~twHZ}R;K~+vf)29!=`83x=+1 zv=|r*aka8CI@4Mt3H{qzt!wy^=wG{_`!VMwv9&EwuV(P&eX}?bKxMnMWi0f^dpP)e z6{=7}`~g@C0q~7=Ld0_Z^d{z6VPt;^ID<1z$unT**Y_NH@lG8sa6miV15|aaGIO$0 z%2x;R1m|BTim?Im)=jyz4BdyxyyBDnX!Ue%#jc?~sOyaUv-k|+sK}@jXMEJfWJRxc zG8UG}^*`-ydK0dU>(zQC@j@xAgH;kqNg?^ZFTjzXN)9bR4AF$kUoz|u4!_w(xcv>R z$m2awUU-R^$5Rv%M*`Z(%GUN-K5c>7vHdKRL1qHH7OYIrPHx|NEq2e!;Jih?K{kFG zI(hZpoy_FY)&Ob;yBOyRsOh2vsQTh&V};EXLLPgj-Tu5L4*p z9=9`z;2guahgYG@)N{IC+1f<;?hhrvZlh_8xb=K8p9Ax!(JDv2jW+ea`0rike^)cw z=_trx$jPdtTa9Z|cWNgOl_h>;<(}Qil>cotfN{d8`BBMMlJ?@IWLFL-TN>jBcT4PV zwFQi>JK0PUN98$vyxbVB-N@4dg_zsEW=?j_OLB-tt=^Mr4gY-Vd-mn{@Dyp zzH$hxJK?vSwuExo?Iy#OpDnU`x-}7_40?&%Kv4?On9p)9Xl|=g*o6U?L0W{0wRp!C zB{lZ+pl%i!+a=B2?tdDn68;O~*gD$ds149P0cty>#pIC(%nf=sgA}J)VWD-LL=Ak* z9-4)7YE%%4Z*rIBkEMQ z`mtC*`LGY7&K(q5US;v=B6#A8$!ulJD?kAK@%1NoH+tek{B(jJcECmofYY77W*C9* zB7Pg|19%FA`1h+=DslMDcW|S?7%xCIM|c5@RfX3E@J%2oJ+DbcCw&l~QI}mier(8f z2^Dx)&BQnu`|*~6^8;TafHFAsq&zE#ZZJFT{k$yZ6!f@W2T*=Xjf)oV1zzGf64&pO z@i`pWen;8W8GU#3s*qT*Bri#CAM6hPr}hyW&;U1}P&ANUs2ox~4}_DXe+LC1Ibhu{ zYjo*V^x{Z7sPEq)^lAR*z-1{1-}Y1=L(1TX@u5vEi)NSalb_vc*&g7HAClW@T?3Az zvr$G;Y*yukY1q@J!thgfLK#i;B<6WDJJQ2neDT;!azqJI_;j~Xmfl=j{D1<%NpC0W z{M22^uuVv^PCy&UEFj42?WS`{d4Umh{mm*ebvfQ+({T`q{3P>tFy$uCt7`a|Xj6qk zfOq~~htNJvBd~{es!ECUadg}Z;3|coxYk{ErlEvoF5N6PbuE+``~FU6TH|vd`q1PI z$YxE=mnn534tA_RB!k~`RTo9B&QMsVJPNCY{}Xs6^!NNDPd&D(G{&0)8S+TnDVdo5 z$uo44mIc)O5-28}*r0kzL^LtI)^Vn8xkn!i$>-MIh z%v&!Z%ay)tAWEUxX0m>GJEx?7$0F=Au(ZpktxMkplO{L*s1K~W|AO9v|JthX8!=L( zveu2%X!EQVc8kE6KKcSfZBLY5Kj=GA@Ei!-qVH_nP^}xa?ZC6o??ed1nL^Qu&Hm!c zZQa(RA_3Kr!_MrrV^alc3!bF{`;=!=m#$^|PF%@}t8zDW1q2;xIq8v1ltrmsBY8q| zf!N1d&l#s%&{1V^-%KD-5Bzj$52~{WIl&Bp8`^KE4UJ9EjU}a9FuTVkkovEPny|`B zPH&)E?tz<23`05w3WM0bo4~!*o}P6l&4s6~xF|x*M&9?F*J1Bil`(H|OWyL8qStUr zG?r%0ry?4zG9*(MyJ8ry`i0e1y^XjhMn&h6SD_+1~Fy5{=7cD&AQBc{}2OYxn|7IMF_-EyvPJiRae%tVM znhUy>T*N3j=LBx)vyrZO1L>MK0=b1F{bs`LlTAox8oKz|yvF@ub(HO?%#V*$;JeSQ zQ?a>c(|1m^Dr>6>Q3l)9f_J^O9T9UdbqCe4wnnQ$2=zZAF7NL|$rNz`*^rD))MwVj z6~TD-8MkEHKV_=VBh6g-(Eml1k2a!8X+)JWw3+TwMdFI3DhpP3w;nX>&Zp( zxgS+A9qs16FM{*t@Int%67tV_I*B~pi&><%lzA??I{v!MoD;|ZS+h1w#tBFavwrh; zU$8g4AHM~>a2(n6*hx4$9?K5B9HOqWASj=RU(T=D8#bO}zkk~;Toe8%-%;UpL8I=` z6!{kq?-R$iYMm5wG}R;Q{nrl!>Vq}(tf#?&5_}F{h|!aVT42WC7%dmQcMF;2;#;kU z-)OSFl+YxwfvNKubS9r17TqNU>#vJ301inU6ZX=e;Lb%@mn)*{H;a<&CwV_bZA!YVRN~*G-@>gX@j}oUlYdvF%KaXz4&?} zsL|@fUJG#lneCziLzI%{NR#imCuG8RlNy3;!vhTBkoo*@GeJ{Npei@XPvbyP0}zm94iIUQZsC@j7zP1>c{Eswchpa_s6^Ue)fKzo$5p0h0-zB z0RRBy;qL0Ez99h6AZmbW&lBaOQeVq_yaU`+s;{m}1?A_{($(I#13^&iJ=LiC31j(@ z{Q;t^?=S#p(>+|B0#4_=9z4!?X={-Dd>KMk8y!VFtX*9QN8DDe?|xBx@Y%JFwUigp zJo3xaevTU~@hvUuKR!35%dfQdyQol5EKu_Kk%HNtLqWpjimRq4R!!w#WAnD14Ej8` zX>o|s{&I(67A==3#P}V^;4ddXz8TG#X20D6jlD2T8N3Qcr)+OqH+gZx6*k6e>$NRS5}pGn12(=fUt3XqXz)Hwyz* zpW|;hf@hIZbLcVhQ7dK0UUzEtYIZO9hSDU|nUUq{bF0R~CX%T!TNd`igAX)+R3z_L zIDIZ+c>&(%GVPCWPNZ1*#EcA(MdQ5a$UZ9 z*zEud{rU*Ne?6XmB!3sUOXdB=!T9uS?S+3Q9KVYDyCMMK)B+Dku(QN0o?x$4oe}<= z@}kC(tZJ#<|Sj!SE-`{qk@pwTOCYcB2UMBW{l1GOHze+APMd^1rY`J5= z3v!*k9}7h?8XkCe$USO&?vYwdl-DcrlCWE-jcH*Yu+nD$Fl4wIkNA=Lv>}n9vsy!V zN|MtTk;$GNz?swGBRd(!J04-k$jcX;AxLj@^R=)LEGx-TKI=B;NBNO%H~G0*xcoB!Eq z-LF_QGuYjP#)gVfC>P%Mt6e7Wwp*l8T-Jlj)7{-h&PT|~=-QtCm2|4vlx9q4u|P73 zji&Wm6*{ovQyRK)M!cE@|E7L0Y)lY$RQj5p{XTTrw38R9|5nybPYyR*b2#xyz_FO< zqRiZQdDQGMJe|*o_Ri*WwYK;RD!w65U5uiMm`|@v+EBy+a-5}c7|{)ckbaCqwEb3sfGSv zYY7&O((C5GE2Lj|%C1Zh-KDWhheY}$jF0&7gck*Qt~6ON=2Pn6N>wP_8Pa6I`oWFQ z=orV9xk)iS-SZ|F^?bES?eK+PU7Ls8LZ_2rNq&8C)3Zph5EG~ptE#~d*VV{>Gy=K_ zF#Un$o7zclxf$YmZhRRho6q&}0XH%wWj?n|+%wR@{1q@Yxq}W$<&kXzqP&wKrfH`n z%r1xCe&~KZU4O6T_T4hUo>K)Kq~0mB9t8+o1V#lvQUFzOwKV@CMzJIt#TlTH-`NsG z1C_j%*78Cu7|bgVCDyjnhmh42q#?0?jHQ`@c#*i~Xk(7}-m{fZUc`Jgm0Y=E<>2Co z-(5cXRQq2iF%xV9g37}W#C+Whz_gBi}v50 zpHkM?^sWL9%bhbzh4D=5RR%e_W5I;9=3u)7Q{$qk;8IifVu7_|W{&RGX{XYC^3KH( zsq{K~*R}l3tW>(i*9c{!tZ}S#@aHR_K+|(~0VS5oz2T+5H-u9PHdGfnYZFL)NsRh0 z8BRecN(7M*XOZWDBh0vOaW!&W?vWG;l_q=kLBn|T}~j&ILfyp^Kx{3okpo! ziRG~OoooRZ)I~pXhQ6^qq8}0th-|i161QDdr;qDWR7eBxuJz-%X8ktms7o!crB=;Y z1k|;oYx@<=%U^h(qj58%;fDX5eC{(0-Pv> znw;Oe3>-kH*)+}x)D2qO;YY<=`;dzxTLH`W#@m#o7~4y8XEtMU1LY-5Nk*SktJ9D# zyTbMi7*KTg+jU+bVHSH@7Z)L^e=2b6-q@9%=X4B+jQBet=W(DaJE_5Gimm4wOk*I!>hvm;FJw*NgZL+!w7!*MTeWB80_>!|u-ZSQ$i}A3Ah?}edALM}ww`cj z)BYrE|1i#tzdXfju9nmK4xbAyyj~|A79A?-c@pw)vGr|9B-(@H_p#zU(foKF?N88U&@i0tvfB_{}YLs)IX%{pBN<*{~^!+Z<=b_C(uO7L(a Ky9%9YiT?$Ja8R27 diff --git a/doc/html/classstk_1_1StkError-members.html b/doc/html/classstk_1_1StkError-members.html index 9644ba8..85d2032 100644 --- a/doc/html/classstk_1_1StkError-members.html +++ b/doc/html/classstk_1_1StkError-members.html @@ -8,21 +8,21 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::StkError Member List

    This is the complete list of members for stk::StkError, including all inherited members.

    - - - - - - +

    stk::StkError Member List

    This is the complete list of members for stk::StkError, including all inherited members.
    getMessage(void)stk::StkError [inline, virtual]
    getMessageCString(void)stk::StkError [inline, virtual]
    getType(void)stk::StkError [inline, virtual]
    printMessage(void)stk::StkError [inline, virtual]
    StkError(const std::string &message, Type type=StkError::UNSPECIFIED)stk::StkError [inline]
    ~StkError(void)stk::StkError [inline, virtual]
    + + + + + +
    getMessage(void)stk::StkError [inline, virtual]
    getMessageCString(void)stk::StkError [inline, virtual]
    getType(void)stk::StkError [inline, virtual]
    printMessage(void)stk::StkError [inline, virtual]
    StkError(const std::string &message, Type type=StkError::UNSPECIFIED)stk::StkError [inline]
    ~StkError(void)stk::StkError [inline, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1StkError.html b/doc/html/classstk_1_1StkError.html index 5115903..f2d476d 100644 --- a/doc/html/classstk_1_1StkError.html +++ b/doc/html/classstk_1_1StkError.html @@ -8,56 +8,50 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::StkError Class Reference

    STK error handling class. -More... -

    -#include <Stk.h> -

    +

    stk::StkError Class Reference

    +

    STK error handling class. +More...

    -

    -List of all members. - - - +

    #include <Stk.h>

    - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    StkError (const std::string &message, Type type=StkError::UNSPECIFIED)
     The constructor.
    -virtual ~StkError (void)
     The destructor.
    -virtual void printMessage (void)
     Prints thrown error message to stderr.
    -virtual const Type & getType (void)
     Returns the thrown error message type.
    -virtual const std::string & getMessage (void)
     Returns the thrown error message string.
    -virtual const char * getMessageCString (void)
     Returns the thrown error message as a C string.
    + + + + + + + + + + + + +

    Public Member Functions

    StkError (const std::string &message, Type type=StkError::UNSPECIFIED)
     The constructor.
    +virtual ~StkError (void)
     The destructor.
    +virtual void printMessage (void)
     Prints thrown error message to stderr.
    +virtual const Type & getType (void)
     Returns the thrown error message type.
    +virtual const std::string & getMessage (void)
     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.


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

    Detailed Description

    +

    STK error handling class.

    +

    This is a fairly abstract exception handling class. There could be sub-classes to take care of more specific error conditions ... or not.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1StkFrames-members.html b/doc/html/classstk_1_1StkFrames-members.html index 9a778ab..3e0d6fd 100644 --- a/doc/html/classstk_1_1StkFrames-members.html +++ b/doc/html/classstk_1_1StkFrames-members.html @@ -8,33 +8,33 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::StkFrames Member List

    This is the complete list of members for stk::StkFrames, including all inherited members.

    - - - - - - - - - - - - - - - - - - +

    stk::StkFrames Member List

    This is the complete list of members for stk::StkFrames, including all inherited members.
    channels(void) const stk::StkFrames [inline]
    dataRate(void) const stk::StkFrames [inline]
    empty() const stk::StkFrames [inline]
    frames(void) const stk::StkFrames [inline]
    interpolate(StkFloat frame, unsigned int channel=0) const stk::StkFrames
    operator()(size_t frame, unsigned int channel)stk::StkFrames [inline]
    operator()(size_t frame, unsigned int channel) const stk::StkFrames [inline]
    operator*=(StkFrames &f)stk::StkFrames [inline]
    operator+=(StkFrames &f)stk::StkFrames [inline]
    operator[](size_t n)stk::StkFrames [inline]
    operator[](size_t n) const stk::StkFrames [inline]
    resize(size_t nFrames, unsigned int nChannels=1)stk::StkFrames
    resize(size_t nFrames, unsigned int nChannels, StkFloat value)stk::StkFrames
    setDataRate(StkFloat rate)stk::StkFrames [inline]
    size() const stk::StkFrames [inline]
    StkFrames(unsigned int nFrames=0, unsigned int nChannels=0)stk::StkFrames
    StkFrames(const StkFloat &value, unsigned int nFrames, unsigned int nChannels)stk::StkFrames
    ~StkFrames()stk::StkFrames
    + + + + + + + + + + + + + + + + + +
    channels(void) const stk::StkFrames [inline]
    dataRate(void) const stk::StkFrames [inline]
    empty() const stk::StkFrames [inline]
    frames(void) const stk::StkFrames [inline]
    interpolate(StkFloat frame, unsigned int channel=0) const stk::StkFrames
    operator()(size_t frame, unsigned int channel)stk::StkFrames [inline]
    operator()(size_t frame, unsigned int channel) const stk::StkFrames [inline]
    operator*=(StkFrames &f)stk::StkFrames [inline]
    operator+=(StkFrames &f)stk::StkFrames [inline]
    operator[](size_t n)stk::StkFrames [inline]
    operator[](size_t n) const stk::StkFrames [inline]
    resize(size_t nFrames, unsigned int nChannels=1)stk::StkFrames
    resize(size_t nFrames, unsigned int nChannels, StkFloat value)stk::StkFrames
    setDataRate(StkFloat rate)stk::StkFrames [inline]
    size() const stk::StkFrames [inline]
    StkFrames(unsigned int nFrames=0, unsigned int nChannels=0)stk::StkFrames
    StkFrames(const StkFloat &value, unsigned int nFrames, unsigned int nChannels)stk::StkFrames
    ~StkFrames()stk::StkFrames


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1StkFrames.html b/doc/html/classstk_1_1StkFrames.html index 5b93a2d..c0e155e 100644 --- a/doc/html/classstk_1_1StkFrames.html +++ b/doc/html/classstk_1_1StkFrames.html @@ -8,99 +8,80 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::StkFrames Class Reference

    An STK class to handle vectorized audio data. -More... -

    -#include <Stk.h> -

    +

    stk::StkFrames Class Reference

    +

    An STK class to handle vectorized audio data. +More...

    -

    -List of all members. - - - +

    #include <Stk.h>

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    StkFrames (unsigned int nFrames=0, unsigned int nChannels=0)
     The default constructor initializes the frame data structure to size zero.
    StkFrames (const StkFloat &value, unsigned int nFrames, unsigned int nChannels)
     Overloaded constructor that initializes the frame data to the specified size with value.
    ~StkFrames ()
     The destructor.
    StkFloat & operator[] (size_t n)
     Subscript operator that returns a reference to element n of self.
    StkFloat operator[] (size_t n) const
     Subscript operator that returns the value at element n of self.
    void operator+= (StkFrames &f)
     Assignment by sum operator into self.
    void operator*= (StkFrames &f)
     Assignment by product operator into self.
    StkFloat & operator() (size_t frame, unsigned int channel)
     Channel / frame subscript operator that returns a reference.
    StkFloat operator() (size_t frame, unsigned int channel) const
     Channel / frame subscript operator that returns a value.
    StkFloat interpolate (StkFloat frame, unsigned int channel=0) const
     Return an interpolated value at the fractional frame index and channel.
    -size_t size () const
     Returns the total number of audio samples represented by the object.
    -bool empty () const
     Returns true if the object size is zero and false otherwise.
    void resize (size_t nFrames, unsigned int nChannels=1)
     Resize self to represent the specified number of channels and frames.
    void resize (size_t nFrames, unsigned int nChannels, StkFloat value)
     Resize self to represent the specified number of channels and frames and perform element initialization.
    -unsigned int channels (void) const
     Return the number of channels represented by the data.
    -unsigned int frames (void) const
     Return the number of sample frames represented by the data.
    void setDataRate (StkFloat rate)
     Set the sample rate associated with the StkFrames data.
    StkFloat dataRate (void) const
     Return the sample rate associated with the StkFrames data.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    StkFrames (unsigned int nFrames=0, unsigned int nChannels=0)
     The default constructor initializes the frame data structure to size zero.
    StkFrames (const StkFloat &value, unsigned int nFrames, unsigned int nChannels)
     Overloaded constructor that initializes the frame data to the specified size with value.
    ~StkFrames ()
     The destructor.
    StkFloat & operator[] (size_t n)
     Subscript operator that returns a reference to element n of self.
    StkFloat operator[] (size_t n) const
     Subscript operator that returns the value at element n of self.
    void operator+= (StkFrames &f)
     Assignment by sum operator into self.
    void operator*= (StkFrames &f)
     Assignment by product operator into self.
    StkFloat & operator() (size_t frame, unsigned int channel)
     Channel / frame subscript operator that returns a reference.
    StkFloat operator() (size_t frame, unsigned int channel) const
     Channel / frame subscript operator that returns a value.
    StkFloat interpolate (StkFloat frame, unsigned int channel=0) const
     Return an interpolated value at the fractional frame index and channel.
    +size_t size () const
     Returns the total number of audio samples represented by the object.
    +bool empty () const
     Returns true if the object size is zero and false otherwise.
    void resize (size_t nFrames, unsigned int nChannels=1)
     Resize self to represent the specified number of channels and frames.
    void resize (size_t nFrames, unsigned int nChannels, StkFloat value)
     Resize self to represent the specified number of channels and frames and perform element initialization.
    +unsigned int channels (void) const
     Return the number of channels represented by the data.
    +unsigned int frames (void) const
     Return the number of sample frames represented by the data.
    void setDataRate (StkFloat rate)
     Set the sample rate associated with the StkFrames data.
    StkFloat dataRate (void) const
     Return the sample rate associated with the StkFrames data.
    -


    Detailed Description

    -An STK class to handle vectorized audio data. -

    -This class can hold single- or multi-channel audio data. The data type is always StkFloat and the channel format is always interleaved. In an effort to maintain efficiency, no out-of-bounds checks are performed in this class unless _STK_DEBUG_ is defined.

    -Internally, the data is stored in a one-dimensional C array. An indexing operator is available to set and retrieve data values. Alternately, one can use pointers to access the data, using the index operator to get an address for a particular location in the data:

    -StkFloat* ptr = &myStkFrames[0];

    -Possible future improvements in this class could include functions to convert to and return other data types.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    An STK class to handle vectorized audio data.

    +

    This class can hold single- or multi-channel audio data. The data type is always StkFloat and the channel format is always interleaved. In an effort to maintain efficiency, no out-of-bounds checks are performed in this class unless _STK_DEBUG_ is defined.

    +

    Internally, the data is stored in a one-dimensional C array. An indexing operator is available to set and retrieve data values. Alternately, one can use pointers to access the data, using the index operator to get an address for a particular location in the data:

    +

    StkFloat* ptr = &myStkFrames[0];

    +

    Possible future improvements in this class could include functions to convert to and return other data types.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -108,21 +89,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Subscript operator that returns a reference to element n of self. -

    -The result can be used as an lvalue. This reference is valid until the resize function is called or the array is destroyed. The index n must be between 0 and size less one. No range checking is performed unless _STK_DEBUG_ is defined. +

    Subscript operator that returns a reference to element n of self.

    +

    The result can be used as an lvalue. This reference is valid until the resize function is called or the array is destroyed. The index n must be between 0 and size less one. No range checking is performed unless _STK_DEBUG_ is defined.

    +
    -

    - + +

    StkFloat & stk::StkFrames::operator[] StkFloat & stk::StkFrames::operator[] ( size_t  n n  )  [inline]
    - + - + @@ -130,21 +110,20 @@ The result can be used as an lvalue. This reference is valid until the resize fu
    -

    -Subscript operator that returns the value at element n of self. -

    -The index n must be between 0 and size less one. No range checking is performed unless _STK_DEBUG_ is defined. +

    Subscript operator that returns the value at element n of self.

    +

    The index n must be between 0 and size less one. No range checking is performed unless _STK_DEBUG_ is defined.

    +
    -

    - + +

    StkFloat stk::StkFrames::operator[] StkFloat stk::StkFrames::operator[] ( size_t  n n  )  const [inline]
    - + - + @@ -152,21 +131,20 @@ The index n must be between 0 and size less one. No range checking
    -

    -Assignment by sum operator into self. -

    -The dimensions of the argument are expected to be the same as self. No range checking is performed unless _STK_DEBUG_ is defined. +

    Assignment by sum operator into self.

    +

    The dimensions of the argument are expected to be the same as self. No range checking is performed unless _STK_DEBUG_ is defined.

    +
    -

    - + +

    void stk::StkFrames::operator+= void stk::StkFrames::operator+= ( StkFrames f f  )  [inline]
    - + - + @@ -174,18 +152,17 @@ The dimensions of the argument are expected to be the same as self. No range che
    -

    -Assignment by product operator into self. -

    -The dimensions of the argument are expected to be the same as self. No range checking is performed unless _STK_DEBUG_ is defined. +

    Assignment by product operator into self.

    +

    The dimensions of the argument are expected to be the same as self. No range checking is performed unless _STK_DEBUG_ is defined.

    +
    -

    - + +

    void stk::StkFrames::operator*= void stk::StkFrames::operator*= ( StkFrames f f  )  [inline]
    - + @@ -205,18 +182,17 @@ The dimensions of the argument are expected to be the same as self. No range che
    -

    -Channel / frame subscript operator that returns a reference. -

    -The result can be used as an lvalue. This reference is valid until the resize function is called or the array is destroyed. The frame index must be between 0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined. +

    Channel / frame subscript operator that returns a reference.

    +

    The result can be used as an lvalue. This reference is valid until the resize function is called or the array is destroyed. The frame index must be between 0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined.

    +
    -

    - + +

    StkFloat & stk::StkFrames::operator() StkFloat & stk::StkFrames::operator() ( size_t  frame,
    - + @@ -236,18 +212,17 @@ The result can be used as an lvalue. This reference is valid until the resize fu
    -

    -Channel / frame subscript operator that returns a value. -

    -The frame index must be between 0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined. +

    Channel / frame subscript operator that returns a value.

    +

    The frame index must be between 0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined.

    +
    -

    - + +

    StkFloat stk::StkFrames::operator() StkFloat stk::StkFrames::operator() ( size_t  frame,
    - + @@ -267,18 +242,17 @@ The frame index must be between 0 and -

    -Return an interpolated value at the fractional frame index and channel. -

    -This function performs linear interpolation. The frame index must be between 0.0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined. +

    Return an interpolated value at the fractional frame index and channel.

    +

    This function performs linear interpolation. The frame index must be between 0.0 and frames() - 1. The channel index must be between 0 and channels() - 1. No range checking is performed unless _STK_DEBUG_ is defined.

    + -

    - + +

    StkFloat stk::StkFrames::interpolate StkFloat stk::StkFrames::interpolate ( StkFloat  frame,
    - + @@ -298,18 +272,17 @@ This function performs linear interpolation. The frame index must b
    -

    -Resize self to represent the specified number of channels and frames. -

    -Changes the size of self based on the number of frames and channels. No element assignment is performed. No memory deallocation occurs if the new size is smaller than the previous size. Further, no new memory is allocated when the new size is smaller or equal to a previously allocated size. +

    Resize self to represent the specified number of channels and frames.

    +

    Changes the size of self based on the number of frames and channels. No element assignment is performed. No memory deallocation occurs if the new size is smaller than the previous size. Further, no new memory is allocated when the new size is smaller or equal to a previously allocated size.

    +
    -

    - + +

    void stk::StkFrames::resize void stk::StkFrames::resize ( size_t  nFrames,
    - + @@ -335,21 +308,20 @@ Changes the size of self based on the number of frames and channels. No element
    -

    -Resize self to represent the specified number of channels and frames and perform element initialization. -

    -Changes the size of self based on the number of frames and channels, and assigns value to every element. No memory deallocation occurs if the new size is smaller than the previous size. Further, no new memory is allocated when the new size is smaller or equal to a previously allocated size. +

    Resize self to represent the specified number of channels and frames and perform element initialization.

    +

    Changes the size of self based on the number of frames and channels, and assigns value to every element. No memory deallocation occurs if the new size is smaller than the previous size. Further, no new memory is allocated when the new size is smaller or equal to a previously allocated size.

    +
    -

    - + +

    void stk::StkFrames::resize void stk::StkFrames::resize ( size_t  nFrames,
    - + - + @@ -357,21 +329,20 @@ Changes the size of self based on the number of frames and channels, and assigns
    -

    -Set the sample rate associated with the StkFrames data. -

    -By default, this value is set equal to the current STK sample rate at the time of instantiation. +

    Set the sample rate associated with the StkFrames data.

    +

    By default, this value is set equal to the current STK sample rate at the time of instantiation.

    +
    -

    - + +

    void stk::StkFrames::setDataRate void stk::StkFrames::setDataRate ( StkFloat  rate rate  )  [inline]
    - + - + @@ -379,20 +350,20 @@ By default, this value is set equal to the current STK sample rate at the time o
    -

    -Return the sample rate associated with the StkFrames data. -

    -By default, this value is set equal to the current STK sample rate at the time of instantiation. +

    Return the sample rate associated with the StkFrames data.

    +

    By default, this value is set equal to the current STK sample rate at the time of instantiation.

    +
    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFloat stk::StkFrames::dataRate StkFloat stk::StkFrames::dataRate ( void   )  const [inline]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TapDelay-members.html b/doc/html/classstk_1_1TapDelay-members.html index fa37a3e..b3beece 100644 --- a/doc/html/classstk_1_1TapDelay-members.html +++ b/doc/html/classstk_1_1TapDelay-members.html @@ -8,56 +8,56 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TapDelay Member List

    This is the complete list of members for stk::TapDelay, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::TapDelay Member List

    This is the complete list of members for stk::TapDelay, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    getTapDelays(void) const stk::TapDelay [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(unsigned int tap=0) const stk::TapDelay [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::TapDelay
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTapDelays(std::vector< unsigned long > taps)stk::TapDelay
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    TapDelay(std::vector< unsigned long > taps=std::vector< unsigned long >(1, 0), unsigned long maxDelay=4095)stk::TapDelay
    tick(StkFloat input, StkFrames &outputs)stk::TapDelay [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::TapDelay [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0)stk::TapDelay [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TapDelay()stk::TapDelay
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    getTapDelays(void) const stk::TapDelay [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(unsigned int tap=0) const stk::TapDelay [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setGain(StkFloat gain)stk::Filter [inline]
    setMaximumDelay(unsigned long delay)stk::TapDelay
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setTapDelays(std::vector< unsigned long > taps)stk::TapDelay
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    TapDelay(std::vector< unsigned long > taps=std::vector< unsigned long >(1, 0), unsigned long maxDelay=4095)stk::TapDelay
    tick(StkFloat input, StkFrames &outputs)stk::TapDelay [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::TapDelay [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0)stk::TapDelay [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TapDelay()stk::TapDelay


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TapDelay.gif b/doc/html/classstk_1_1TapDelay.gif new file mode 100644 index 0000000000000000000000000000000000000000..30fa7541aff4b7a703b98607ee9ce6d782ac72ab GIT binary patch literal 783 zcmV+q1MvJuNk%w1VOIc%0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09OEr000C2IJ(^aFv>}#xH#+0yZ>OwDPn1!=trh(>u&2S&t**CcxKI;f$Du-1m)8{-6X4m4iBQCdR+%9-(@~&O+l()<= z?(ZylC3|jcV}*QMXJ}wq7>;~GjgfGRIhQwrn42P+oSz+@praU~q@$*%pQ);wtgV+7 zva__c6#%%oy1Tr+zP$#&!o$SH#>cq9$ji*l#s<*N($mt=%GB7|zt+*(-rwBU-{aWg zgnt4$mZ_xzVPz(x%Bq+`1$es{O$h!sS7CZ9KnL)4kGlXaACHF4yi$m$d2N= zi58h*%=rF}<3Nw-Hi9H3a-^`5Cg-IDx02yMTQFnFv;eDSDN8nCy~>+fMftYl$4BzqM3#cQUeLloiAd9jAdBY|;v2!mZCxq0xp?Zk$+@P*5V~(YHGmfR6 zO@I#FsWWM%rcVo1&1t6V*D(K~Y^iHDZ2;D8Ps^>lS-9RBxdHb*+?nm$$7v^TxqM~w zl+R5@A2}Ulb&uCMX3x0YVt0z)BZhZ4eqnip=L@D6xL$T~;_sKW=Qls!`lI;s>)+46 zzt;c%`NfA!5CR@UV1dOPh~O{^F8E7>z65}agb(6ppd<`B17R-|QkdZ~9s&>|FC$*a zVTS~ED9ngLAzj2_lVVu>n>IH8U^^4Q~#DE1hmk2%^%J<&->Pc_xlPMrr1TMM6m?noEjFWt?rk zsi%xb+R0*yI>Lxyl`~EVsFZ}}W2QHYW~t7i*+A+jI*?LR>7))`ndyp^W{RnUpDqaC NsHB!^s(uLo06Pk#l<@!n literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1TapDelay.html b/doc/html/classstk_1_1TapDelay.html index ba99c1a..9733a57 100644 --- a/doc/html/classstk_1_1TapDelay.html +++ b/doc/html/classstk_1_1TapDelay.html @@ -8,72 +8,63 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TapDelay Class Reference

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

    -#include <TapDelay.h> -

    +

    stk::TapDelay Class Reference

    +

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

    + +

    #include <TapDelay.h>

    Inheritance diagram for stk::TapDelay:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     TapDelay (std::vector< unsigned long > taps=std::vector< unsigned long >(1, 0), unsigned long maxDelay=4095)
     The default constructor creates a delay-line with maximum length of 4095 samples and a single tap at delay = 0.
    ~TapDelay ()
     Class destructor.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setTapDelays (std::vector< unsigned long > taps)
     Set the delay-line tap lengths.
    -std::vector< unsigned long > getTapDelays (void) const
     Return the current delay-line length.
    StkFloat lastOut (unsigned int tap=0) const
     Return the specified tap value of the last computed frame.
    StkFramestick (StkFloat input, StkFrames &outputs)
     Input one sample to the delayline and return outputs at all tap positions.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and write outputs back to the same object.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     TapDelay (std::vector< unsigned long > taps=std::vector< unsigned long >(1, 0), unsigned long maxDelay=4095)
     The default constructor creates a delay-line with maximum length of 4095 samples and a single tap at delay = 0.
    ~TapDelay ()
     Class destructor.
    void setMaximumDelay (unsigned long delay)
     Set the maximum delay-line length.
    void setTapDelays (std::vector< unsigned long > taps)
     Set the delay-line tap lengths.
    +std::vector< unsigned long > getTapDelays (void) const
     Return the current delay-line length.
    StkFloat lastOut (unsigned int tap=0) const
     Return the specified tap value of the last computed frame.
    StkFramestick (StkFloat input, StkFrames &outputs)
     Input one sample to the delayline and return outputs at all tap positions.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and write outputs back to the same object.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK non-interpolating tapped delay line class. -

    -This class implements a non-interpolating digital delay-line with an arbitrary number of output "taps". If the maximum length and tap delays are not specified during instantiation, a fixed maximum length of 4095 and a single tap delay of zero is set.

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

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK non-interpolating tapped delay line class.

    +

    This class implements a non-interpolating digital delay-line with an arbitrary number of output "taps". If the maximum length and tap delays are not specified during instantiation, a fixed maximum length of 4095 and a single tap delay of zero is set.

    +

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

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -93,22 +84,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -The default constructor creates a delay-line with maximum length of 4095 samples and a single tap at delay = 0. -

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

    The default constructor creates a delay-line with maximum length of 4095 samples and a single tap at delay = 0.

    +

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

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::TapDelay::TapDelay stk::TapDelay::TapDelay ( std::vector< unsigned long >  taps = std::vector< unsigned long >(1, 0),
    - + - + @@ -116,21 +106,20 @@ An -

    -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. +

    Set the maximum delay-line length.

    +

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

    + -

    - + +

    void stk::TapDelay::setMaximumDelay void stk::TapDelay::setMaximumDelay ( unsigned long  delay delay  ) 
    - + - + @@ -138,21 +127,20 @@ This method should generally only be used during initial setup of the delay line
    -

    -Set the delay-line tap lengths. -

    -The valid range for each tap length is from 0 to the maximum delay-line length. +

    Set the delay-line tap lengths.

    +

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

    +
    -

    - + +

    void stk::TapDelay::setTapDelays void stk::TapDelay::setTapDelays ( std::vector< unsigned long >  taps taps  ) 
    - + - + @@ -160,18 +148,17 @@ The valid range for each tap length is from 0 to the maximum delay-line length.
    -

    -Return the specified tap value of the last computed frame. -

    -Use the lastFrame() function to get all tap values from the last computed frame. The tap argument must be less than the number of delayline taps (the first tap is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Return the specified tap value of the last computed frame.

    +

    Use the lastFrame() function to get all tap values from the last computed frame. The tap argument must be less than the number of delayline taps (the first tap is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFloat stk::TapDelay::lastOut StkFloat stk::TapDelay::lastOut ( unsigned int  tap = 0 tap = 0  )  const [inline]
    - + @@ -191,18 +178,17 @@ Use the -

    -Input one sample to the delayline and return outputs at all tap positions. -

    -The StkFrames argument reference is returned. The output values are ordered according to the tap positions set using the setTapDelays() function (no sorting is performed). The StkFrames argument must contain at least as many channels as the number of taps. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Input one sample to the delayline and return outputs at all tap positions.

    +

    The StkFrames argument reference is returned. The output values are ordered according to the tap positions set using the setTapDelays() function (no sorting is performed). The StkFrames argument must contain at least as many channels as the number of taps. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    - + +

    StkFrames & stk::TapDelay::tick StkFrames & stk::TapDelay::tick ( StkFloat  input,
    - + @@ -222,20 +208,19 @@ The -

    -Take a channel of the StkFrames object as inputs to the filter and write outputs back to the same object. -

    -The StkFrames argument reference is returned. The output values are ordered according to the tap positions set using the setTapDelays() function (no sorting is performed). The StkFrames argument must contain at least as many channels as the number of taps. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

    Take a channel of the StkFrames object as inputs to the filter and write outputs back to the same object.

    +

    The StkFrames argument reference is returned. The output values are ordered according to the tap positions set using the setTapDelays() function (no sorting is performed). The StkFrames argument must contain at least as many channels as the number of taps. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::TapDelay::tick StkFrames & stk::TapDelay::tick ( StkFrames frames,
    - + @@ -261,20 +246,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. The output values are ordered according to the tap positions set using the setTapDelays() function (no sorting is performed). The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oFrames argument must contain at least as many channels as the number of taps. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. The output values are ordered according to the tap positions set using the setTapDelays() function (no sorting is performed). The iChannel argument must be less than the number of channels in the iFrames argument (the first channel is specified by 0). The oFrames argument must contain at least as many channels as the number of taps. However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::TapDelay::tick StkFrames & stk::TapDelay::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TapDelay.png b/doc/html/classstk_1_1TapDelay.png index 035ba6cb9980c62556131f3e800a4a7cfd5ab31d..8498388644ac459cfb7a2f68befb0168228a6b1d 100644 GIT binary patch delta 482 zcmcb|Jeg&J1SbbG0|Ud-y7na#71irGN`m}?8U91S)l(rx3=E8mJY5_^Dj46+jqN+E zz|$h>{^+0kJ@&dJ_RDQs?rB_&c&j(#!_hN4PG;XqQpyz)d~)whE5{j`hROe?blaBC z`(*Xrf^h1v(+z5lgO=+Rt0y#;cQwXVN<@S`k}{qM(L^$#cI zhqgb9`hIrV&l-jA<~tqV|7<;>Eq?#}SxYvVBOu~vZH)Z{Z@ryQCV_})H=uSNYvuSN z!r=98!zab^T}AUiwl(-we{h@d!iYCeQ=Fy-@WYc0ohk~ z^GoiTuRYvjEmakFzcasH{^f<3;@Zo94?Jhyx&JtC)p>oFxSc=h^3EAPPyi7c?;ihZ zj43*)Ivqr8XGv00e3J3xpSHN?`Pp0jm~Yy4$J7h+{WOnJSbD4c@UkF{}_HS Wsj5sbwZ8?7Oa@O^KbLh*2~7YVfb07J delta 429 zcmV;e0aE^x1l|LX7zqRe0001Bj%uZmAt!$UbW%=J06^y0W&i*IbV)=(R9J=WmO*aB zAPhxeGi&S{gcDTlg}Tc9k5C&M3Jp-AnMgAuqbNXlG2c#vzWZ8lAMP_Qx3_?|h|&W_ z+!kTv(Hw>dC7CBWt0TxGBDRbt1*8` zkY#XwoFLVisewLhgIM{b3a(6@z{%dl%7Ha-@o6ANRN#?}4423NBe*tov6!|#+?cw! zAVW=^!cvWajQ^U!cfjWB9tuDE$!~wK!3Mu84C^hpu)g0b!(Mt%IqQnoksreDcO$Rk z0}KvA@EPWM0z;m{ms^G@EM0-`H01?IW8N<4t%B2fk)i9QZ(s)vOqpevJ~7J(l9DDU zG6eQbWSPinrP)_7sQ#?Ef>{RVCjeK5tHE{FYKY{~7d$*X1&0%G&gZFq(JL9?Ge^M> XF!eaZ+7cCq00000NkvXXu0mjf95%%E diff --git a/doc/html/classstk_1_1TcpClient-members.html b/doc/html/classstk_1_1TcpClient-members.html index 7ce7bec..8e4510e 100644 --- a/doc/html/classstk_1_1TcpClient-members.html +++ b/doc/html/classstk_1_1TcpClient-members.html @@ -8,54 +8,54 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TcpClient Member List

    This is the complete list of members for stk::TcpClient, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::TcpClient Member List

    This is the complete list of members for stk::TcpClient, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    connect(int port, std::string hostname="localhost")stk::TcpClient
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)stk::TcpClient [virtual]
    stk::Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    TcpClient(int port, std::string hostname="localhost")stk::TcpClient
    writeBuffer(const void *buffer, long bufferSize, int flags=0)stk::TcpClient [virtual]
    stk::Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TcpClient()stk::TcpClient
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    connect(int port, std::string hostname="localhost")stk::TcpClient
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)stk::TcpClient [virtual]
    stk::Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    TcpClient(int port, std::string hostname="localhost")stk::TcpClient
    writeBuffer(const void *buffer, long bufferSize, int flags=0)stk::TcpClient [virtual]
    stk::Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TcpClient()stk::TcpClient


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TcpClient.gif b/doc/html/classstk_1_1TcpClient.gif new file mode 100644 index 0000000000000000000000000000000000000000..6deebe92eb59c61d8a744190438ea352c871b3ea GIT binary patch literal 794 zcmV+#1LgcjNk%w1VO9W$0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09F8q000C2IJ(^aFv>}zxH#+0yZ>OgDPn1!s7I!3>uT#O&tgp9IA-6$)q{cH zPw*SgcC;ceqa@;xte{WY+!&|5stby0Du-1m)8{-6X4m4iBQCdP+%9-(@~&I)l()<= z?(ZpiC3|jcV}*QMXJ}wq7>;~GjgfGRIhQnon42M*oSz(?praR}q@bp!oT;jqtgSf} zva__c6acuny1Tr+zP$#&!o$SH#>W7`$ji*l#RkyM($mh+%GB7|zShy&-rn5T-{aKc zgnt4$L8+w!1DCl_4m5)`0@Jt?fw4L0StI;!>yQB= zq)P}uBZ3YZ>cP(mq>oC75>r&mAuDf+4sE0cst%=nwvw3>DNR&LPRJta1lEcMH6q%O zU6b{!*RO---nGm3tshBDL8SWA^w3&p} zdEx($_edh(fCLt3;DHDxs9+HP8N*hBKDPAdD*NA_R#w^2p(e9!l8ZgFEUdBaSedh$E0p+6bhK zPc|83l)G%$qLahCsG*Ng&Pb(~V1juhltNCKrH)&ES>=->hPfn(U5dG4oJ@x4qntnD ziKd!n?ulfbX-e6nn|^+|    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TcpClient Class Reference

    STK TCP socket client class. -More... -

    -#include <TcpClient.h> -

    +

    stk::TcpClient Class Reference

    +

    STK TCP socket client class. +More...

    + +

    #include <TcpClient.h>

    Inheritance diagram for stk::TcpClient:
    - -

    - -stk::Socket -stk::Stk +
    + + +stk::Socket +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     TcpClient (int port, std::string hostname="localhost")
     Default class constructor creates a socket client connection to the specified host and port.
    ~TcpClient ()
     The class destructor closes the socket instance, breaking any existing connections.
    int connect (int port, std::string hostname="localhost")
     Connect the socket client to the specified host and port and returns the resulting socket descriptor.
    -int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    -int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read a buffer from the socket connection, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    + + + + + + + + + + +

    Public Member Functions

     TcpClient (int port, std::string hostname="localhost")
     Default class constructor creates a socket client connection to the specified host and port.
    ~TcpClient ()
     The class destructor closes the socket instance, breaking any existing connections.
    int connect (int port, std::string hostname="localhost")
     Connect the socket client to the specified host and port and returns the resulting socket descriptor.
    +int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    +int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read a buffer from the socket connection, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    -


    Detailed Description

    -STK TCP socket client class. -

    -This class provides a uniform cross-platform TCP socket client interface. Methods are provided for reading or writing data buffers to/from connections.

    -TCP sockets are reliable and connection-oriented. A TCP socket client must be connected to a TCP server before data can be sent or received. Data delivery is guaranteed in order, without loss, error, or duplication. That said, TCP transmissions tend to be slower than those using the UDP protocol and data sent with multiple write() calls can be arbitrarily combined by the underlying system.

    -The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate a closed or lost connection or the occurence of an error.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK TCP socket client class.

    +

    This class provides a uniform cross-platform TCP socket client interface. Methods are provided for reading or writing data buffers to/from connections.

    +

    TCP sockets are reliable and connection-oriented. A TCP socket client must be connected to a TCP server before data can be sent or received. Data delivery is guaranteed in order, without loss, error, or duplication. That said, TCP transmissions tend to be slower than those using the UDP protocol and data sent with multiple write() calls can be arbitrarily combined by the underlying system.

    +

    The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate a closed or lost connection or the occurence of an error.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + @@ -83,19 +78,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Default class constructor creates a socket client connection to the specified host and port. -

    -An StkError will be thrown if a socket error occurs during instantiation. +

    Default class constructor creates a socket client connection to the specified host and port.

    +

    An StkError will be thrown if a socket error occurs during instantiation.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::TcpClient::TcpClient stk::TcpClient::TcpClient ( int  port,
    - + @@ -115,20 +109,20 @@ An -

    -Connect the socket client to the specified host and port and returns the resulting socket descriptor. -

    -If the socket client is already connected, that connection is terminated and a new connection is attempted. An StkError will be thrown if a socket error occurs. +

    Connect the socket client to the specified host and port and returns the resulting socket descriptor.

    +

    If the socket client is already connected, that connection is terminated and a new connection is attempted. An StkError will be thrown if a socket error occurs.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    int stk::TcpClient::connect int stk::TcpClient::connect ( int  port,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TcpClient.png b/doc/html/classstk_1_1TcpClient.png index 8c442180c066bf11e6c4fc89dd6c714390d55609..58481a4a7de56d79f184f775da23b417288f4c23 100644 GIT binary patch delta 485 zcmVFtN-o=QAO(Uxkf%p-+rD6MQ$e)(~zCw$>1C5cb15A+d=~Y+@6e*u?%Cb_*G0 zqkxgvS7Sj0GY8C^gC0ySV&NoCVgVumhP+?2qT5f80B1bIwpb9M<#4Ltc|}DGnz`5> zX9KxDh3J)E!b<+&kuFnXo1N#DX%T;{We2Q?aBi8>_F$RCnxM-fa3#Cjss;8=Xlf}_ z^O=y?568y5&?iQn3BDU!YX~<6TWbh62>W53kl4f~HnE9KY+`>6i;z(eajwL^42z=Y z?5fv1L$Cl&v3uCK<}p1iP)ct&T`-r|VtbLM2EEB=6KsnCuP|J`(EoVAx|>lNyYG(& z)^s0hHmwLt*k<4(tQBFd+F{evcCgIKr#s=Q2yB?K%yz=DZ)Kt+oVm*;?#J)N=JWPl bup#3Q_!uOg0?rs100000NkvXXu0mjfz&+!= delta 430 zcmV;f0a5;z1m6RY7zqRe0001wOaYsbAt!$UbW%=J06^y0W&i*IbxA})R9J=WmP?Mq zAPk1hrfb_baC(E83(YF`Kf>4;XdV#Jb~0)ttf~R?;a8RFhwpxauc_DWS7&8ne-ckD zeJtDRkfn*(3AWJrVvUWVI3^dRSXP0ztbQo1?FzS9f}(%WGToV!nRX!n0+ zHCSubo6c9~AZ_;02Kx&8%sXGTTiyLOJO7-*-sbrf_Ov++cCdpTtlH3LTQ*B9$|@$S z2X3-b4qL2nmSYi6RU#CH9qGY_WtT$n)OcICLw0eabW2Xkgm9HzNjF}w+Uc&hBFALG zx{%t{P~_NybzijxlVhcIdOeVL$nQeXxTa?DbjdH^A;>;i7DM z2J1E-5dwz1!yOBYG`LDySOUTnLbn!=Aa2zebQw^;oekzg&uGztUdGIt8$*d3ARd>@ z0Jvr$ENf`9L~AzH(1;65*6R(0jrIB*sx??^-dmbOp0CZpOKkjZRp&pmRl6D<`@}o{ Y3si3|I^RK~o&W#<07*qoM6N<$f*3i    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TcpServer Member List

    This is the complete list of members for stk::TcpServer, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::TcpServer Member List

    This is the complete list of members for stk::TcpServer, including all inherited members.
    accept(void)stk::TcpServer
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)stk::TcpServer [virtual]
    stk::Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    TcpServer(int port=2006)stk::TcpServer
    writeBuffer(const void *buffer, long bufferSize, int flags=0)stk::TcpServer [virtual]
    stk::Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TcpServer()stk::TcpServer
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    accept(void)stk::TcpServer
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)stk::TcpServer [virtual]
    stk::Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    TcpServer(int port=2006)stk::TcpServer
    writeBuffer(const void *buffer, long bufferSize, int flags=0)stk::TcpServer [virtual]
    stk::Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TcpServer()stk::TcpServer


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TcpServer.gif b/doc/html/classstk_1_1TcpServer.gif new file mode 100644 index 0000000000000000000000000000000000000000..43a06e72ae2303942eabe54f43c71814948d532b GIT binary patch literal 869 zcmV-r1DgCtNk%w1VO;=-0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09^ox000C2IJ(^aFv>~m5;*J4yZ>M)j>>4BXo{9<>%Jlj&$KJocn;pW5MaMh zU>NiPdl;TBSoAcRN2C%q1XiJ)ruB!#OX6p_L zu(6&Nwzs&s7681xzQ4f1!ovUt#K*|V%FE2f&Ck%$%?8xc*4Nn7#@O85$=cQ4;^V#G z+vMop=jrU(?eEv?@bk;^^!LQ}`1`;5{Qv&`?F%UI9>Ie14kCP~a3Q;f4$(o3IBp_E zbr%O_#Ap6-V?2-aI)aQQa^$m;CYhm3sca=nWG-LklPM9QuA4Y>QlQ0iRZpI?ehv~E zD=1M$GrHWFgdz{16|7Py&GOWQQ%g`)l$kUYD+i`qus&jQm4i`3kPcB=BepFawON~P zU^AkOAGl@`DT>>aj$ILC7Ol<8w5-{vbrm_)>-X#3HilmzzO%Qh;J}Y7x8-}nZly?z zh&=fV*01Nt8H^sKp?Wop)~+|jHU)cjirThM;Lc5AGVdBXgA30Ipt$kl$dfBy&fHn^ z=g^}|pH4j{_3PNLYs=2PyZ7bWzl$GV9US@d=#`sG&%V9&_VAIvk57L-efak8v(K*| zJ^ugxe;nBs>kcG#kZFJ2fU0HW1sY|1E39F*FRtl-CkP2F>qNL6VYMZLAEqW}R vb*8GMhNeDyVYKi$Yaq2ueur(g-EGTlcHVw_UAW>-=i|BPrmL=x2><{)#jn8B literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1TcpServer.html b/doc/html/classstk_1_1TcpServer.html index bc37071..9cb42d0 100644 --- a/doc/html/classstk_1_1TcpServer.html +++ b/doc/html/classstk_1_1TcpServer.html @@ -8,65 +8,60 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TcpServer Class Reference

    STK TCP socket server class. -More... -

    -#include <TcpServer.h> -

    +

    stk::TcpServer Class Reference

    +

    STK TCP socket server class. +More...

    + +

    #include <TcpServer.h>

    Inheritance diagram for stk::TcpServer:
    - -

    - -stk::Socket -stk::Stk +
    + + +stk::Socket +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     TcpServer (int port=2006)
     Default constructor creates a local socket server on port 2006 (or the specified port number).
    ~TcpServer ()
     The class destructor closes the socket instance, breaking any existing connections.
    int accept (void)
     Extract the first pending connection request from the queue and create a new connection, returning the descriptor for the accepted socket.
    -int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    -int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read a buffer from the socket connection, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    + + + + + + + + + + +

    Public Member Functions

     TcpServer (int port=2006)
     Default constructor creates a local socket server on port 2006 (or the specified port number).
    ~TcpServer ()
     The class destructor closes the socket instance, breaking any existing connections.
    int accept (void)
     Extract the first pending connection request from the queue and create a new connection, returning the descriptor for the accepted socket.
    +int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Write a buffer over the socket connection. Returns the number of bytes written or -1 if an error occurs.
    +int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read a buffer from the socket connection, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    -


    Detailed Description

    -STK TCP socket server class. -

    -This class provides a uniform cross-platform TCP socket server interface. Methods are provided for reading or writing data buffers to/from connections.

    -TCP sockets are reliable and connection-oriented. A TCP socket server must accept a connection from a TCP client before data can be sent or received. Data delivery is guaranteed in order, without loss, error, or duplication. That said, TCP transmissions tend to be slower than those using the UDP protocol and data sent with multiple write() calls can be arbitrarily combined by the underlying system.

    -The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate a closed or lost connection or the occurence of an error.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK TCP socket server class.

    +

    This class provides a uniform cross-platform TCP socket server interface. Methods are provided for reading or writing data buffers to/from connections.

    +

    TCP sockets are reliable and connection-oriented. A TCP socket server must accept a connection from a TCP client before data can be sent or received. Data delivery is guaranteed in order, without loss, error, or duplication. That said, TCP transmissions tend to be slower than those using the UDP protocol and data sent with multiple write() calls can be arbitrarily combined by the underlying system.

    +

    The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate a closed or lost connection or the occurence of an error.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -74,22 +69,21 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Default constructor creates a local socket server on port 2006 (or the specified port number). -

    -An StkError will be thrown if a socket error occurs during instantiation. +

    Default constructor creates a local socket server on port 2006 (or the specified port number).

    +

    An StkError will be thrown if a socket error occurs during instantiation.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::TcpServer::TcpServer stk::TcpServer::TcpServer ( int  port = 2006 port = 2006  ) 
    - + - + @@ -97,20 +91,20 @@ An -

    -Extract the first pending connection request from the queue and create a new connection, returning the descriptor for the accepted socket. -

    -If no connection requests are pending and the socket has not been set non-blocking, this function will block until a connection is present. If an error occurs, -1 is returned. +

    Extract the first pending connection request from the queue and create a new connection, returning the descriptor for the accepted socket.

    +

    If no connection requests are pending and the socket has not been set non-blocking, this function will block until a connection is present. If an error occurs, -1 is returned.

    + -

    -


    The documentation for this class was generated from the following file:
    + +
    The documentation for this class was generated from the following file:
    int stk::TcpServer::accept int stk::TcpServer::accept ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TcpServer.png b/doc/html/classstk_1_1TcpServer.png index bb96b1419014302ad3c2da27d7f203cdd7406cee..8e1efb38f3355ca818035119c11519b8fea4bfd6 100644 GIT binary patch delta 504 zcmV(4iUIDfQkGY zI=Xg~4u}A7r21o&*XgZ7i17l2*yJ1Zit&`@`v+?-I5Wl6E8U}eXC_^}>5To%X6AoJ zSF1DH)7Dil^PM4`^h%G6v=(_WeHn7=8EGx@V*W<-oFnm}^qeE{vGhmJ4C$nkPCDtNlTP}EbVNo%;7v*2f{tX@ z+W5(o{eWJC^Om{(mJXy;C)Ad&)t21y)$gDP)s5un1qxO4jP?)p{8~p>yX<78k=_|| z8+zgG4#S^ao}IZ$uZe0{<2Y&Ps&(cKT_tmn@zc%1%=c4Qz3-N8%yO-G;f&Vcy6R`9 u&3hY=F>&h5=jn}n37$;n`~Dz$Wc&dhODAt-U9Uv|00001mpvd7zqRe0001Ytom$`At!$UbW%=J06^y0W&i*IdPzhBL zAPk1_rfbX%%n7RYLbJ;Kk5E4#$)pelDN)sty@`Pj`?nKC4&PJu8NTw2y&<2-o`{)p zdYLEnMm!}#qvRH*nykl5NFo)2awnw$FINg9`f;dd<0aXM&!#7@^^WvV?F!Y!NDqJa zhqPYS&*9T4KQia9=4byW9eeZ+uHiqHd--K~+{)kGALpHS-ue4^pFdycccW*qvXM@C z+JF=OdGzGjGm}lY$OjGnIC_d>8`O+{96godjUIm-Jy)KqZ`OMlJ&h-=rm5#JdYbU3jo3a0}|u=JolorGwB) zZ9E2y5h^cD#-K}f0f2qrWHA<=gM+N1#*|~^CkAyPf@ar^$}3XhL)}K>L*?U6PmAY# zsJb|H{Sr#Orss(V-3^70r4>8xAaH*kFoIDpU{23-IpK!M|{`* dKR@|D`2llhV683 diff --git a/doc/html/classstk_1_1Thread-members.html b/doc/html/classstk_1_1Thread-members.html index 7ee4ab5..580ca6b 100644 --- a/doc/html/classstk_1_1Thread-members.html +++ b/doc/html/classstk_1_1Thread-members.html @@ -8,46 +8,46 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Thread Member List

    This is the complete list of members for stk::Thread, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Thread Member List

    This is the complete list of members for stk::Thread, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    cancel(void)stk::Thread
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    start(THREAD_FUNCTION routine, void *ptr=NULL)stk::Thread
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    testCancel(void)stk::Thread
    Thread()stk::Thread
    wait(void)stk::Thread
    ~Stk(void)stk::Stk [protected, virtual]
    ~Thread()stk::Thread
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    cancel(void)stk::Thread
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    start(THREAD_FUNCTION routine, void *ptr=NULL)stk::Thread
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    testCancel(void)stk::Thread
    Thread()stk::Thread
    wait(void)stk::Thread
    ~Stk(void)stk::Stk [protected, virtual]
    ~Thread()stk::Thread


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Thread.gif b/doc/html/classstk_1_1Thread.gif new file mode 100644 index 0000000000000000000000000000000000000000..bee7383c42b2f11dfb8bec0a8cb99f1f6cc7cc37 GIT binary patch literal 497 zcmVZS_vFh-zlPz?5zP>oRcOtzS&r158cB6ZR0Y3dw#q3073bS{&$)6&`uR>m(vZCH*i z>Cqf{byj>$csX2vRBecOYJD}4kCK#Pm6soLn46lLmz|!JprMhYq%;(%s;jIF0I#sI zva__c2DP}ky1Tr%x4po@!nOv#!^g+~2g`;N!32 zkxaN(?m4r4)#SdL<| zi4-wL)abX6<3f+Qe25%LvZTqAC{w1ih^z<8V=i9`izyQr&6>P!)(Y^7C$5qJd}0#{ zOD8R#M1RIgDvhbpph#UJ4Y?F*)u=>$EamCcY0s}g!-CDa6|7aUVuemUTUJ)msJqCT zRaR`1xahU+T+yLj>4u67TnrRun{)y>    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Thread Class Reference

    STK thread class. -More... -

    -#include <Thread.h> -

    +

    stk::Thread Class Reference

    +

    STK thread class. +More...

    + +

    #include <Thread.h>

    Inheritance diagram for stk::Thread:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Thread ()
     Default constructor.
    ~Thread ()
     The class destructor does not attempt to cancel or join a thread.
    bool start (THREAD_FUNCTION routine, void *ptr=NULL)
     Begin execution of the thread routine. Upon success, true is returned.
    bool cancel (void)
     Signal cancellation of a thread routine, returning true on success.
    bool wait (void)
     Block the calling routine indefinitely until the thread terminates.
    void testCancel (void)
     Create a cancellation point within a thread routine.
    + + + + + + + + + + + + +

    Public Member Functions

    Thread ()
     Default constructor.
    ~Thread ()
     The class destructor does not attempt to cancel or join a thread.
    bool start (THREAD_FUNCTION routine, void *ptr=NULL)
     Begin execution of the thread routine. Upon success, true is returned.
    bool cancel (void)
     Signal cancellation of a thread routine, returning true on success.
    bool wait (void)
     Block the calling routine indefinitely until the thread terminates.
    void testCancel (void)
     Create a cancellation point within a thread routine.
    -


    Detailed Description

    -STK thread class. -

    -This class provides a uniform interface for cross-platform threads. On unix systems, the pthread library is used. Under Windows, the C runtime threadex functions are used.

    -Each instance of the Thread class can be used to control a single thread process. Routines are provided to signal cancelation and/or joining with a thread, though it is not possible for this class to know the running status of a thread once it is started.

    -For cross-platform compatability, thread functions should be declared as follows:

    -THREAD_RETURN THREAD_TYPE thread_function(void *ptr)

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


    Member Function Documentation

    - +

    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 - 2010.

    +

    Member Function Documentation

    +
    - + @@ -85,21 +79,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Begin execution of the thread routine. Upon success, true is returned. -

    -A data pointer can be supplied to the thread routine via the optional ptr argument. If the thread cannot be created, the return value is false. +

    Begin execution of the thread routine. Upon success, true is returned.

    +

    A data pointer can be supplied to the thread routine via the optional ptr argument. If the thread cannot be created, the return value is false.

    +
    -

    - + +

    bool stk::Thread::start bool stk::Thread::start ( THREAD_FUNCTION  routine,
    - + - + @@ -107,21 +100,20 @@ A data pointer can be supplied to the thread routine via the optional ptr
    -

    -Signal cancellation of a thread routine, returning true on success. -

    -This function only signals thread cancellation. It does not wait to verify actual routine termination. A true return value only signifies that the cancellation signal was properly executed, not thread cancellation. A thread routine may need to make use of the testCancel() function to specify a cancellation point. +

    Signal cancellation of a thread routine, returning true on success.

    +

    This function only signals thread cancellation. It does not wait to verify actual routine termination. A true return value only signifies that the cancellation signal was properly executed, not thread cancellation. A thread routine may need to make use of the testCancel() function to specify a cancellation point.

    +
    -

    - + +

    bool stk::Thread::cancel bool stk::Thread::cancel ( void   ) 
    - + - + @@ -129,21 +121,20 @@ This function only signals thread cancellation. It does not wait to verify actua
    -

    -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. +

    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.

    +
    -

    - + +

    bool stk::Thread::wait bool stk::Thread::wait ( void   ) 
    - + - + @@ -151,20 +142,20 @@ This function suspends execution of the calling routine until the thread has ter
    -

    -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. +

    Create a cancellation point within a thread routine.

    +

    This function call checks for thread cancellation, allowing the thread to be terminated if a cancellation request was previously signaled.

    +
    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    void stk::Thread::testCancel void stk::Thread::testCancel ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Thread.png b/doc/html/classstk_1_1Thread.png index 03f60e64d5818fe406d2359291a50b7743233a6a..6de26be6272d4f481282282425405cf51e6e1f9f 100644 GIT binary patch delta 315 zcmV-B0mS~-0__5j7zqdi0001Dbf~?NAt!$bbW%=J0RR90|NsC0)yh;d0002|Nklbewbzgb#}z@e^2!W7wIl3D;_4C5NE_`*2@3@ N002ovPDHLkV1gkslIH*b delta 293 zcmV+=0owlU0@nhN7zqRe0001|ghjlOAt!$UbW%=J06^y0W&i*H?MXyIR7i>KlV1+P zAPmOa7oRCNC?_y_A)mPa5p4M*BFr^riJH)jG0JcKzAgc-hB(6|?8kplp7Tr;IQSik z)7zY4&y@F+C0`5olzz^fq)18cr<8(aM}5(TVxzS1oC;a7xt}X??TqVUt|&cnaxZ_r zq?DgfZ(>o6vYoUsZj;=H)F~cE#b}YVQAhT;s6{R6YZMv6fiqP9bqe#0(h&9pj+7=g zDFSj1D}_2FBb8    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TubeBell Member List

    This is the complete list of members for stk::TubeBell, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::TubeBell Member List

    This is the complete list of members for stk::TubeBell, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::TubeBell [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::TubeBell [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    TubeBell(void)stk::TubeBell
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TubeBell(void)stk::TubeBell
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::TubeBell [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::FM [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::TubeBell [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    TubeBell(void)stk::TubeBell
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~TubeBell(void)stk::TubeBell


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TubeBell.gif b/doc/html/classstk_1_1TubeBell.gif new file mode 100644 index 0000000000000000000000000000000000000000..86f3c61b048c43234eeb4e38f3674595999cefa5 GIT binary patch literal 1040 zcmV+r1n>JtNk%w1VNw9V0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui08#+J000C2IJ(^aFv>}rxH#+0yZ>N#DPn1!s79u2>k8{D&t6R5w><|J4+cP= zz$bj^WW--4Iiwv?z+RNODN1=%*3-mH3aQa$uW1~-tVC-kOlG^b+^>{79;#FDQ;~FjgfDQIF~Yln42G(oS!O|prf6lq^F^%s;R53o~<|) zva__c5CFKjy1Tr+zPkp$!o$SH#>BzL%FE2f2G7mW(#_Aw)7RL&)zI19+1u9M;?m*c z=FH{i>dx!!#_8_yy72Py^!4ud`0M)n=l%Z10SxGEAi-}3?Inz7a3MK|?HWQvH&LC$ zipMTuWVilNoW_pAK7#ZmawM;kCg-KZhLV}BmoQ^mfTijc%^5atmeF}CCr?Fm67>n{ z0uT&SAF>QBVU%eNq)XC30_4Sy)G?00*tyaH4k1X0($pceb?cNlh&XuFAl8Fcp>oE` zovRk=qquIW)QJ?AQrJg(H)#6fb}t&kfdA4JY*(?;#CYjOPWu=`9yVvO&h3l&E!nn= ze~$7gI#A=%nNFjww0aZi)*xQPemXmr%-gst0NBmDx9{J;gZpkNytwh>$axb_&b+zt zYR;oepFW%$_3PM+gUimn`|j=D!((4A-aGm7+|Q#QzrKBQ_3ov^kMDdwedhM>BhRn@ zdH(_OZX}jC zQ*Ah@hGGe_t(ZZJE{>pLjHTdESyYk)mKabs+_+;@Y&8|zjBZ_Z;~jbBWm-|2`BfQM zVBtaJQjj$zi5yt6Ruo=VE;W^wXUJs~l9~y%WD8&E_~VX!Ny*4vl#q3ZUp&%Sr=2Lk z7^9vp^0}g)C<0oWptG51D2W($*j|YAL8qvAjy~EQc#>vEX{DB88XlvKYHFURlY*L_ zsF{*_9j6?cN*$^ms=BJH)3LfJtn$$soviEOik`0J@d~M}^#S{yu=o+1oUfZ2*t_3< zS2pYHv(QE>?X=Vap{#M%UMpO-+5*RIx4wM~E^p#`yITOoIU5|h$6cB3xxbYgFTCwy ziyXW3nhOBFqXM6C(3|pM> z!vN3QvAhxIyYa^pOM>yn1Ix>;zyphH^2`V;>~Y2_qg-&z981hI#vY%1GSEZ!ytBwG zgIqGsA?rM}&_+WXuE7*9{Pffxe`|BiTEDC`$=!mjt=QL+t*qI`qD`#Y!m    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TubeBell Class Reference

    STK tubular bell (orchestral chime) FM synthesis instrument. -More... -

    -#include <TubeBell.h> -

    +

    stk::TubeBell Class Reference

    +

    STK tubular bell (orchestral chime) FM synthesis instrument. +More...

    + +

    #include <TubeBell.h>

    Inheritance diagram for stk::TubeBell:
    - -

    - -stk::FM -stk::Instrmnt -stk::Stk +
    + + +stk::FM +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     TubeBell (void)
     Class constructor.
    ~TubeBell (void)
     Class destructor.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + +

    Public Member Functions

     TubeBell (void)
     Class constructor.
    ~TubeBell (void)
     Class destructor.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK tubular bell (orchestral chime) FM synthesis instrument. -

    -This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

    +


    Detailed Description

    +

    STK tubular bell (orchestral chime) FM synthesis instrument.

    +

    This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

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

    -Control Change Numbers:

      -
    • Modulator Index One = 2
    • Crossfade of Outputs = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -78,20 +78,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::TubeBell::TubeBell stk::TubeBell::TubeBell ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TubeBell.png b/doc/html/classstk_1_1TubeBell.png index 72d2d859704d145bd394e5c8ff9ccb91bac22f57..e3f3d665f4dd60a3341272219d824bbdd1211282 100644 GIT binary patch delta 584 zcmV-O0=NB^1o#Ay7zqdi0001>T*Tp#At!$bbW%=J0RR90|NsC0)yh;d00069Nklv`FwE`7;tCXyyP0 z;V($k*clQK0nlu>fArx=vYZ9tN`*2de3Z1k?bdRayOn<~e7M&Re}ZfaAGGI8;r@ST z)bXS3vBKBpl=ie?{vRj#A~OCZ)gE7X1nKT_&>r`DxNvuC-SdBVg5<{r z$$QE8FWu>p=a=3`<{WOulR1Z*7mzRMI7yNuNs=T<@_8h}M?!QpBrhY8{Cw?TP4-X9 zXy-?=V+NTT8j(Os_E5ENu74pVBt4d%u4dM0Pijavx)lvs*7$Ut4#>K3@087p-Q_;1 z)D)>!Ic1p++T#oV=aeqfT--F?U5?tL%{z9NR`}YSracz!I=()ayB+7p2FYiU;o}bq Ww=>r8KlQ2r0000nY5yvg)68q;SQi;p)YW5Rp| zOc+N<`%mdKyf3q8liLznbh-08Zk~$O$%jcGAY#$ zNv!UuOf|`v-H}d-aWbUQ{;NH5vPXZqUph%%@}2CYlTKcfbibsbUI;*1o&Q6OYvS)e zG)U{3`lNMDiM>W_RX45)pi5fUBrXS=ii~UOlh!qHOhD$3P&Ij2(n?mkyV(7aEs&VsU{395F!&yDsM?dJa^ bho9mfwYIBWFXo_{00000NkvXXu0mjf=OpTA diff --git a/doc/html/classstk_1_1TwoPole-members.html b/doc/html/classstk_1_1TwoPole-members.html index 7ea611e..3984a8b 100644 --- a/doc/html/classstk_1_1TwoPole-members.html +++ b/doc/html/classstk_1_1TwoPole-members.html @@ -8,57 +8,57 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TwoPole Member List

    This is the complete list of members for stk::TwoPole, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::TwoPole Member List

    This is the complete list of members for stk::TwoPole, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::TwoPole [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::TwoPole [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setA1(StkFloat a1)stk::TwoPole [inline]
    setA2(StkFloat a2)stk::TwoPole [inline]
    setB0(StkFloat b0)stk::TwoPole [inline]
    setCoefficients(StkFloat b0, StkFloat a1, StkFloat a2, bool clearState=false)stk::TwoPole
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)stk::TwoPole
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::TwoPole [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::TwoPole [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::TwoPole [inline]
    TwoPole(void)stk::TwoPole
    ~Stk(void)stk::Stk [protected, virtual]
    ~TwoPole()stk::TwoPole
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::TwoPole [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::TwoPole [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setA1(StkFloat a1)stk::TwoPole [inline]
    setA2(StkFloat a2)stk::TwoPole [inline]
    setB0(StkFloat b0)stk::TwoPole [inline]
    setCoefficients(StkFloat b0, StkFloat a1, StkFloat a2, bool clearState=false)stk::TwoPole
    setGain(StkFloat gain)stk::Filter [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setResonance(StkFloat frequency, StkFloat radius, bool normalize=false)stk::TwoPole
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::TwoPole [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::TwoPole [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::TwoPole [inline]
    TwoPole(void)stk::TwoPole
    ~Stk(void)stk::Stk [protected, virtual]
    ~TwoPole()stk::TwoPole


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TwoPole.gif b/doc/html/classstk_1_1TwoPole.gif new file mode 100644 index 0000000000000000000000000000000000000000..91dcec874098c530c859ec780b8d41aaaf36847e GIT binary patch literal 753 zcmV}pxH#+0yZ>M)C}L@zXhx=N>#lArgYazM2tK%FE2e2G7mW(#+4v)7RL%)zI19*xT0L;?d#b z=F8>h>dx!!#p&+xx$yGw^!4rc`0D!m=KcP}0Swq}Ai-}3?Im<)a3MK|>l#8tH}Rar zipDNtWVim&o5qg6K7#Bea^$X(Cg-KRhLV}BmoQ^mfCcLn%^5atmeHvyC(lHJ>hy^; z=uV(BLJRdtiqq4NG>?ql@e(G87^56s6@|2i!&aegLOES(D69sej=FMXD)t1UIb_eO zMa#BRia%JV&h=VptkSPl_#To|_k&GFlcLt`0@aWSpFjIX9tC-FiOQDSX5NH(vxm-} zv-%C)LZ<1{7524Exq4)^mE^d=Rt9c1?QOOx=GMLYSZmk4X$SW`JY(^9$2lesxm?(9 zkk30t-#8s(^@`UgW{0@lVfTgK6NW!Ho?!Wa=l!Kuy^pB-_weJ(pHIJjfabn{;P0h> z|G2LH{^bH-fB+1bA1?R(^4>B;36tP32J(ksF%L4RONIYYh#`Ur22tRI3JNG9h#rDy zVu>GexM6`Cc1U81DOUL4j3UwqV~iuZXrh2EX2>EjGQJ37hmnkk?rvga0*o!0qLE&rDddeD@;Bp_6MBiEjVc;hC7mc< jm}PQG;@4+$e=Zj&pL-rRsG)@xXWycXHtHx42><{)i4TF# literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1TwoPole.html b/doc/html/classstk_1_1TwoPole.html index 4cdd7be..04627f4 100644 --- a/doc/html/classstk_1_1TwoPole.html +++ b/doc/html/classstk_1_1TwoPole.html @@ -8,87 +8,75 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TwoPole Class Reference

    STK two-pole filter class. -More... -

    -#include <TwoPole.h> -

    +

    stk::TwoPole Class Reference

    +

    STK two-pole filter class. +More...

    + +

    #include <TwoPole.h>

    Inheritance diagram for stk::TwoPole:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    TwoPole (void)
     Default constructor creates a second-order pass-through filter.
    ~TwoPole ()
     Class destructor.
    -void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    -void setA2 (StkFloat a2)
     Set the a[2] coefficient value.
    -void setCoefficients (StkFloat b0, StkFloat a1, StkFloat a2, bool clearState=false)
     Set all filter coefficients.
    void setResonance (StkFloat frequency, StkFloat radius, bool normalize=false)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    TwoPole (void)
     Default constructor creates a second-order pass-through filter.
    ~TwoPole ()
     Class destructor.
    +void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setA1 (StkFloat a1)
     Set the a[1] coefficient value.
    +void setA2 (StkFloat a2)
     Set the a[2] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat a1, StkFloat a2, bool clearState=false)
     Set all filter coefficients.
    void setResonance (StkFloat frequency, StkFloat radius, bool normalize=false)
     Sets the filter coefficients for a resonance at frequency (in Hz).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK two-pole filter class. -

    -This class implements a two-pole digital filter. A method is provided for creating a resonance in the frequency response while maintaining a nearly constant filter gain.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK two-pole filter class.

    +

    This class implements a two-pole digital filter. A method is provided for creating a resonance in the frequency response while maintaining a nearly constant filter gain.

    +

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

    +

    Member Function Documentation

    +
    - + @@ -114,19 +102,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

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

    -This method determines the filter coefficients corresponding to two complex-conjugate poles with the given frequency (in Hz) and radius from the z-plane origin. If normalize is true, the coefficients are then normalized to produce unity gain at frequency (the actual maximum filter gain tends to be slightly greater than unity when radius is not close to one). The resulting filter frequency response has a resonance at the given frequency. The closer the poles are to the unit-circle (radius close to one), the narrower the resulting resonance width. An unstable filter will result for radius >= 1.0. For a better resonance filter, use a BiQuad filter.

    See also:
    BiQuad filter class
    +

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

    +

    This method determines the filter coefficients corresponding to two complex-conjugate poles with the given frequency (in Hz) and radius from the z-plane origin. If normalize is true, the coefficients are then normalized to produce unity gain at frequency (the actual maximum filter gain tends to be slightly greater than unity when radius is not close to one). The resulting filter frequency response has a resonance at the given frequency. The closer the poles are to the unit-circle (radius close to one), the narrower the resulting resonance width. An unstable filter will result for radius >= 1.0. For a better resonance filter, use a BiQuad filter.

    +
    See also:
    BiQuad filter class
    -

    - + +

    void stk::TwoPole::setResonance void stk::TwoPole::setResonance ( StkFloat  frequency,
    - + @@ -146,20 +133,19 @@ This method determines the filter coefficients corresponding to two complex-conj
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::TwoPole::tick StkFrames & stk::TwoPole::tick ( StkFrames frames,
    - + @@ -191,20 +177,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::TwoPole::tick StkFrames & stk::TwoPole::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TwoPole.png b/doc/html/classstk_1_1TwoPole.png index 1ea36e67e3680bc519ec8558aeed336587a93b17..fe523c105e63b6f82cbddc5837088b38e756dbb1 100644 GIT binary patch delta 454 zcmV;%0XhD`1NQ@v7zqdi0001}VE5yZAt!$bbW%=J0RR90|NsC0)yh;d0004oNkl*b34CFuI%TyEc>!*cWK@F=c29JN#;h?`pR~bCga6dWKEGGMT!(DQhZQ6qFXv7 zwo&}92odNm0F<#|=C-(;*%1K|0A^|X01-&pEl>tVeil`2(A{yezNh`VVqL0BEyw7H zyH!u(w8!%nJIUy(SK=Jm&N(iUxmka8%f(GbXU*?5#UB^Le_eN5-oElNG3RJ9T+BI| zj2B;#HARXPDN>|J@j(&MEg`rTieC|tbiak?J|1S#t~gz-2hW+62&7b>rs4kTUG~<+ zvwLp3iv>a(X|5HAnX}vPW5u=&uRyb~o#VAwq)pKtiMq#-jIMeR%j-gPlF>5zn4XL= wA6Hyd-A-R8qZX*FZP&?~|0yW`h8W%c00m$or@Z_?`~Uy|07*qoM6N<$f^zucRsaA1 delta 399 zcmV;A0dW5J1Hl837zqRe0001OkQ(BVAt!$UbW%=J06^y0W&i*IS4l)cR9J=WmQ9Ys zAPj|JGi%HZ%n7QQ3w4$IAE7qpC$x}p+Zm~?>_$p}55K%bsh;~$*2#S*UA-$AQO*Df zQ&fdh$QK8)>AGA4*zY%2gu}z;z5*k^8}f z9K#Y_QDcfMEsJ!rhowUDw%GH{j%;BGCDaKSZ^<5(T2FE|BZsh*S{|B^LsITRI0(VF z3Ho^uGCxKLm86Dr@OmT5z{{HNBppyiWFNQXz9Z>iO6Gg@vZXl^^+HmOWOpQ8>O?cu t$w8exh@(6w-rcqLyWWwJ$E5lzz5xFDH=rN0Z_NMz002ovPDHLkV1he!wdMc- diff --git a/doc/html/classstk_1_1TwoZero-members.html b/doc/html/classstk_1_1TwoZero-members.html index e817139..50bf4e9 100644 --- a/doc/html/classstk_1_1TwoZero-members.html +++ b/doc/html/classstk_1_1TwoZero-members.html @@ -8,57 +8,57 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TwoZero Member List

    This is the complete list of members for stk::TwoZero, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::TwoZero Member List

    This is the complete list of members for stk::TwoZero, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::TwoZero [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::TwoZero [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setB0(StkFloat b0)stk::TwoZero [inline]
    setB1(StkFloat b1)stk::TwoZero [inline]
    setB2(StkFloat b2)stk::TwoZero [inline]
    setCoefficients(StkFloat b0, StkFloat b1, StkFloat b2, bool clearState=false)stk::TwoZero
    setGain(StkFloat gain)stk::Filter [inline]
    setNotch(StkFloat frequency, StkFloat radius)stk::TwoZero
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::TwoZero [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::TwoZero [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::TwoZero [inline]
    TwoZero()stk::TwoZero
    ~Stk(void)stk::Stk [protected, virtual]
    ~TwoZero()stk::TwoZero
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsIn(void) const stk::Filter [inline]
    channelsOut(void) const stk::Filter [inline]
    clear(void)stk::Filter [inline, virtual]
    Filter(void)stk::Filter [inline]
    getGain(void) const stk::Filter [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::TwoZero [inline]
    lastFrame(void) const stk::Filter [inline]
    lastOut(void) const stk::TwoZero [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    setB0(StkFloat b0)stk::TwoZero [inline]
    setB1(StkFloat b1)stk::TwoZero [inline]
    setB2(StkFloat b2)stk::TwoZero [inline]
    setCoefficients(StkFloat b0, StkFloat b1, StkFloat b2, bool clearState=false)stk::TwoZero
    setGain(StkFloat gain)stk::Filter [inline]
    setNotch(StkFloat frequency, StkFloat radius)stk::TwoZero
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(StkFloat input)stk::TwoZero [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::TwoZero [inline, virtual]
    tick(StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)stk::TwoZero [inline]
    TwoZero()stk::TwoZero
    ~Stk(void)stk::Stk [protected, virtual]
    ~TwoZero()stk::TwoZero


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TwoZero.gif b/doc/html/classstk_1_1TwoZero.gif new file mode 100644 index 0000000000000000000000000000000000000000..7723a46c572facce387fe879270eb27c30fbbd7a GIT binary patch literal 754 zcmV}vxH#+0yZ>OADPn1!C`YDj>tgFG&tOd7xM0)4)q{cH zPw*SccC#Wdqa@ytsi05V+!&|5Y72U5Du-1m)8{-6WY^-gBQCdJ+%9-(@~&BNl()<= z?(ZmhB71IZV}*QMXJ}wq7>;~GjgfGRIhSUbnl6Hyo*SK?qB@qNrl6&#s-&x}tgfmR zva__c5&*cly1Tr+zPtv%!o$SH#>Tdx!!%IWU$!1DCI@b&Wd`0o1q>;3-D0Sq{9Ai-}3=^0FjZ6U*H4j-bE*e)W) zWfm{8(`f!KBS&H$KMD&e(q2h~C$o`EscU63TQFnFv;gZ=sG2lx;>@&Dl+K=t(2)5c zNem$zKl=>z0BC5_pnB9m0(9q#(KnDvBqfyf=%J&NPHfenhNz@RPM6LJlxoo0H&&D) zDvFkEi$6@|daWzA?UK1m$?8q3Hbqh*ljiIteASO(zd(^fj+}EcWuBKW9nKtLGv^PU zKX(W%8r96xsAc(c$r1qTl+{{O<0c#9w%WF1R&lmb3jB91q* kD5Zf{^7*EpKJLk9lLHb8prQRCsvmxgHtOi3MI`_LJNUzahyVZp literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1TwoZero.html b/doc/html/classstk_1_1TwoZero.html index 6fd84bc..566f217 100644 --- a/doc/html/classstk_1_1TwoZero.html +++ b/doc/html/classstk_1_1TwoZero.html @@ -8,87 +8,75 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::TwoZero Class Reference

    STK two-zero filter class. -More... -

    -#include <TwoZero.h> -

    +

    stk::TwoZero Class Reference

    +

    STK two-zero filter class. +More...

    + +

    #include <TwoZero.h>

    Inheritance diagram for stk::TwoZero:
    - -

    - -stk::Filter -stk::Stk +
    + + +stk::Filter +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    TwoZero ()
     Default constructor creates a second-order pass-through filter.
    ~TwoZero ()
     Class destructor.
    -void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    -void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    -void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    -void setB2 (StkFloat b2)
     Set the b[2] coefficient value.
    -void setCoefficients (StkFloat b0, StkFloat b1, StkFloat b2, bool clearState=false)
     Set all filter coefficients.
    void setNotch (StkFloat frequency, StkFloat radius)
     Sets the filter coefficients for a "notch" at frequency (in Hz).
    -StkFloat lastOut (void) const
     Return the last computed output value.
    -StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    TwoZero ()
     Default constructor creates a second-order pass-through filter.
    ~TwoZero ()
     Class destructor.
    +void ignoreSampleRateChange (bool ignore=true)
     A function to enable/disable the automatic updating of class data when the STK sample rate changes.
    +void setB0 (StkFloat b0)
     Set the b[0] coefficient value.
    +void setB1 (StkFloat b1)
     Set the b[1] coefficient value.
    +void setB2 (StkFloat b2)
     Set the b[2] coefficient value.
    +void setCoefficients (StkFloat b0, StkFloat b1, StkFloat b2, bool clearState=false)
     Set all filter coefficients.
    void setNotch (StkFloat frequency, StkFloat radius)
     Sets the filter coefficients for a "notch" at frequency (in Hz).
    +StkFloat lastOut (void) const
     Return the last computed output value.
    +StkFloat tick (StkFloat input)
     Input one sample to the filter and return one output.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Take a channel of the StkFrames object as inputs to the filter and replace with corresponding outputs.
    StkFramestick (StkFrames &iFrames, StkFrames &oFrames, unsigned int iChannel=0, unsigned int oChannel=0)
     Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.
    -


    Detailed Description

    -STK two-zero filter class. -

    -This class implements a two-zero digital filter. A method is provided for creating a "notch" in the frequency response while maintaining a constant filter gain.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK two-zero filter class.

    +

    This class implements a two-zero digital filter. A method is provided for creating a "notch" in the frequency response while maintaining a constant filter gain.

    +

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

    +

    Member Function Documentation

    +
    - + @@ -108,18 +96,17 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

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

    -This method determines the filter coefficients corresponding to two complex-conjugate zeros with the given frequency (in Hz) and radius from the z-plane origin. The coefficients are then normalized to produce a maximum filter gain of one (independent of the filter gain parameter). The resulting filter frequency response has a "notch" or anti-resonance at the given frequency. The closer the zeros are to the unit-circle (radius close to or equal to one), the narrower the resulting notch width. +

    Sets the filter coefficients for a "notch" at frequency (in Hz).

    +

    This method determines the filter coefficients corresponding to two complex-conjugate zeros with the given frequency (in Hz) and radius from the z-plane origin. The coefficients are then normalized to produce a maximum filter gain of one (independent of the filter gain parameter). The resulting filter frequency response has a "notch" or anti-resonance at the given frequency. The closer the zeros are to the unit-circle (radius close to or equal to one), the narrower the resulting notch width.

    +
    -

    - + +

    void stk::TwoZero::setNotch void stk::TwoZero::setNotch ( StkFloat  frequency,
    - + @@ -139,20 +126,19 @@ This method determines the filter coefficients corresponding to two complex-conj
    -

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

    -The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. -

    Implements stk::Filter.

    +

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

    +

    The StkFrames argument reference is returned. The channel argument must be less than the number of channels in the StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + +

    Implements stk::Filter.

    -

    - + +

    StkFrames & stk::TwoZero::tick StkFrames & stk::TwoZero::tick ( StkFrames frames,
    - + @@ -184,20 +170,20 @@ The -

    -Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object. -

    -The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Take a channel of the iFrames object as inputs to the filter and write outputs to the oFrames object.

    +

    The iFrames object reference is returned. Each channel argument must be less than the number of channels in the corresponding StkFrames argument (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    + -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::TwoZero::tick StkFrames & stk::TwoZero::tick ( StkFrames iFrames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1TwoZero.png b/doc/html/classstk_1_1TwoZero.png index 3b503a539c9da4b1f9cab072c043dacb320e1e4b..96ba080148db526220215a6d8e281711bbce72c5 100644 GIT binary patch delta 457 zcmX@i{EK;l1SbbG0|SGfr_J(-it6ZuST1_s7XPZ!6K3dXl{1N&PP zcv@!8`tZO0ldZ!>(G!cZ^PP?E8nd_7mB{q2f638Na^kh)i~r7wOy=wc9`&q8XI8VZ zx-eKc$i`egec>Aa5e_%TtzT+0)_yzscHX(K^%LyZtYeaM-2107@cfh8`zQXc|K7Xm z)752ZQ~W>QRWC`;IHF!<`>A)Yed{wBhu#Jt!P}Vk#BO1Wke3FK*k$_#YGu8XB9k?1 z!=&A7YMAG)({W-HWLOu)F3>n-UgM+}eiDwo9yeZ=Zj7tFE}XG;+pN>NvJUwt-Y)$E%K*v#`_14Z0AaRjj7*v%f#f=uJh&dFT^esod4qM3G;9NL}nE;m@%{`l^#a3+Ab{86cFxO}*-?E=2>;;T722WQ%mvv4FO#oO0*rWge delta 401 zcmV;C0dD^K1H%K57zqRe0001sxzVPPAt!$UbW%=J06^y0W&i*ISxH1eR9J=WmRoKE zAq+*~r{9e12UbDDn{&~CB{%KKt>MI+iw7K$MhG%9E}S?yFxPemt_m70yx(8*-|DxjFG zib@6ax-P>|^I3YB&ob0dL;orY+u?n}?oIv$(b9TOv@Q*O1$FZ!{wE3!LhuF69}hC% zHpnQW^g|B=4Gl7%2jI#`ro4kHKsNGxXgeE9n1-?8-6qKSam+vSb    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::UdpSocket Member List

    This is the complete list of members for stk::UdpSocket, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::UdpSocket Member List

    This is the complete list of members for stk::UdpSocket, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)stk::UdpSocket [virtual]
    stk::Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setAddress(struct sockaddr_in *address, int port=2006, std::string hostname="localhost")stk::UdpSocket [protected]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setDestination(int port=2006, std::string hostname="localhost")stk::UdpSocket
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    UdpSocket(int port=2006)stk::UdpSocket
    writeBuffer(const void *buffer, long bufferSize, int flags=0)stk::UdpSocket [virtual]
    stk::Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    writeBufferTo(const void *buffer, long bufferSize, int port, std::string hostname="localhost", int flags=0)stk::UdpSocket
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~UdpSocket()stk::UdpSocket
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    close(int socket)stk::Socket [static]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    id(void) const stk::Socket [inline]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    isValid(int socket)stk::Socket [inline, static]
    port(void) const stk::Socket [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    readBuffer(void *buffer, long bufferSize, int flags=0)stk::UdpSocket [virtual]
    stk::Socket::readBuffer(int socket, void *buffer, long bufferSize, int flags)stk::Socket [static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setAddress(struct sockaddr_in *address, int port=2006, std::string hostname="localhost")stk::UdpSocket [protected]
    setBlocking(int socket, bool enable)stk::Socket [static]
    setDestination(int port=2006, std::string hostname="localhost")stk::UdpSocket
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Socket()stk::Socket
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    UdpSocket(int port=2006)stk::UdpSocket
    writeBuffer(const void *buffer, long bufferSize, int flags=0)stk::UdpSocket [virtual]
    stk::Socket::writeBuffer(int socket, const void *buffer, long bufferSize, int flags)stk::Socket [static]
    writeBufferTo(const void *buffer, long bufferSize, int port, std::string hostname="localhost", int flags=0)stk::UdpSocket
    ~Socket()stk::Socket [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~UdpSocket()stk::UdpSocket


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1UdpSocket.gif b/doc/html/classstk_1_1UdpSocket.gif new file mode 100644 index 0000000000000000000000000000000000000000..3a73d457a737874347afa0e2e9949aae352a1023 GIT binary patch literal 880 zcmV-$1CRViNk%w1VO;=-0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09^ox000C2IJ(^aFv>~m5;*J4yZ>M)j>>4BXo{9<>%Jlj&$KJocn;pW5MaMh zU>NiPdl;TBSoAcRN2C%q1XiJ)ruB!#OX6p_L zu(6&Nwzs&s7681xzQ4f1!ovUt#K*|V%FE2f&Ck%$%?8xc*4Nn7#@O85$=cQ4;^V#G z+vMop=jrU(?eEv?@bk;^^!LQ}`1`;5{Qv&`?F%UI9>Ie14kCP~a3Q;f4$(o3IBp_E zbr%O_#Ap6-V?2-aI)aQQa^$m;CYhm3sca=nWG-LklPM9QuA4Y>QlQ0iRZpI?ehv~E zD=1M$GrHWFgdz{16|7Py&GOWQQ%g`)l$kUYD+i`qus&jQm4i`3kPcB=BepFawON~P zU^AkOAGl@`DT>>aj$ILC7Ol<8w5-{vbrm_)>-X#3HilmzzO%Qh;J}Y7x8-}nZly?z zh&=fV*01Nt8H^sKp?Wop)~+|jHU)cjirThM;Lc5AGVdBXgA30Ipt$kl$dfBy&fHn^ z=g^}|pH4j{_3PNLYs=2PyZ7bWzl$GV9US@d=#`sG&%V9&_VAIvk57L-efak8v(K*| zJ^ugxe;nBs>kcG#kZFJ2fU0HW1s|4bB39z zrI|*`XrP{Yn&+5l@<}J9qsH2)pt7oYX{nf+O6#t1%39>FaPrFMuEP$S>!z3zI9hC; zp$=*$vvxjvsh@XBnx>K$0;=D&L2}z_or~_c;jT-akMPDT@4P-H G0027^AjUQT literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1UdpSocket.html b/doc/html/classstk_1_1UdpSocket.html index 560a8be..9ed0462 100644 --- a/doc/html/classstk_1_1UdpSocket.html +++ b/doc/html/classstk_1_1UdpSocket.html @@ -8,72 +8,65 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::UdpSocket Class Reference

    STK UDP socket server/client class. -More... -

    -#include <UdpSocket.h> -

    +

    stk::UdpSocket Class Reference

    +

    STK UDP socket server/client class. +More...

    + +

    #include <UdpSocket.h>

    Inheritance diagram for stk::UdpSocket:
    - -

    - -stk::Socket -stk::Stk +
    + + +stk::Socket +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     UdpSocket (int port=2006)
     Default constructor creates a local UDP socket on port 2006 (or the specified port number).
    ~UdpSocket ()
     The class destructor closes the socket instance.
    void setDestination (int port=2006, std::string hostname="localhost")
     Set the address for subsequent outgoing data sent via the writeBuffer() function.
    int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Send a buffer to the address specified with the setDestination() function. Returns the number of bytes written or -1 if an error occurs.
    -int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read an input buffer, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    -int writeBufferTo (const void *buffer, long bufferSize, int port, std::string hostname="localhost", int flags=0)
     Write a buffer to the specified socket. Returns the number of bytes written or -1 if an error occurs.

    Protected Member Functions

    void setAddress (struct sockaddr_in *address, int port=2006, std::string hostname="localhost")
     A protected function for use in writing a socket address structure.
    + + + + + + + + + + + + + + + +

    Public Member Functions

     UdpSocket (int port=2006)
     Default constructor creates a local UDP socket on port 2006 (or the specified port number).
    ~UdpSocket ()
     The class destructor closes the socket instance.
    void setDestination (int port=2006, std::string hostname="localhost")
     Set the address for subsequent outgoing data sent via the writeBuffer() function.
    int writeBuffer (const void *buffer, long bufferSize, int flags=0)
     Send a buffer to the address specified with the setDestination() function. Returns the number of bytes written or -1 if an error occurs.
    +int readBuffer (void *buffer, long bufferSize, int flags=0)
     Read an input buffer, up to length bufferSize. Returns the number of bytes read or -1 if an error occurs.
    +int writeBufferTo (const void *buffer, long bufferSize, int port, std::string hostname="localhost", int flags=0)
     Write a buffer to the specified socket. Returns the number of bytes written or -1 if an error occurs.

    Protected Member Functions

    void setAddress (struct sockaddr_in *address, int port=2006, std::string hostname="localhost")
     A protected function for use in writing a socket address structure.
    -


    Detailed Description

    -STK UDP socket server/client class. -

    -This class provides a uniform cross-platform UDP socket server/client interface. Methods are provided for reading or writing data buffers. The constructor creates a UDP socket and binds it to the specified port. Note that only one socket can be bound to a given port on the same machine.

    -UDP sockets provide unreliable, connection-less service. Messages can be lost, duplicated, or received out of order. That said, data transmission tends to be faster than with TCP connections and datagrams are not potentially combined by the underlying system.

    -The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate the occurence of an error.

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


    Constructor & Destructor Documentation

    - +

    Detailed Description

    +

    STK UDP socket server/client class.

    +

    This class provides a uniform cross-platform UDP socket server/client interface. Methods are provided for reading or writing data buffers. The constructor creates a UDP socket and binds it to the specified port. Note that only one socket can be bound to a given port on the same machine.

    +

    UDP sockets provide unreliable, connection-less service. Messages can be lost, duplicated, or received out of order. That said, data transmission tends to be faster than with TCP connections and datagrams are not potentially combined by the underlying system.

    +

    The user is responsible for checking the values returned by the read/write methods. Values less than or equal to zero indicate the occurence of an error.

    +

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

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -81,19 +74,18 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Default constructor creates a local UDP socket on port 2006 (or the specified port number). -

    -An StkError will be thrown if a socket error occurs during instantiation. +

    Default constructor creates a local UDP socket on port 2006 (or the specified port number).

    +

    An StkError will be thrown if a socket error occurs during instantiation.

    +
    -

    -


    Member Function Documentation

    - + +

    Member Function Documentation

    +
    stk::UdpSocket::UdpSocket stk::UdpSocket::UdpSocket ( int  port = 2006 port = 2006  ) 
    - + @@ -113,18 +105,17 @@ An -

    -Set the address for subsequent outgoing data sent via the writeBuffer() function. -

    -An StkError will be thrown if the host is unknown. +

    Set the address for subsequent outgoing data sent via the writeBuffer() function.

    +

    An StkError will be thrown if the host is unknown.

    + -

    - + +

    void stk::UdpSocket::setDestination void stk::UdpSocket::setDestination ( int  port = 2006,
    - + @@ -150,20 +141,19 @@ An -

    -Send a buffer to the address specified with the setDestination() function. Returns the number of bytes written or -1 if an error occurs. -

    -This function will fail if the default address (set with setDestination()) is invalid or has not been specified. -

    Implements stk::Socket.

    +

    Send a buffer to the address specified with the setDestination() function. Returns the number of bytes written or -1 if an error occurs.

    +

    This function will fail if the default address (set with setDestination()) is invalid or has not been specified.

    + +

    Implements stk::Socket.

    -

    - + +

    int stk::UdpSocket::writeBuffer int stk::UdpSocket::writeBuffer ( const void *  buffer,
    - + @@ -189,20 +179,20 @@ This function will fail if the default address (set with
    -

    -A protected function for use in writing a socket address structure. -

    -An StkError will be thrown if the host is unknown. +

    A protected function for use in writing a socket address structure.

    +

    An StkError will be thrown if the host is unknown.

    +
    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    void stk::UdpSocket::setAddress void stk::UdpSocket::setAddress ( struct sockaddr_in *  address,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1UdpSocket.png b/doc/html/classstk_1_1UdpSocket.png index 305b298989379d395c172342ae3216f5a4d7ce6f..3d66c0b01b726a9487552e6b7071fe69a02397ba 100644 GIT binary patch delta 506 zcmVs}!2QUbK zMn{i5)PbAMywqceZ= zpsJD?t!b;O5A!`kox13eEv>b(IDR9<?~QFC~(X)xY}8P^V6vI(6#Qsc)zsku4oL zu2J7jN6v74!1Z;|O=nHV@cDOiAZGw>f__uCP%kn9`ox4@A3@HjkE+mS(TEvwN#rYC zhWqilS|iCmR`kYPwrUq`^;+@is@i|d_^O`tmYM0Qn!KN?>UB40H8Z-delE;m>1U>< z(A1sp8S1~QN4B)q%HsHq^im@EP`#8$K34zgGeey^b?VfqQ>VV6j>wh}xKrv|=t!=Q z_RqxuT-S7V-qme%RtHj&6WRtgN8^BXWDE5o&p{oh*Dot!yX{v0WFb1Ox#(uheSKD! zFKmKMw)#c=lhikQlbLD#9PN6o_@JsbGq3bPv`PL5jPic1s?YoFoHsM}%;*aG36Kq& wGh?Fu%+yu5x-a}zmw(njqx1d#J$hvO19+(?gqHK)|08Tm0ntT~L^s(<#%qdPR&B z!)2b5H{vM}DkZBhl*5jA*^(#;L0J>RfR`ni5&bySv+{D-h>xl#)_O;JsC0$O%}9R_ z_lHuwte>|Jr~Jr_znh=^o*dZgC~*(}u{_H!%j;48>HZjRyz$0A&)fWYoo`0ZY&j54 zd0K%Jemi>d>={WXT;xQD-;bW+Xn?x=??=x>ao~vGkDit1>bv#sMo;A_Rnyh88$DHj zUD?yqjGnbWBwnvSm(2LPd7D4QZ2o^V-gx7UAMrS4-ubCx--U;K_3SzI0sTrTbIPmR z<gizzU~k5$Eqho4l0Fi!}EQQFK*)b zRcPu}JzL(dye~3Z{k7h#zg-Hy^vD*e4Zidzxw$_KV`)I|F+wlcKHop)5A7QN^ON6` YA2)?zSSMbFXaE2J07*qoM6N<$f^2=&!T    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Vector3D Member List

    This is the complete list of members for stk::Vector3D, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Vector3D Member List

    This is the complete list of members for stk::Vector3D, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    getLength(void)stk::Vector3D [inline]
    getX(void)stk::Vector3D [inline]
    getY(void)stk::Vector3D [inline]
    getZ(void)stk::Vector3D [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setX(StkFloat x)stk::Vector3D [inline]
    setXYZ(StkFloat x, StkFloat y, StkFloat z)stk::Vector3D [inline]
    setY(StkFloat y)stk::Vector3D [inline]
    setZ(StkFloat z)stk::Vector3D [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    Vector3D(StkFloat x=0.0, StkFloat y=0.0, StkFloat z=0.0)stk::Vector3D [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    getLength(void)stk::Vector3D [inline]
    getX(void)stk::Vector3D [inline]
    getY(void)stk::Vector3D [inline]
    getZ(void)stk::Vector3D [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setX(StkFloat x)stk::Vector3D [inline]
    setXYZ(StkFloat x, StkFloat y, StkFloat z)stk::Vector3D [inline]
    setY(StkFloat y)stk::Vector3D [inline]
    setZ(StkFloat z)stk::Vector3D [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    Vector3D(StkFloat x=0.0, StkFloat y=0.0, StkFloat z=0.0)stk::Vector3D [inline]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Vector3D.gif b/doc/html/classstk_1_1Vector3D.gif new file mode 100644 index 0000000000000000000000000000000000000000..10591a0895672ff9d29348d053663e72e7a7b8ed GIT binary patch literal 539 zcmV+$0_6QiNk%w1VOIc90P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09OD|000C2IJ(^aFv>}#xH#+0yZ>OwDPn1!=trh(>u&2S&t**CcxKI;f$Du-1m)8{-6X4m4iBQCdR+%9-(@~&O+l()<= z?(ZylC3|jcV}*QMXJ}wq7>;~GjgfGRIhQwrn42P+oSz+@praU~q@$*%pQ);wtgV+7 zva__c6#%%oy1Tr+zP$#&!o$SH#>cq9$ji*l#s<*N($mt=%GB7|zt+*(-rwBU-{aWg zgnt4$mZ_xzVPz(x%Bq+`1$es{O$h!sS7CZ9KnL)4kGlXaACHF4yi$m$d2N= zi58h*%=qDs<3Nw-Hi9H3a-^`5Cg-IDx02yMNibu|oJq5$&6_xdw9FP{C$^qGrvVM> zY$#D?MtudqwNzNsTu+Nd9j241B&Ab(HO;zfD%W3Mc|F~#i)&J=R+o}h3bm}!s&L-| z@XEBS*sN>Gj;+ggZd<;4{R$rZHt=7!V(rci+t={gvW*Wz9^4nI*}!KLM}=7#@L{u^ z@rKPySu16{i3xxHOSda(!K9rkhRr&%ZQ7D8YaOe$?c>giHxC6`wQ_OJyN?!StQ;)! d=E    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Vector3D Class Reference

    STK 3D vector class. -More... -

    -#include <Vector3D.h> -

    +

    stk::Vector3D Class Reference

    +

    STK 3D vector class. +More...

    + +

    #include <Vector3D.h>

    Inheritance diagram for stk::Vector3D:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Vector3D (StkFloat x=0.0, StkFloat y=0.0, StkFloat z=0.0)
     Default constructor taking optional initial X, Y, and Z values.
    -StkFloat getX (void)
     Get the current X value.
    -StkFloat getY (void)
     Get the current Y value.
    -StkFloat getZ (void)
     Get the current Z value.
    -StkFloat getLength (void)
     Calculate the vector length.
    -void setXYZ (StkFloat x, StkFloat y, StkFloat z)
     Set the X, Y, and Z values simultaniously.
    -void setX (StkFloat x)
     Set the X value.
    -void setY (StkFloat y)
     Set the Y value.
    -void setZ (StkFloat z)
     Set the Z value.
    + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Vector3D (StkFloat x=0.0, StkFloat y=0.0, StkFloat z=0.0)
     Default constructor taking optional initial X, Y, and Z values.
    +StkFloat getX (void)
     Get the current X value.
    +StkFloat getY (void)
     Get the current Y value.
    +StkFloat getZ (void)
     Get the current Z value.
    +StkFloat getLength (void)
     Calculate the vector length.
    +void setXYZ (StkFloat x, StkFloat y, StkFloat z)
     Set the X, Y, and Z values simultaniously.
    +void setX (StkFloat x)
     Set the X value.
    +void setY (StkFloat y)
     Set the Y value.
    +void setZ (StkFloat z)
     Set the Z value.
    -


    Detailed Description

    -STK 3D vector class. -

    -This class implements a three-dimensional vector.

    -by Perry R. Cook, 1995 - 2009.


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

    Detailed Description

    +

    STK 3D vector class.

    +

    This class implements a three-dimensional vector.

    +

    by Perry R. Cook, 1995 - 2010.

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

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Vector3D.png b/doc/html/classstk_1_1Vector3D.png index acd65a56074590f6f21a7e24b12cde8daba54fbb..3acc0e84c41bbdc5a720535160f10788ff0a6ff2 100644 GIT binary patch delta 335 zcmV-V0kHn<0)YdN7zqdi000166B*`_At!$bbW%=J0RR90|NsC0)yh;d0003HNklhP<4@#kkY~niOa?Lii+OKfExW8fZiLgbFAopf2VuZN{Fi2nJ zqUM&lK#TwkLr(hi8LqAhvDrB?OVdkS0oZ!gcP7L;9fkne#wyq9Fqqr24((^;hoyhH zi4J9IIyal<`+?m5Di>q_pcd z*K(z(7oy|tn@-oOJq@?qmzk_^tqwaq*9`1fq^Z6KmKf{%kspG*hZ002ovPDHLkV1lx)rltS@ delta 315 zcmV-B0mS}+1MLEk7zqRe0001<Klu-`D zAP9!#WzWD3^aRUxp*{8fM;M4S?P7@C)`u-pQ`CMS{7p>val58l8MeQGb7Awuh4UcH zI*VZ{#D=gY_sA|>lW{#i3&we$`W2QzZLTpKzyhvtJtl-(8Eb=a8SEM~HG&4U4DEkU z8x);IjU2$SP51-&&{fd2OMm+d@bWkbzAVd0@QG?nc)}B&Z~)V|VZ!nAei?@5F|E|JhQ    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::VoicForm Member List

    This is the complete list of members for stk::VoicForm, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::VoicForm Member List

    This is the complete list of members for stk::VoicForm, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::VoicForm
    controlChange(int number, StkFloat value)stk::VoicForm [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::VoicForm [inline, virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::VoicForm [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    quiet(void)stk::VoicForm
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFilterSweepRate(unsigned int whichOne, StkFloat rate)stk::VoicForm
    setFrequency(StkFloat frequency)stk::VoicForm [virtual]
    setPhoneme(const char *phoneme)stk::VoicForm
    setPitchSweepRate(StkFloat rate)stk::VoicForm [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setUnVoiced(StkFloat nGain)stk::VoicForm [inline]
    setVoiced(StkFloat vGain)stk::VoicForm [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    speak(void)stk::VoicForm [inline]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::VoicForm [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    VoicForm(void)stk::VoicForm
    ~Stk(void)stk::Stk [protected, virtual]
    ~VoicForm(void)stk::VoicForm
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::VoicForm
    controlChange(int number, StkFloat value)stk::VoicForm [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::VoicForm [inline, virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::VoicForm [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    quiet(void)stk::VoicForm
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFilterSweepRate(unsigned int whichOne, StkFloat rate)stk::VoicForm
    setFrequency(StkFloat frequency)stk::VoicForm [virtual]
    setPhoneme(const char *phoneme)stk::VoicForm
    setPitchSweepRate(StkFloat rate)stk::VoicForm [inline]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    setUnVoiced(StkFloat nGain)stk::VoicForm [inline]
    setVoiced(StkFloat vGain)stk::VoicForm [inline]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    speak(void)stk::VoicForm [inline]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::VoicForm [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    VoicForm(void)stk::VoicForm
    ~Stk(void)stk::Stk [protected, virtual]
    ~VoicForm(void)stk::VoicForm


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1VoicForm.gif b/doc/html/classstk_1_1VoicForm.gif new file mode 100644 index 0000000000000000000000000000000000000000..a2709c5e2a291c34e66be76a1f65221110f00f84 GIT binary patch literal 854 zcmV-c1F8H+Nk%w1VORi&0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui09XKs000C2IJ(^aFv>}%xH#+0yZ>O=DPn1!C`hJk>vHQW&t^>DxMt(Q)q{cH zPw*SkcDEuhqa@~#t)NfZ+!&|5>I<4`Du-1m)8{-6XxHMkBQCdR+%9-(@~&NRmbc6? z?(Zylb!2XYR%3;HTW4rsSs0IeLXMJfj5(M%f|;Bpo1LH@pP{4~qot*%sG+K>ovp5! z6|=OpwzB}ay1Tr+zQ4Z)z{AAF#>dFI!pY3d&d3JQ&(qY@(aY7@+QZk<+uz^--Pqyf z)#T>s&*&edT0}OuOUi*A=wp-cf+Yae(MsRGq^6;uzH;)(t?O_Tgzyzii+Ha(wwo3 z)k3;^Iql}5v4o-y#CbI*)viy#j_s*6ZB4ds|J41ertjY}0SF&Xytwh>$dS8D&b+zv z=gpTxpH98H@N3qyYu|nxJNNJ4p^pnszI^fV=F^v#uD<IUrgvwE9;Di>Qmmz={Zg`!C`gQ1`h#Qia zp@|lvNTG@mvN*|$Fvck3j5OA0XsG^J}N+_gy_StBecp^&X znVs&bDW{L}86};5dYa^xt(N*Hrm@a>rI~}?Y3Qnps@W^Ao7VcNk?DO&EO*8p9;;ol g%38;4v(!BcEp*aOYpJN#K8NGB+;;2jj0pe$J4W!r+5i9m literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1VoicForm.html b/doc/html/classstk_1_1VoicForm.html index 7b1055d..71b7cc2 100644 --- a/doc/html/classstk_1_1VoicForm.html +++ b/doc/html/classstk_1_1VoicForm.html @@ -8,108 +8,98 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::VoicForm Class Reference

    Four formant synthesis instrument. -More... -

    -#include <VoicForm.h> -

    +

    stk::VoicForm Class Reference

    +

    Four formant synthesis instrument. +More...

    + +

    #include <VoicForm.h>

    Inheritance diagram for stk::VoicForm:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     VoicForm (void)
     Class constructor.
    ~VoicForm (void)
     Class destructor.
    -void clear (void)
     Reset and clear all internal state.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -bool setPhoneme (const char *phoneme)
     Set instrument parameters for the given phoneme. Returns false if phoneme not found.
    -void setVoiced (StkFloat vGain)
     Set the voiced component gain.
    -void setUnVoiced (StkFloat nGain)
     Set the unvoiced component gain.
    -void setFilterSweepRate (unsigned int whichOne, StkFloat rate)
     Set the sweep rate for a particular formant filter (0-3).
    -void setPitchSweepRate (StkFloat rate)
     Set voiced component pitch sweep rate.
    -void speak (void)
     Start the voice.
    -void quiet (void)
     Stop the voice.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    -void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

     VoicForm (void)
     Class constructor.
    ~VoicForm (void)
     Class destructor.
    +void clear (void)
     Reset and clear all internal state.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +bool setPhoneme (const char *phoneme)
     Set instrument parameters for the given phoneme. Returns false if phoneme not found.
    +void setVoiced (StkFloat vGain)
     Set the voiced component gain.
    +void setUnVoiced (StkFloat nGain)
     Set the unvoiced component gain.
    +void setFilterSweepRate (unsigned int whichOne, StkFloat rate)
     Set the sweep rate for a particular formant filter (0-3).
    +void setPitchSweepRate (StkFloat rate)
     Set voiced component pitch sweep rate.
    +void speak (void)
     Start the voice.
    +void quiet (void)
     Stop the voice.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +void noteOff (StkFloat amplitude)
     Stop a note with the given amplitude (speed of decay).
    +void controlChange (int number, StkFloat value)
     Perform the control change specified by number and value (0.0 - 128.0).
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -Four formant synthesis instrument. -

    -This instrument contains an excitation singing wavetable (looping wave with random and periodic vibrato, smoothing on frequency, etc.), excitation noise, and four sweepable complex resonances.

    -Measured formant data is included, and enough data is there to support either parallel or cascade synthesis. In the floating point case cascade synthesis is the most natural so that's what you'll find here.

    -Control Change Numbers:

      -
    • Voiced/Unvoiced Mix = 2
    • Vowel/Phoneme Selection = 4
    • Vibrato Frequency = 11
    • Vibrato Gain = 1
    • Loudness (Spectral Tilt) = 128
    -

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -117,20 +107,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::VoicForm::VoicForm stk::VoicForm::VoicForm ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1VoicForm.png b/doc/html/classstk_1_1VoicForm.png index fc66dd331f7eeb50ac0c7fccb392084ef8ccbfe7..834a8025a5215ee13c52fc310bacac381693fc6b 100644 GIT binary patch delta 466 zcmV;@0WJQ~1A_#R7zqdi0000~b=)bDAt!$bbW%=J0RR90|NsC0)yh;d0004!Nkll$2BL%By#+4kf;5*$f))1}SP2$TG+t?OE5($c7dZx7DJI1`m!kd7y5fJV zcq&CMT`8V*^I1Xg{|0-#{&y^HWq$xTMklftI7TP38~A};K`_At6HG9{1QWcp%gMqe zE=KSlfgu7r?ZZaKkyQ#e124LQ&kBN{3if*a?^xW* z{s3@{PGm1|j80@X@B_PoV1fxIm|%hlCU|LZvH+jU5&U*Af|;jr^)#bY`B#Da$dAB4 z2-<%3h|m+}X&L3CXO3B0z{!W~(Uk62y>)%wE(9Rd|3wSdCA}6SIBUF2Fj77Y;2fW< zyW80cTBLX#xY78V##n27Cq*t@$*7v%bj3mnJ}U@*Fxbhy0KdQ`Q-}x#k^lez07*qo IM6N<$f*sn;X#fBK delta 416 zcmV;R0bl-u1knSK7zqRe0001yg)u0RAt!$UbW%=J06^y0W&i*IXGugsR9J=WmO*aB zAPhyxrfb_bFug&0p{{cOBh)sSWF{E|O-E`+b|N6~FdrhJpFSrdedOVIe+ihl)QFig zjlpcKF3iMO5S@bL%bdcRjM>&loj}xsm9Kzm#=eXV)@8bIE;6BWDe*n*11>bmEM~Xl2DX9zq0000< KMNUMnLSTXkF}+;? diff --git a/doc/html/classstk_1_1Voicer-members.html b/doc/html/classstk_1_1Voicer-members.html index 5c57566..a06d2f0 100644 --- a/doc/html/classstk_1_1Voicer-members.html +++ b/doc/html/classstk_1_1Voicer-members.html @@ -8,58 +8,58 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Voicer Member List

    This is the complete list of members for stk::Voicer, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Voicer Member List

    This is the complete list of members for stk::Voicer, including all inherited members.
    addInstrument(Instrmnt *instrument, int group=0)stk::Voicer
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Voicer [inline]
    controlChange(int number, StkFloat value, int group=0)stk::Voicer
    controlChange(long tag, int number, StkFloat value)stk::Voicer
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Voicer [inline]
    lastOut(unsigned int channel=0)stk::Voicer [inline]
    noteOff(StkFloat noteNumber, StkFloat amplitude, int group=0)stk::Voicer
    noteOff(long tag, StkFloat amplitude)stk::Voicer
    noteOn(StkFloat noteNumber, StkFloat amplitude, int group=0)stk::Voicer
    pitchBend(StkFloat value, int group=0)stk::Voicer
    pitchBend(long tag, StkFloat value)stk::Voicer
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeInstrument(Instrmnt *instrument)stk::Voicer
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat noteNumber, int group=0)stk::Voicer
    setFrequency(long tag, StkFloat noteNumber)stk::Voicer
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    silence(void)stk::Voicer
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Voicer [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Voicer [inline]
    Voicer(StkFloat decayTime=0.2)stk::Voicer
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addInstrument(Instrmnt *instrument, int group=0)stk::Voicer
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Voicer [inline]
    controlChange(int number, StkFloat value, int group=0)stk::Voicer
    controlChange(long tag, int number, StkFloat value)stk::Voicer
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::Voicer [inline]
    lastOut(unsigned int channel=0)stk::Voicer [inline]
    noteOff(StkFloat noteNumber, StkFloat amplitude, int group=0)stk::Voicer
    noteOff(long tag, StkFloat amplitude)stk::Voicer
    noteOn(StkFloat noteNumber, StkFloat amplitude, int group=0)stk::Voicer
    pitchBend(StkFloat value, int group=0)stk::Voicer
    pitchBend(long tag, StkFloat value)stk::Voicer
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeInstrument(Instrmnt *instrument)stk::Voicer
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat noteNumber, int group=0)stk::Voicer
    setFrequency(long tag, StkFloat noteNumber)stk::Voicer
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    silence(void)stk::Voicer
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Voicer [inline]
    tick(StkFrames &frames, unsigned int channel=0)stk::Voicer [inline]
    Voicer(StkFloat decayTime=0.2)stk::Voicer
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Voicer.gif b/doc/html/classstk_1_1Voicer.gif new file mode 100644 index 0000000000000000000000000000000000000000..7b7cf508aa7391ecbf28144e15616e6bac75dd68 GIT binary patch literal 494 zcmV>b_eG&#$Zo7XAgiF6chi z00!J)ia(bP#LG32nxGR0B`rP3q7T|U=8{5_6e#6%!DrJIyLFbb<J{fAttivZTqAC{wCLdC?e;mc?Ge942!nu$ne~;mj3aR?l8PX$8GC zl-W*PKZ_EzrS#iT05W?(^~o#fP^naX;>1d|=+UHEds@vpmF(EEXU{@a`jx3xokHV= zB`deA-C9p;CT;5Ws$8&4N7lv57j0L#e&^n$J6I@N#el22h5WZ})4W#2#*NH)ty-?0 k@ggmplW=K~q))F^4K(%Xr>x(`9zA>X%GrMawJCMf)8UO$Q literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Voicer.html b/doc/html/classstk_1_1Voicer.html index ec87308..7d128f4 100644 --- a/doc/html/classstk_1_1Voicer.html +++ b/doc/html/classstk_1_1Voicer.html @@ -8,105 +8,87 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Voicer Class Reference

    STK voice manager class. -More... -

    -#include <Voicer.h> -

    +

    stk::Voicer Class Reference

    +

    STK voice manager class. +More...

    + +

    #include <Voicer.h>

    Inheritance diagram for stk::Voicer:
    - -

    - -stk::Stk +
    + + +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    Voicer (StkFloat decayTime=0.2)
     Class constructor taking an optional note decay time (in seconds).
    void addInstrument (Instrmnt *instrument, int group=0)
     Add an instrument with an optional group number to the voice manager.
    void removeInstrument (Instrmnt *instrument)
     Remove the given instrument pointer from the voice manager's control.
    long noteOn (StkFloat noteNumber, StkFloat amplitude, int group=0)
     Initiate a noteOn event with the given note number and amplitude and return a unique note tag.
    void noteOff (StkFloat noteNumber, StkFloat amplitude, int group=0)
     Send a noteOff to all voices having the given noteNumber and optional group (default group = 0).
    void noteOff (long tag, StkFloat amplitude)
     Send a noteOff to the voice with the given note tag.
    void setFrequency (StkFloat noteNumber, int group=0)
     Send a frequency update message to all voices assigned to the optional group argument (default group = 0).
    void setFrequency (long tag, StkFloat noteNumber)
     Send a frequency update message to the voice with the given note tag.
    -void pitchBend (StkFloat value, int group=0)
     Send a pitchBend message to all voices assigned to the optional group argument (default group = 0).
    -void pitchBend (long tag, StkFloat value)
     Send a pitchBend message to the voice with the given note tag.
    -void controlChange (int number, StkFloat value, int group=0)
     Send a controlChange to all instruments assigned to the optional group argument (default group = 0).
    -void controlChange (long tag, int number, StkFloat value)
     Send a controlChange to the voice with the given note tag.
    -void silence (void)
     Send a noteOff message to all existing voices.
    -unsigned int channelsOut (void) const
     Return the current number of output channels.
    -const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Mix one sample frame of all sounding voices and return the specified channel value.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill the StkFrames argument with computed frames and return the same reference.
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Public Member Functions

    Voicer (StkFloat decayTime=0.2)
     Class constructor taking an optional note decay time (in seconds).
    void addInstrument (Instrmnt *instrument, int group=0)
     Add an instrument with an optional group number to the voice manager.
    void removeInstrument (Instrmnt *instrument)
     Remove the given instrument pointer from the voice manager's control.
    long noteOn (StkFloat noteNumber, StkFloat amplitude, int group=0)
     Initiate a noteOn event with the given note number and amplitude and return a unique note tag.
    void noteOff (StkFloat noteNumber, StkFloat amplitude, int group=0)
     Send a noteOff to all voices having the given noteNumber and optional group (default group = 0).
    void noteOff (long tag, StkFloat amplitude)
     Send a noteOff to the voice with the given note tag.
    void setFrequency (StkFloat noteNumber, int group=0)
     Send a frequency update message to all voices assigned to the optional group argument (default group = 0).
    void setFrequency (long tag, StkFloat noteNumber)
     Send a frequency update message to the voice with the given note tag.
    +void pitchBend (StkFloat value, int group=0)
     Send a pitchBend message to all voices assigned to the optional group argument (default group = 0).
    +void pitchBend (long tag, StkFloat value)
     Send a pitchBend message to the voice with the given note tag.
    +void controlChange (int number, StkFloat value, int group=0)
     Send a controlChange to all instruments assigned to the optional group argument (default group = 0).
    +void controlChange (long tag, int number, StkFloat value)
     Send a controlChange to the voice with the given note tag.
    +void silence (void)
     Send a noteOff message to all existing voices.
    +unsigned int channelsOut (void) const
     Return the current number of output channels.
    +const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last output sample frame.
    StkFloat lastOut (unsigned int channel=0)
     Return the specified channel value of the last computed frame.
    StkFloat tick (unsigned int channel=0)
     Mix one sample frame of all sounding voices and return the specified channel value.
    StkFramestick (StkFrames &frames, unsigned int channel=0)
     Fill the StkFrames argument with computed frames and return the same reference.
    -


    Detailed Description

    -STK voice manager class. -

    -This class can be used to manage a group of STK instrument classes. Individual voices can be controlled via unique note tags. Instrument groups can be controlled by group number.

    -A previously constructed STK instrument class is linked with a voice manager using the addInstrument() function. An optional group number argument can be specified to the addInstrument() function as well (default group = 0). The voice manager does not delete any instrument instances ... it is the responsibility of the user to allocate and deallocate all instruments.

    -The tick() function returns the mix of all sounding voices. Each noteOn returns a unique tag (credits to the NeXT MusicKit), so you can send control changes to specific voices within an ensemble. Alternately, control changes can be sent to all voices in a given group.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK voice manager class.

    +

    This class can be used to manage a group of STK instrument classes. Individual voices can be controlled via unique note tags. Instrument groups can be controlled by group number.

    +

    A previously constructed STK instrument class is linked with a voice manager using the addInstrument() function. An optional group number argument can be specified to the addInstrument() function as well (default group = 0). The voice manager does not delete any instrument instances ... it is the responsibility of the user to allocate and deallocate all instruments.

    +

    The tick() function returns the mix of all sounding voices. Each noteOn returns a unique tag (credits to the NeXT MusicKit), so you can send control changes to specific voices within an ensemble. Alternately, control changes can be sent to all voices in a given group.

    +

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

    +

    Member Function Documentation

    +
    - + @@ -126,21 +108,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Add an instrument with an optional group number to the voice manager. -

    -A set of instruments can be grouped by group number and controlled via the functions that take a group number argument. +

    Add an instrument with an optional group number to the voice manager.

    +

    A set of instruments can be grouped by group number and controlled via the functions that take a group number argument.

    +
    -

    - + +

    void stk::Voicer::addInstrument void stk::Voicer::addInstrument ( Instrmnt instrument,
    - + - + @@ -148,18 +129,17 @@ A set of instruments can be grouped by group number and controlled via the funct
    -

    -Remove the given instrument pointer from the voice manager's control. -

    -It is important that any instruments which are to be deleted by the user while the voice manager is running be first removed from the manager's control via this function!! +

    Remove the given instrument pointer from the voice manager's control.

    +

    It is important that any instruments which are to be deleted by the user while the voice manager is running be first removed from the manager's control via this function!!

    +
    -

    - + +

    void stk::Voicer::removeInstrument void stk::Voicer::removeInstrument ( Instrmnt instrument instrument  ) 
    - + @@ -185,18 +165,17 @@ It is important that any instruments which are to be deleted by the user while t
    -

    -Initiate a noteOn event with the given note number and amplitude and return a unique note tag. -

    -Send the noteOn message to the first available unused voice. If all voices are sounding, the oldest voice is interrupted and sent the noteOn message. If the optional group argument is non-zero, only voices in that group are used. If no voices are found for a specified non-zero group value, the function returns -1. The amplitude value should be in the range 0.0 - 128.0. +

    Initiate a noteOn event with the given note number and amplitude and return a unique note tag.

    +

    Send the noteOn message to the first available unused voice. If all voices are sounding, the oldest voice is interrupted and sent the noteOn message. If the optional group argument is non-zero, only voices in that group are used. If no voices are found for a specified non-zero group value, the function returns -1. The amplitude value should be in the range 0.0 - 128.0.

    +
    -

    - + +

    long stk::Voicer::noteOn long stk::Voicer::noteOn ( StkFloat  noteNumber,
    - + @@ -222,18 +201,17 @@ Send the noteOn message to the first available unused voice. If all voices are s
    -

    -Send a noteOff to all voices having the given noteNumber and optional group (default group = 0). -

    -The amplitude value should be in the range 0.0 - 128.0. +

    Send a noteOff to all voices having the given noteNumber and optional group (default group = 0).

    +

    The amplitude value should be in the range 0.0 - 128.0.

    +
    -

    - + +

    void stk::Voicer::noteOff void stk::Voicer::noteOff ( StkFloat  noteNumber,
    - + @@ -253,18 +231,17 @@ The amplitude value should be in the range 0.0 - 128.0.
    -

    -Send a noteOff to the voice with the given note tag. -

    -The amplitude value should be in the range 0.0 - 128.0. +

    Send a noteOff to the voice with the given note tag.

    +

    The amplitude value should be in the range 0.0 - 128.0.

    +
    -

    - + +

    void stk::Voicer::noteOff void stk::Voicer::noteOff ( long  tag,
    - + @@ -284,18 +261,17 @@ The amplitude value should be in the range 0.0 - 128.0.
    -

    -Send a frequency update message to all voices assigned to the optional group argument (default group = 0). -

    -The noteNumber argument corresponds to a MIDI note number, though it is a floating-point value and can range beyond the normal 0-127 range. +

    Send a frequency update message to all voices assigned to the optional group argument (default group = 0).

    +

    The noteNumber argument corresponds to a MIDI note number, though it is a floating-point value and can range beyond the normal 0-127 range.

    +
    -

    - + +

    void stk::Voicer::setFrequency void stk::Voicer::setFrequency ( StkFloat  noteNumber,
    - + @@ -315,21 +291,20 @@ The noteNumber argument corresponds to a MIDI note number, though it is
    -

    -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. +

    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.

    +
    -

    - + +

    void stk::Voicer::setFrequency void stk::Voicer::setFrequency ( long  tag,
    - + - + @@ -337,22 +312,21 @@ The noteNumber argument corresponds to a MIDI note number, though it is
    -

    -Return the specified channel value of the last computed frame. -

    -The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    See also:
    lastFrame()
    +

    Return the specified channel value of the last computed frame.

    +

    The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    See also:
    lastFrame()
    -

    - + +

    StkFloat stk::Voicer::lastOut StkFloat stk::Voicer::lastOut ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + - + @@ -360,18 +334,17 @@ The channel argument must be less than the number of output channel
    -

    -Mix one sample frame of all sounding voices and return the specified channel value. -

    -The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception. +

    Mix one sample frame of all sounding voices and return the specified channel value.

    +

    The channel argument must be less than the number of output channels, which can be determined with the channelsOut() function (the first channel is specified by 0). However, range checking is only performed if _STK_DEBUG_ is defined during compilation, in which case an out-of-range value will trigger an StkError exception.

    +
    -

    - + +

    StkFloat stk::Voicer::tick StkFloat stk::Voicer::tick ( unsigned int  channel = 0 channel = 0  )  [inline]
    - + @@ -391,20 +364,20 @@ The channel argument must be less than the number of output channel
    -

    -Fill the StkFrames argument with computed frames and return the same reference. -

    -The number of channels in the StkFrames argument must equal the number of channels in the file data. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no file data is loaded, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation). +

    Fill the StkFrames argument with computed frames and return the same reference.

    +

    The number of channels in the StkFrames argument must equal the number of channels in the file data. However, this is only checked if _STK_DEBUG_ is defined during compilation, in which case an incompatibility will trigger an StkError exception. If no file data is loaded, the function does nothing (a warning will be issued if _STK_DEBUG_ is defined during compilation).

    +
    -

    -


    The documentation for this class was generated from the following file: + +
    The documentation for this class was generated from the following file:
    StkFrames & stk::Voicer::tick StkFrames & stk::Voicer::tick ( StkFrames frames,
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Voicer.png b/doc/html/classstk_1_1Voicer.png index f85a968c3ee827ac1fc2d03364550ac1849e01a4..620ce90cc72c6ac7663d57889f904932c3e3ee22 100644 GIT binary patch delta 309 zcmV-50m}Z=0_Osd7zqdi0001dy_gP>At!$bbW%=J0RR90|NsC0)yh;d0002?Nkl?>l)KR`N&}MJjl@smi8Bv@cIp`f`4Zx9~ za-dq61N08SbtzT5;VGs>~PoIZzr&6hW?P@jLv z7k63uY~}h+i<8Sq`riq}h#dMq&KNnMB+eK)pe)Yo=2e{H6sI`FDbD*i$ccuOl8f_* zgJ#zEy(;HtKI25{0a~N?z!m^{%Xo=NkbL3X>0pIu%THCMF7=27-ZAx9&a$!l+Bm$w zbD&PwKF_|sa+V2t{W*-x@6W*(cUd85>fPbXFR7i>KlTi+X zAPk1fi_dLu04G?s3+>7KA7L#NGPMhC(Zpm_6qJwuZ!y55A2+zCZd@LUiAztMICdb` zkq=QKE>o;xb;Sb8i#hv5ndTTBrKpW;tSmc_01e8rE@XBsao>(>O;(+gxY}vnnz(=L zlT;TS=yME6pj}656Vvw7kI?))2%6^kAn3sA1~i}noeohy5U{U(WhhvWPzJaMa+C-N zF%($3yfN|!Bmf#DGC|)kK)v!Xv(O-E1XanPGKp_?6;i    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Whistle Member List

    This is the complete list of members for stk::Whistle, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Whistle Member List

    This is the complete list of members for stk::Whistle, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Whistle
    controlChange(int number, StkFloat value)stk::Whistle [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Whistle [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Whistle [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Whistle [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Whistle
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Whistle
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Whistle [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    Whistle(void)stk::Whistle
    ~Stk(void)stk::Stk [protected, virtual]
    ~Whistle(void)stk::Whistle
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::Whistle
    controlChange(int number, StkFloat value)stk::Whistle [virtual]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    noteOff(StkFloat amplitude)stk::Whistle [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Whistle [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setFrequency(StkFloat frequency)stk::Whistle [virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    startBlowing(StkFloat amplitude, StkFloat rate)stk::Whistle
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    stopBlowing(StkFloat rate)stk::Whistle
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Whistle [virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    Whistle(void)stk::Whistle
    ~Stk(void)stk::Stk [protected, virtual]
    ~Whistle(void)stk::Whistle


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Whistle.gif b/doc/html/classstk_1_1Whistle.gif new file mode 100644 index 0000000000000000000000000000000000000000..6bf22953c41ef394fb16dab64c28d33cf8892746 GIT binary patch literal 750 zcmVZFy*TU5yZ@X5j$~;6V4%6gCTYVP;e9@; zd+upxUx9d6L}Of47m9d3iH&QAHIpxXl$SD+n42J$oS&Ybo1vnYq@|Oms5TU>uCK5T z0JF5Uwzs&svj)1ozQ4f1x4go|#>cn@%E-*kz{!*}H_|y9P&i($F0StI-Ai-h=4+cx9a9l%s53@0hsE#7F zi56{P%t-!gBgbkVn|b6oGGj?#u~MpBxnPw`0jgfIh$%Bt%~CXP($OTSP#!oi%y_c$ z(@qSbJm1J+#Al11GFy~%kwYZ|6F`gzm5Bq0Dpe>-iNZ`uMrltsKGAB8LkLAuuW9&j zU9?Co+OA^j?CCIdklneEe2$d@SS;YRff3);fCUX$Fj(oD^|H9_R<}Aqz0J&u^Qg_9 zD}fFzhIFdYrVXX8!LqgM3Gz--l>HD|$b#2yFSMq6x9#2wfg=?Djd*b54w3t!U0eBb z=e?LWl&+BaLF)vu2h{G5`#$gZz}FKW8@ev?@6fYTpN@Sy^A+I_d*`UW{rmXy>)+46 zzO{T?J^WWofCA1!V1Wk;n4m5J80brb4n_#!fVn_8;V%nT7$JkSOlYAn9|n`5fffcB z;w>I_=-`1Kme^p67XlcggfylIfQ=^-7~+mJZYU!zF_!q?jYQf=    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Whistle Class Reference

    STK police/referee whistle instrument class. -More... -

    -#include <Whistle.h> -

    +

    stk::Whistle Class Reference

    +

    STK police/referee whistle instrument class. +More...

    + +

    #include <Whistle.h>

    Inheritance diagram for stk::Whistle:
    - -

    - -stk::Instrmnt -stk::Stk +
    + + +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

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

    Public Member Functions

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


    Detailed Description

    -STK police/referee whistle instrument class. -

    -This class implements a hybrid physical/spectral model of a police whistle (a la Cook).

    -Control Change Numbers:

      -
    • Noise Gain = 4
    • Fipple Modulation Frequency = 11
    • Fipple Modulation Gain = 1
    • Blowing Frequency Modulation = 2
    • Volume = 128
    -

    -by Perry R. Cook 1996 - 2009.


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -96,20 +91,20 @@ by Perry R. Cook 1996 - 2009.

    Constructor & Destructor Documentation
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::Whistle::Whistle stk::Whistle::Whistle ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Whistle.png b/doc/html/classstk_1_1Whistle.png index e003053129c7ed231e45e43ff38aeedd7f9bd714..a1a1dbbe11dfd8865240ca41cee06b47a66c2ba2 100644 GIT binary patch delta 451 zcmV;!0X+V?1M~xs7zqdi0001bF#WrcAt!$bbW%=J0RR90|NsC0)yh;d0004lNkl>vrL|U^U|9TGzYT6i6^Ren)Bvw5Cx(wwfc8@`13G$#ePmgacPs=0q& z084W}{#F1V=Ceuczp%_#-C8S)^L~z%lBi{3r6g*p*n_J{j2JOu#E20S5s@vi$);(I z*w+|T;k&NIeu&?M0jdC;2URFA4lC@V(0vqjO2_J`O&+_$Kpm+;+qTC8X2y_9+rJNo zt=!T0G+$$Fcn$Mu9xyMTVDV^StU`+ z#7arjQn3eDlNd2##E20iCL$t8Y=XSoC-yxCaRKzNh1+PD`4RSNX21Xu`>%}KcMPr9 zXA02Cj#ZKnIc6=v7C^?=!8pJ)9<`UGoPoML^ZJ&e-=jA_PG^L21(zCSOsutCHY t&dhFp&uJ%TcjjhJtH}qQ*sWM%`vb@4AbaYVLt_8{002ovPDHLkV1f-#*TMh* delta 392 zcmV;30eAlN1G)o{7zqRe0002Lz!18TAt!$UbW%=J06^y0W&i*IP)S5VR9J=WmQ8ZQ zAPj|J(>2l!L~oE>s4L(92-OcV)P{t1vWTZ>V|f0M(0Dw0;XW1NmM7x#IvA2Y0WxKL zhLNrY7$JeZ6d2G`A23Nkq}4!B#6Biuc_nv)QPGM?>H(ImXl-Fol)OLk&7dfEO4@${ z-;I-D4|@;`J7JSQU?;wM;$N|k?UmTJO;w%5Ufb!y7Phc=!~UBOaXYck@P@%(Vz9do z9`>k)geSd7q-(>d7yzB`KJob|&vCNpU$EVEpxKoybKVY6Tl5D;*vG2tP+ec0F{-Y^ z^gfo0>u_BRNrS;PKK*-Q%ZEIVIcjua3tQMlF_?;wX7a}?U@4Y;G%Ysb11xl~m?D&w zVIU6`BUFq}rD$nn8Nd|Vq>2e?l@f>3M=YierXqjKiUlj`Js1{B(Zk*RfMe&oaeiq^ mHWe#k)9L(ISeRpTKj1gEAH+0000    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Wurley Member List

    This is the complete list of members for stk::Wurley, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::Wurley Member List

    This is the complete list of members for stk::Wurley, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Wurley [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::Wurley [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Wurley [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    Wurley(void)stk::Wurley
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~Wurley(void)stk::Wurley
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::Instrmnt [inline]
    clear(void)stk::FM
    controlChange(int number, StkFloat value)stk::FM [virtual]
    FM(unsigned int operators=4)stk::FM
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    Instrmnt(void)stk::Instrmnt [inline]
    keyOff(void)stk::FM
    keyOn(void)stk::FM
    lastFrame(void) const stk::Instrmnt [inline]
    lastOut(unsigned int channel=0)stk::Instrmnt [inline]
    loadWaves(const char **filenames)stk::FM
    noteOff(StkFloat amplitude)stk::FM [virtual]
    noteOn(StkFloat frequency, StkFloat amplitude)stk::Wurley [virtual]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setControl1(StkFloat cVal)stk::FM [inline]
    setControl2(StkFloat cVal)stk::FM [inline]
    setFrequency(StkFloat frequency)stk::Wurley [virtual]
    setGain(unsigned int waveIndex, StkFloat gain)stk::FM
    setModulationDepth(StkFloat mDepth)stk::FM [inline]
    setModulationSpeed(StkFloat mSpeed)stk::FM [inline]
    setRatio(unsigned int waveIndex, StkFloat ratio)stk::FM
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)stk::Wurley [inline, virtual]
    stk::Instrmnt::tick(StkFrames &frames, unsigned int channel=0)stk::Instrmnt [inline]
    Wurley(void)stk::Wurley
    ~FM(void)stk::FM [virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    ~Wurley(void)stk::Wurley


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Wurley.gif b/doc/html/classstk_1_1Wurley.gif new file mode 100644 index 0000000000000000000000000000000000000000..d8a7bbd2b9824161cfc64567e7afde11d304d3d0 GIT binary patch literal 936 zcmV;Z16TYZFy*TU5yZ@X5j$~;6V4%6gCTYVP;e9@; zd+upxUx9d6L}Of47m9d3iH&QAHIpxXl$SD+n42J$oS&Ybo1vnYq@|Oms5TU>uCK5T z0JF5Uwzs&svj)1ozQ4f1x4go|#>cn@%E-*kz{!*}H_|y9P&i($F0StI-Ai-h=4+cx9a9l%s53@0hsE#7F zi56{P%t-!gBgbkVn|b6oGGj?#u~MpBxnPw`0jgfIh$%Bt%~CXP($OTSP#!oi%y_c$ z(@qSbJm1J+#Al11GFy~%kwYZ|6F`gzm5Bq0Dpe>-iNZ`uMrltsKGAB8LkLAuuW9&j zU9?Co+OA^j?CCIdklneEe2$d@SS;YRff3);fCUX$Fj(oD^|H9_R<}Aqz0J&u^Qg_9 zD}fFzhIFdYrVXX8!LqgM3Gz--l>HD|$b#2yFSMq6x9#2wfg=?Djd*b54w3t!U0eBb z=e?LWl&+BaLF)vu2h{G5`#$gZz}FKW8@ev?@6fYTpN@Sy^A+I_d-uA&{hX_RxIs>inN<{rQXNP_fP3`>BU3h=5Sd^yvZdC9Dma!Ejy(Q#LV*7v$)A$>F}a$P zsX=L)l%!D^+I?8IR-Swsaaqf6UV5ZNcwVCIieg;Y>po0o}CZ7@!dgwa|HtOi3kVY!$q>!%JgQWprs%e^+{*oyGpXw6o zsKJDaOsBqlYAPT9ya8k_C2)l!S9s?-*1ZMMtmnxMA0hHLJv>Xuusv#d%BZM^H& ziz~V2=Bg~R;S&4nsMp%Mue+cItS_a# K#~}BR0029_PUgh` literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1Wurley.html b/doc/html/classstk_1_1Wurley.html index 8765bb5..08c9102 100644 --- a/doc/html/classstk_1_1Wurley.html +++ b/doc/html/classstk_1_1Wurley.html @@ -8,73 +8,72 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Wurley Class Reference

    STK Wurlitzer electric piano FM synthesis instrument. -More... -

    -#include <Wurley.h> -

    +

    stk::Wurley Class Reference

    +

    STK Wurlitzer electric piano FM synthesis instrument. +More...

    + +

    #include <Wurley.h>

    Inheritance diagram for stk::Wurley:
    - -

    - -stk::FM -stk::Instrmnt -stk::Stk +
    + + +stk::FM +stk::Instrmnt +stk::Stk +
    -

    -List of all members. - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

     Wurley (void)
     Class constructor.
    ~Wurley (void)
     Class destructor.
    -void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    -void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    -StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    + + + + + + + + + + +

    Public Member Functions

     Wurley (void)
     Class constructor.
    ~Wurley (void)
     Class destructor.
    +void setFrequency (StkFloat frequency)
     Set instrument parameters for a particular frequency.
    +void noteOn (StkFloat frequency, StkFloat amplitude)
     Start a note with the given frequency and amplitude.
    +StkFloat tick (unsigned int channel=0)
     Compute and return one output sample.
    -


    Detailed Description

    -STK Wurlitzer electric piano FM synthesis instrument. -

    -This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

    +


    Detailed Description

    +

    STK Wurlitzer electric piano FM synthesis instrument.

    +

    This class implements two simple FM Pairs summed together, also referred to as algorithm 5 of the TX81Z.

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

    -Control Change Numbers:

      -
    • Modulator Index One = 2
    • Crossfade of Outputs = 4
    • LFO Speed = 11
    • LFO Depth = 1
    • ADSR 2 & 4 Target = 128
    -

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

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


    Constructor & Destructor Documentation

    - +

    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 - 2010.

    +

    Constructor & Destructor Documentation

    +
    - + - + @@ -82,20 +81,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Constructor & Des
    -

    -Class constructor. -

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

    Class constructor.

    +

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

    +
    -

    -


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

    stk::Wurley::Wurley stk::Wurley::Wurley ( void   ) 
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1Wurley.png b/doc/html/classstk_1_1Wurley.png index 9a845a68a77d9d7fbdc5b21f7a9bf84374ba7008..2f5b61b2d44d31570915b3fa685a45962a4b7e72 100644 GIT binary patch delta 566 zcmV-60?GZ71m*;g7zqdi0001)J9WB|At!$bbW%=J0RR90|NsC0)yh;d0005?Nkl6jhe0V{2|Tds&>Oim``)jfU`91@2Y>B z`weJm_VSMg_%NSMV*d-veAVrZvU%N~W2Gc&nOG@_S}OM7ZW1F#j2JOu#6(2oN*r=& z+938d237b|H{yAS{}KkM0&pHwp@5xMv>%1`S=37=R%hGA_S8(&nHp@{&UnC@VR9M! z&*`w0D~(U{H8!UAFrVfP^YR-kmgaw+<^k67=;gn!AH`o`p__criTy5?`Ko*F8-33z ziCQLBN}`sEJ-D01h!G=3j2JNy5xEkFT$(nBrD9NpJp}+0vvcRzK<%Fm3{VB&yic)e zKotsm+9qr40BeR>(MooVRU~5ewnIJNG{C0$9cF5_Xn;8m(lpfx->)N#4?2IbbS(2# z_uM!7o>daHOstedEfsrkH;EA=MvNFSVj?1f#39JLePZ8Z5EpcA8kd9z8UdJE-k>+v1M3d7tOFljV)Rz$&tj0p=bT4X|m(s;%xU0?V3(4F+aQ zZu{{v&7M;yXHmvfZ^Wo_-V-8_iN$VZS^R(Y04#C*11L=}AVf|jl>h($07*qoM6N<$ Ef*-*PdH?_b delta 481 zcmV<70UrM51d;@h7zqRe00017%b2^7At!$UbW%=J06^y0W&i*Is7XXYR9J=Wm`ifQ zAPk1hrfZ}dh~A*RP*=YH5sDtzI0lQH|hOQt%Cp9M*U!95=RH8IyA=Qe*vIp&ySH^n|pho}{q0RS@V{I9Ro2*~$<23Dz& z1FTjfjAHd|VuLL*0|2{Ntwxf_piT*^8acpfHIhvJbdnY|a)ce2V>`@s$hnPCjydMo zO)(gH4k&Wh=mxyW-=m=7$=a)g5^*#*uFs%@HA{OCN)RoC^k(Vu@KuB zfZf?j(4?h?HCkR*nB1)#2zmocT4UJ@;)#j{OAK*ZvYkADF|6G91dC%>iFsvg>;?P> X3qPkm(GdIF00000NkvXXu0mjfr`FZ! diff --git a/doc/html/classstk_1_1WvIn-members.html b/doc/html/classstk_1_1WvIn-members.html index 69dabc0..3a75a09 100644 --- a/doc/html/classstk_1_1WvIn-members.html +++ b/doc/html/classstk_1_1WvIn-members.html @@ -8,44 +8,44 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::WvIn Member List

    This is the complete list of members for stk::WvIn, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::WvIn Member List

    This is the complete list of members for stk::WvIn, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::WvIn [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::WvIn [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)=0stk::WvIn [pure virtual]
    tick(StkFrames &frames)=0stk::WvIn [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    channelsOut(void) const stk::WvIn [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    lastFrame(void) const stk::WvIn [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(unsigned int channel=0)=0stk::WvIn [pure virtual]
    tick(StkFrames &frames)=0stk::WvIn [pure virtual]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1WvIn.gif b/doc/html/classstk_1_1WvIn.gif new file mode 100644 index 0000000000000000000000000000000000000000..c2d75b26f8831962890c31c893f043e04372928d GIT binary patch literal 1723 zcmV;s21NNsNk%w1VG04j0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui015%X000C22)f+|Q7&zM)YF25UXsWI(I|y(r&vb3yc&@`k>;J%@ zaHx3gj>x1^)+0Kf&}hrJtXi*4sdmfNQm^1}F54}e&#A9?%@&Z+@VLC#76f4TTwtHK z`N7vcq zW!rkG(SNFZF_`aI=JRvtb@w>r^!rZs`2REX@f!%lAHahG2`XG+@Zi6M3nQ9n=f8>M1dY%S}ti(rcjqXjY_rG)T&rTUCqjs(AKVC<9rQEw#?YFXr-J@%a+L6ws3#E zjZ0U>+`4#6+|A2Z!rs1s8~hDScranWh7a>itQarj#&jP;hAVk8+sc;FV$Mu0v?tS`V0;kyL$-F=`3uqS-`>gC7FXFnf)`xEQauRsr< zKK_030ERc8f7SI@LVo(Cz+VFePN3U^{zcdyc?Tw_#d`M=9y^T_9Zi_tw~UuZX%^roJ>0;8{*kO% z!4B0dP0J1u?XAx)H0>7GYLTs6)vmOy58px&?i1s#P_A3uzL{=GtIFiA1_r$Qt_1SF z8*jZa(Ti_P_wM^rN&ve-Z@?)jBND+&V1V#Q1~1G}!wx&7aKs1=Off(ZUyRSh8e3#> z$8}^3G8-I^Oi}~~n@oeqDqFLSC%LrNjVAFlLbDDm-z<*JJE&6g%{YHt3(uO!Jo7L> zBT=#HFMJq!OOR-^UXAA|2#G-Si51!DeS~u4CH?PkBv7mP3KJc zI+x#abme|`t~L)|XASucH?W`7+y!avaJn%#QWd%vL~?o zN$!9UbRIaGwm}J2aDd*!odf;HGYNJucQtrl>@XL;{;k^m9Uh>Dq}g2S<>>BxXdLKY^lp^@UoY{45lzA@XKM!(wN9hW-^PZ%uq11nb3@; zC7&rxK~S@r*vw{}uBpv4a8sL-3}?Pr3CEUsL{H^Z**Wi&PLr*ZPVF4oJL42jkj>Lg zFKZn!z(=;mRpFj%%I64on6;#J#Ffyy+vu#;4iCERZiejWAwqpuzzb58d~5q&<|ax| z&&lqgLL41NjmXDPCUl4)yeL19r@D=jGkx(hs0bejy89{drSofGK{JR^9ik5x0R7TQ zS(rc<9<7ET4ID^UNXJgrGbK9    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::WvIn Class Reference

    STK audio input abstract base class. -More... -

    -#include <WvIn.h> -

    +

    stk::WvIn Class Reference

    +

    STK audio input abstract base class. +More...

    + +

    #include <WvIn.h>

    Inheritance diagram for stk::WvIn:
    - -

    - -stk::Stk -stk::FileWvIn -stk::InetWvIn -stk::RtWvIn -stk::FileLoop +
    + + +stk::Stk +stk::FileWvIn +stk::InetWvIn +stk::RtWvIn +stk::FileLoop +
    -

    -List of all members. - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    -unsigned int channelsOut (void) const
     Return the number of audio channels in the data or stream.
    const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last computed sample frame.
    -virtual StkFloat tick (unsigned int channel=0)=0
     Compute one sample frame and return the specified channel value.
    -virtual StkFramestick (StkFrames &frames)=0
     Fill the StkFrames argument with computed frames and return the same reference.
    + + + + + + + + +

    Public Member Functions

    +unsigned int channelsOut (void) const
     Return the number of audio channels in the data or stream.
    const StkFrameslastFrame (void) const
     Return an StkFrames reference to the last computed sample frame.
    +virtual StkFloat tick (unsigned int channel=0)=0
     Compute one sample frame and return the specified channel value.
    +virtual StkFramestick (StkFrames &frames)=0
     Fill the StkFrames argument with computed frames and return the same reference.
    -


    Detailed Description

    -STK audio input abstract base class. -

    -This class provides common functionality for a variety of audio data input subclasses.

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK audio input abstract base class.

    +

    This class provides common functionality for a variety of audio data input subclasses.

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -72,20 +68,20 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Return an StkFrames reference to the last computed sample frame. -

    -If no file data is loaded, an empty container is returned. +

    Return an StkFrames reference to the last computed sample frame.

    +

    If no file data is loaded, an empty container is returned.

    +
    -

    -


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

    const StkFrames& stk::WvIn::lastFrame const StkFrames& stk::WvIn::lastFrame ( void   )  const [inline]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1WvIn.png b/doc/html/classstk_1_1WvIn.png index 5777d6f708a287b987b9a11606b0236fef04a8da..7296eef6625d2e1ade1cfdf66811a82d69532e14 100644 GIT binary patch literal 968 zcmeAS@N?(olHy`uVBq!ia0y~yU<9!ba4-YO(}H*B0x5|ApAgso|NjG-|NkGDKR;mt zkOjsE4jiaH^#2Kv%TW^K7YvjJgR7@Pj2IZ0!#!ObLn;{G-n~0%v4TL`!#-|J6S zFL3y*eQw4o#(VQTT`!hA;JiC;-#*Fr#~-i0{8y{B+G0Ti6PJeBvI)gr=Tt-6%$Een z-0pNL@(bGZ=Cgu)+#IDp--?#0l<3&=ymu;GXBk`cLi8+G>iq-9$1QLvB6u zV@>*>?LQ&**0V^3eVJ|BX7arcQn2UI02{raAt}D=cyd(N!yjw*yJ+Nj*KBB5H01yj z*DW=X00%}^+{Eivx&BJce>F}ZgSsR&ro>IGj9nwqrK-8)x_8i`M2$zY<5sPyR^-}$ zW_nh)|G7do#SY3C%;(06rl(Q$J;Hypn-ZqY5u!4hS&AYBlBP) zaJe5|@4jc$xaH3=`+nP2rfgU7(>9RY4qwIRDgLT2CAtqAt+yz$y=zl$H}!Lse(C&0 zWRb3d{?we76HL?Dr zfvfWNpKCIU=U$n+?dFU-eJIZ~kB2xe%17K(Tf|$VM)0*W_pWy6PWq zUndv9(pewj5a^Y_$eJt6)wIB2fdU5?3nruM>!ZIFXS^TE@qtb0)p#=J%}N#7G zHVC@DEvN+rT4$TR#c`FJj+*;U%BE`vv>093_$sCS$YzU-b0tpeoCU?Fe(5so+7WwA zV?vYCUD1W@dVUkdJfa;6xrs&mtwnrKi*MQhr>` zYrB0h-~F|Gg93`d3ic$Ajy&;b1%;mmDV%pC$EI*PGO4d3zI=*9!Rzsf>yyz@v3`HM z^mD+_2*oNWig;qiDAI_O**R!LC|?=r8W}M=!-#~*8D{5tzgVvk9-;VKpnw7jC~UkF zXyv{85nHjLc>W$O2r;2}e?CVOCMyafvl9vp6dEWrP-vjgK%s#`1BC_(4HOzEG*D>z zE8NxGs#q@8%}_uwQZc7rmiV=O?rVQ3+~k&JE{Zvz=D9rGM-h%WE#>f&JS^qly%g)W z+#u&QQ^9mqtb&cAoR_|eG$OKX8KjVTF{@&p28~E~`2jLe@j;+~0tzT>yc1~UtG+jD z#l%Xc4TX)BOdAR#vl9vp6dEWrP-yN_tT*NRa?`83s~QR@pnziZexZQke^h_8K2rYk z^mFESRloL``@5>4fZ|+{Th^R&sgsR;Y9Qm|ezhaim*2@#wP~kFZKLd5qxPtva@<=K z(lvOZ*mRo4R!^4{vGJ4KX1`T6Glg15B$X_ic4o@Wt3h$BO^T}1G$~SHdT?QL*>7FV z#JWpia|G53l2%D+T5Qx7Md^R>bWRUXRAFjGsitzem^ts+9~3^fjmo^(*XoFr{mQ;0 zCMY-^XFDPr#af&8oI7_9BT^LdwW}?&v+6YUd0=8mOHozJvvIuROKvK(c~wSaU%QzX zyiriPMChQXtILQ;O&<5gyePBtSX+%q>NM4B0mZqZwVpaoQLm@=Rv*n*qPdRCp+$7^5)pPT&t2zS1KCb-I`U0000    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::WvOut Member List

    This is the complete list of members for stk::WvOut, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +

    stk::WvOut Member List

    This is the complete list of members for stk::WvOut, including all inherited members.
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)=0stk::WvOut [pure virtual]
    tick(const StkFrames &frames)=0stk::WvOut [pure virtual]
    WvOut(void)stk::WvOut [inline]
    ~Stk(void)stk::Stk [protected, virtual]
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    addSampleRateAlert(Stk *ptr)stk::Stk [protected]
    clipStatus(void)stk::WvOut [inline]
    getFrameCount(void) const stk::WvOut [inline]
    getTime(void) const stk::WvOut [inline]
    handleError(const char *message, StkError::Type type)stk::Stk [static]
    handleError(std::string message, StkError::Type type)stk::Stk [static]
    handleError(StkError::Type type)stk::Stk [protected]
    ignoreSampleRateChange(bool ignore=true)stk::Stk [inline]
    printErrors(bool status)stk::Stk [inline, static]
    rawwavePath(void)stk::Stk [inline, static]
    removeSampleRateAlert(Stk *ptr)stk::Stk [protected]
    resetClipStatus(void)stk::WvOut [inline]
    sampleRate(void)stk::Stk [inline, static]
    sampleRateChanged(StkFloat newRate, StkFloat oldRate)stk::Stk [protected, virtual]
    setRawwavePath(std::string path)stk::Stk [static]
    setSampleRate(StkFloat rate)stk::Stk [static]
    showWarnings(bool status)stk::Stk [inline, static]
    sleep(unsigned long milliseconds)stk::Stk [static]
    Stk(void)stk::Stk [protected]
    STK_FLOAT32stk::Stk [static]
    STK_FLOAT64stk::Stk [static]
    STK_SINT16stk::Stk [static]
    STK_SINT24stk::Stk [static]
    STK_SINT32stk::Stk [static]
    STK_SINT8stk::Stk [static]
    swap16(unsigned char *ptr)stk::Stk [static]
    swap32(unsigned char *ptr)stk::Stk [static]
    swap64(unsigned char *ptr)stk::Stk [static]
    tick(const StkFloat sample)=0stk::WvOut [pure virtual]
    tick(const StkFrames &frames)=0stk::WvOut [pure virtual]
    WvOut(void)stk::WvOut [inline]
    ~Stk(void)stk::Stk [protected, virtual]


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1WvOut.gif b/doc/html/classstk_1_1WvOut.gif new file mode 100644 index 0000000000000000000000000000000000000000..b4669e12f5483d035b751e7a6918ed004e370d33 GIT binary patch literal 1505 zcmV<71s?iGNk%w1VJHEJ0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui04M>7000C22)f+~m960OEyZ>M)j)P^MXsWJk>#Bnw&vb3yc&_g}U%tSg za7Zj#V!fnt$xQx?(5Q4u1t6Q)tXB7|dcWYX%)@ z?*f2+0)B#Vba;q~Y9GRax#aCmX}kET7Z3=kv4^$e4l2On5U>fnplyJf}fm_ zeUgT$wzn^c`>YucI^Y*MaZz!|V9B?UVdy`TwW(^&8lu8^D8M1QJ|02cg3|3K>eAVep|v zC=n-0ta$#hqmYam7jpDSvIWSH14ouziQ*(mekxhYq(Gvk&6_wy%-p%o0MDO5Rrm}_ zv?v4vNR290igf7Gr#zb`g-VsBRHs$5dc>-=t3|F}!vX{=wyZj`X44)+tG2Bzwr=BI zf-AQ!9=dk(vcapjFBral15W`gxNs4|h7$upthn(C#*QPKfGoMP1j?2(H^8j9Gw05k zKZC9;dUWK{rW>P9op?3t!meKjjxD<{?b`q7>E6w|x9{J;gA3=4`&59P$BSP|E|a

    9Q3MX?`%@5v`2f&(Hroq+~gz+i($JlH^g=p83wfh1OV zpotk)upx&;FzBC!;|(|>i2{~5;esq`rvii~LQtcOC7yVr2`lCpgohRKIA4%V_9$VB z;TgGxi{#A+q?1kd$lr?v&d8;TQhtYAm|_&Ej+tbxfTlNVrkUQDZhFyXG;_uY=1g_k z314%1>IY|^4h|>ipoA6*9H3tzI-8=lO~q(kO+5;!RFcMZRi$#>hN(=NZn{#Zo{|J= zs2z<;YNDs6WooJjt;*_Hua@O%gICpR>#exvs_U-2_Uh}ezy>Squ$S&MYca>-{*o*r z%f1Cwvv)v?inOOt+lIAsJsXv_Phq=;w~Bz9h`3>pdl$DenHw#-oU&__x?aFrhrHKr z+pW8w;!700gXtR-zfu6KhQMMFY=pso`CCO!40m8a!w_R2LBtV1Ofka~U(B$@8sqfR z$2Sn;63F-DLGsB0V1P2oBCiZ`%Pzm9a?B{fOtVHd-@MVtIxmrP&jkGpbU!l>9rVOT zi-dI2DTPA{HoDD%P7TUPodZ3O)F3n{R+qz!)m2{|NY+{}{q@wKU@djn+r%@r4sBE7 zbl2FxeRVu|-<`MDG;B>Z-CUo|w%vQzZG+!>$BoW7_UH|`IXM&!NiXvLY~u_pzzp8F zFR%gjtlRVU9D0mnJLBebzIN-w z|9yMeCL6B}?rSqHyzrzmUp(>aYx;H{PZiIKJQS&AL0Dxy39$!b_Xon^k%m;1A2~dt5cgY_&1BN zz3*|bYhN((CqKMVFoA&U9v4=zJiZ0*agFn!0!ha}`$-Rh1dLwSEC@ohiI92^*hdKs zH@y^AaD_JnAOV2~xfA-3hEvO4^8hEb>!EFd{Ucrx7bn0cX3(pNmNTLh6{y4wqL3nt z$lUM9XSjFp0*Gn*oF_C$2^We{cg17d8@Cw3-7O=0I7G%D>M_9{;?ak7RAc4h_C2Q6 zB6)_KL8^xl3Ml?3l>>K*o~EOk^&znb4$I H0ssIz(53V? literal 0 HcmV?d00001 diff --git a/doc/html/classstk_1_1WvOut.html b/doc/html/classstk_1_1WvOut.html index f753eb2..8b76716 100644 --- a/doc/html/classstk_1_1WvOut.html +++ b/doc/html/classstk_1_1WvOut.html @@ -8,75 +8,68 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::WvOut Class Reference

    STK audio output abstract base class. -More... -

    -#include <WvOut.h> -

    +

    stk::WvOut Class Reference

    +

    STK audio output abstract base class. +More...

    + +

    #include <WvOut.h>

    Inheritance diagram for stk::WvOut:
    - -

    - -stk::Stk -stk::FileWvOut -stk::InetWvOut -stk::RtWvOut +
    + + +stk::Stk +stk::FileWvOut +stk::InetWvOut +stk::RtWvOut +
    -

    -List of all members. - - - - - - - - - - - - - - - - - - - - - - - +

    List of all members.

    +

    Public Member Functions

    WvOut (void)
     Default constructor.
    -unsigned long getFrameCount (void) const
     Return the number of sample frames output.
    -StkFloat getTime (void) const
     Return the number of seconds of data output.
    -bool clipStatus (void)
     Returns true if clipping has been detected during output since instantiation or the last reset.
    -void resetClipStatus (void)
     Reset the clipping status to false.
    virtual void tick (const StkFloat sample)=0
     Output a single sample to all channels in a sample frame.
    -virtual void tick (const StkFrames &frames)=0
     Output the StkFrames data.
    + + + + + + + + + + + + + + +

    Public Member Functions

    WvOut (void)
     Default constructor.
    +unsigned long getFrameCount (void) const
     Return the number of sample frames output.
    +StkFloat getTime (void) const
     Return the number of seconds of data output.
    +bool clipStatus (void)
     Returns true if clipping has been detected during output since instantiation or the last reset.
    +void resetClipStatus (void)
     Reset the clipping status to false.
    virtual void tick (const StkFloat sample)=0
     Output a single sample to all channels in a sample frame.
    +virtual void tick (const StkFrames &frames)=0
     Output the StkFrames data.
    -


    Detailed Description

    -STK audio output abstract base class. -

    -This class provides common functionality for a variety of audio data output subclasses.

    -Currently, WvOut is non-interpolating and the output rate is always Stk::sampleRate().

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


    Member Function Documentation

    - +

    Detailed Description

    +

    STK audio output abstract base class.

    +

    This class provides common functionality for a variety of audio data output subclasses.

    +

    Currently, WvOut is non-interpolating and the output rate is always Stk::sampleRate().

    +

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

    +

    Member Function Documentation

    +
    - + - + @@ -84,22 +77,22 @@ by Perry R. Cook and Gary P. Scavone, 1995 - 2009.

    Member Function Docum
    -

    -Output a single sample to all channels in a sample frame. -

    -An StkError is thrown if an output error occurs. -

    Implemented in stk::FileWvOut, stk::InetWvOut, and stk::RtWvOut.

    +

    Output a single sample to all channels in a sample frame.

    +

    An StkError is thrown if an output error occurs.

    + +

    Implemented in stk::FileWvOut, stk::InetWvOut, and stk::RtWvOut.

    -

    -


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

    virtual void stk::WvOut::tick virtual void stk::WvOut::tick ( const StkFloat  sample sample  )  [pure virtual]
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/classstk_1_1WvOut.png b/doc/html/classstk_1_1WvOut.png index c214c94c4d564accb124ca59cbff91d48f8edc63..77de3aebb3a195a304196f4d1e71aed58680b3b7 100644 GIT binary patch delta 790 zcmZ3)euQm;1SbbG0|P_yrnbU~it6ZuST1_q|fo-U3d6^w81UYztw zfv4diTl%km{WW?TCXEdbHlEw|=VsxSkdx1}8*jfg|G3MbF62=EfLze%EU=&t(WFpbyMZhlf(slY$wgC7Fr&z@7_L7 zyGX}m!K!!Go@dhhUQewK**Nq1;Vp3;$D?EHKHlPE{<x)Q_+eMv)-F*}#Wf(E4qCJ+TAm>|>w4loZ$bTOQ2iIF(pwCm{=peun!^@b>a z>sv9s-cEnFFk|Vz4SV9ayi#tv9Es4>__~b!&8H|vt!a9<)l7XKK0T?+S{jm9t^bcP zHF`bs(mi7Bo7RTE3v#fm4yjx**W%X|Yq9&Q)=t0XtF&T)nJ4?*LZ@|QukI#g!R+Q* zVb4&SXv3AI_pLRX{T0`8S4hktl(}MQHu0cSXN!VT+N&>$XJ^;XbE{fuZaZOK zcd(Okcgv5-JL(?)J*e{b_(d&^e`QL|ji=63a!p-O#ddXSEXP@)sK}7|+1ndcbXSx) zUY7J)@pxTa^|GbsEg#=c5AYLvf00l9r9&zAtP=s-=LI*_Sy_6YS|HTxxOLN$izQ_} z>Mys=3lHG^s^`3O=Ig1ioTk3CYpBmkSvl`z#iVm-_cT1VK8R?$CU^DLna?R@*OE+h zJIg_dA^iV?j7g2Qt8Sf9H?CMaJ!kJ(8+qo?wgQvXSqti4Sw3xe`fBI&T*gxzYtzIFld8|0S4vfIICA{)zPkHC&JALJqw-%oZWBo|NEOPNX-tuqnK;4xQ^FZ#hst#>n)Lb|rVSzth5e)2+NBj~DK{2sBeT%ZYJ8+n=sdrK4@zmu4_H+t15j za&~sIo!{kFadkp~v)HeeT{^DJ5kV#ms??!c-IhoH61Y=8K_*DV9zKaly$;se!z5~_r1H=HY`D|D$sxb*5-p?`<0yN>^mP>lYxD*6A+)2Wx%iLbbGRAFnF0nhq?7`{*q zz1yn;HtoK^8IrX&LBdF6su{aXtrKV0of#^vds>+gGg>O|dlL8{!sx6RXcLULuhlQ<(2`^%~d2qb5_F^mF;Vel2=0 zla;QyUF!5V-YeIyaV>io5M0#o$mC~*Z~n;@nwHD*eZ&20lCED_x3wwr#?teTuQ`cF zX@^w!1)jL3SbI}Q$WhT;)2-r7&he+I-=1FM5?X!Qi07Znd{A=qU6Ek<^HcF6frY!D a>d#    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Compiling

    The Synthesis ToolKit can be used in a variety of ways, depending on your particular needs. Some people choose the classes they need for a particular project and copy those to their working directory. Others create Makefiles that compile project-specific class objects from common src and include directories. And still others like to compile and link to a common library of object files. STK was not designed with one particular style of use in mind.

    + + +

    Compiling

    The Synthesis ToolKit can be used in a variety of ways, depending on your particular needs. Some people choose the classes they need for a particular project and copy those to their working directory. Others create Makefiles that compile project-specific class objects from common src and include directories. And still others like to compile and link to a common library of object files. STK was not designed with one particular style of use in mind.

    +

    "Realtime" vs. "Non-Realtime"

    -Most of the Synthesis ToolKit classes are platform independent. That means that they should compile on any reasonably current C++ compiler. The functionality needed for realtime audio and MIDI input/output, as well as realtime control message acquistion, is inherently platform and operating-system (OS) dependent. STK classes that require specific platform/OS support include RtAudio, RtWvOut, RtWvIn, RtDuplex, RtMidi, InetWvIn, InetWvOut, Socket, UdpSocket, TcpServer, TcpClient, Thread, and Mutex. These classes currently can only be compiled on Linux, Macintosh OS X, and Windows systems.

    -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 that require specific platform/OS support include RtAudio, RtWvOut, RtWvIn, RtDuplex, RtMidi, InetWvIn, InetWvOut, Socket, UdpSocket, TcpServer, TcpClient, Thread, and Mutex. These classes currently can only be compiled on Linux, Macintosh OS X, and Windows systems.

    +

    Without the "realtime" classes, it is still possible to read SKINI scorefiles for control input and to read and write to/from a variety of audio file formats (WAV, SND, AIFF, MAT-file, and RAW). If compiling for a "little-endian" host processor, the __LITTLE_ENDIAN__ preprocessor definition should be provided.

    +

    Unix Systems:

    -STK compiles with realtime support on the following flavors of the Unix operating system: Linux, Irix, and Macintosh OS X. Aside from differences in compilers, audio/MIDI APIs, and host endianness, the steps necessary to compile STK programs and classes on these platforms are the same. The following table summarizes these differences.

    -

    +

    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.

    +
    @@ -28,35 +32,34 @@ STK compiles with realtime support on the following flavors of the Unix operatin
    OS: Realtime Audio/MIDI API: Preprocessor Definition: Library or Framework:
    Macintosh OS X CoreAudio __MACOSX_CORE__ pthread, CoreAudio, CoreMidi, CoreFoundation
    -

    -The available C++ compilers on any of these systems can vary.

    -One approach in using STK is to simply copy the class files needed for a particular program into a project directory. Taking the sineosc.cpp example from the previous tutorial chapter, it would be necessary to set up a directory that includes the files sineosc.cpp, the rawwave file sinewave.raw in a subdirectory called rawwaves, and the header and source files for the classes Stk, FileRead, FileWrite, FileWvIn, FileLoop, and FileWvOut. The program could then be compiled on a little-endian system, such as a PC running Linux, using the GNU g++ compiler as follows:

     g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc Stk.cpp FileRead.cpp FileWrite.cpp FileWvIn.cpp FileLoop.cpp FileWvOut.cpp sineosc.cpp 
    -

    -Note that the sineosc.cpp example does not make use of realtime audio or MIDI input/output classes. For programs using any of the STK realtime classes mentioned above, it is necessary to specify an audio/MIDI API preprocessor definition and link with the appropriate libraries or frameworks.

    -When working with a number of different projects that make use of ToolKit classes, the above approach can become cumbersome (especially when trying to synchronize with new STK releases). Most of the STK projects (e.g., demo, effects, ...) contain Makefiles (built by the configure script) that compile project-specific class objects from the distribution src and include directories. This approach makes it relatively easy when upgrading to a new STK release (by making path substitutions in the Makefile or by moving the projects to a similar relative path within the new STK source tree). A Makefile is provided in the projects/examples directory for compiling all the tutorial programs, as well as other example programs. To compile the sineosc.cpp program, for example, one need only type make sineosc from within the projects/examples directory.

    +

    The available C++ compilers on any of these systems can vary.

    +

    One approach in using STK is to simply copy the class files needed for a particular program into a project directory. Taking the sineosc.cpp example from the previous tutorial chapter, it would be necessary to set up a directory that includes the files sineosc.cpp, the rawwave file sinewave.raw in a subdirectory called rawwaves, and the header and source files for the classes Stk, FileRead, FileWrite, FileWvIn, FileLoop, and FileWvOut. The program could then be compiled on a little-endian system, such as a PC running Linux, using the GNU g++ compiler as follows:

    +
     g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc Stk.cpp FileRead.cpp FileWrite.cpp FileWvIn.cpp FileLoop.cpp FileWvOut.cpp sineosc.cpp 
    +

    Note that the sineosc.cpp example does not make use of realtime audio or MIDI input/output classes. For programs using any of the STK realtime classes mentioned above, it is necessary to specify an audio/MIDI API preprocessor definition and link with the appropriate libraries or frameworks.

    +

    When working with a number of different projects that make use of ToolKit classes, the above approach can become cumbersome (especially when trying to synchronize with new STK releases). Most of the STK projects (e.g., demo, effects, ...) contain Makefiles (built by the configure script) that compile project-specific class objects from the distribution src and include directories. This approach makes it relatively easy when upgrading to a new STK release (by making path substitutions in the Makefile or by moving the projects to a similar relative path within the new STK source tree). A Makefile is provided in the projects/examples directory for compiling all the tutorial programs, as well as other example programs. To compile the sineosc.cpp program, for example, one need only type make sineosc from within the projects/examples directory.

    +

    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.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:

    +

    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:

    -

    #include "stk/FileLoop.h"
    -#include "stk/FileWvOut.h"
    -

    -and then compile without an explicit include path argument to the compiler:

    +

    With the header files in a standard search path, it is possible to modify the #include statements in the sineosc.cpp program as follows:

    +
    #include "stk/FileLoop.h"
    +#include "stk/FileWvOut.h"
    +

    and then compile without an explicit include path argument to the compiler:

    g++ -Wall -D__LITTLE_ENDIAN__ -o sineosc sineosc.cpp -lstk
    -

    +

    Windows:

    -STK has been tested on Windows platforms using the Visual .NET compiler only. It is assumed here that you're familiar with Visual C++ and its particular idiosyncrasies. STK won't compile in Visual C++ 6.0 any more.

    -The approach when using Visual C++ is to build a project that includes the necessary ToolKit files from the distribution src and include directories. For the example program from the previous tutorial chapter, create a VC++ console application project, add the Stk, FileRead, FileWrite, WvIn, FileWvIn, FileLoop, WvOut, and FileWvOut class files, as well as sineosc.cpp, and make sure the sinewave.raw file is in the subdirectory rawwaves.

    -For programs using any of the STK realtime classes mentioned above, it is necessary to link with the DirectSound (dsound.lib), winmm.lib, and Wsock32.lib libraries, select the multithreaded library, and provide the __LITTLE_ENDIAN__, __WINDOWS_DS__, and __WINDOWS_MM__ preprocessor definitions.

    -For Steinberg ASIO support, use the __WINDOWS_ASIO__ preprocessor definition (and the __WINDOWS_MM__ definition for RtMidi support), include all the files in the src/asio/ directory (i.e., asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries.

    -[Main tutorial page]   [Next tutorial]

    +

    STK has been tested on Windows platforms using the Visual .NET compiler only. It is assumed here that you're familiar with Visual C++ and its particular idiosyncrasies. STK won't compile in Visual C++ 6.0 any more.

    +

    The approach when using Visual C++ is to build a project that includes the necessary ToolKit files from the distribution src and include directories. For the example program from the previous tutorial chapter, create a VC++ console application project, add the Stk, FileRead, FileWrite, WvIn, FileWvIn, FileLoop, WvOut, and FileWvOut class files, as well as sineosc.cpp, and make sure the sinewave.raw file is in the subdirectory rawwaves.

    +

    For programs using any of the STK realtime classes mentioned above, it is necessary to link with the DirectSound (dsound.lib), winmm.lib, and Wsock32.lib libraries, select the multithreaded library, and provide the __LITTLE_ENDIAN__, __WINDOWS_DS__, and __WINDOWS_MM__ preprocessor definitions.

    +

    For Steinberg ASIO support, use the __WINDOWS_ASIO__ preprocessor definition (and the __WINDOWS_MM__ definition for RtMidi support), include all the files in the src/asio/ directory (i.e., asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries.

    +

    [Main tutorial page]   [Next tutorial]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/controlin.html b/doc/html/controlin.html index 4429d5a..5a8fc27 100644 --- a/doc/html/controlin.html +++ b/doc/html/controlin.html @@ -8,10 +8,12 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Control Input

    Each Synthesis ToolKit instrument exposes its relevant control parameters via public functions such as setFrequency() and controlChange(). Programmers are free to implement the control scheme of their choice in exposing those parameters to the user.

    -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:

    + + +

    Control Input

    Each Synthesis ToolKit instrument exposes its relevant control parameters via public functions such as setFrequency() and controlChange(). Programmers are free to implement the control scheme of their choice in exposing those parameters to the user.

    +

    A text-based control protocol called SKINI is provided with the Synthesis ToolKit. SKINI extends the MIDI protocol in incremental ways, providing a text-based messaging scheme in human-readable format and making use of floating-point numbers wherever possible. Each SKINI message consists of a message type (e.g., NoteOn, PitchBend), a time specification (absolute or delta), a channel number (scanned as a long integer), and a maximum of two subsequent message-specific field values. Knowing this, it should be relatively clear what the following SKINI "scorefile" specifies:

    NoteOn          0.000082  2  55.0  82.3
     NoteOff         1.000000  2  55.0  64.0
     NoteOn          0.000082  2  69.0  82.8
    @@ -22,16 +24,15 @@ StringDetune    0.100000  2  40.0
     StringDetune    0.100000  2  22.0
     StringDetune    0.100000  2  12.0
     NoteOff         1.000000  2  69.0  64.0
    -

    -MIDI messages are easily represented within the SKINI protocol.

    -The class stk::Messager can be used to acquire and parse MIDI messages from a MIDI device and SKINI messages from STDIN and socket connections. Incoming messages are acquired asynchronously and saved to an internal message queue of stk::Skini::Message types (MIDI messages are converted to the stk::Skini:Message format). The user then uses the stk::Messager:popMessage() function to retrieve incoming control messages. This function does not block, instead returning a message type of zero when no more messages are in the queue. Many of the example programs included with the ToolKit distribution use a stk::Messager instance to accept control input from the accompanying tcl/tk graphical user interfaces, from external MIDI devices, or from SKINI scorefiles.

    -In the following example, we'll modify the bethree.cpp program from the previous tutorial chapter and incorporate a stk::Messager class to allow control via SKINI messages read from a SKINI file.

    +

    MIDI messages are easily represented within the SKINI protocol.

    +

    The class stk::Messager can be used to acquire and parse MIDI messages from a MIDI device and SKINI messages from STDIN and socket connections. Incoming messages are acquired asynchronously and saved to an internal message queue of stk::Skini::Message types (MIDI messages are converted to the stk::Skini:Message format). The user then uses the stk::Messager:popMessage() function to retrieve incoming control messages. This function does not block, instead returning a message type of zero when no more messages are in the queue. Many of the example programs included with the ToolKit distribution use a stk::Messager instance to accept control input from the accompanying tcl/tk graphical user interfaces, from external MIDI devices, or from SKINI scorefiles.

    +

    In the following example, we'll modify the bethree.cpp program from the previous tutorial chapter and incorporate a stk::Messager class to allow control via SKINI messages read from a SKINI file.

    // controlbee.cpp STK tutorial program
     
    -#include "BeeThree.h"
    -#include "RtAudio.h"
    -#include "Messager.h"
    -#include "SKINI.msg"
    +#include "BeeThree.h"
    +#include "RtAudio.h"
    +#include "Messager.h"
    +#include "SKINI.msg"
     #include <math.h>
     #include <algorithm>
     using std::min;
    @@ -41,8 +42,8 @@ In the following example, we'll modify the bethree.cpp program from
     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";
    +  std::cout << "\nuseage: controlbee file\n";
    +  std::cout << "    where file = a SKINI scorefile.\n\n";
       exit(0);
     }
     
    @@ -107,7 +108,7 @@ In the following example, we'll modify the bethree.cpp program from
     // control updates.  It will be called automatically when the system
     // needs a new buffer of audio samples.
     int tick( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
    -         double streamTime, RtAudioStreamStatus status, void *dataPointer )
    +         double streamTime, RtAudioStreamStatus status, void *dataPointer )
     {
       TickData *data = (TickData *) dataPointer;
       register StkFloat *samples = (StkFloat *) outputBuffer;
    @@ -147,22 +148,22 @@ In the following example, we'll modify the bethree.cpp program from
     
       // Set the global sample rate and rawwave path before creating class instances.
       Stk::setSampleRate( 44100.0 );
    -  Stk::setRawwavePath( "../../rawwaves/" );
    +  Stk::setRawwavePath( "../../rawwaves/" );
     
       TickData data;
       RtAudio dac;
     
       // Figure out how many bytes in an StkFloat and setup the RtAudio stream.
       RtAudio::StreamParameters parameters;
    -  parameters.deviceId = dac.getDefaultOutputDevice();
    -  parameters.nChannels = 1;
    -  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
    +  parameters.deviceId = dac.getDefaultOutputDevice();
    +  parameters.nChannels = 1;
    +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
       unsigned int bufferFrames = RT_BUFFER_SIZE;
       try {
    -    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
    +    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
       }
       catch ( RtError &error ) {
    -    error.printMessage();
    +    error.printMessage();
         goto cleanup;
       }
     
    @@ -178,10 +179,10 @@ In the following example, we'll modify the bethree.cpp program from
         goto cleanup;
     
       try {
    -    dac.startStream();
    +    dac.startStream();
       }
       catch ( RtError &error ) {
    -    error.printMessage();
    +    error.printMessage();
         goto cleanup;
       }
     
    @@ -191,10 +192,10 @@ In the following example, we'll modify the bethree.cpp program from
       
       // Shut down the output stream.
       try {
    -    dac.closeStream();
    +    dac.closeStream();
       }
       catch ( RtError &error ) {
    -    error.printMessage();
    +    error.printMessage();
       }
     
      cleanup:
    @@ -202,20 +203,19 @@ In the following example, we'll modify the bethree.cpp program from
     
       return 0;
     }
    -

    -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:

    +

    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 pipe, socket or MIDI connections. The stk::Messager class provides stk::Messager::startStdInput(), stk::Messager::startSocketInput(), and stk::Messager::startMidiInput() functions for this purpose.

    -[Main tutorial page]   [Next tutorial]

    +

    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 stk::Messager class provides stk::Messager::startStdInput(), stk::Messager::startSocketInput(), and stk::Messager::startMidiInput() functions for this purpose.

    +

    [Main tutorial page]   [Next tutorial]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/crealtime.html b/doc/html/crealtime.html index f360560..cfbc643 100644 --- a/doc/html/crealtime.html +++ b/doc/html/crealtime.html @@ -8,21 +8,23 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Realtime Audio (callback)

    An alternative scheme for audio input/output is to define a specific function in which audio computations are performed and to let the audio system call this function when more input/output data can be accepted by the hardware (referred to as a callback scheme). In this section, we show how the previous rtsine.cpp program can be modified to work in a callback scenario. There is no "single-sample" interface for this functionality. The callback function will be invoked automatically by the audio system controller (RtAudio) when new data is needed and it is necessary to compute a full audio buffer of samples at that time (see Blocking vs. Callbacks for further information).

    -The previous section described the use of the stk::RtWvOut class for realtime audio output. The stk::RtWvOut::tick() function writes data to a large ring-buffer, from which data is periodically written to the computer's audio hardware via an underlying callback routine.

    + + +

    Realtime Audio (callback)

    An alternative scheme for audio input/output is to define a specific function in which audio computations are performed and to let the audio system call this function when more input/output data can be accepted by the hardware (referred to as a callback scheme). In this section, we show how the previous rtsine.cpp program can be modified to work in a callback scenario. There is no "single-sample" interface for this functionality. The callback function will be invoked automatically by the audio system controller (RtAudio) when new data is needed and it is necessary to compute a full audio buffer of samples at that time (see Blocking vs. Callbacks for further information).

    +

    The previous section described the use of the stk::RtWvOut class for realtime audio output. The stk::RtWvOut::tick() function writes data to a large ring-buffer, from which data is periodically written to the computer's audio hardware via an underlying callback routine.

    // crtsine.cpp STK tutorial program
     
    -#include "SineWave.h"
    -#include "RtAudio.h"
    +#include "SineWave.h"
    +#include "RtAudio.h"
     using namespace stk;
     
     // This tick() function handles sample computation only.  It will be
     // called automatically when the system needs a new buffer of audio
     // samples.
     int tick( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
    -         double streamTime, RtAudioStreamStatus status, void *dataPointer )
    +         double streamTime, RtAudioStreamStatus status, void *dataPointer )
     {
       SineWave *sine = (SineWave *) dataPointer;
       register StkFloat *samples = (StkFloat *) outputBuffer;
    @@ -43,59 +45,60 @@ The previous section described the use of the // Figure out how many bytes in an StkFloat and setup the RtAudio stream.
       RtAudio::StreamParameters parameters;
    -  parameters.deviceId = dac.getDefaultOutputDevice();
    -  parameters.nChannels = 1;
    -  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
    +  parameters.deviceId = dac.getDefaultOutputDevice();
    +  parameters.nChannels = 1;
    +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
       unsigned int bufferFrames = RT_BUFFER_SIZE;
       try {
    -    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&sine );
    +    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&sine );
       }
       catch ( RtError &error ) {
    -    error.printMessage();
    +    error.printMessage();
         goto cleanup;
       }
     
       sine.setFrequency(440.0);
     
       try {
    -    dac.startStream();
    +    dac.startStream();
       }
       catch ( RtError &error ) {
    -    error.printMessage();
    +    error.printMessage();
         goto cleanup;
       }
     
       // Block waiting here.
       char keyhit;
    -  std::cout << "\nPlaying ... press <enter> to quit.\n";
    +  std::cout << "\nPlaying ... press <enter> to quit.\n";
       std::cin.get( keyhit );
     
       // Shut down the output stream.
       try {
    -    dac.closeStream();
    +    dac.closeStream();
       }
       catch ( RtError &error ) {
    -    error.printMessage();
    +    error.printMessage();
       }
     
      cleanup:
     
       return 0;
     }
    -

    -The sinusoidal oscillator is created as before. The instantiation of RtAudio requires quite a few more parameters, including output/input device and channel specifiers, the data format, and the desired buffer length (in frames). In this example, we request a single output channel using the default output device, zero channels of input, the RtAudio data format which corresponds to an StkFloat, and the RT_BUFFER_SIZE defined in Stk.h. The bufferFrames argument is an API-dependent buffering parameter (see RtAudio for further information).

    -We also provide the audio system controller with a pointer to our callback function and an optional pointer to data that will be made available in the callback. In this example, we need to pass only the pointer to the oscillator. In more complex programs, it is typically necessary to put all shared data in a struct (see the next tutorial program for an example) or make use of global variables.

    -Our callback routine is the tick() function. Function arguments include pointers to the audio input and output data buffers, the buffer size (in frames), a stream time argument, a status argument to test for over/underruns, and the data pointer passed in the openStream() function (if it exists). It is necessary to cast these pointers to their corresponding data types before use. Our tick() routine simply "ticks" the oscillator for nBufferFrames counts and writes the result into the audio data buffer before returning.

    -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.

    +

    The sinusoidal oscillator is created as before. The instantiation of RtAudio requires quite a few more parameters, including output/input device and channel specifiers, the data format, and the desired buffer length (in frames). In this example, we request a single output channel using the default output device, zero channels of input, the RtAudio data format which corresponds to an StkFloat, and the RT_BUFFER_SIZE defined in Stk.h. The bufferFrames argument is an API-dependent buffering parameter (see RtAudio for further information).

    +

    We also provide the audio system controller with a pointer to our callback function and an optional pointer to data that will be made available in the callback. In this example, we need to pass only the pointer to the oscillator. In more complex programs, it is typically necessary to put all shared data in a struct (see the next tutorial program for an example) or make use of global variables.

    +

    Our callback routine is the tick() function. Function arguments include pointers to the audio input and output data buffers, the buffer size (in frames), a stream time argument, a status argument to test for over/underruns, and the data pointer passed in the openStream() function (if it exists). It is necessary to cast these pointers to their corresponding data types before use. Our tick() routine simply "ticks" the oscillator for nBufferFrames counts and writes the result into the audio data buffer before returning.

    +

    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.

    -In order to allow all STK programs to function with equal proficiency on all supported computer platforms, a decision was made to modify the example projects to use audio callback routines. The result is a more complicated code structure, which is unfortunate given that we generally strive to make STK code as clear as possible for educational purposes. This was especially an issue with the demo program because it is designed to function in both realtime and non-realtime contexts. The use of global variables has been avoided by defining data structures to hold all variables that must be accessible to the callback routine and other functions. Alternative schemes for making control updates could be designed depending on particular program needs and constraints.

    -[Main tutorial page]   [Next tutorial]

    +

    Prior to version 4.2.0, all STK example projects and programs used blocking audio input/output functionality (typically with the RtWvIn, RtWvOut, or RtDuplex classes). In many instances, a blocking scheme results in a clearer and more straight-forward program structure. Within a graphical user interface (GUI) programming context, however, callback routines are often more natural.

    +

    In order to allow all STK programs to function with equal proficiency on all supported computer platforms, a decision was made to modify the example projects to use audio callback routines. The result is a more complicated code structure, which is unfortunate given that we generally strive to make STK code as clear as possible for educational purposes. This was especially an issue with the demo program because it is designed to function in both realtime and non-realtime contexts. The use of global variables has been avoided by defining data structures to hold all variables that must be accessible to the callback routine and other functions. Alternative schemes for making control updates could be designed depending on particular program needs and constraints.

    +

    [Main tutorial page]   [Next tutorial]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/dir_c28bfe24b93fcab464ea84f988cb34ef.html b/doc/html/dir_c28bfe24b93fcab464ea84f988cb34ef.html index d9d8978..a0d5f39 100644 --- a/doc/html/dir_c28bfe24b93fcab464ea84f988cb34ef.html +++ b/doc/html/dir_c28bfe24b93fcab464ea84f988cb34ef.html @@ -219,7 +219,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/dir_ca1e4533604ab7cb0cdaaff730a9c38f.html b/doc/html/dir_ca1e4533604ab7cb0cdaaff730a9c38f.html new file mode 100644 index 0000000..67b0b54 --- /dev/null +++ b/doc/html/dir_ca1e4533604ab7cb0cdaaff730a9c38f.html @@ -0,0 +1,127 @@ + + +The Synthesis ToolKit in C++ (STK) + + + +
    +    

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

    +
    + + +
    +

    include Directory Reference

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Files

    file  ADSR.h [code]
    file  Asymp.h [code]
    file  BandedWG.h [code]
    file  BeeThree.h [code]
    file  BiQuad.h [code]
    file  Blit.h [code]
    file  BlitSaw.h [code]
    file  BlitSquare.h [code]
    file  BlowBotl.h [code]
    file  BlowHole.h [code]
    file  Bowed.h [code]
    file  BowTable.h [code]
    file  Brass.h [code]
    file  Chorus.h [code]
    file  Clarinet.h [code]
    file  Delay.h [code]
    file  DelayA.h [code]
    file  DelayL.h [code]
    file  Drummer.h [code]
    file  Echo.h [code]
    file  Effect.h [code]
    file  Envelope.h [code]
    file  FileLoop.h [code]
    file  FileRead.h [code]
    file  FileWrite.h [code]
    file  FileWvIn.h [code]
    file  FileWvOut.h [code]
    file  Filter.h [code]
    file  Fir.h [code]
    file  Flute.h [code]
    file  FM.h [code]
    file  FMVoices.h [code]
    file  FormSwep.h [code]
    file  Function.h [code]
    file  Generator.h [code]
    file  Granulate.h [code]
    file  HevyMetl.h [code]
    file  Iir.h [code]
    file  InetWvIn.h [code]
    file  InetWvOut.h [code]
    file  Instrmnt.h [code]
    file  JCRev.h [code]
    file  JetTable.h [code]
    file  LentPitShift.h [code]
    file  Mandolin.h [code]
    file  Mesh2D.h [code]
    file  Messager.h [code]
    file  MidiFileIn.h [code]
    file  Modal.h [code]
    file  ModalBar.h [code]
    file  Modulate.h [code]
    file  Moog.h [code]
    file  Mutex.h [code]
    file  Noise.h [code]
    file  NRev.h [code]
    file  OnePole.h [code]
    file  OneZero.h [code]
    file  PercFlut.h [code]
    file  Phonemes.h [code]
    file  PitShift.h [code]
    file  Plucked.h [code]
    file  PluckTwo.h [code]
    file  PoleZero.h [code]
    file  PRCRev.h [code]
    file  ReedTable.h [code]
    file  Resonate.h [code]
    file  Rhodey.h [code]
    file  RtAudio.h [code]
    file  RtError.h [code]
    file  RtMidi.h [code]
    file  RtWvIn.h [code]
    file  RtWvOut.h [code]
    file  Sampler.h [code]
    file  Saxofony.h [code]
    file  Shakers.h [code]
    file  Simple.h [code]
    file  SineWave.h [code]
    file  SingWave.h [code]
    file  Sitar.h [code]
    file  Skini.h [code]
    file  SKINI.msg
    file  Socket.h [code]
    file  Sphere.h [code]
    file  StifKarp.h [code]
    file  Stk.h [code]
    file  TapDelay.h [code]
    file  TcpClient.h [code]
    file  TcpServer.h [code]
    file  Thread.h [code]
    file  TubeBell.h [code]
    file  TwoPole.h [code]
    file  TwoZero.h [code]
    file  UdpSocket.h [code]
    file  Vector3D.h [code]
    file  Voicer.h [code]
    file  VoicForm.h [code]
    file  Whistle.h [code]
    file  Wurley.h [code]
    file  WvIn.h [code]
    file  WvOut.h [code]
    +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/dir_d499f4756a454d8a02faa5ebe57d576f.html b/doc/html/dir_d499f4756a454d8a02faa5ebe57d576f.html index bbaaf8c..f870318 100644 --- a/doc/html/dir_d499f4756a454d8a02faa5ebe57d576f.html +++ b/doc/html/dir_d499f4756a454d8a02faa5ebe57d576f.html @@ -219,7 +219,7 @@ - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/dirs.html b/doc/html/dirs.html index 6b56b8c..811f03a 100644 --- a/doc/html/dirs.html +++ b/doc/html/dirs.html @@ -8,17 +8,17 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +

    Directories

    This directory hierarchy is sorted roughly, but not completely, alphabetically:

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/download.html b/doc/html/download.html index f882678..09eb2f7 100644 --- a/doc/html/download.html +++ b/doc/html/download.html @@ -8,17 +8,33 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Download, Release Notes, and Bug Fixes

    -Download Version 4.4.1 (3 June 2009):

    + + +

    Download, Release Notes, and Bug Fixes

    +Download Version 4.4.2 (4 February 2010):

    -

    +

    Release Notes:

    -

    +

    +Version 4.4.2

    +
      +
    • +Added various header file includes for newer compilers.
    • +
    • +Updates to RtAudio and RtMidi.
    • +
    • +New LentPitShift class (thanks to Francois Germain).
    • +
    • +Bug fixes in Voicer class (thanks Richard Dobson!).
    • +
    • +Added Makefile.in to compile library and all projects, as well as clean and distclean.
    • +
    +

    Version 4.4.1

    • @@ -30,7 +46,7 @@ In demo.cpp: removed voicer grouping for messages, fixing polyphony when message
    • Updates to RtAudio and RtMidi.
    -

    +

    Version 4.4.0

    • @@ -56,7 +72,7 @@ New TapDelay class.
    • SubNoise class deleted (same as sub-sampled "ticking" of Noise class).
    -

    +

    Version 4.3.1

    • @@ -70,7 +86,7 @@ Updates to +

      Version 4.3.0

      • @@ -82,7 +98,7 @@ Updates for new RtAudio directly with a callback function.
      • -Bug fix in interpolate() function in Stk.h for non-interleaved data.
      • +Bug fix in interpolate() function in Stk.h for non-interleaved data.
      • Fixes / improvements to the Granulate class.
      • @@ -102,7 +118,7 @@ New FAQ in documentation.
      • MAT-file bug fix in FileRead class.
      -

      +

      Version 4.2.1

      • @@ -148,7 +164,7 @@ Changed Filter class behavior so no default clearing of state when changing coef
      • Fixes to RtAudio, especially for Windows DirectSound and ASIO (thanks to Robin Davies).
      -

      +

      Version 4.2.0

      • @@ -190,13 +206,13 @@ Turned Nagle algorithm off by default in Socket class.
      • Error reporting standardized in all classes.
      -

      +

      Version 4.1.3

      • Bug fix in RtAudio for Windows DirectSound output only support
      -

      +

      Version 4.1.2

      • @@ -224,13 +240,13 @@ Configure script changes.
      • Updated <iostream> include statements and appended "std::" as necessary throughout for compatibility with gcc 3.
      -

      +

      Version 4.1.1

      • Bug fix in RtAudio for Macintosh OS X and Windows ASIO duplex operation.
      • -Windows ASIO fix in Stk.h.
      • +Windows ASIO fix in Stk.h.
      • Documentation updates.
      • @@ -238,7 +254,7 @@ Expanded tutorial.
      • Fixed RtDuplex omission in src Makefile.
      -

      +

      Version 4.1

      • @@ -272,7 +288,7 @@ Sample rate flag added as command line option to example programs.
      • Socket port number added as command line option to example programs.
      -

      +

      Version 4.0

      • @@ -298,7 +314,7 @@ New independent +

        Version 3.2

        • @@ -332,7 +348,7 @@ Miscellaneous renamings.
        • Probably a bunch more fixes that I've long since forgotten about.
        -

        +

        Version 3.1

        • @@ -346,7 +362,7 @@ 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.
        • @@ -360,7 +376,7 @@ Added some defines to Object.h for random number generation, FPU overflow checki
        • A few minor changes, some bug fixes ... can't remember all of them.
        -

        +

        Version 3.0

        • @@ -412,7 +428,7 @@ Cleaned up Object.h a bit.
        • Pulled various utility and thread functions out of syntmono.cpp (to aid readability of the code).
        -

        +

        Version 2.02

        • @@ -428,7 +444,7 @@ Fixed bug in MD2SKINI which prevented some NoteOff statements from being output.
        • This distribution includes an example STK project, mus151, which demonstrates a means for keeping a user's personal projects separate from the main distribution. This is highly recommended, in order to simplify upgrades to future STK releases.
        -

        +

        Version 2

        • @@ -451,7 +467,7 @@ A single distribution for all platforms. The Unix and Windows versions have been - +
          The Synthesis ToolKit in C++ (STK)
          ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
          diff --git a/doc/html/doxygen.css b/doc/html/doxygen.css index 3767dc9..b057a92 100644 --- a/doc/html/doxygen.css +++ b/doc/html/doxygen.css @@ -1,3 +1,5 @@ +/* The standard CSS for doxygen */ + body, table, div, p, dl { font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; font-size: 12px; @@ -18,12 +20,49 @@ h3 { font-size: 100%; } +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd, p.starttd { + margin-top: 2px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + /* @end */ caption { font-weight: bold; } +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + div.qindex, div.navtab{ background-color: #e8eef2; border: 1px solid #84b0c7; @@ -80,9 +119,11 @@ a.elRef { } a.code { + color: #3030f0; } a.codeRef { + color: #3030f0; } /* @end */ @@ -101,6 +142,10 @@ pre.fragment { background-color: #f5f5f5; padding: 4px 6px; margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; } div.ah { @@ -161,6 +206,22 @@ img.formulaInl { vertical-align: middle; } +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + /* @group Code Colorization */ span.keyword { @@ -267,8 +328,13 @@ hr { border-top: 1px solid #ccc; } +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + .memTemplParams { color: #606060; + white-space: nowrap; } /* @end */ @@ -295,6 +361,7 @@ hr { .memitem { padding: 0; + margin-bottom: 10px; } .memname { @@ -312,8 +379,11 @@ hr { font-weight: bold; -webkit-border-top-left-radius: 8px; -webkit-border-top-right-radius: 8px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -moz-border-radius-topleft: 8px; -moz-border-radius-topright: 8px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + } .memdoc { @@ -322,8 +392,10 @@ hr { border-top-width: 0; -webkit-border-bottom-left-radius: 8px; -webkit-border-bottom-right-radius: 8px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -moz-border-radius-bottomleft: 8px; -moz-border-radius-bottomright: 8px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; } .paramkey { @@ -439,3 +511,22 @@ address { font-style: normal; color: #333; } + +table.doxtable { + border-collapse:collapse; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #153788; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #254798; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; +} + diff --git a/doc/html/faq.html b/doc/html/faq.html index ada9c5e..54a3c5b 100644 --- a/doc/html/faq.html +++ b/doc/html/faq.html @@ -8,13 +8,19 @@    

          Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


          - +
          -

          Frequently Asked Questions

          -

          + + +

          Frequently Asked Questions

          +

          Does STK have a license?

          -Yes, we finally made something official for release 4.3.0. It is listed in the Stk class and a few other places in the distribution, but I'll repeat it here for clarity:

          +

          Yes, we finally made something official for release 4.3.0. It is listed in the Stk class and a few other places in the distribution, but I'll repeat it here for clarity:

           The Synthesis ToolKit in C++ (STK) is a set of open source audio
           signal processing and algorithmic synthesis classes written in the
          @@ -30,7 +36,7 @@ work with any standard C++ compiler.
           STK WWW site: http://ccrma.stanford.edu/software/stk/
           
           The Synthesis ToolKit in C++ (STK)
          -Copyright (c) 1995-2009 Perry R. Cook and Gary P. Scavone
          +Copyright (c) 1995-2010 Perry R. Cook and Gary P. Scavone
           
           Permission is hereby granted, free of charge, to any person obtaining
           a copy of this software and associated documentation files (the
          @@ -55,26 +61,27 @@ 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.
          -

          +

          Why is my file sample rate wrong?

          -When the FileWvIn class loads a soundfile, it automatically sets its internal read increment based on the soundfile rate and the current STK sample rate. For example, if the current STK sample rate is 44100 Hz and the soundfile rate is 22050 Hz, the read increment, or rate, will be set to 0.5 and the file will be interpolated so that is sounds correct at 44100 Hz. For most cases, this works fine. However, consider the following example:

          -

          FileWvIn input( "infile" );                 // read an input soundfile
          +

          When the FileWvIn class loads a soundfile, it automatically sets its internal read increment based on the soundfile rate and the current STK sample rate. For example, if the current STK sample rate is 44100 Hz and the soundfile rate is 22050 Hz, the read increment, or rate, will be set to 0.5 and the file will be interpolated so that is sounds correct at 44100 Hz. For most cases, this works fine. However, consider the following example:

          +
          FileWvIn input( "infile" );                 // read an input soundfile
           StkFloat sampleRate = input.getFileRate();
           Stk::setSampleRate( sampleRate );           // set a new STK sample rate based on the file rate
          -

          -With version 4.3 and higher of STK, the FileWvIn class will be notified of a sample rate change and it will automatically adjust its read rate accordingly. Previous versions of STK did not perform this change and thus, the read rate could end up being incorrect. If you do not want FileWvIn to perform this automatic adjustment, you can call the ignoreSampleRateChange() function for a given class instance.

          +

          With version 4.3 and higher of STK, the FileWvIn class will be notified of a sample rate change and it will automatically adjust its read rate accordingly. Previous versions of STK did not perform this change and thus, the read rate could end up being incorrect. If you do not want FileWvIn to perform this automatic adjustment, you can call the ignoreSampleRateChange() function for a given class instance.

          +

          Why does the sound I generated with STK sound like *&#@!?

          -If the resultant sound generated by an STK program sounds like noise (and you're not doing an MLS experiment), the problem is likely related to the byte "endianness" of your computer. By default, STK assumes "big endian" byte order. If you are working with STK classes on a PC (Windows or Linux), you must define the __LITTLE_ENDIAN__ preprocessor definition before compiling. If after reading this you realize you need to make this change, do not forget to recompile all STK classes from scratch.

          +

          If the resultant sound generated by an STK program sounds like noise (and you're not doing an MLS experiment), the problem is likely related to the byte "endianness" of your computer. By default, STK assumes "big endian" byte order. If you are working with STK classes on a PC (Windows or Linux), you must define the __LITTLE_ENDIAN__ preprocessor definition before compiling. If after reading this you realize you need to make this change, do not forget to recompile all STK classes from scratch.

          +

          Why do I get a Tk display error message?

          -The following error may be printed to your terminal window (depending on the version of the tcl/tk interpreter you are running) if you attempt to start an STK tcl/tk interface without the X Server first running:

          -

          Application initialization failed: this isn't a Tk applicationcouldn't connect to display ":0.0"
          -

          -Simply start your X server and then try the command again.

    +

    The following error may be printed to your terminal window (depending on the version of the tcl/tk interpreter you are running) if you attempt to start an STK tcl/tk interface without the X Server first running:

    +
    Application initialization failed: this isn't a Tk applicationcouldn't connect to display ":0.0"
    +

    Simply start your X server and then try the command again.

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/files.html b/doc/html/files.html index c430760..60d3a53 100644 --- a/doc/html/files.html +++ b/doc/html/files.html @@ -8,114 +8,115 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +

    File List

    Here is a list of all documented files with brief descriptions: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ADSR.h [code]
    Asymp.h [code]
    BandedWG.h [code]
    BeeThree.h [code]
    BiQuad.h [code]
    Blit.h [code]
    BlitSaw.h [code]
    BlitSquare.h [code]
    BlowBotl.h [code]
    BlowHole.h [code]
    Bowed.h [code]
    BowTable.h [code]
    Brass.h [code]
    Chorus.h [code]
    Clarinet.h [code]
    Delay.h [code]
    DelayA.h [code]
    DelayL.h [code]
    Drummer.h [code]
    Echo.h [code]
    Effect.h [code]
    Envelope.h [code]
    FileLoop.h [code]
    FileRead.h [code]
    FileWrite.h [code]
    FileWvIn.h [code]
    FileWvOut.h [code]
    Filter.h [code]
    Fir.h [code]
    Flute.h [code]
    FM.h [code]
    FMVoices.h [code]
    FormSwep.h [code]
    Function.h [code]
    Generator.h [code]
    Granulate.h [code]
    HevyMetl.h [code]
    Iir.h [code]
    InetWvIn.h [code]
    InetWvOut.h [code]
    Instrmnt.h [code]
    JCRev.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]
    OneZero.h [code]
    PercFlut.h [code]
    Phonemes.h [code]
    PitShift.h [code]
    Plucked.h [code]
    PluckTwo.h [code]
    PoleZero.h [code]
    PRCRev.h [code]
    ReedTable.h [code]
    Resonate.h [code]
    Rhodey.h [code]
    RtAudio.h [code]
    RtError.h [code]
    RtMidi.h [code]
    RtWvIn.h [code]
    RtWvOut.h [code]
    Sampler.h [code]
    Saxofony.h [code]
    Shakers.h [code]
    Simple.h [code]
    SineWave.h [code]
    SingWave.h [code]
    Sitar.h [code]
    Skini.h [code]
    Socket.h [code]
    Sphere.h [code]
    StifKarp.h [code]
    Stk.h [code]
    TapDelay.h [code]
    TcpClient.h [code]
    TcpServer.h [code]
    Thread.h [code]
    TubeBell.h [code]
    TwoPole.h [code]
    TwoZero.h [code]
    UdpSocket.h [code]
    Vector3D.h [code]
    Voicer.h [code]
    VoicForm.h [code]
    Whistle.h [code]
    Wurley.h [code]
    WvIn.h [code]
    WvOut.h [code]
    ADSR.h [code]
    Asymp.h [code]
    BandedWG.h [code]
    BeeThree.h [code]
    BiQuad.h [code]
    Blit.h [code]
    BlitSaw.h [code]
    BlitSquare.h [code]
    BlowBotl.h [code]
    BlowHole.h [code]
    Bowed.h [code]
    BowTable.h [code]
    Brass.h [code]
    Chorus.h [code]
    Clarinet.h [code]
    Delay.h [code]
    DelayA.h [code]
    DelayL.h [code]
    Drummer.h [code]
    Echo.h [code]
    Effect.h [code]
    Envelope.h [code]
    FileLoop.h [code]
    FileRead.h [code]
    FileWrite.h [code]
    FileWvIn.h [code]
    FileWvOut.h [code]
    Filter.h [code]
    Fir.h [code]
    Flute.h [code]
    FM.h [code]
    FMVoices.h [code]
    FormSwep.h [code]
    Function.h [code]
    Generator.h [code]
    Granulate.h [code]
    HevyMetl.h [code]
    Iir.h [code]
    InetWvIn.h [code]
    InetWvOut.h [code]
    Instrmnt.h [code]
    JCRev.h [code]
    JetTable.h [code]
    LentPitShift.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]
    OneZero.h [code]
    PercFlut.h [code]
    Phonemes.h [code]
    PitShift.h [code]
    Plucked.h [code]
    PluckTwo.h [code]
    PoleZero.h [code]
    PRCRev.h [code]
    ReedTable.h [code]
    Resonate.h [code]
    Rhodey.h [code]
    RtAudio.h [code]
    RtError.h [code]
    RtMidi.h [code]
    RtWvIn.h [code]
    RtWvOut.h [code]
    Sampler.h [code]
    Saxofony.h [code]
    Shakers.h [code]
    Simple.h [code]
    SineWave.h [code]
    SingWave.h [code]
    Sitar.h [code]
    Skini.h [code]
    Socket.h [code]
    Sphere.h [code]
    StifKarp.h [code]
    Stk.h [code]
    TapDelay.h [code]
    TcpClient.h [code]
    TcpServer.h [code]
    Thread.h [code]
    TubeBell.h [code]
    TwoPole.h [code]
    TwoZero.h [code]
    UdpSocket.h [code]
    Vector3D.h [code]
    Voicer.h [code]
    VoicForm.h [code]
    Whistle.h [code]
    Wurley.h [code]
    WvIn.h [code]
    WvOut.h [code]

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/filtering.html b/doc/html/filtering.html index 5c7d74f..680b20d 100644 --- a/doc/html/filtering.html +++ b/doc/html/filtering.html @@ -8,10 +8,12 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Using Filters

    In this section, we demonstrate the use of a few of the STK filter classes. The stk::Iir class provides functionality to implement a generalized infinite impulse response (IIR) digital filter, similar to the filter function in Matlab. In this example, we create an stk::Iir instance and initialize it with specific numerator and denominator coefficients. We then compute its impulse response for 20 samples.

    -

    #include "Iir.h"
    +
    +
    +

    Using Filters

    In this section, we demonstrate the use of a few of the STK filter classes. The stk::Iir class provides functionality to implement a generalized infinite impulse response (IIR) digital filter, similar to the filter function in Matlab. In this example, we create an stk::Iir instance and initialize it with specific numerator and denominator coefficients. We then compute its impulse response for 20 samples.

    +
    #include "Iir.h"
     using namespace stk;
     
     int main()
    @@ -29,20 +31,20 @@
     
       filter.tick( output );
       for ( unsigned int i=0; i<output.size(); i++ ) {
    -    std::cout << "i = " << i << " : output = " << output[i] << std::endl;
    +    std::cout << "i = " << i << " : output = " << output[i] << std::endl;
       }
     
       return 0;
     }
    -

    -The stk::Iir class implements the standard difference equation

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

    -where "b" values are numerator coefficients and "a" values are denominator coefficients. Note that if the first denominator coefficient is not 1.0, the Iir class automatically normalizes all filter coefficients by that value. The coefficient values are passed to the Iir class via a C++ vector, a container object provided by the C++ Standard Library.

    -Most STK classes use more specific types of digital filters, such as the stk::OneZero, stk::OnePole, stk::TwoPole, or stk::BiQuad varieties. These classes inherit from the stk::Filter abstract base class and provide specific functionality particular to their use, as well as functions to independently control individual coefficient values.

    +

    The stk::Iir class implements the standard difference equation

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

    where "b" values are numerator coefficients and "a" values are denominator coefficients. Note that if the first denominator coefficient is not 1.0, the Iir class automatically normalizes all filter coefficients by that value. The coefficient values are passed to the Iir class via a C++ vector, a container object provided by the C++ Standard Library.

    +

    Most STK classes use more specific types of digital filters, such as the stk::OneZero, stk::OnePole, stk::TwoPole, or stk::BiQuad varieties. These classes inherit from the stk::Filter abstract base class and provide specific functionality particular to their use, as well as functions to independently control individual coefficient values.

    +

    Resonances:

    -The STK stk::BiQuad and stk::TwoPole classes provide functionality for creating resonance filters. The following example demonstrates how to create a resonance centered at 440 Hz that is used to filter the output of a stk::Noise generator.

    -

    #include "BiQuad.h"
    -#include "Noise.h"
    +

    The STK stk::BiQuad and stk::TwoPole classes provide functionality for creating resonance filters. The following example demonstrates how to create a resonance centered at 440 Hz that is used to filter the output of a stk::Noise generator.

    +

    -By passing a boolian value of true as the third argument to the stk::BiQuad::setResonance() function, the filter coefficients are automatically scaled to achieve unity gain at the resonance peak frequency. The previous code could be easily modified for "vector-based" calculations:

    -

    #include "BiQuad.h"
    -#include "Noise.h"
    +

    By passing a boolian value of true as the third argument to the stk::BiQuad::setResonance() function, the filter coefficients are automatically scaled to achieve unity gain at the resonance peak frequency. The previous code could be easily modified for "vector-based" calculations:

    +

    -[Main tutorial page]   [Next tutorial]

    +

    [Main tutorial page]   [Next tutorial]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/ftv2blank.png b/doc/html/ftv2blank.png new file mode 100644 index 0000000000000000000000000000000000000000..493c3c0b615ade5b22027bde773faf2c0e076d66 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr2qYM%T@!Q%(o7{me!&ckj8p!u14)&*MwA5S zr6z#mEsk^N1FBF3sc_EE%}vcKVF=AhO-xa6_jFST&P^;T z2~I3aEm8;rVk12R#UIz>f`J-DJY5_^DsClP9B62eH+WF*G=YJMp~A-KbWwke5Kx}M M)78&qol`;+0EL(^EC2ui literal 0 HcmV?d00001 diff --git a/doc/html/ftv2doc.png b/doc/html/ftv2doc.png new file mode 100644 index 0000000000000000000000000000000000000000..f72999f92172cca6edaa2538286b3e369bec9f49 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^5yjnX4egh%q=bp-`Pe zR7&bp17l3gfhmh7Fm(iZ2eAfco|q!h5)>qKG?UBh!IC9QGMbJAHf6IEiufk_g|d7~ qkWqJ4k(|I-Aeo-5U~n{Fnc?dN!3Uwu?t6hQVDNPHb6Mw<&;$TLIZ`G7 literal 0 HcmV?d00001 diff --git a/doc/html/ftv2folderclosed.png b/doc/html/ftv2folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d063440cbf13c4128dacd96661b6fce58abf26 GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^55uo^`BphW;jCHO69?}tw{JfcdnZ<*@N=4I z?xF5Qc|QYEmKAIZ;JRGVHe=bn*tx1_|J^^vyg*oVM#A1kZlFULJYD@<);T3K0RTgB BWg7qh literal 0 HcmV?d00001 diff --git a/doc/html/ftv2folderopen.png b/doc/html/ftv2folderopen.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe2c913cf493ee37ad8e3a5132382138d93ac92 GIT binary patch literal 261 zcmeAS@N?(olHy`uVBq!ia0vp^5u(C zYP)Mg%H-DB+{J~>rPn_#pYTax?r*V6ubqGX{lvROQ{?n5_cbm+cQAOm`njxgN@xNA D92;js literal 0 HcmV?d00001 diff --git a/doc/html/ftv2lastnode.png b/doc/html/ftv2lastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b9ba90cb0cf71c8ce662956bfee7d64cf60fa6 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6UZ?L@CkAK|NlRbNhD}!Xpp$P zU;Pg)ksC(lf|p%(p+w2Gk+!>EaktaVt4N i!r*{E4>QXNV>t$uAA#a^n)TVt_DW*G8-srQl%FeIsRSdYm zeDdtWec}u&7@8h5rqv#p7g*pRdwwmugmlS-+cHV~j}#7`Nwj9m+AU)JGGo`8z_}`K z?s#Xsy%Z;1_jl5Y+?Gum8WyK6`MBvup0SAOKJ)mWcHyteJ?WLL>>-)=?&<$H&t5oH Vd!azZ1yDdSc)I$ztaD0e0sw}(dc*(# literal 0 HcmV?d00001 diff --git a/doc/html/ftv2mlastnode.png b/doc/html/ftv2mlastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..09ceb6adb01054ce799ad20c0e818ab9272f2df2 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr#LU3Jc=+&fg$isFPOjJ*AaIJQGm()YSDb0rfjgNefXW#>UHx3vIVCg! E0ORy6RsaA1 literal 0 HcmV?d00001 diff --git a/doc/html/ftv2mnode.png b/doc/html/ftv2mnode.png new file mode 100644 index 0000000000000000000000000000000000000000..3254c05112199fbc80aad313611c58a5b388792d GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6Ub2s@Ck7}aNq!ti3c<^Gz9OH zn+a6GSQ6wH%;50sMjDVKR^l2_5}cn_Ql40p%8;I!W>k=uu3)5RqGz-?&YcgaLd(;| zF{I*Fa>4?=2W(CyOv{5p*uLi}G<-ambjQcb>&~4!CzK3KXWY6d$*{eWU47N}X+XCz OFnGH9xvXPg)ksC(lf|p%(p+w2Gk+y>EaktaVt4N l!r*{E4>Lv;t literal 0 HcmV?d00001 diff --git a/doc/html/ftv2plastnode.png b/doc/html/ftv2plastnode.png new file mode 100644 index 0000000000000000000000000000000000000000..0b07e00913d8069ebbb51bd7fd6d70d8bba88f75 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr#LU3Jc=+&MJ literal 0 HcmV?d00001 diff --git a/doc/html/ftv2pnode.png b/doc/html/ftv2pnode.png new file mode 100644 index 0000000000000000000000000000000000000000..2001b797ba2b98a4127f1d3efca64aef08bf6d51 GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6Ub2s@Ck7}aNq!ti3c<^Gz9OH zn+a6GSQ6wH%;50sMjDVKR^l2_5}cn_Ql40p%8;I!W>k=uu3)5RqGz-?&Ycga!obtT zF{I*Fa>4?=2W(Dkd1@Anj~<0|oqBMOmqox%*rjK-r)THv+0v0L%h-agt(X~hWwYzA SIxU|Ma*U^|pUXO@geCywmoZiV literal 0 HcmV?d00001 diff --git a/doc/html/ftv2vertline.png b/doc/html/ftv2vertline.png new file mode 100644 index 0000000000000000000000000000000000000000..b330f3a33c0085c183ff39fc56b1b274160c1da0 GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRr!py+H=+kU?6UZ?L@CkAK|NlRbNhD}!Xpp$P zU;Pg)ksC(lf|p%(p+w2Gqgt>EaktaVt4N e!r*{^G#i7W2*a|cHZQDzQVgE1elF{r5}E+)J2fZ( literal 0 HcmV?d00001 diff --git a/doc/html/functions.html b/doc/html/functions.html index aba6eef..4372a07 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,43 +49,58 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - a -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x62.html b/doc/html/functions_0x62.html index 1cd9939..fccf866 100644 --- a/doc/html/functions_0x62.html +++ b/doc/html/functions_0x62.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,37 +49,48 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - b -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x63.html b/doc/html/functions_0x63.html index a09e1c1..ae06255 100644 --- a/doc/html/functions_0x63.html +++ b/doc/html/functions_0x63.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,116 +49,133 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - c -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x64.html b/doc/html/functions_0x64.html index cca6e8b..aba2609 100644 --- a/doc/html/functions_0x64.html +++ b/doc/html/functions_0x64.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,41 +49,54 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - d -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x65.html b/doc/html/functions_0x65.html index 32d0358..9258fdd 100644 --- a/doc/html/functions_0x65.html +++ b/doc/html/functions_0x65.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,26 +49,31 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - e -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x66.html b/doc/html/functions_0x66.html index 0ba6404..d1a5c76 100644 --- a/doc/html/functions_0x66.html +++ b/doc/html/functions_0x66.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,67 +49,93 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - f -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x67.html b/doc/html/functions_0x67.html index 0e14fee..b9842a3 100644 --- a/doc/html/functions_0x67.html +++ b/doc/html/functions_0x67.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,109 +49,149 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - g -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x68.html b/doc/html/functions_0x68.html index 1c6b2ff..5b5a86f 100644 --- a/doc/html/functions_0x68.html +++ b/doc/html/functions_0x68.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,19 +49,21 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - h -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x69.html b/doc/html/functions_0x69.html index 291b163..0dcbd8b 100644 --- a/doc/html/functions_0x69.html +++ b/doc/html/functions_0x69.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,66 +49,89 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - i -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6a.html b/doc/html/functions_0x6a.html index 444668e..2d69811 100644 --- a/doc/html/functions_0x6a.html +++ b/doc/html/functions_0x6a.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,17 +49,18 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - j -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6b.html b/doc/html/functions_0x6b.html index 769be78..f27f2ab 100644 --- a/doc/html/functions_0x6b.html +++ b/doc/html/functions_0x6b.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,31 +49,33 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - k -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6c.html b/doc/html/functions_0x6c.html index adce3d4..cfc058a 100644 --- a/doc/html/functions_0x6c.html +++ b/doc/html/functions_0x6c.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,70 +49,80 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - l -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6d.html b/doc/html/functions_0x6d.html index 942ba29..b0ffe15 100644 --- a/doc/html/functions_0x6d.html +++ b/doc/html/functions_0x6d.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,37 +49,48 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - m -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6e.html b/doc/html/functions_0x6e.html index 0d4d7b5..d8d041d 100644 --- a/doc/html/functions_0x6e.html +++ b/doc/html/functions_0x6e.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,100 +49,113 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - n -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x6f.html b/doc/html/functions_0x6f.html index 8ceb0ce..145d8ea 100644 --- a/doc/html/functions_0x6f.html +++ b/doc/html/functions_0x6f.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,49 +49,62 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - o -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x70.html b/doc/html/functions_0x70.html index ab5d790..8666933 100644 --- a/doc/html/functions_0x70.html +++ b/doc/html/functions_0x70.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,53 +49,72 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - p -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x71.html b/doc/html/functions_0x71.html index d1bd581..27de8e3 100644 --- a/doc/html/functions_0x71.html +++ b/doc/html/functions_0x71.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,17 +49,18 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - q -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x72.html b/doc/html/functions_0x72.html index 55a9c77..1625dab 100644 --- a/doc/html/functions_0x72.html +++ b/doc/html/functions_0x72.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,71 +49,93 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - r -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x73.html b/doc/html/functions_0x73.html index 68de775..50e57b2 100644 --- a/doc/html/functions_0x73.html +++ b/doc/html/functions_0x73.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,439 +49,598 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - s -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x74.html b/doc/html/functions_0x74.html index c0354ab..0756874 100644 --- a/doc/html/functions_0x74.html +++ b/doc/html/functions_0x74.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,129 +49,145 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - t -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x75.html b/doc/html/functions_0x75.html index 9bacc64..35aaea6 100644 --- a/doc/html/functions_0x75.html +++ b/doc/html/functions_0x75.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,24 +49,28 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - u -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x76.html b/doc/html/functions_0x76.html index 9b451a3..2a23410 100644 --- a/doc/html/functions_0x76.html +++ b/doc/html/functions_0x76.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,23 +49,27 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - v -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x77.html b/doc/html/functions_0x77.html index dcec431..552beea 100644 --- a/doc/html/functions_0x77.html +++ b/doc/html/functions_0x77.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,46 +49,59 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - w -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_0x7e.html b/doc/html/functions_0x7e.html index d82be34..b4d7491 100644 --- a/doc/html/functions_0x7e.html +++ b/doc/html/functions_0x7e.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,175 +49,255 @@
    Here is a list of all documented class members with links to the class documentation for each member: -

    -

    - ~ -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_enum.html b/doc/html/functions_enum.html index 92867ea..56590f6 100644 --- a/doc/html/functions_enum.html +++ b/doc/html/functions_enum.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -20,20 +20,20 @@
    -  -

    -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_eval.html b/doc/html/functions_eval.html index 064f544..f9f5449 100644 --- a/doc/html/functions_eval.html +++ b/doc/html/functions_eval.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -20,63 +20,84 @@
    -  -

    -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func.html b/doc/html/functions_func.html index b0663bb..5aac0af 100644 --- a/doc/html/functions_func.html +++ b/doc/html/functions_func.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,39 +49,52 @@
      -

    -

    - a -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x62.html b/doc/html/functions_func_0x62.html index 02734f4..a5ef1c0 100644 --- a/doc/html/functions_func_0x62.html +++ b/doc/html/functions_func_0x62.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,37 +49,48 @@
      -

    -

    - b -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x63.html b/doc/html/functions_func_0x63.html index 91fe474..82df299 100644 --- a/doc/html/functions_func_0x63.html +++ b/doc/html/functions_func_0x63.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,114 +49,131 @@
      -

    -

    - c -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x64.html b/doc/html/functions_func_0x64.html index 8cbbebc..d8fdf3b 100644 --- a/doc/html/functions_func_0x64.html +++ b/doc/html/functions_func_0x64.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,29 +49,36 @@
      -

    -

    - d -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x65.html b/doc/html/functions_func_0x65.html index 877f0f4..9dc8e3d 100644 --- a/doc/html/functions_func_0x65.html +++ b/doc/html/functions_func_0x65.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,26 +49,31 @@
      -

    -

    - e -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x66.html b/doc/html/functions_func_0x66.html index 3579edf..84d953b 100644 --- a/doc/html/functions_func_0x66.html +++ b/doc/html/functions_func_0x66.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,51 +49,69 @@
      -

    -

    - f -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x67.html b/doc/html/functions_func_0x67.html index 627e596..7bd25cc 100644 --- a/doc/html/functions_func_0x67.html +++ b/doc/html/functions_func_0x67.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,109 +49,149 @@
      -

    -

    - g -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x68.html b/doc/html/functions_func_0x68.html index 2783fa4..fe500ff 100644 --- a/doc/html/functions_func_0x68.html +++ b/doc/html/functions_func_0x68.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,19 +49,21 @@
      -

    -

    - h -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x69.html b/doc/html/functions_func_0x69.html index 0f88e76..8b3a259 100644 --- a/doc/html/functions_func_0x69.html +++ b/doc/html/functions_func_0x69.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,52 +49,68 @@
      -

    -

    - i -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6a.html b/doc/html/functions_func_0x6a.html index 4545a30..2b56b73 100644 --- a/doc/html/functions_func_0x6a.html +++ b/doc/html/functions_func_0x6a.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,17 +49,18 @@
      -

    -

    - j -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6b.html b/doc/html/functions_func_0x6b.html index 6f75bf0..a8e59e3 100644 --- a/doc/html/functions_func_0x6b.html +++ b/doc/html/functions_func_0x6b.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,31 +49,33 @@

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6c.html b/doc/html/functions_func_0x6c.html index cffacea..7433f28 100644 --- a/doc/html/functions_func_0x6c.html +++ b/doc/html/functions_func_0x6c.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,66 +49,74 @@
      -

    -

    - l -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6d.html b/doc/html/functions_func_0x6d.html index 65b74c9..febaa5d 100644 --- a/doc/html/functions_func_0x6d.html +++ b/doc/html/functions_func_0x6d.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,33 +49,42 @@
      -

    -

    - m -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6e.html b/doc/html/functions_func_0x6e.html index 74ba7dc..17b9b7d 100644 --- a/doc/html/functions_func_0x6e.html +++ b/doc/html/functions_func_0x6e.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,91 +49,100 @@
      -

    -

    - n -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x6f.html b/doc/html/functions_func_0x6f.html index 2313884..c3ec95a 100644 --- a/doc/html/functions_func_0x6f.html +++ b/doc/html/functions_func_0x6f.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,47 +49,59 @@
      -

    -

    - o -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x70.html b/doc/html/functions_func_0x70.html index 18724ec..9670958 100644 --- a/doc/html/functions_func_0x70.html +++ b/doc/html/functions_func_0x70.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,49 +49,66 @@
      -

    -

    - p -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x71.html b/doc/html/functions_func_0x71.html index 978f53c..1e7b9aa 100644 --- a/doc/html/functions_func_0x71.html +++ b/doc/html/functions_func_0x71.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,17 +49,18 @@
      -

    -

    - q -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x72.html b/doc/html/functions_func_0x72.html index cafb41c..109de7e 100644 --- a/doc/html/functions_func_0x72.html +++ b/doc/html/functions_func_0x72.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,63 +49,81 @@
      -

    -

    - r -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x73.html b/doc/html/functions_func_0x73.html index d1f72d0..9fcfbe0 100644 --- a/doc/html/functions_func_0x73.html +++ b/doc/html/functions_func_0x73.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,419 +49,568 @@
      -

    -

    - s -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x74.html b/doc/html/functions_func_0x74.html index 6ebdbc6..0144268 100644 --- a/doc/html/functions_func_0x74.html +++ b/doc/html/functions_func_0x74.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,125 +49,136 @@
      -

    -

    - t -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x75.html b/doc/html/functions_func_0x75.html index cf87c14..a329ade 100644 --- a/doc/html/functions_func_0x75.html +++ b/doc/html/functions_func_0x75.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,19 +49,21 @@
      -

    -

    - u -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x76.html b/doc/html/functions_func_0x76.html index b3b3b60..ba6ab1e 100644 --- a/doc/html/functions_func_0x76.html +++ b/doc/html/functions_func_0x76.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,23 +49,27 @@
      -

    -

    - v -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x77.html b/doc/html/functions_func_0x77.html index fcc1795..577089b 100644 --- a/doc/html/functions_func_0x77.html +++ b/doc/html/functions_func_0x77.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,39 +49,49 @@
      -

    -

    - w -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_func_0x7e.html b/doc/html/functions_func_0x7e.html index 5f3518b..3677be9 100644 --- a/doc/html/functions_func_0x7e.html +++ b/doc/html/functions_func_0x7e.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -49,175 +49,255 @@
      -

    -

    - ~ -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/functions_type.html b/doc/html/functions_type.html index 0cf91f1..3aa53d4 100644 --- a/doc/html/functions_type.html +++ b/doc/html/functions_type.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -20,18 +20,17 @@
    -  -

    -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 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 23f16d4..c3bf158 100644 --- a/doc/html/functions_vars.html +++ b/doc/html/functions_vars.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -35,99 +35,150 @@
      -

    -

    - c -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/fundamentals.html b/doc/html/fundamentals.html index 30d089c..f208c44 100644 --- a/doc/html/fundamentals.html +++ b/doc/html/fundamentals.html @@ -8,13 +8,16 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    STK Fundamentals

    The Synthesis ToolKit is implemented in the C++ programming language. STK does not attempt to provide a new programming environment or paradigm but rather provides a set of objects that can be used within a normal C++ programming framework. Therefore, it is expected that users of STK will have some familiarity with C/C++ programming concepts. That said, the STK classes do have some particular idiosyncrasies that we will mention here. Starting with STK version 4.4, all STK classes except RtAudio, RtMidi, and RtError are defined within the stk namespace.

    + + +

    STK Fundamentals

    The Synthesis ToolKit is implemented in the C++ programming language. STK does not attempt to provide a new programming environment or paradigm but rather provides a set of objects that can be used within a normal C++ programming framework. Therefore, it is expected that users of STK will have some familiarity with C/C++ programming concepts. That said, the STK classes do have some particular idiosyncrasies that we will mention here. Starting with STK version 4.4, all STK classes except RtAudio, RtMidi, and RtError are defined within the stk namespace.

    +

    Computations:

    -Audio and control signals throughout STK use a floating-point data type, StkFloat, the exact precision of which can be controlled via a typedef statement in Stk.h. By default, an StkFloat is a double-precision floating-point value. Thus, the ToolKit can use any normalization scheme desired. The base instruments and algorithms are implemented with a general audio sample dynamic maximum of +/-1.0.

    -In general, the computation and/or passing of values is performed on a "single-sample" basis. For example, the stk::Noise class outputs random floating-point numbers in the range +/-1.0. The computation of such values occurs in the stk::Noise::tick() function. The following program will generate 20 random floating-point (StkFloat) values in the range -1.0 to +1.0:

    -

    #include "Noise.h"
    +

    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 stk::Noise class outputs random floating-point numbers in the range +/-1.0. The computation of such values occurs in the stk::Noise::tick() function. The following program will generate 20 random floating-point (StkFloat) values in the range -1.0 to +1.0:

    +
    #include "Noise.h"
     using namespace stk;
     
     int main()
    @@ -24,14 +27,13 @@ In general, the computation and/or passing of values is performed on a "single-s
     
       for ( unsigned int i=0; i<20; i++ ) {
         output = noise.tick();
    -    std::cout << "i = " << i << " : output = " << output << std::endl;
    +    std::cout << "i = " << i << " : output = " << output << std::endl;
       }
     
       return 0;
     }
    -

    -Nearly all STK classes implement tick() functions that take and/or return sample values. Within the tick() function, the fundamental sample calculations are performed for a given class. Most STK classes consume/generate a single sample per operation and their tick() method takes/returns each sample "by value". In addition, every class implementing a tick() function also provides one or more overloaded tick() functions that can be used for vectorized computations, as shown in the next example.

    -

    #include "Noise.h"
    +

    Nearly all STK classes implement tick() functions that take and/or return sample values. Within the tick() function, the fundamental sample calculations are performed for a given class. Most STK classes consume/generate a single sample per operation and their tick() method takes/returns each sample "by value". In addition, every class implementing a tick() function also provides one or more overloaded tick() functions that can be used for vectorized computations, as shown in the next example.

    +
    #include "Noise.h"
     using namespace stk;
     
     int main()
    @@ -41,24 +43,31 @@ Nearly all STK classes implement tick() functions that take and/or
     
       noise.tick( output );
       for ( unsigned int i=0; i<output.size(); i++ ) {
    -    std::cout << "i = " << i << " : output = " << output[i] << std::endl;
    +    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 relatively new addition to the ToolKit to provide a general "mechanism" for handling and passing vectorized, multi-channel audio data. The StkFrames "type" provides functions to set and/or determine the number of audio channels and sample frames it holds. Further, the StkFrames class provides data interpolation and subscripting functionality by frame/channel values.

    +

    In this way, it might be possible to achieve improved processing efficiency using vectorized computations. The StkFrames class is a relatively new addition to the ToolKit to provide a general "mechanism" for handling and passing vectorized, multi-channel audio data. The StkFrames "type" provides functions to set and/or determine the number of audio channels and sample frames it holds. Further, the StkFrames class provides data interpolation and subscripting functionality by frame/channel values.

    +

    Inheritance:

    -Nearly all STK classes inherit from the Stk abstract base class, which provides common functionality related to error reporting, sample rate control, and byte swapping. Several other base classes exist that roughly group many of the classes according to function as follows:

    +

    Nearly all STK classes inherit from the Stk abstract base class, which provides common functionality related to error reporting, sample rate control, and byte swapping. Several other base classes exist that roughly group many of the classes according to function as follows:

    -

    -[Main tutorial page]   [Next tutorial]

    +
  • stk::Generator: source signal unit generator classes [stk::Envelope, stk::ADSR, stk::Asymp, stk::Noise, stk::SubNoise, stk::Modulate, stk::SingWave, stk::SineWave, stk::Blit, stk::BlitSaw, stk::BlitSquare, stk::Granulate]
  • +
  • stk::Filter: digital filtering classes [stk::OneZero, stk::OnePole, stk::PoleZero, stk::TwoZero, stk::TwoPole, stk::BiQuad, stk::FormSwep, stk::Delay, stk::DelayL, stk::DelayA, stk::TapDelay]
  • +
  • stk::Function: input to output function mappings [stk::BowTable, stk::JetTable, stk::ReedTable]
  • +
  • stk::Instrmnt: sound synthesis algorithms, including physical, FM, modal, and particle models
  • +
  • stk::Effect: sound processing effect classes [stk::Echo, stk::Chorus, stk::PitShift, stk::PRCRev, stk::JCRev, stk::NRev]
  • +
  • stk::WvOut: audio data output classes [stk::FileWvOut, stk::RtWvOut, stk::InetWvOut]
  • +
  • stk::WvIn: audio data input classes [stk::FileWvIn, stk::FileLoop, stk::RtWvIn, stk::InetWvIn]
  • + +

    [Main tutorial page]   [Next tutorial]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/globals.html b/doc/html/globals.html index 92cb453..913c3dd 100644 --- a/doc/html/globals.html +++ b/doc/html/globals.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -16,24 +16,26 @@
    -Here is a list of all documented file members with links to the documentation: -

    -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/globals_type.html b/doc/html/globals_type.html index bf4a80e..cf18190 100644 --- a/doc/html/globals_type.html +++ b/doc/html/globals_type.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    • All
    • @@ -16,24 +16,26 @@
    -  -

    -


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/hello.html b/doc/html/hello.html index e9a13a4..73bc1f5 100644 --- a/doc/html/hello.html +++ b/doc/html/hello.html @@ -8,13 +8,15 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Hello Sine!

    We'll continue our introduction to the Synthesis ToolKit with a simple sine-wave oscillator program. STK provides two different classes for sine-wave generation. We will first look at a generic waveform oscillator class, stk::FileLoop, that can load a variety of common file types. In this example, we load a sine "table" from an STK RAW file (defined as monophonic, 16-bit, big-endian data). We use the class stk::FileWvOut to write the result to a 16-bit, WAV formatted audio file.

    + + +

    Hello Sine!

    We'll continue our introduction to the Synthesis ToolKit with a simple sine-wave oscillator program. STK provides two different classes for sine-wave generation. We will first look at a generic waveform oscillator class, stk::FileLoop, that can load a variety of common file types. In this example, we load a sine "table" from an STK RAW file (defined as monophonic, 16-bit, big-endian data). We use the class stk::FileWvOut to write the result to a 16-bit, WAV formatted audio file.

    // sineosc.cpp
     
    -#include "FileLoop.h"
    -#include "FileWvOut.h"
    +#include "FileLoop.h"
    +#include "FileWvOut.h"
     using namespace stk;
     
     int main()
    @@ -26,10 +28,10 @@
       FileWvOut output;
     
       // Load the sine wave file.
    -  input.openFile( "rawwaves/sinewave.raw", true );
    +  input.openFile( "rawwaves/sinewave.raw", true );
     
       // Open a 16-bit, one-channel WAV formatted output file
    -  output.openFile( "hellosine.wav", 1, FileWrite::FILE_WAV, Stk::STK_SINT16 );
    +  output.openFile( "hellosine.wav", 1, FileWrite::FILE_WAV, Stk::STK_SINT16 );
     
       input.setFrequency( 440.0 );
     
    @@ -39,17 +41,20 @@
     
       return 0;
     }
    -

    -stk::FileLoop is a subclass of stk::FileWvIn, which supports WAV, SND (AU), AIFF, MAT-file (Matlab), and RAW file formats with 8-, 16-, and 32-bit integer and 32- and 64-bit floating-point data types. stk::FileWvIn provides interpolating, read-once ("oneshot") functionality, as well as methods for setting the read rate and read position.

    -stk::FileWvIn provides a "tick level" and interpolating interface to the stk::FileRead class. Likewise, stk::FileWvOut provides a "tick level" interface to the stk::FileWrite class. stk::FileRead and FileWrite both support WAV, SND(AU), AIFF, MAT-file (Matlab), and RAW file formats with 8-, 16-, and 32-bit integer and 32- and 64-bit floating-point data types. stk::FileWvOut does not currently offer data interpolation functionality.

    -A number of STK parent classes, including stk::WvIn, stk::WvOut, stk::Instrmnt, stk::Generator, and stk::Effect, (and some or all of their subclasses) support multi-channel sample frames. If a single-sample version of the tick() function is called for these classes, a full sample frame is computed but only a single value is either input and/or output. For example, if the single-sample tick() function is called for subclasses of stk::WvOut, the sample argument is written to all channels in the one computed frame. For classes returning values, an optional channel argument specifies which channel value is returned from the computed frame (the default is always channel 0). To input and/or output multichannel data to these classes, the overloaded tick() functions taking StkFrames reference arguments should be used.

    -Nearly all STK classes inherit from the stk::Stk base class. Stk provides a static sample rate that is queried by subclasses as needed. Because many classes use the current sample rate value during instantiation, it is important that the desired value be set at the beginning of a program. The default STK sample rate is 44100 Hz.

    +

    stk::FileLoop is a subclass of stk::FileWvIn, which supports WAV, SND (AU), AIFF, MAT-file (Matlab), and RAW file formats with 8-, 16-, and 32-bit integer and 32- and 64-bit floating-point data types. stk::FileWvIn provides interpolating, read-once ("oneshot") functionality, as well as methods for setting the read rate and read position.

    +

    stk::FileWvIn provides a "tick level" and interpolating interface to the stk::FileRead class. Likewise, stk::FileWvOut provides a "tick +level" interface to the stk::FileWrite class. stk::FileRead and FileWrite both support WAV, SND(AU), AIFF, MAT-file (Matlab), and RAW file formats with 8-, 16-, and 32-bit integer and 32- and 64-bit floating-point data types. stk::FileWvOut does not currently offer data interpolation functionality.

    +

    A number of STK parent classes, including stk::WvIn, stk::WvOut, stk::Instrmnt, stk::Generator, and stk::Effect, (and some or all of their subclasses) support multi-channel sample frames. If a single-sample version of the tick() function is called for these classes, a full sample frame is computed but only a single value is either input and/or output. For example, if the single-sample tick() function is called for subclasses of stk::WvOut, the sample argument is written to all channels in the one computed frame. For classes returning values, an optional channel argument specifies which channel value is returned from the computed frame (the default is always channel 0). To input and/or output multichannel data to these classes, the overloaded tick() functions taking StkFrames reference arguments should be used.

    +

    Nearly all STK classes inherit from the stk::Stk base class. Stk provides a static sample rate that is queried by subclasses as needed. Because many classes use the current sample rate value during instantiation, it is important that the desired value be set at the beginning of a program. The default STK sample rate is 44100 Hz.

    +

    Error Handling

    -The ToolKit has some basic C++ error handling functionality built in. Classes that access files and/or hardware are most prone to runtime errors. To properly "catch" such errors, the above example should be rewritten as shown below.

    +

    The ToolKit has some basic C++ error handling functionality built in. Classes that access files and/or hardware are most prone to runtime errors. To properly "catch" such errors, the above example should be rewritten as shown below.

    // sineosc.cpp STK tutorial program
     
    -#include "FileLoop.h"
    -#include "FileWvOut.h"
    +#include "FileLoop.h"
    +#include "FileWvOut.h"
    +#include <cstdlib>
    +
     using namespace stk;
     
     int main()
    @@ -63,10 +68,10 @@ The ToolKit has some basic C++ error handling functionality built in. Classes th
     
       try {
         // Load the sine wave file.
    -    input.openFile( "rawwaves/sinewave.raw", true );
    +    input.openFile( "rawwaves/sinewave.raw", true );
     
         // Open a 16-bit, one-channel WAV formatted output file
    -    output.openFile( "hellosine.wav", 1, FileWrite::FILE_WAV, Stk::STK_SINT16 );
    +    output.openFile( "hellosine.wav", 1, FileWrite::FILE_WAV, Stk::STK_SINT16 );
       }
       catch ( StkError & ) {
         exit( 1 );
    @@ -97,14 +102,14 @@ The ToolKit has some basic C++ error handling functionality built in. Classes th
     
       return 0;
     }
    -

    -In this particular case, we simply exit the program if an error occurs (an error message is automatically printed to stderr). A more refined program might attempt to recover from or fix a particular problem and, if successful, continue processing. See the Class Documentation to determine which constructors and functions can throw an error.

    -[Main tutorial page]   [Next tutorial]

    +

    In this particular case, we simply exit the program if an error occurs (an error message is automatically printed to stderr). A more refined program might attempt to recover from or fix a particular problem and, if successful, continue processing. See the Class Documentation to determine which constructors and functions can throw an error.

    +

    [Main tutorial page]   [Next tutorial]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html index 064ee4d..5f7be73 100644 --- a/doc/html/hierarchy.html +++ b/doc/html/hierarchy.html @@ -8,152 +8,153 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +

    Class Hierarchy

    This inheritance list is sorted roughly, but not completely, alphabetically:

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/index.html b/doc/html/index.html index b698218..78fe197 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -8,23 +8,29 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    The Synthesis ToolKit in C++ (STK)

    -

    -

    4.4.1

    +

    The Synthesis ToolKit in C++ (STK)

    4.4.2

    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 15 years now. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    +

    The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. The Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (all source included, no unusual libraries, and no hidden drivers). We like to think that this increases the chances that our programs will still work in another 5-10 years. In fact, the ToolKit has been working continuously for nearly 15 years now. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    +
  • General Information
  • +
  • Class Documentation
  • +
  • Download, Release Notes, and Bug Fixes
  • +
  • Usage Documentation
  • +
  • The Mail List
  • +
  • System Requirements
  • +
  • Miscellaneous Links
  • +
  • Frequently Asked Questions
  • +
  • Tutorial
  • +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/information.html b/doc/html/information.html index 33c3cbf..7e85bd8 100644 --- a/doc/html/information.html +++ b/doc/html/information.html @@ -8,77 +8,77 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    General Information

    References

    -

    + + +

    General Information

    References

    • -ICMC2005 Paper
      - A paper by Gary and Perry detailing recent updates to the Synthesis ToolKit in C++.

      +

      ICMC2005 Paper
      + A paper by Gary and Perry detailing recent updates to the Synthesis ToolKit in C++.

      +

    • -ICMC99 Paper
      - A not-so-recent paper by Perry and Gary about the Synthesis ToolKit in C++.

      +

      ICMC99 Paper
      + A not-so-recent paper by Perry and Gary about the Synthesis ToolKit in C++.

      +

    • -Book Chapter: Audio Anecdotes
      +Book Chapter: Audio Anecdotes
      Here's a link to a book that includes an chapter on STK.
    -

    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 the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. The Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (all source included, no unusual libraries, and no hidden drivers). We like to think that this increases the chances that our programs will still work in another 5-10 years. In fact, the ToolKit has been working continuously for nearly 15 years now. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    -The Synthesis ToolKit is free. The only parts of the Synthesis ToolKit that are platform-dependent concern real-time audio and MIDI input and output, and that is taken care of with a few special classes. The interface for MIDI input and the simple Tcl/Tk graphical user interfaces (GUIs) provided is the same, so it's easy to experiment in real time using either the GUIs or MIDI. The Synthesis ToolKit can generate simultaneous SND (AU), WAV, AIFF, and MAT-file output soundfile formats (as well as realtime sound output), so you can view your results using one of a large variety of sound/signal analysis tools already available (e.g. Snd, Cool Edit, Matlab).

    +

    The Synthesis ToolKit in C++ (STK) is a set of open source audio signal processing and algorithmic synthesis classes written in the C++ programming language. STK was designed to facilitate rapid development of music synthesis and audio processing software, with an emphasis on cross-platform functionality, realtime control, ease of use, and educational example code. The Synthesis ToolKit is extremely portable (it's mostly platform-independent C and C++ code), and it's completely user-extensible (all source included, no unusual libraries, and no hidden drivers). We like to think that this increases the chances that our programs will still work in another 5-10 years. In fact, the ToolKit has been working continuously for nearly 15 years now. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    +

    The Synthesis ToolKit is free. 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. 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 (that 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 (that 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 McGill University, 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.

    +

    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 McGill University, 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, it would be nice if you would share. 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 that 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.

    +

    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, it would be nice if you would share. 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 that 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.

    License

    -

    -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    -Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    +

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    +

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    +

    Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

    +

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

    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 that 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 that 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.

    +

    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 that is generic enough to port further to different machines.

      +

      I needed to port many of the things I've done into something that is generic enough to port further to different machines.

      +

    2. -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.)

      +

      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.)

      +

    3. -The classic difficulties most people have in trying to implement physical models are:

      +

      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.

        +

        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.

      +

      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.

      +

    4. -I wanted to try some new stuff with modal synthesis, and implement some classic FM patches as well.

      +

      I wanted to try some new stuff with modal synthesis, and implement some classic FM patches as well.

      +

    5. -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.

      +

      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.

      +

    6. More rationalizations to follow ...
    7. @@ -88,7 +88,7 @@ More rationalizations to follow ... - +
      The Synthesis ToolKit in C++ (STK)
      ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
      diff --git a/doc/html/instruments.html b/doc/html/instruments.html index be07efe..5546267 100644 --- a/doc/html/instruments.html +++ b/doc/html/instruments.html @@ -8,13 +8,15 @@    

      Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


      - +
      -

      Instruments

      The ToolKit comes with a wide variety of synthesis algorithms, all of which inherit from the stk::Instrmnt class. In this example, we'll fire up an instance of the stk::BeeThree FM synthesis class and show how its frequency can be modified over time.

      + + +

      Instruments

      The ToolKit comes with a wide variety of synthesis algorithms, all of which inherit from the stk::Instrmnt class. In this example, we'll fire up an instance of the stk::BeeThree FM synthesis class and show how its frequency can be modified over time.

      // bethree.cpp STK tutorial program
       
      -#include "BeeThree.h"
      -#include "RtAudio.h"
      +#include "BeeThree.h"
      +#include "RtAudio.h"
       using namespace stk;
       
       // The TickData structure holds all the class instances and data that
      @@ -35,7 +37,7 @@
       // called automatically when the system needs a new buffer of audio
       // samples.
       int tick( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
      -         double streamTime, RtAudioStreamStatus status, void *userData )
      +         double streamTime, RtAudioStreamStatus status, void *userData )
       {
         TickData *data = (TickData *) userData;
         register StkFloat *samples = (StkFloat *) outputBuffer;
      @@ -58,22 +60,22 @@
       {
         // Set the global sample rate and rawwave path before creating class instances.
         Stk::setSampleRate( 44100.0 );
      -  Stk::setRawwavePath( "../../rawwaves/" );
      +  Stk::setRawwavePath( "../../rawwaves/" );
       
         TickData data;
         RtAudio dac;
       
         // Figure out how many bytes in an StkFloat and setup the RtAudio stream.
         RtAudio::StreamParameters parameters;
      -  parameters.deviceId = dac.getDefaultOutputDevice();
      -  parameters.nChannels = 1;
      -  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
      +  parameters.deviceId = dac.getDefaultOutputDevice();
      +  parameters.nChannels = 1;
      +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
         unsigned int bufferFrames = RT_BUFFER_SIZE;
         try {
      -    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
      +    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
         }
         catch ( RtError& error ) {
      -    error.printMessage();
      +    error.printMessage();
           goto cleanup;
         }
       
      @@ -89,10 +91,10 @@
         data.instrument->noteOn( data.frequency, 0.5 );
       
         try {
      -    dac.startStream();
      +    dac.startStream();
         }
         catch ( RtError &error ) {
      -    error.printMessage();
      +    error.printMessage();
           goto cleanup;
         }
       
      @@ -102,10 +104,10 @@
         
         // Shut down the callback and output stream.
         try {
      -    dac.closeStream();
      +    dac.closeStream();
         }
         catch ( RtError &error ) {
      -    error.printMessage();
      +    error.printMessage();
         }
       
        cleanup:
      @@ -113,16 +115,16 @@
       
         return 0;
       }
      -

      -We have used an Instrmnt pointer when referencing the BeeThree instance above, so it would be simple to replace the BeeThree class with any other STK instrument class. It should be noted, however, that a few classes do not respond to the setFrequency() function (e.g., Shakers, Drummer).

      -The noteOn() function initiates an instrument attack. Instruments that are continuously excited (e.g., stk::Clarinet, stk::BeeThree) will continue to sound until stopped with a noteOff(). Impulsively excited instrument sounds (e.g., stk::Plucked, stk::Wurley) typically decay within a few seconds time, requiring subsequent noteOn() messages for re-attack.

      -Instrument parameters can be precisely controlled as demonstrated above. A more flexible approach to instrument control, allowing arbitrary scorefile or realtime updates, is described in the next tutorial chapter.

      -[Main tutorial page]   [Next tutorial]

      +

    We have used an Instrmnt pointer when referencing the BeeThree instance above, so it would be simple to replace the BeeThree class with any other STK instrument class. It should be noted, however, that a few classes do not respond to the setFrequency() function (e.g., Shakers, Drummer).

    +

    The noteOn() function initiates an instrument attack. Instruments that are continuously excited (e.g., stk::Clarinet, stk::BeeThree) will continue to sound until stopped with a noteOff(). Impulsively excited instrument sounds (e.g., stk::Plucked, stk::Wurley) typically decay within a few seconds time, requiring subsequent noteOn() messages for re-attack.

    +

    Instrument parameters can be precisely controlled as demonstrated above. A more flexible approach to instrument control, allowing arbitrary scorefile or realtime updates, is described in the next tutorial chapter.

    +

    [Main tutorial page]   [Next tutorial]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/links.html b/doc/html/links.html index a90fe0f..094ae15 100644 --- a/doc/html/links.html +++ b/doc/html/links.html @@ -8,52 +8,55 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Miscellaneous Links

    -

    + + +

    Miscellaneous Links

    -

    +

  • The RtMidi WWW site
  • + -

    +

  • StkX: A Cocoa STK Framework for Mac OS X by Woon Seung Yeo
  • + -

    +

  • Mobile STK: A port of STK for mobile devices by Georg Essl and Michael Rohs
  • + -

    +

  • ChucK: Concurrent, On-the-fly Audio Programming Language using STK unit generators
  • + -

    +

  • Paul Lansky's port of STK to SuperCollider
  • + -

    +

  • Kern Scores: A Library of Electronic Musical Scores (with automatic conversion to SKINI format)
  • + -

    +

  • MIDI to SKINI file converter by Craig Sapp
  • + -

    +

  • Kern Score to SKINI file converter by Craig Sapp
  • + -

    +

  • Calico - A Polyphonic Score File Parser for STK by Greg Kellum
  • + -

    +

  • PeRColate: A Port of STK for Max/MSP
  • + -

    +

  • A Partial Port of STK to Squeak
  • + +
  • AUStk: a demo of integration of STK instruments into an AudioUnit by Airy Andre
  • +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/maillist.html b/doc/html/maillist.html index 5340c13..6080156 100644 --- a/doc/html/maillist.html +++ b/doc/html/maillist.html @@ -8,17 +8,20 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    The Mail List

    An STK mailing list has been set up to facilitate communication among STK users. Subscribing to this list is your best way of keeping on top of new releases, bug fixes, and various user developments.

    -For answers to frequently asked questions, check the list archives.

    -To join send a message to <stk-request@ccrma.stanford.edu> with the contents: subscribe

    -To be removed from the list send a message to <stk-request@ccrma.stanford.edu> with the contents: unsubscribe

    + + +

    The Mail List

    An STK mailing list has been set up to facilitate communication among STK users. Subscribing to this list is your best way of keeping on top of new releases, bug fixes, and various user developments.

    +

    For answers to frequently asked questions, check the list archives.

    +

    To join send a message to <stk-request@ccrma.stanford.edu> with the contents: subscribe

    +

    To be removed from the list send a message to <stk-request@ccrma.stanford.edu> with the contents: unsubscribe

    +

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

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

    +
    + +
    +

    The Synthesis ToolKit in C++ (STK)

    4.4.2

    + +

    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 15 years now. STK currently runs with realtime support (audio and MIDI) on Linux, Macintosh OS X, and Windows computer platforms. Generic, non-realtime support has been tested under NeXTStep, Sun, and other platforms and should work with any standard C++ compiler.

    + +
    +
    + + + + +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    + + + diff --git a/doc/html/multichannel.html b/doc/html/multichannel.html index 6106b7c..c1f6c99 100644 --- a/doc/html/multichannel.html +++ b/doc/html/multichannel.html @@ -8,16 +8,20 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Multi-Channel I/O

    The ToolKit stk::WvIn and stk::WvOut classes (and their subclasses) support multi-channel audio data input and output. Several other abstract base classes, such as stk::Instrmnt, stk::Generator, and stk::Effect, also support multi-channel computations though not all of their subclasses produce or take multi-channel data. A set of interleaved audio samples representing a single time "slice" is referred to as a sample frame. At a sample rate of 44.1 kHz, a four-channel audio stream will have 44100 sample frames per second and a total of 176400 individual samples per second.

    -Most STK classes process single-sample data streams via their tick() function. For classes supporting multi-channel data, one must distinguish the tick() functions taking or producing single StkFloat arguments from those taking stk::StkFrames& arguments. If a single-sample version of the tick() function is called for these classes, a full sample frame is computed but only a single value is either input and/or output. For example, if the single-sample tick() function is called for subclasses of WvOut, the sample argument is written to all channels in the one computed frame. For classes returning values, an optional channel argument specifies which channel value is returned from the computed frame (the default is always channel 0). To input and/or output multichannel data to these classes, the overloaded tick() functions taking StkFrames reference arguments should be used.

    -Multi-channel support for realtime audio input and output is dependent on the audio device(s) available on your system.

    -The following example demonstrates the use of the stk::FileWvOut class for creating a four channel, 16-bit AIFF formatted audio file. We will use four sinewaves of different frequencies for the first two seconds and then a single sinewave for the last two seconds.

    + + +

    Multi-Channel I/O

    The ToolKit stk::WvIn and stk::WvOut classes (and their subclasses) support multi-channel audio data input and output. Several other abstract base classes, such as stk::Instrmnt, stk::Generator, and stk::Effect, also support multi-channel computations though not all of their subclasses produce or take multi-channel data. A set of interleaved audio samples representing a single time "slice" is referred to as a sample frame. At a sample rate of 44.1 kHz, a four-channel audio stream will have 44100 sample frames per second and a total of 176400 individual samples per second.

    +

    Most STK classes process single-sample data streams via their tick() function. For classes supporting multi-channel data, one must distinguish the tick() functions taking or producing single StkFloat arguments from those taking stk::StkFrames& arguments. If a single-sample version of the tick() function is called for these classes, a full sample frame is computed but only a single value is either input and/or output. For example, if the single-sample tick() function is called for subclasses of WvOut, the sample argument is written to all channels in the one computed frame. For classes returning values, an optional channel argument specifies which channel value is returned from the computed frame (the default is always channel 0). To input and/or output multichannel data to these classes, the overloaded tick() functions taking StkFrames reference arguments should be used.

    +

    Multi-channel support for realtime audio input and output is dependent on the audio device(s) available on your system.

    +

    The following example demonstrates the use of the stk::FileWvOut class for creating a four channel, 16-bit AIFF formatted audio file. We will use four sinewaves of different frequencies for the first two seconds and then a single sinewave for the last two seconds.

    // foursine.cpp STK tutorial program
     
    -#include "SineWave.h"
    -#include "FileWvOut.h"
    +#include "SineWave.h"
    +#include "FileWvOut.h"
    +#include <cstdlib>
    +
     using namespace stk;
     
     int main()
    @@ -35,7 +39,7 @@ The following example demonstrates the use of the // Define and open a 16-bit, four-channel AIFF formatted output file
       try {
    -    output.openFile( "foursine.aif", 4, FileWrite::FILE_AIF, Stk::STK_SINT16 );
    +    output.openFile( "foursine.aif", 4, FileWrite::FILE_AIF, Stk::STK_SINT16 );
       }
       catch (StkError &) {
         exit( 1 );
    @@ -55,13 +59,13 @@ The following example demonstrates the use of the return 0;
     }
    -

    -[Main tutorial page]   [Next tutorial]

    +

    [Main tutorial page]   [Next tutorial]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/namespaces.html b/doc/html/namespaces.html index 7dfb912..b71ac54 100644 --- a/doc/html/namespaces.html +++ b/doc/html/namespaces.html @@ -8,7 +8,7 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +

    Namespace List

    Here is a list of all documented namespaces with brief descriptions: @@ -18,7 +18,7 @@
    stkThe STK namespace
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/namespacestk.html b/doc/html/namespacestk.html index 480fd51..c69755a 100644 --- a/doc/html/namespacestk.html +++ b/doc/html/namespacestk.html @@ -8,317 +8,219 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk Namespace Reference

    The STK namespace. -More... -

    +

    stk Namespace Reference

    +

    The STK namespace. +More...

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Classes

    class  ADSR
     STK ADSR envelope class. More...
    class  Asymp
     STK asymptotic curve envelope class. More...
    class  BandedWG
     Banded waveguide modeling class. More...
    class  BeeThree
     STK Hammond-oid organ FM synthesis instrument. More...
    class  BiQuad
     STK biquad (two-pole, two-zero) filter class. More...
    class  Blit
     STK band-limited impulse train class. More...
    class  BlitSaw
     STK band-limited sawtooth wave class. More...
    class  BlitSquare
     STK band-limited square wave class. More...
    class  BlowBotl
     STK blown bottle instrument class. More...
    class  BlowHole
     STK clarinet physical model with one register hole and one tonehole. More...
    class  Bowed
     STK bowed string instrument class. More...
    class  BowTable
     STK bowed string table class. More...
    class  Brass
     STK simple brass instrument class. More...
    class  Chorus
     STK chorus effect class. More...
    class  Clarinet
     STK clarinet physical model class. More...
    class  Delay
     STK non-interpolating delay line class. More...
    class  DelayA
     STK allpass interpolating delay line class. More...
    class  DelayL
     STK linear interpolating delay line class. More...
    class  Drummer
     STK drum sample player class. More...
    class  Echo
     STK echo effect class. More...
    class  Effect
     STK abstract effects parent class. More...
    class  Envelope
     STK linear line envelope class. More...
    class  FileLoop
     STK file looping / oscillator class. More...
    class  FileRead
     STK audio file input class. More...
    class  FileWrite
     STK audio file output class. More...
    class  FileWvIn
     STK audio file input class. More...
    class  FileWvOut
     STK audio file output class. More...
    class  Filter
     STK abstract filter class. More...
    class  Fir
     STK general finite impulse response filter class. More...
    class  Flute
     STK flute physical model class. More...
    class  FM
     STK abstract FM synthesis base class. More...
    class  FMVoices
     STK singing FM synthesis instrument. More...
    class  FormSwep
     STK sweepable formant filter class. More...
    class  Function
     STK abstract function parent class. More...
    class  Generator
     STK abstract unit generator parent class. More...
    class  Granulate
     STK granular synthesis class. More...
    class  HevyMetl
     STK heavy metal FM synthesis instrument. More...
    class  Iir
     STK general infinite impulse response filter class. More...
    class  InetWvIn
     STK internet streaming input class. More...
    class  InetWvOut
     STK internet streaming output class. More...
    class  Instrmnt
     STK instrument abstract base class. More...
    class  JCRev
     John Chowning's reverberator class. More...
    class  JetTable
     STK jet table class. More...
    class  Mandolin
     STK mandolin instrument model class. More...
    class  Mesh2D
     Two-dimensional rectilinear waveguide mesh class. More...
    class  Messager
     STK input control message parser. More...
    class  MidiFileIn
     A standard MIDI file reading/parsing class. More...
    class  Modal
     STK resonance model abstract base class. More...
    class  ModalBar
     STK resonant bar instrument class. More...
    class  Modulate
     STK periodic/random modulator. More...
    class  Moog
     STK moog-like swept filter sampling synthesis class. More...
    class  Mutex
     STK mutex class. More...
    class  Noise
     STK noise generator. More...
    class  NRev
     CCRMA's NRev reverberator class. More...
    class  OnePole
     STK one-pole filter class. More...
    class  OneZero
     STK one-zero filter class. More...
    class  PercFlut
     STK percussive flute FM synthesis instrument. More...
    class  Phonemes
     STK phonemes table. More...
    class  PitShift
     STK simple pitch shifter effect class. More...
    class  Plucked
     STK plucked string model class. More...
    class  PluckTwo
     STK enhanced plucked string model class. More...
    class  PoleZero
     STK one-pole, one-zero filter class. More...
    class  PRCRev
     Perry's simple reverberator class. More...
    class  ReedTable
     STK reed table class. More...
    class  Resonate
     STK noise driven formant filter. More...
    class  Rhodey
     STK Fender Rhodes electric piano FM synthesis instrument. More...
    class  RtWvIn
     STK realtime audio (blocking) input class. More...
    class  RtWvOut
     STK realtime audio (blocking) output class. More...
    class  Sampler
     STK sampling synthesis abstract base class. More...
    class  Saxofony
     STK faux conical bore reed instrument class. More...
    class  Shakers
     PhISEM and PhOLIES class. More...
    class  Simple
     STK wavetable/noise instrument. More...
    class  SineWave
     STK sinusoid oscillator class. More...
    class  SingWave
     STK "singing" looped soundfile class. More...
    class  Sitar
     STK sitar string model class. More...
    class  Skini
     STK SKINI parsing class. More...
    class  Socket
     STK internet socket abstract base class. More...
    class  Sphere
     STK sphere class. More...
    class  StifKarp
     STK plucked stiff string instrument. More...
    class  StkError
     STK error handling class. More...
    class  Stk
     STK base class. More...
    class  StkFrames
     An STK class to handle vectorized audio data. More...
    class  TapDelay
     STK non-interpolating tapped delay line class. More...
    class  TcpClient
     STK TCP socket client class. More...
    class  TcpServer
     STK TCP socket server class. More...
    class  Thread
     STK thread class. More...
    class  TubeBell
     STK tubular bell (orchestral chime) FM synthesis instrument. More...
    class  TwoPole
     STK two-pole filter class. More...
    class  TwoZero
     STK two-zero filter class. More...
    class  UdpSocket
     STK UDP socket server/client class. More...
    class  Vector3D
     STK 3D vector class. More...
    class  Voicer
     STK voice manager class. More...
    class  VoicForm
     Four formant synthesis instrument. More...
    class  Whistle
     STK police/referee whistle instrument class. More...
    class  Wurley
     STK Wurlitzer electric piano FM synthesis instrument. More...
    class  WvIn
     STK audio input abstract base class. More...
    class  WvOut
     STK audio output abstract base class. More...

    Classes

    class  ADSR
     STK ADSR envelope class. More...
    class  Asymp
     STK asymptotic curve envelope class. More...
    class  BandedWG
     Banded waveguide modeling class. More...
    class  BeeThree
     STK Hammond-oid organ FM synthesis instrument. More...
    class  BiQuad
     STK biquad (two-pole, two-zero) filter class. More...
    class  Blit
     STK band-limited impulse train class. More...
    class  BlitSaw
     STK band-limited sawtooth wave class. More...
    class  BlitSquare
     STK band-limited square wave class. More...
    class  BlowBotl
     STK blown bottle instrument class. More...
    class  BlowHole
     STK clarinet physical model with one register hole and one tonehole. More...
    class  Bowed
     STK bowed string instrument class. More...
    class  BowTable
     STK bowed string table class. More...
    class  Brass
     STK simple brass instrument class. More...
    class  Chorus
     STK chorus effect class. More...
    class  Clarinet
     STK clarinet physical model class. More...
    class  Delay
     STK non-interpolating delay line class. More...
    class  DelayA
     STK allpass interpolating delay line class. More...
    class  DelayL
     STK linear interpolating delay line class. More...
    class  Drummer
     STK drum sample player class. More...
    class  Echo
     STK echo effect class. More...
    class  Effect
     STK abstract effects parent class. More...
    class  Envelope
     STK linear line envelope class. More...
    class  FileLoop
     STK file looping / oscillator class. More...
    class  FileRead
     STK audio file input class. More...
    class  FileWrite
     STK audio file output class. More...
    class  FileWvIn
     STK audio file input class. More...
    class  FileWvOut
     STK audio file output class. More...
    class  Filter
     STK abstract filter class. More...
    class  Fir
     STK general finite impulse response filter class. More...
    class  Flute
     STK flute physical model class. More...
    class  FM
     STK abstract FM synthesis base class. More...
    class  FMVoices
     STK singing FM synthesis instrument. More...
    class  FormSwep
     STK sweepable formant filter class. More...
    class  Function
     STK abstract function parent class. More...
    class  Generator
     STK abstract unit generator parent class. More...
    class  Granulate
     STK granular synthesis class. More...
    class  HevyMetl
     STK heavy metal FM synthesis instrument. More...
    class  Iir
     STK general infinite impulse response filter class. More...
    class  InetWvIn
     STK internet streaming input class. More...
    class  InetWvOut
     STK internet streaming output class. More...
    class  Instrmnt
     STK instrument abstract base class. More...
    class  JCRev
     John Chowning's reverberator class. More...
    class  JetTable
     STK jet table class. More...
    class  LentPitShift
     Pitch shifter effect class based on the Lent algorithm. More...
    class  Mandolin
     STK mandolin instrument model class. More...
    class  Mesh2D
     Two-dimensional rectilinear waveguide mesh class. More...
    class  Messager
     STK input control message parser. More...
    class  MidiFileIn
     A standard MIDI file reading/parsing class. More...
    class  Modal
     STK resonance model abstract base class. More...
    class  ModalBar
     STK resonant bar instrument class. More...
    class  Modulate
     STK periodic/random modulator. More...
    class  Moog
     STK moog-like swept filter sampling synthesis class. More...
    class  Mutex
     STK mutex class. More...
    class  Noise
     STK noise generator. More...
    class  NRev
     CCRMA's NRev reverberator class. More...
    class  OnePole
     STK one-pole filter class. More...
    class  OneZero
     STK one-zero filter class. More...
    class  PercFlut
     STK percussive flute FM synthesis instrument. More...
    class  Phonemes
     STK phonemes table. More...
    class  PitShift
     STK simple pitch shifter effect class. More...
    class  Plucked
     STK plucked string model class. More...
    class  PluckTwo
     STK enhanced plucked string model class. More...
    class  PoleZero
     STK one-pole, one-zero filter class. More...
    class  PRCRev
     Perry's simple reverberator class. More...
    class  ReedTable
     STK reed table class. More...
    class  Resonate
     STK noise driven formant filter. More...
    class  Rhodey
     STK Fender Rhodes electric piano FM synthesis instrument. More...
    class  RtWvIn
     STK realtime audio (blocking) input class. More...
    class  RtWvOut
     STK realtime audio (blocking) output class. More...
    class  Sampler
     STK sampling synthesis abstract base class. More...
    class  Saxofony
     STK faux conical bore reed instrument class. More...
    class  Shakers
     PhISEM and PhOLIES class. More...
    class  Simple
     STK wavetable/noise instrument. More...
    class  SineWave
     STK sinusoid oscillator class. More...
    class  SingWave
     STK "singing" looped soundfile class. More...
    class  Sitar
     STK sitar string model class. More...
    class  Skini
     STK SKINI parsing class. More...
    class  Socket
     STK internet socket abstract base class. More...
    class  Sphere
     STK sphere class. More...
    class  StifKarp
     STK plucked stiff string instrument. More...
    class  StkError
     STK error handling class. More...
    class  Stk
     STK base class. More...
    class  StkFrames
     An STK class to handle vectorized audio data. More...
    class  TapDelay
     STK non-interpolating tapped delay line class. More...
    class  TcpClient
     STK TCP socket client class. More...
    class  TcpServer
     STK TCP socket server class. More...
    class  Thread
     STK thread class. More...
    class  TubeBell
     STK tubular bell (orchestral chime) FM synthesis instrument. More...
    class  TwoPole
     STK two-pole filter class. More...
    class  TwoZero
     STK two-zero filter class. More...
    class  UdpSocket
     STK UDP socket server/client class. More...
    class  Vector3D
     STK 3D vector class. More...
    class  Voicer
     STK voice manager class. More...
    class  VoicForm
     Four formant synthesis instrument. More...
    class  Whistle
     STK police/referee whistle instrument class. More...
    class  Wurley
     STK Wurlitzer electric piano FM synthesis instrument. More...
    class  WvIn
     STK audio input abstract base class. More...
    class  WvOut
     STK audio output abstract base class. More...
    -

    Detailed Description

    -The STK namespace. -

    -Most Stk classes are defined within the STK namespace. Exceptions to this include the classes RtAudio, RtMidi, and RtError. -

    +


    Detailed Description

    +

    The STK namespace.

    +

    Most Stk classes are defined within the STK namespace. Exceptions to this include the classes RtAudio, RtMidi, and RtError.


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/pages.html b/doc/html/pages.html index f94508a..4469a2a 100644 --- a/doc/html/pages.html +++ b/doc/html/pages.html @@ -8,56 +8,56 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/polyvoices.html b/doc/html/polyvoices.html index 9b92907..d081910 100644 --- a/doc/html/polyvoices.html +++ b/doc/html/polyvoices.html @@ -8,18 +8,20 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Voice Management

    The previous tutorial chapters were concerned only with monophonic ToolKit instrument playback and control. At this point, it should be relatively clear that one can instantiate multiple instruments and perhaps sum together their outputs or even direct their outputs to separate channels. It is less clear how one might go about controlling a group of instruments. The stk::Voicer class is designed to serve just this purpose.

    -The stk::Voicer class is a relatively simple voice manager. The user can dynamically add and delete instruments to/from its "control", with the option of controlling specific instruments via unique note tags and/or grouping sets of instruments via a "group" number. All sounding instrument outputs are summed and returned via the tick() function. The stk::Voicer class responds to noteOn, noteOff, setFrequency, pitchBend, and controlChange messages, automatically assigning incoming messages to the voices in its control. When all voices are sounding and a new noteOn is encountered, the stk::Voicer interrupts the oldest sounding voice. The user is responsible for creating and deleting all instrument instances.

    -In the following example, we modify the controlbee.cpp program to make use of three stk::BeeThree instruments, all controlled using a stk::Voicer.

    + + +

    Voice Management

    The previous tutorial chapters were concerned only with monophonic ToolKit instrument playback and control. At this point, it should be relatively clear that one can instantiate multiple instruments and perhaps sum together their outputs or even direct their outputs to separate channels. It is less clear how one might go about controlling a group of instruments. The stk::Voicer class is designed to serve just this purpose.

    +

    The stk::Voicer class is a relatively simple voice manager. The user can dynamically add and delete instruments to/from its "control", with the option of controlling specific instruments via unique note tags and/or grouping sets of instruments via a "group" number. All sounding instrument outputs are summed and returned via the tick() function. The stk::Voicer class responds to noteOn, noteOff, setFrequency, pitchBend, and controlChange messages, automatically assigning incoming messages to the voices in its control. When all voices are sounding and a new noteOn is encountered, the stk::Voicer interrupts the oldest sounding voice. The user is responsible for creating and deleting all instrument instances.

    +

    In the following example, we modify the controlbee.cpp program to make use of three stk::BeeThree instruments, all controlled using a stk::Voicer.

    // threebees.cpp STK tutorial program
     
    -#include "BeeThree.h"
    -#include "RtAudio.h"
    -#include "Messager.h"
    -#include "Voicer.h"
    -#include "SKINI.msg"
    +#include "BeeThree.h"
    +#include "RtAudio.h"
    +#include "Messager.h"
    +#include "Voicer.h"
    +#include "SKINI.msg"
     
     #include <algorithm>
     using std::min;
    @@ -93,7 +95,7 @@ In the following example, we modify the controlbee.cpp program to m
     // control updates.  It will be called automatically when the system
     // needs a new buffer of audio samples.
     int tick( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
    -         double streamTime, RtAudioStreamStatus status, void *dataPointer )
    +         double streamTime, RtAudioStreamStatus status, void *dataPointer )
     {
       TickData *data = (TickData *) dataPointer;
       register StkFloat *samples = (StkFloat *) outputBuffer;
    @@ -131,7 +133,7 @@ In the following example, we modify the controlbee.cpp program to m
     {
       // Set the global sample rate and rawwave path before creating class instances.
       Stk::setSampleRate( 44100.0 );
    -  Stk::setRawwavePath( "../../rawwaves/" );
    +  Stk::setRawwavePath( "../../rawwaves/" );
     
       int i;
       TickData data;
    @@ -141,15 +143,15 @@ In the following example, we modify the controlbee.cpp program to m
     
       // Figure out how many bytes in an StkFloat and setup the RtAudio stream.
       RtAudio::StreamParameters parameters;
    -  parameters.deviceId = dac.getDefaultOutputDevice();
    -  parameters.nChannels = 1;
    -  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
    +  parameters.deviceId = dac.getDefaultOutputDevice();
    +  parameters.nChannels = 1;
    +  RtAudioFormat format = ( sizeof(StkFloat) == 8 ) ? RTAUDIO_FLOAT64 : RTAUDIO_FLOAT32;
       unsigned int bufferFrames = RT_BUFFER_SIZE;
       try {
    -    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
    +    dac.openStream( &parameters, NULL, format, (unsigned int)Stk::sampleRate(), &bufferFrames, &tick, (void *)&data );
       }
       catch ( RtError &error ) {
    -    error.printMessage();
    +    error.printMessage();
         goto cleanup;
       }
     
    @@ -162,7 +164,7 @@ In the following example, we modify the controlbee.cpp program to m
         goto cleanup;
       }
     
    -  // "Add" the instruments to the voicer.
    +  // "Add" the instruments to the voicer.
       for ( i=0; i<3; i++ )
         data.voicer.addInstrument( instrument[i] );
     
    @@ -170,10 +172,10 @@ In the following example, we modify the controlbee.cpp program to m
         goto cleanup;
     
       try {
    -    dac.startStream();
    +    dac.startStream();
       }
       catch ( RtError &error ) {
    -    error.printMessage();
    +    error.printMessage();
         goto cleanup;
       }
     
    @@ -183,10 +185,10 @@ In the following example, we modify the controlbee.cpp program to m
       
       // Shut down the callback and output stream.
       try {
    -    dac.closeStream();
    +    dac.closeStream();
       }
       catch ( RtError &error ) {
    -    error.printMessage();
    +    error.printMessage();
       }
     
      cleanup:
    @@ -194,18 +196,17 @@ In the following example, we modify the controlbee.cpp program to m
     
       return 0;
     }
    -

    -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:

    +

    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 that can be downloaded in the SKINI format.

    -Another easy extension would be to add the stk::Messager::startMidiInput() function to the program and then play the instruments via a MIDI keyboard.

    -[Main tutorial page]

    +

    For more fun, surf to Kern Scores for a huge assortment of other scorefiles that can be downloaded in the SKINI format.

    +

    Another easy extension would be to add the stk::Messager::startMidiInput() function to the program and then play the instruments via a MIDI keyboard.

    +

    [Main tutorial page]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/realtime.html b/doc/html/realtime.html index 7269c24..e588e8b 100644 --- a/doc/html/realtime.html +++ b/doc/html/realtime.html @@ -8,13 +8,17 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Realtime Audio (blocking)

    In this section, we modify the sineosc.cpp program in order to send the output to the default audio playback device on your computer system. We also make use of the stk::SineWave class as a sine-wave oscillator. stk::SineWave computes an internal, static sine-wave table when its first instance is created. Subsequent instances make use of the same table. The default table length, specified in SineWave.h, is 2048 samples.

    + + +

    Realtime Audio (blocking)

    In this section, we modify the sineosc.cpp program in order to send the output to the default audio playback device on your computer system. We also make use of the stk::SineWave class as a sine-wave oscillator. stk::SineWave computes an internal, static sine-wave table when its first instance is created. Subsequent instances make use of the same table. The default table length, specified in SineWave.h, is 2048 samples.

    // rtsine.cpp STK tutorial program
     
    -#include "SineWave.h"
    -#include "RtWvOut.h"
    +#include "SineWave.h"
    +#include "RtWvOut.h"
    +#include <cstdlib>
    +
     using namespace stk;
     
     int main()
    @@ -63,24 +67,22 @@
     
       return 0;
     }
    -

    -The class stk::RtWvOut is a protected subclass of stk::WvOut. A number of optional constructor arguments can be used to fine tune its performance for a given system. stk::RtWvOut provides a "single-sample", blocking interface to the RtAudio class. Note that stk::RtWvOut (as well as the stk::RtWvIn class described below) makes use of RtAudio's callback input/output functionality by creating a large ring-buffer into which data is written. These classes should not be used when low-latency and robust performance is necessary

    -Though not used here, an stk::RtWvIn class exists as well that can be used to read realtime audio data from an input device. See the record.cpp example program in the examples project for more information.

    -It may be possible to use an instance of stk::RtWvOut and an instance of stk::RtWvIn to simultaneously read and write realtime audio to and from a hardware device or devices. However, it is recommended to instead use a single instance of RtAudio to achieve this behavior, as described in the next section. See the effects project or the duplex.cpp example program in the examples project for more information.

    -When using any realtime STK class (RtAudio, stk::RtWvOut, stk::RtWvIn, RtMidi, stk::InetWvIn, stk::InetWvOut, stk::Socket, stk::UdpSocket, stk::TcpServer, stk::TcpClient, and stk::Thread), it is necessary to specify an audio/MIDI API preprocessor definition and link with the appropriate libraries or frameworks. For example, the above program could be compiled on a Linux system using the GNU g++ compiler and the ALSA audio API as follows (assuming all necessary files exist in the project directory):

    +

    The class stk::RtWvOut is a protected subclass of stk::WvOut. A number of optional constructor arguments can be used to fine tune its performance for a given system. stk::RtWvOut provides a "single-sample", blocking interface to the RtAudio class. Note that stk::RtWvOut (as well as the stk::RtWvIn class described below) makes use of RtAudio's callback input/output functionality by creating a large ring-buffer into which data is written. These classes should not be used when low-latency and robust performance is necessary

    +

    Though not used here, an stk::RtWvIn class exists as well that can be used to read realtime audio data from an input device. See the record.cpp example program in the examples project for more information.

    +

    It may be possible to use an instance of stk::RtWvOut and an instance of stk::RtWvIn to simultaneously read and write realtime audio to and from a hardware device or devices. However, it is recommended to instead use a single instance of RtAudio to achieve this behavior, as described in the next section. See the effects project or the duplex.cpp example program in the examples project for more information.

    +

    When using any realtime STK class (RtAudio, stk::RtWvOut, stk::RtWvIn, RtMidi, stk::InetWvIn, stk::InetWvOut, stk::Socket, stk::UdpSocket, stk::TcpServer, stk::TcpClient, and stk::Thread), it is necessary to specify an audio/MIDI API preprocessor definition and link with the appropriate libraries or frameworks. For example, the above program could be compiled on a Linux system using the GNU g++ compiler and the ALSA audio API as follows (assuming all necessary files exist in the project directory):

    g++ -Wall -D__LINUX_ALSA__ -D__LITTLE_ENDIAN__ -o rtsine Stk.cpp Generator.cpp SineWave.cpp WvOut.cpp \
         RtWvOut.cpp RtAudio.cpp rtsine.cpp -lpthread -lasound
    -

    -On a Macintosh OS X system, the syntax would be:

    +

    On a Macintosh OS X system, the syntax would be:

    g++ -Wall -D__MACOSX_CORE__ -o rtsine Stk.cpp Generator.cpp SineWave.cpp WvOut.cpp RtWvOut.cpp RtAudio.cpp \
        rtsine.cpp -lpthread -framework CoreAudio -framework CoreMIDI -framework CoreFoundation
    -

    -[Main tutorial page]   [Next tutorial]

    +

    [Main tutorial page]   [Next tutorial]

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/skini.html b/doc/html/skini.html index 23e7fef..a55efc8 100644 --- a/doc/html/skini.html +++ b/doc/html/skini.html @@ -8,56 +8,63 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    Synthesis toolKit Instrument Network Interface (SKINI)

    This describes the latest (version 1.1) implementation of SKINI for the Synthesis ToolKit in C++ (STK) by Perry R. Cook.

    + + +

    Synthesis toolKit Instrument Network Interface (SKINI)

    This describes the latest (version 1.1) implementation of SKINI for the Synthesis ToolKit in C++ (STK) by Perry R. Cook.

            Too good to be true?
         Have control and read it too?
               A SKINI haiku.
    -

    -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.

    -Differences from MIDI, and motivations, include:

    +

    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 graphics. 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 intelligent 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.

    +

    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 intelligent 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.

    +

    Files Used To Implement SKINI

    -Skini is a C++ class which can either open a SKINI file and successively read and parse lines of text as SKINI strings, or accept strings from another object and parse them. The latter functionality would be used by a socket, pipe, or other connection receiving SKINI messages a line at a time, usually in real time, but not restricted to real time.

    -SKINI.msg should be included by anything wanting to use the Skini object. This is not mandatory, but use of the __SK_blah_ symbols which are defined in the .msg file will help to ensure clarity and consistency when messages are added and changed.

    -SKINI.tbl is used only by the Skini parser object (Skini.cpp). In the file SKINI.tbl, an array of structures is declared and assigned values which instruct the parser as to what the message types are, and what the fields mean for those message types. This table is compiled and linked into applications using SKINI, but could be dynamically loaded and changed in a future version of SKINI.

    +

    Skini is a C++ class which can either open a SKINI file and successively read and parse lines of text as SKINI strings, or accept strings from another object and parse them. The latter functionality would be used by a socket, pipe, or other connection receiving SKINI messages a line at a time, usually in real time, but not restricted to real time.

    +

    SKINI.msg should be included by anything wanting to use the Skini object. This is not mandatory, but use of the __SK_blah_ symbols which are defined in the .msg file will help to ensure clarity and consistency when messages are added and changed.

    +

    SKINI.tbl is used only by the Skini parser object (Skini.cpp). In the file SKINI.tbl, an array of structures is declared and assigned values which instruct the parser as to what the message types are, and what the fields mean for those message types. This table is compiled and linked into applications using SKINI, but could be dynamically loaded and changed in a future version of SKINI.

    +

    SKINI Messages and the SKINI Parser:

    -The parser isn't all that smart, but neither am I. Here are the basic rules governing a valid SKINI message:

    +

    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.
  • +
      -
    • 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.
    -

    +

  • 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
     
    @@ -90,34 +97,33 @@ A Short SKINI File:

    NoteOff 0.000000 2 62 82 NoteOff 0.000000 2 71 82 NoteOff 0.000000 2 79 82 -

    +

    The SKINI.tbl File and Message Parsing:

    -The SKINI.tbl file contains an array of structures which are accessed by the parser object Skini.cpp. The struct is:

    +

    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;
        long data2;
        long data3;
     };
    -

    -so an assignment of one of these structs looks like:

    +

    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.

    -data<n> is either:

    +

    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.
    -

    +

  • 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.
  • +
      -
    • 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_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 EOL (End Of Line) and then passing it to a more intelligent handler. For example, MIDI SYSEX (system exclusive) messages can be read as space-delimited integers into the SK_STR buffer. Longer bulk dumps, soundfiles, etc. should be handled as a new message type pointing to a FileName, Socket, or something else stored in the SK_STR field, or as a new type of multi-line message.
    -

    -Each individual SKINI message is parsed and saved to a Skini::Message structure of the form:

      struct Message { 
    +
  • SK_STR : only valid in final field. This allows (nearly) arbitrary message types to be supported by simply scanning the string to EOL (End Of Line) and then passing it to a more intelligent handler. For example, MIDI SYSEX (system exclusive) messages can be read as space-delimited integers into the SK_STR buffer. Longer bulk dumps, soundfiles, etc. should be handled as a new message type pointing to a FileName, Socket, or something else stored in the SK_STR field, or as a new type of multi-line message.
  • + +

    Each individual SKINI message is parsed and saved to a Skini::Message structure of the form:

    +
      struct Message { 
         long type;                         
         long channel;                      
         StkFloat time;                     
    @@ -125,27 +131,25 @@ Each individual SKINI message is parsed and saved to a Skini::Message structure
         std::vector<long> intValues;       
         std::string remainder;             
       };
    -

    -Here's a couple of lines from the SKINI.tbl file

    -

     {"NoteOff"          ,        __SK_NoteOff_,               SK_DBL,  SK_DBL},
    - {"NoteOn"           ,         __SK_NoteOn_,               SK_DBL,  SK_DBL},
    +

    Here's a couple of lines from the SKINI.tbl file

    +
     {"NoteOff"          ,        __SK_NoteOff_,               SK_DBL,  SK_DBL},
    + {"NoteOn"           ,         __SK_NoteOn_,               SK_DBL,  SK_DBL},
     
    - {"ControlChange"    ,  __SK_ControlChange_,               SK_INT,  SK_DBL},
    - {"Volume"           ,  __SK_ControlChange_, __SK_Volume_        ,  SK_DBL},
    + {"ControlChange"    ,  __SK_ControlChange_,               SK_INT,  SK_DBL},
    + {"Volume"           ,  __SK_ControlChange_, __SK_Volume_        ,  SK_DBL},
     
    - {"StringDamping"    ,   __SK_ControlChange_, __SK_StringDamping_,  SK_DBL},
    - {"StringDetune"     ,    __SK_ControlChange_, __SK_StringDetune_,  SK_DBL},
    -

    -The first three are basic MIDI messages. The first two would cause the parser, after recognizing a match of the string "NoteOff" or "NoteOn", to set the message type to 128 or 144 (__SK_NoteOff_ and __SK_NoteOn_ are defined in the file SKINI.msg to be the MIDI byte value, without channel, of the actual MIDI messages for NoteOn and NoteOff). The parser would then set the time or delta time (this is always done and is therefore not described in the SKINI Message Struct). The next two fields would be scanned either as double-precision floats or as long ints, depending on the format specified in SKINI.tbl, and saved to the corresponding C++ vector variables in the Skini::Message structure (either floatValues or intValues). Floating-point values are also cast to ints (and vice-versa) and stored to their respective variables. For example, an expected integer value of 64 will also be saved as 64.0 in the corresponding floatValues variable of the Skini::Message structure. The remainder of the line is stashed in the remainderString variable.

    -The 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:

    + {"StringDamping" , __SK_ControlChange_, __SK_StringDamping_, SK_DBL}, + {"StringDetune" , __SK_ControlChange_, __SK_StringDetune_, SK_DBL}, +

    The first three are basic MIDI messages. The first two would cause the parser, after recognizing a match of the string "NoteOff" or "NoteOn", to set the message type to 128 or 144 (__SK_NoteOff_ and __SK_NoteOn_ are defined in the file SKINI.msg to be the MIDI byte value, without channel, of the actual MIDI messages for NoteOn and NoteOff). The parser would then set the time or delta time (this is always done and is therefore not described in the SKINI Message Struct). The next two fields would be scanned either as double-precision floats or as long ints, depending on the format specified in SKINI.tbl, and saved to the corresponding C++ vector variables in the Skini::Message structure (either floatValues or intValues). Floating-point values are also cast to ints (and vice-versa) and stored to their respective variables. For example, an expected integer value of 64 will also be saved as 64.0 in the corresponding floatValues variable of the Skini::Message structure. The remainder of the line is stashed in the remainderString variable.

    +

    The 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 second line better, thus my motivation for SKINI in the first place.

    -The StringDamping and StringDetune messages behave the same as the Volume message, but use Control Numbers which aren't specifically nailed-down in MIDI. Note that these Control Numbers are carried around as long ints, so we're not limited to 0-127. If, however, you want to use a MIDI controller to play an instrument, using controller numbers in the 0-127 range might make sense.

    +

    I like the second line better, thus my motivation for SKINI in the first place.

    +

    The StringDamping and StringDetune messages behave the same as the Volume message, but use Control Numbers which aren't specifically nailed-down in MIDI. Note that these Control Numbers are carried around as long ints, so we're not limited to 0-127. If, however, you want to use a MIDI controller to play an instrument, using controller numbers in the 0-127 range might make sense.

    +

    Using SKINI:

    -Here's a simple example of code which uses the Skini object to read a SKINI file and control a single instrument.

    +

    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);
    @@ -156,7 +160,7 @@ Here's a simple example of code which uses the Skini object to read a SKINI file
                 tempDouble = - tempDouble;
                 tempDouble = tempDouble - output.getTime();
                 if (tempDouble < 0) {
    -              printf("Bad News Here!!!  Backward Absolute Time Required.\n");
    +              printf("Bad News Here!!!  Backward Absolute Time Required.\n");
                   tempDouble = 0.0;
                 }
               }
    @@ -185,15 +189,15 @@ Here's a simple example of code which uses the Skini object to read a SKINI file
                 instrument->controlChange( tempLong, tempDouble3 );
               }
             }
    -

    -When a SKINI score is passed to a Skini object using the Skini::setFile() function, valid messages are read from the file and returned using the Skini::nextMessage() function.

    -The "time" member of a Skini::Message is the deltaTime until the current message should occur. If this is greater than 0, synthesis occurs until the deltaTime has elapsed. If deltaTime is less than zero, the time is interpreted as absolute time and the output device is queried as to what time it is now. That is used to form a deltaTime, and if it's positive we synthesize. If it's negative, we print an error, pretend this never happened and we hang around hoping to eventually catch up.

    -The rest of the code sorts out message types NoteOn, NoteOff (including NoteOn with velocity 0), and ControlChange. The code implicitly takes into account the integer type of the control number, but all other data is treated as double float.

    +

    When a SKINI score is passed to a Skini object using the Skini::setFile() function, valid messages are read from the file and returned using the Skini::nextMessage() function.

    +

    The "time" member of a Skini::Message is the deltaTime until the current message should occur. If this is greater than 0, synthesis occurs until the deltaTime has elapsed. If deltaTime is less than zero, the time is interpreted as absolute time and the output device is queried as to what time it is now. That is used to form a deltaTime, and if it's positive we synthesize. If it's negative, we print an error, pretend this never happened and we hang around hoping to eventually catch up.

    +

    The rest of the code sorts out message types NoteOn, NoteOff (including NoteOn with velocity 0), and ControlChange. The code implicitly takes into account the integer type of the control number, but all other data is treated as double float.

    +

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1DeviceInfo-members.html b/doc/html/structRtAudio_1_1DeviceInfo-members.html index c4a864b..db16d1b 100644 --- a/doc/html/structRtAudio_1_1DeviceInfo-members.html +++ b/doc/html/structRtAudio_1_1DeviceInfo-members.html @@ -8,24 +8,24 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1DeviceInfo.html b/doc/html/structRtAudio_1_1DeviceInfo.html index d01c2db..279c8ea 100644 --- a/doc/html/structRtAudio_1_1DeviceInfo.html +++ b/doc/html/structRtAudio_1_1DeviceInfo.html @@ -8,184 +8,167 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtAudio::RtAudio::DeviceInfo Struct Reference

    The public device information structure for returning queried values. -More... -

    -#include <RtAudio.h> -

    +

    RtAudio::DeviceInfo Struct Reference

    +

    The public device information structure for returning queried values. +More...

    -

    -List of all members. - - - - - - - - - - - - - - - - - - - +

    #include <RtAudio.h>

    +

    List of all members.

    +

    Public Attributes

    bool probed
    std::string name
    unsigned int outputChannels
    unsigned int inputChannels
    unsigned int duplexChannels
    bool isDefaultOutput
    bool isDefaultInput
    std::vector< unsigned int > sampleRates
    RtAudioFormat nativeFormats
    + + + + + + + + + +

    Public Attributes

    bool probed
    std::string name
    unsigned int outputChannels
    unsigned int inputChannels
    unsigned int duplexChannels
    bool isDefaultOutput
    bool isDefaultInput
    std::vector< unsigned int > sampleRates
    RtAudioFormat nativeFormats
    -


    Detailed Description

    -The public device information structure for returning queried values.

    Member Data Documentation

    - +

    Detailed Description

    +

    The public device information structure for returning queried values.

    +

    Member Data Documentation

    +
    - +
    bool RtAudio::RtAudio::DeviceInfo::probed bool RtAudio::DeviceInfo::probed
    +

    true if the device capabilities were successfully probed.

    -

    -true if the device capabilities were successfully probed.

    -

    - +

    +
    - +
    std::string RtAudio::RtAudio::DeviceInfo::name std::string RtAudio::DeviceInfo::name
    +

    Character string device identifier.

    -

    -Character string device identifier.

    -

    - +

    +
    - +
    unsigned int RtAudio::RtAudio::DeviceInfo::outputChannels unsigned int RtAudio::DeviceInfo::outputChannels
    +

    Maximum output channels supported by device.

    -

    -Maximum output channels supported by device.

    -

    - +

    +
    - +
    unsigned int RtAudio::RtAudio::DeviceInfo::inputChannels unsigned int RtAudio::DeviceInfo::inputChannels
    +

    Maximum input channels supported by device.

    -

    -Maximum input channels supported by device.

    -

    - +

    +
    - +
    unsigned int RtAudio::RtAudio::DeviceInfo::duplexChannels unsigned int RtAudio::DeviceInfo::duplexChannels
    +

    Maximum simultaneous input/output channels supported by device.

    -

    -Maximum simultaneous input/output channels supported by device.

    -

    - +

    +
    - +
    bool RtAudio::RtAudio::DeviceInfo::isDefaultOutput bool RtAudio::DeviceInfo::isDefaultOutput
    +

    true if this is the default output device.

    -

    -true if this is the default output device.

    -

    - +

    +
    - +
    bool RtAudio::RtAudio::DeviceInfo::isDefaultInput bool RtAudio::DeviceInfo::isDefaultInput
    +

    true if this is the default input device.

    -

    -true if this is the default input device.

    -

    - +

    +
    - +
    std::vector<unsigned int> RtAudio::RtAudio::DeviceInfo::sampleRates std::vector<unsigned int> RtAudio::DeviceInfo::sampleRates
    +

    Supported sample rates (queried from list of standard rates).

    -

    -Supported sample rates (queried from list of standard rates).

    -

    - +

    +
    - +
    RtAudioFormat RtAudio::RtAudio::DeviceInfo::nativeFormats RtAudioFormat RtAudio::DeviceInfo::nativeFormats
    +

    Bit mask of supported data formats.

    -

    -Bit mask of supported data formats.

    -

    -


    The documentation for this struct was generated from the following file: +
    +
    The documentation for this struct was generated from the following file:

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1StreamOptions-members.html b/doc/html/structRtAudio_1_1StreamOptions-members.html index 53da822..a14d56a 100644 --- a/doc/html/structRtAudio_1_1StreamOptions-members.html +++ b/doc/html/structRtAudio_1_1StreamOptions-members.html @@ -8,19 +8,19 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtAudio::RtAudio::StreamOptions Member List

    This is the complete list of members for RtAudio::RtAudio::StreamOptions, including all inherited members.

    - - - - +

    RtAudio::StreamOptions Member List

    This is the complete list of members for RtAudio::StreamOptions, including all inherited members.
    flagsRtAudio::RtAudio::StreamOptions
    numberOfBuffersRtAudio::RtAudio::StreamOptions
    priorityRtAudio::RtAudio::StreamOptions
    streamNameRtAudio::RtAudio::StreamOptions
    + + + +
    flagsRtAudio::StreamOptions
    numberOfBuffersRtAudio::StreamOptions
    priorityRtAudio::StreamOptions
    streamNameRtAudio::StreamOptions


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1StreamOptions.html b/doc/html/structRtAudio_1_1StreamOptions.html index dffe06b..c3fd267 100644 --- a/doc/html/structRtAudio_1_1StreamOptions.html +++ b/doc/html/structRtAudio_1_1StreamOptions.html @@ -8,110 +8,105 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtAudio::RtAudio::StreamOptions Struct Reference

    The structure for specifying stream options. -More... -

    -#include <RtAudio.h> -

    +

    RtAudio::StreamOptions Struct Reference

    +

    The structure for specifying stream options. +More...

    -

    -List of all members. - - - - - - - - - +

    #include <RtAudio.h>

    +

    List of all members.

    +

    Public Attributes

    RtAudioStreamFlags flags
    unsigned int numberOfBuffers
    std::string streamName
    int priority
    + + + + +

    Public Attributes

    RtAudioStreamFlags flags
    unsigned int numberOfBuffers
    std::string streamName
    int priority
    -


    Detailed Description

    -The structure for specifying stream options. -

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

    +


    Detailed Description

    +

    The structure for specifying stream options.

    +

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

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

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

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

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

    -If the RTAUDIO_SCHEDULE_REALTIME flag is set, RtAudio will attempt to select realtime scheduling (round-robin) for the callback thread. The priority parameter will only be used if the RTAUDIO_SCHEDULE_REALTIME flag is set. It defines the thread's realtime priority.

    -The numberOfBuffers parameter can be used to control stream latency in the Windows DirectSound, Linux OSS, and Linux Alsa APIs only. A value of two is usually the smallest allowed. Larger numbers can potentially result in more robust stream performance, though likely at the cost of stream latency. The value set by the user is replaced during execution of the RtAudio::openStream() function by the value actually used by the system.

    -The streamName parameter can be used to set the client name when using the Jack API. By default, the client name is set to RtApiJack. However, if you wish to create multiple instances of RtAudio with Jack, each instance must have a unique client name.


    Member Data Documentation

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

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

    +

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

    +

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

    +

    If the RTAUDIO_SCHEDULE_REALTIME flag is set, RtAudio will attempt to select realtime scheduling (round-robin) for the callback thread. The priority parameter will only be used if the RTAUDIO_SCHEDULE_REALTIME flag is set. It defines the thread's realtime priority.

    +

    The numberOfBuffers parameter can be used to control stream latency in the Windows DirectSound, Linux OSS, and Linux Alsa APIs only. A value of two is usually the smallest allowed. Larger numbers can potentially result in more robust stream performance, though likely at the cost of stream latency. The value set by the user is replaced during execution of the RtAudio::openStream() function by the value actually used by the system.

    +

    The streamName parameter can be used to set the client name when using the Jack API. By default, the client name is set to RtApiJack. However, if you wish to create multiple instances of RtAudio with Jack, each instance must have a unique client name.

    +

    Member Data Documentation

    +
    - +
    RtAudioStreamFlags RtAudio::RtAudio::StreamOptions::flags RtAudioStreamFlags RtAudio::StreamOptions::flags
    +

    A bit-mask of stream flags (RTAUDIO_NONINTERLEAVED, RTAUDIO_MINIMIZE_LATENCY, RTAUDIO_HOG_DEVICE).

    -

    -A bit-mask of stream flags (RTAUDIO_NONINTERLEAVED, RTAUDIO_MINIMIZE_LATENCY, RTAUDIO_HOG_DEVICE).

    -

    - +

    +
    - +
    unsigned int RtAudio::RtAudio::StreamOptions::numberOfBuffers unsigned int RtAudio::StreamOptions::numberOfBuffers
    +

    Number of stream buffers.

    -

    -Number of stream buffers.

    -

    - +

    +
    - +
    std::string RtAudio::RtAudio::StreamOptions::streamName std::string RtAudio::StreamOptions::streamName
    +

    A stream name (currently used only in Jack).

    -

    -A stream name (currently used only in Jack).

    -

    - +

    +
    - +
    int RtAudio::RtAudio::StreamOptions::priority int RtAudio::StreamOptions::priority
    +

    Scheduling priority of callback thread (only used with flag RTAUDIO_SCHEDULE_REALTIME).

    -

    -Scheduling priority of callback thread (only used with flag RTAUDIO_SCHEDULE_REALTIME).

    -

    -


    The documentation for this struct was generated from the following file: +
    +
    The documentation for this struct was generated from the following file:

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1StreamParameters-members.html b/doc/html/structRtAudio_1_1StreamParameters-members.html index 665d005..c16ec5e 100644 --- a/doc/html/structRtAudio_1_1StreamParameters-members.html +++ b/doc/html/structRtAudio_1_1StreamParameters-members.html @@ -8,18 +8,18 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtAudio::RtAudio::StreamParameters Member List

    This is the complete list of members for RtAudio::RtAudio::StreamParameters, including all inherited members.

    - - - +

    RtAudio::StreamParameters Member List

    This is the complete list of members for RtAudio::StreamParameters, including all inherited members.
    deviceIdRtAudio::RtAudio::StreamParameters
    firstChannelRtAudio::RtAudio::StreamParameters
    nChannelsRtAudio::RtAudio::StreamParameters
    + + +
    deviceIdRtAudio::StreamParameters
    firstChannelRtAudio::StreamParameters
    nChannelsRtAudio::StreamParameters


    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structRtAudio_1_1StreamParameters.html b/doc/html/structRtAudio_1_1StreamParameters.html index bf6e109..b2cf537 100644 --- a/doc/html/structRtAudio_1_1StreamParameters.html +++ b/doc/html/structRtAudio_1_1StreamParameters.html @@ -8,82 +8,77 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    RtAudio::RtAudio::StreamParameters Struct Reference

    The structure for specifying input or ouput stream parameters. -More... -

    -#include <RtAudio.h> -

    +

    RtAudio::StreamParameters Struct Reference

    +

    The structure for specifying input or ouput stream parameters. +More...

    -

    -List of all members. - - - - - - - +

    #include <RtAudio.h>

    +

    List of all members.

    +

    Public Attributes

    unsigned int deviceId
    unsigned int nChannels
    unsigned int firstChannel
    + + + +

    Public Attributes

    unsigned int deviceId
    unsigned int nChannels
    unsigned int firstChannel
    -


    Detailed Description

    -The structure for specifying input or ouput stream parameters.

    Member Data Documentation

    - +

    Detailed Description

    +

    The structure for specifying input or ouput stream parameters.

    +

    Member Data Documentation

    +
    - +
    unsigned int RtAudio::RtAudio::StreamParameters::deviceId unsigned int RtAudio::StreamParameters::deviceId
    +

    Device index (0 to getDeviceCount() - 1).

    -

    -Device index (0 to getDeviceCount() - 1).

    -

    - +

    +
    - +
    unsigned int RtAudio::RtAudio::StreamParameters::nChannels unsigned int RtAudio::StreamParameters::nChannels
    +

    Number of channels.

    -

    -Number of channels.

    -

    - +

    +
    - +
    unsigned int RtAudio::RtAudio::StreamParameters::firstChannel unsigned int RtAudio::StreamParameters::firstChannel
    +

    First channel index on device (default = 0).

    -

    -First channel index on device (default = 0).

    -

    -


    The documentation for this struct was generated from the following file: +
    +
    The documentation for this struct was generated from the following file:

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structstk_1_1Skini_1_1Message-members.html b/doc/html/structstk_1_1Skini_1_1Message-members.html index bf486ca..2063669 100644 --- a/doc/html/structstk_1_1Skini_1_1Message-members.html +++ b/doc/html/structstk_1_1Skini_1_1Message-members.html @@ -8,21 +8,21 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/structstk_1_1Skini_1_1Message.html b/doc/html/structstk_1_1Skini_1_1Message.html index 7dda942..5f91d1d 100644 --- a/doc/html/structstk_1_1Skini_1_1Message.html +++ b/doc/html/structstk_1_1Skini_1_1Message.html @@ -8,133 +8,122 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    stk::Skini::Skini::Message Struct Reference

    A message structure to store and pass parsed SKINI messages. -More... -

    -#include <Skini.h> -

    +

    stk::Skini::Message Struct Reference

    +

    A message structure to store and pass parsed SKINI messages. +More...

    -

    -List of all members. - - - - - - - - - - - - - +

    #include <Skini.h>

    +

    List of all members.

    +

    Public Attributes

    long type
    long channel
    StkFloat time
    std::vector< StkFloat > floatValues
    std::vector< long > intValues
    std::string remainder
    + + + + + + +

    Public Attributes

    long type
    long channel
    StkFloat time
    std::vector< StkFloat > floatValues
    std::vector< long > intValues
    std::string remainder
    -


    Detailed Description

    -A message structure to store and pass parsed SKINI messages.

    Member Data Documentation

    - +

    Detailed Description

    +

    A message structure to store and pass parsed SKINI messages.

    +

    Member Data Documentation

    +
    - +
    long stk::Skini::Skini::Message::type long stk::Skini::Message::type
    +

    The message type, as defined in SKINI.msg.

    -

    -The message type, as defined in SKINI.msg.

    -

    - +

    +
    - +
    long stk::Skini::Skini::Message::channel long stk::Skini::Message::channel
    +

    The message channel (not limited to 16!).

    -

    -The message channel (not limited to 16!).

    -

    - +

    +
    - +
    StkFloat stk::Skini::Skini::Message::time StkFloat stk::Skini::Message::time
    +

    The message time stamp in seconds (delta or absolute).

    -

    -The message time stamp in seconds (delta or absolute).

    -

    - +

    +
    - +
    std::vector<StkFloat> stk::Skini::Skini::Message::floatValues std::vector<StkFloat> stk::Skini::Message::floatValues
    +

    The message values read as floats (values are type-specific).

    -

    -The message values read as floats (values are type-specific).

    -

    - +

    +
    - +
    std::vector<long> stk::Skini::Skini::Message::intValues std::vector<long> stk::Skini::Message::intValues
    +

    The message values read as ints (number and values are type-specific).

    -

    -The message values read as ints (number and values are type-specific).

    -

    - +

    +
    - +
    std::string stk::Skini::Skini::Message::remainder std::string stk::Skini::Message::remainder
    +

    Any remaining message data, read as ascii text.

    -

    -Any remaining message data, read as ascii text.

    -

    -


    The documentation for this struct was generated from the following file: +
    +
    The documentation for this struct was generated from the following file:

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    diff --git a/doc/html/system.html b/doc/html/system.html index f36ddc6..e4e0035 100644 --- a/doc/html/system.html +++ b/doc/html/system.html @@ -8,16 +8,19 @@    

    Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


    - +
    -

    System Requirements

    General:
      + + +

      System Requirements

      General:

      +
      • A MIDI interface to use MIDI input/output controls. (NOTE: This may be built into the soundcard on your computer.)
      • 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).
      -

      -Linux (specific):

        +

        Linux (specific):

        +
        • 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.
        • @@ -25,19 +28,20 @@ A soundcard to use realtime audio input/output capabilities. In order to use the
        • OSS device drivers (version 4.0 and higher only) can be used for audio input/output, but MIDI support requires the ALSA library to compile.
        -

        -Macintosh OS X (specific):

          +

          Macintosh OS X (specific):

          +
          • A C++ compiler is not installed by default with OS X. It is necessary to download the Developer Kit from the Apple WWW site in order to compile STK or load it from the installation CD-ROM.
          • -If you experience frequent audio input/output "glitches", try increasing the RT_BUFFER_SIZE specified in Stk.h.
          • +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 and must be downloaded from the internet. The latest Tcl/Tk Aqua distribution (http://www.apple.com/downloads/macosx/unix_open_source/tcltk.html) has been successfully tested on 10.2 and 10.3 systems. The default installation will place a link to the wish interpretor at /usr/bin/wish.

            -It appears that socket support in Tcl/Tk uses the Nagle algorithm, which produces poor response between changes made in the tcl/tk script and the resulting audio updates. Note that this is only a problem when using a socket connection from a Tcl/Tk script.

            +

            The tcl/tk interpreter does not ship by default with OS X and must be downloaded from the internet. The latest Tcl/Tk Aqua distribution (http://www.apple.com/downloads/macosx/unix_open_source/tcltk.html) has been successfully tested on 10.2 and 10.3 systems. The default installation will place a link to the wish interpretor at /usr/bin/wish.

            +

            It appears that socket support in Tcl/Tk uses the Nagle algorithm, which produces poor response between changes made in the tcl/tk script and the resulting audio updates. Note that this is only a problem when using a socket connection from a Tcl/Tk script.

            +

          -

          -Windows95/98/2000/XP (specific):

            +

            Windows95/98/2000/XP (specific):

            +
            • 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.
            • @@ -58,7 +62,7 @@ For compiling the source (if not already in your system):
                - +
                The Synthesis ToolKit in C++ (STK)
                ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/tabs.css b/doc/html/tabs.css index ab02c62..a444163 100644 --- a/doc/html/tabs.css +++ b/doc/html/tabs.css @@ -57,7 +57,7 @@ DIV.tabs SPAN white-space : nowrap; } -DIV.tabs INPUT +DIV.tabs #MSearchBox { float : right; display : inline; diff --git a/doc/html/tree.html b/doc/html/tree.html new file mode 100644 index 0000000..b27560c --- /dev/null +++ b/doc/html/tree.html @@ -0,0 +1,451 @@ + + + + + + + + TreeView + + + + +
                +

                STK

                +
                +

                o*The Synthesis ToolKit in C++ (STK)

                +

                o*Class Documentation

                +

                o*Compiling

                +

                o*Control Input

                +

                o*Realtime Audio (callback)

                +

                o*Download, Release Notes, and Bug Fixes

                +

                o*Frequently Asked Questions

                +

                o*Using Filters

                +

                o*STK Fundamentals

                +

                o*Hello Sine!

                +

                o*General Information

                +

                o*Instruments

                +

                o*Miscellaneous Links

                +

                o*The Mail List

                +

                o*Multi-Channel I/O

                +

                o*Voice Management

                +

                o*Realtime Audio (blocking)

                +

                o*Synthesis toolKit Instrument Network Interface (SKINI)

                +

                o*System Requirements

                +

                o*Tutorial

                +

                o*Usage Documentation

                +

                o+Class List

                +
                +

                |o*stk::ADSR

                +

                |o*stk::Asymp

                +

                |o*stk::BandedWG

                +

                |o*stk::BeeThree

                +

                |o*stk::BiQuad

                +

                |o*stk::Blit

                +

                |o*stk::BlitSaw

                +

                |o*stk::BlitSquare

                +

                |o*stk::BlowBotl

                +

                |o*stk::BlowHole

                +

                |o*stk::Bowed

                +

                |o*stk::BowTable

                +

                |o*stk::Brass

                +

                |o*stk::Chorus

                +

                |o*stk::Clarinet

                +

                |o*stk::Delay

                +

                |o*stk::DelayA

                +

                |o*stk::DelayL

                +

                |o*RtAudio::DeviceInfo

                +

                |o*stk::Drummer

                +

                |o*stk::Echo

                +

                |o*stk::Effect

                +

                |o*stk::Envelope

                +

                |o*stk::FileLoop

                +

                |o*stk::FileRead

                +

                |o*stk::FileWrite

                +

                |o*stk::FileWvIn

                +

                |o*stk::FileWvOut

                +

                |o*stk::Filter

                +

                |o*stk::Fir

                +

                |o*stk::Flute

                +

                |o*stk::FM

                +

                |o*stk::FMVoices

                +

                |o*stk::FormSwep

                +

                |o*stk::Function

                +

                |o*stk::Generator

                +

                |o*stk::Granulate

                +

                |o*stk::HevyMetl

                +

                |o*stk::Iir

                +

                |o*stk::InetWvIn

                +

                |o*stk::InetWvOut

                +

                |o*stk::Instrmnt

                +

                |o*stk::JCRev

                +

                |o*stk::JetTable

                +

                |o*stk::Mandolin

                +

                |o*stk::Mesh2D

                +

                |o*stk::Skini::Message

                +

                |o*stk::Messager

                +

                |o*stk::MidiFileIn

                +

                |o*stk::Modal

                +

                |o*stk::ModalBar

                +

                |o*stk::Modulate

                +

                |o*stk::Moog

                +

                |o*stk::Mutex

                +

                |o*stk::Noise

                +

                |o*stk::NRev

                +

                |o*stk::OnePole

                +

                |o*stk::OneZero

                +

                |o*stk::PercFlut

                +

                |o*stk::Phonemes

                +

                |o*stk::PitShift

                +

                |o*stk::Plucked

                +

                |o*stk::PluckTwo

                +

                |o*stk::PoleZero

                +

                |o*stk::PRCRev

                +

                |o*stk::ReedTable

                +

                |o*stk::Resonate

                +

                |o*stk::Rhodey

                +

                |o*RtAudio

                +

                |o*RtError

                +

                |o*RtMidi

                +

                |o*RtMidiIn

                +

                |o*RtMidiOut

                +

                |o*stk::RtWvIn

                +

                |o*stk::RtWvOut

                +

                |o*stk::Sampler

                +

                |o*stk::Saxofony

                +

                |o*stk::Shakers

                +

                |o*stk::Simple

                +

                |o*stk::SineWave

                +

                |o*stk::SingWave

                +

                |o*stk::Sitar

                +

                |o*stk::Skini

                +

                |o*stk::Socket

                +

                |o*stk::Sphere

                +

                |o*stk::StifKarp

                +

                |o*stk::Stk

                +

                |o*stk::StkError

                +

                |o*stk::StkFrames

                +

                |o*RtAudio::StreamOptions

                +

                |o*RtAudio::StreamParameters

                +

                |o*stk::TapDelay

                +

                |o*stk::TcpClient

                +

                |o*stk::TcpServer

                +

                |o*stk::Thread

                +

                |o*stk::TubeBell

                +

                |o*stk::TwoPole

                +

                |o*stk::TwoZero

                +

                |o*stk::UdpSocket

                +

                |o*stk::Vector3D

                +

                |o*stk::Voicer

                +

                |o*stk::VoicForm

                +

                |o*stk::Whistle

                +

                |o*stk::Wurley

                +

                |o*stk::WvIn

                +

                |\*stk::WvOut

                +
                +

                o+Class Hierarchy

                +
                +

                |o*RtAudio::DeviceInfo

                +

                |o*stk::Skini::Message

                +

                |o*RtAudio

                +

                |o*RtError

                +

                |o+RtMidi

                + +

                |o+stk::Stk

                + +

                |o*stk::StkError

                +

                |o*stk::StkFrames

                +

                |o*RtAudio::StreamOptions

                +

                |\*RtAudio::StreamParameters

                +
                +

                o*Class Members

                +

                o+Namespace List

                +
                +

                |\*stk

                +
                +

                o+File List

                +
                +

                |o*ADSR.h

                +

                |o*Asymp.h

                +

                |o*BandedWG.h

                +

                |o*BeeThree.h

                +

                |o*BiQuad.h

                +

                |o*Blit.h

                +

                |o*BlitSaw.h

                +

                |o*BlitSquare.h

                +

                |o*BlowBotl.h

                +

                |o*BlowHole.h

                +

                |o*Bowed.h

                +

                |o*BowTable.h

                +

                |o*Brass.h

                +

                |o*Chorus.h

                +

                |o*Clarinet.h

                +

                |o*Delay.h

                +

                |o*DelayA.h

                +

                |o*DelayL.h

                +

                |o*Drummer.h

                +

                |o*Echo.h

                +

                |o*Effect.h

                +

                |o*Envelope.h

                +

                |o*FileLoop.h

                +

                |o*FileRead.h

                +

                |o*FileWrite.h

                +

                |o*FileWvIn.h

                +

                |o*FileWvOut.h

                +

                |o*Filter.h

                +

                |o*Fir.h

                +

                |o*Flute.h

                +

                |o*FM.h

                +

                |o*FMVoices.h

                +

                |o*FormSwep.h

                +

                |o*Function.h

                +

                |o*Generator.h

                +

                |o*Granulate.h

                +

                |o*HevyMetl.h

                +

                |o*Iir.h

                +

                |o*InetWvIn.h

                +

                |o*InetWvOut.h

                +

                |o*Instrmnt.h

                +

                |o*JCRev.h

                +

                |o*JetTable.h

                +

                |o*Mandolin.h

                +

                |o*Mesh2D.h

                +

                |o*Messager.h

                +

                |o*MidiFileIn.h

                +

                |o*Modal.h

                +

                |o*ModalBar.h

                +

                |o*Modulate.h

                +

                |o*Moog.h

                +

                |o*Mutex.h

                +

                |o*Noise.h

                +

                |o*NRev.h

                +

                |o*OnePole.h

                +

                |o*OneZero.h

                +

                |o*PercFlut.h

                +

                |o*Phonemes.h

                +

                |o*PitShift.h

                +

                |o*Plucked.h

                +

                |o*PluckTwo.h

                +

                |o*PoleZero.h

                +

                |o*PRCRev.h

                +

                |o*ReedTable.h

                +

                |o*Resonate.h

                +

                |o*Rhodey.h

                +

                |o*RtAudio.h

                +

                |o*RtError.h

                +

                |o*RtMidi.h

                +

                |o*RtWvIn.h

                +

                |o*RtWvOut.h

                +

                |o*Sampler.h

                +

                |o*Saxofony.h

                +

                |o*Shakers.h

                +

                |o*Simple.h

                +

                |o*SineWave.h

                +

                |o*SingWave.h

                +

                |o*Sitar.h

                +

                |o*Skini.h

                +

                |o*Socket.h

                +

                |o*Sphere.h

                +

                |o*StifKarp.h

                +

                |o*Stk.h

                +

                |o*TapDelay.h

                +

                |o*TcpClient.h

                +

                |o*TcpServer.h

                +

                |o*Thread.h

                +

                |o*TubeBell.h

                +

                |o*TwoPole.h

                +

                |o*TwoZero.h

                +

                |o*UdpSocket.h

                +

                |o*Vector3D.h

                +

                |o*Voicer.h

                +

                |o*VoicForm.h

                +

                |o*Whistle.h

                +

                |o*Wurley.h

                +

                |o*WvIn.h

                +

                |\*WvOut.h

                +
                +

                o+Directory Hierarchy

                +
                +

                |\*include

                +
                +

                \*File Members

                +
                +
                + + + diff --git a/doc/html/tutorial.html b/doc/html/tutorial.html index cf0a7e6..d4cfced 100644 --- a/doc/html/tutorial.html +++ b/doc/html/tutorial.html @@ -8,9 +8,12 @@    

                Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


                - +
                -

                Tutorial

                The Synthesis ToolKit is a set of C++ classes. In order to go beyond the simple example programs we provide, it is necessary to know some basics about programming in C and C++. STK's "target audience" includes people who:

                - +
                The Synthesis ToolKit in C++ (STK)
                ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
                diff --git a/doc/html/usage.html b/doc/html/usage.html index 4f7ce22..0a350b8 100644 --- a/doc/html/usage.html +++ b/doc/html/usage.html @@ -8,63 +8,82 @@    

                Home   Information   Classes   Download   Usage   Mail List   Requirements   Links   FAQ   Tutorial


                - +
                -

                Usage Documentation

                -

                -


                -

                + + +

                Usage Documentation

                +
                +

                Directory Structure:

                -The top level distribution contains the following directories:

                +

                The top level distribution contains the following directories:

                • -The src directory contains the source .cpp files for all the STK unit generator and algorithm classes.

                  -

                  +

                  The src directory contains the source .cpp files for all the STK unit generator and algorithm classes.

                  +

                  +

                • -The include directory contains the header files for all the STK unit generator and algorithm classes.

                  -

                  +

                  The include directory contains the header files for all the STK unit generator and algorithm classes.

                  +

                  +

                • -The rawwaves directory contains various raw, monophonic, 16-bit, big-endian, 22050 Hz 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.

                  +

                  +

                • -The doc directory contains documentation about STK.

                  -

                  +

                  The doc directory contains documentation about STK.

                  +

                  +

                • -The projects directory contains various demo and example STK programs.

                  +

                  The projects directory contains various demo and example STK programs.

                  +

                -

                -This release of STK comes with four separate "project" directories:

                +

                This release of STK comes with four separate "project" directories:

                1. -The demo project is used to demonstrate nearly all of the STK instruments. The demo program has been written to allow a variety of control input and sound data output options. Simple graphical user interfaces (GUIs) are also provided.

                  -

                  +

                  The demo project is used to demonstrate nearly all of the STK instruments. The demo program has been written to allow a variety of control input and sound data output options. Simple graphical user interfaces (GUIs) are also provided.

                  +

                  +

                2. -The effects project demonstrates realtime duplex mode (simultaneous audio input and output) operation, when available, as well as various delay-line based effects algorithms.

                  -

                  +

                  The effects project demonstrates realtime duplex mode (simultaneous audio input and output) operation, when available, as well as various delay-line based effects algorithms.

                  +

                  +

                3. -The ragamatic project is just cool. Fire it up and be enlightened.

                  -

                  +

                  The ragamatic project is just cool. Fire it up and be enlightened.

                  +

                  +

                4. The examples project contains several simple programs that 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__ and __WINDOWS_MM__ preprocessor definitions are necessary for all Windows systems (RtMidi uses the Windows MultiMedia MIDI API). A distribution of the release is available with precompiled binaries (using DirectSound) for all the projects. In order for these binaries to function properly, your system must have the DirectX 5.0 (or higher) runtime libraries installed (available from Microsoft). Further, the effects project requires that your soundcard and drivers provide full duplex mode capabilities. Visual C++ .NET project files are provided in each project directory as well should you wish to compile your own binaries. It is important to link with the non-debug libraries when compiling "release" program versions and debug libraries when compiling "debug" program versions.

                  +

                  Windows95/98/2000/XP: Realtime support is available using either DirectSound or ASIO audio drivers. For DirectSound support, use the __WINDOWS_DS__ preprocessor definition and link with the dsound.lib, winmm.lib, and Wsock32.lib libraries. For ASIO support, use the __WINDOWS_ASIO__ preprocessor definition, include all the files in the src/asio/ directory (i.e. asio.h,cpp, asiodrivers.h,cpp, ...), and link with the winmm.lib, and Wsock32.lib libraries. In addition, the __LITTLE_ENDIAN__ and __WINDOWS_MM__ preprocessor definitions are necessary for all Windows systems (RtMidi uses the Windows MultiMedia MIDI API). A distribution of the release is available with precompiled binaries (using DirectSound) for all the projects. In order for these binaries to function properly, your system must have the DirectX 5.0 (or higher) runtime libraries installed (available from Microsoft). Further, the effects project requires that your soundcard and drivers provide full duplex mode capabilities. Visual C++ .NET project files are provided in each project directory as well should you wish to compile your own binaries. It is important to link with the non-debug libraries when compiling "release" program versions and debug libraries when compiling "debug" program versions.

                  +

                • -Unix Systems: A GNU configure shell script is included in the distribution for unix-based systems. From the top-level distribution directory, type './configure' and the script will create Makefiles in each project directory specific to the characteristics of the host computer. Then from within any given project directory (example demo), type 'make' to compile the project. In addition, an STK library can be compiled from within the src directory.

                  -Several options can be supplied to the configure script to customize the build behavior:

                    +

                    Unix Systems: A GNU configure shell script is included in the distribution for unix-based systems. From the top-level distribution directory, type './configure' and the script will create Makefiles in each project directory specific to the characteristics of the host computer. Then from within any given project directory (example demo), type 'make' to compile the project. In addition, an STK library can be compiled from within the src directory.

                    +

                    Several options can be supplied to the configure script to customize the build behavior:

                    +
                    • --disable-realtime to only compile generic non-realtime classes
                    • @@ -78,26 +97,28 @@ Several options can be supplied to the configure script to customiz
                    • --with-core to choose Core Audio API support (Macintosh OS-X)
                    -

                    -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. +

                    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.

                    +
                  -

                  -For those who wish to create their own system-specific Makefiles:

                    +

                    For those who wish to create their own system-specific Makefiles:

                    +
                    • -Linux: Realtime audio support is enabled with either the __LINUX_ALSA__, __UNIX_JACK__, and/or __LINUX_OSS__ preprocessor definitions, which are used to select the underlying audio system API(s). Because the ALSA library is now integrated into the standard Linux kernel, it is the default audio/MIDI API with STK versions 4.2 and higher. The __LINUX_ALSASEQ__ preprocessor definition must be included for MIDI support. Note that native OSS MIDI support no longer exists in RtMidi. If the __LINUX_OSS__ preprocessor definition is specified, only OSS (version 4.0) audio support will be compiled and RtMidi will still be compiled using the ALSA API (assuming the __LINUX_ALSASEQ__ definition is defined). For this reason, STK now requires the asound library for realtime support. Realtime programs must also link with the pthread library. In addition, the __LITTLE_ENDIAN__ preprocessor definition is necessary if compiling on a little-endian system. See the README-Linux file for further system configuration information.

                      +

                      Linux: Realtime audio support is enabled with either the __LINUX_ALSA__, __UNIX_JACK__, and/or __LINUX_OSS__ preprocessor definitions, which are used to select the underlying audio system API(s). Because the ALSA library is now integrated into the standard Linux kernel, it is the default audio/MIDI API with STK versions 4.2 and higher. The __LINUX_ALSASEQ__ preprocessor definition must be included for MIDI support. Note that native OSS MIDI support no longer exists in RtMidi. If the __LINUX_OSS__ preprocessor definition is specified, only OSS (version 4.0) audio support will be compiled and RtMidi will still be compiled using the ALSA API (assuming the __LINUX_ALSASEQ__ definition is defined). For this reason, STK now requires the asound library for realtime support. Realtime programs must also link with the pthread library. In addition, the __LITTLE_ENDIAN__ preprocessor definition is necessary if compiling on a little-endian system. See the README-Linux file for further system configuration information.

                      +

                    • -Macintosh OS X: Realtime support is enabled with the __MACOSX_CORE__ and __UNIX_JACK__ preprocessor definitions, which incorporate the CoreAudio audio/MIDI API and/or the JACK API. Realtime programs must also link with the pthread library and the CoreAudio, CoreMIDI, and CoreFoundation frameworks (for Core Audio support) and/or the JACK library. See the README-MacOSX file for further system configuration information.

                      +

                      Macintosh OS X: Realtime support is enabled with the __MACOSX_CORE__ and __UNIX_JACK__ preprocessor definitions, which incorporate the CoreAudio audio/MIDI API and/or the JACK API. Realtime programs must also link with the pthread library and the CoreAudio, CoreMIDI, and CoreFoundation frameworks (for Core Audio support) and/or the JACK library. See the README-MacOSX file for further system configuration information.

                      +

                    • Generic (non-realtime): Most STK classes are operating system independent and can be compiled using any current C++ compiler. STK assumes big-endian host byte order by default, so if your system is little-endian (i.e. Intel processor), you must provide the __LITTLE_ENDIAN__ preprocessor definition to your compiler. The demo project will compile without realtime support, allowing the use of SKINI scorefiles for input control and output to a variety of soundfile formats. The following classes cannot be used without realtime support: RtAudio, RtWvIn, RtWvOut, RtDuplex, RtMidi, Socket, Thread, Mutex, TcpWvIn, TcpWvOut. Because of this, it is not possible to compile the effects, ragamatic, and most of the examples projects for non-realtime use.
                    -

                    +

                    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. @@ -108,10 +129,11 @@ Socket realtime SKINI input messages to an executable.
                    3. Acquire realtime MIDI messages from a MIDI port on your computer.
                    -

                    -Tcl/Tk graphical user interfaces (GUI) are provided with this distribution that can generate realtime SKINI messages. Note that the Messager class allows multiple simultaneous socket client connections, together with MIDI and/or piped input. The Md2Skini program (in the demo directory) is mostly obsolete but can be used to create SKINI scorefiles from realtime MIDI input.

                    +

                    Tcl/Tk graphical user interfaces (GUI) are provided with this distribution that can generate realtime SKINI messages. Note that the Messager class allows multiple simultaneous socket client connections, together with MIDI and/or piped input. The Md2Skini program (in the demo directory) is mostly obsolete but can be used to create SKINI scorefiles from realtime MIDI input.

                    +

                    Demo: STK Instruments

                    -The demo project demonstrates the behavior of all the distributed STK instruments. The instruments available with this release include:
                      +

                      The demo project demonstrates the behavior of all the distributed STK instruments. The instruments available with this release include:

                      +
                      • Clarinet: Pretty good physical model of the clarinet
                      • @@ -167,19 +189,19 @@ Mesh2D: Two-dimensional, rectilinear digital waveguide mesh
                      • Whistle: Hybrid physical/spectral model of a police whistle
                      -

                      +

                      Demo: Non-Realtime Use

                      -See the information above with respect to compiling STK for non-realtime use.

                      -In non-realtime mode, it is assumed that input control messages are provided from a SKINI scorefile and that audio output is written to a soundfile (.snd, .wav, .aif, .mat, .raw). A number of SKINI scorefiles are provided in the scores directory of the demo project. Assuming a successful compilation of the demo program, typing:

                      +

                      See the information above with respect to compiling STK for non-realtime use.

                      +

                      In non-realtime mode, it is assumed that input control messages are provided from a SKINI scorefile and that audio output is written to a soundfile (.snd, .wav, .aif, .mat, .raw). A number of SKINI scorefiles are provided in the scores directory of the demo project. Assuming a successful compilation of the demo program, typing:

                      demo BeeThree -ow myfile.wav -if scores/bookert.ski
                      -

                      -from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav" (note that you may need to append ./ to the program name if your default shell setup is not set to look in the current directory). Typing demo without any arguments will provide a full program usage description.

                      +

                from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and write the resulting audio data to a WAV formatted soundfile called "myfile.wav" (note that you may need to append ./ to the program name if your default shell setup is not set to look in the current directory). Typing demo without any arguments will provide a full program usage description.

                +

                Demo: Realtime Use

                -STK realtime audio and MIDI input/output and realtime SKINI control input via socketing support is provided for Linux, Mac OS-X, and Windows95/98/2000/XP operating systems. STK realtime SKINI control input via piping is possible under Linux, Mac OS X, and Windows2000/XP only.

                -Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the demo program is invoked as:

                +

                STK realtime audio and MIDI input/output and realtime SKINI control input via socketing support is provided for Linux, Mac OS-X, and Windows95/98/2000/XP operating systems. STK realtime SKINI control input via piping is possible under Linux, Mac OS X, and Windows2000/XP only.

                +

                Control input and audio output options are typically specified as command-line arguments to STK programs. For example, the demo program is invoked as:

                demo instrument flags
                -

                -where instruments include those described above and flags can be any or all of:

                  +

    where instruments include those described above and flags can be any or all of:

    +
    • -or for realtime audio output,
    • @@ -201,16 +223,16 @@ where instruments include those described above and flags can be any or all of:
    • -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.

    -Assuming a successful compilation of the demo program, typing:

    +

    The -ip and -is flags must be used when piping or socketing realtime SKINI control data to an STK program. The -im flag must be used to read MIDI control input from your MIDI port. Note that you can use all three input types simultaneously.

    +

    Assuming a successful compilation of the demo program, typing:

    demo BeeThree -or -if scores/bookert.ski
    -

    -from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing demo without any arguments will provide a full program usage description.

    +

    from the demo directory will play the scorefile bookert.ski using the STK BeeThree instrument and stream the resulting audio data in realtime to the audio output channel of your computer. Typing demo without any arguments will provide a full program usage description.

    +

    Realtime Control Input using Tcl/Tk Graphical User Interfaces:

    -There are a number of Tcl/Tk GUIs supplied with the STK projects. These scripts require Tcl/Tk version 8.0 or later, which can be downloaded for free over the WWW. On Unix and Windows2000/XP platforms, you can run the various executable scripts (e.g. StkDemo.bat) provided with each project to start everything up (you may need to symbolically link the wishXX executable to the name wish). The Physical.bat script just implements the following command-line sequence:

    +

    There are a number of Tcl/Tk GUIs supplied with the STK projects. These scripts require Tcl/Tk version 8.0 or later, which can be downloaded for free over the WWW. On Unix and Windows2000/XP platforms, you can run the various executable scripts (e.g. StkDemo.bat) provided with each project to start everything up (you may need to symbolically link the wishXX executable to the name wish). The Physical.bat script just implements the following command-line sequence:

    wish < tcl/Physical.tcl | demo Clarinet -or -ip
    -

    -On WindowsXX and Unix platforms, the following operations are necessary to establish a socket connection between the Tcl/Tk GUI and the STK program:

      +

    On WindowsXX and Unix platforms, the following operations are necessary to establish a socket connection between the Tcl/Tk GUI and the STK program:

    +
    1. Open a DOS shell and start the STK program with the -is flag (ex. demo Clarinet -or -is).
    2. @@ -218,22 +240,22 @@ Open the Tcl/Tk GUI (e.g. tcl/Physical.tcl) by double-clicking on it, or type Establish the socket connection by selecting Socket under the Communications menu item in the Tcl/Tk GUI.
    -

    -Note that it is possible to specify a hostname when establishing the socket connection from the socket client. Thus, the STK socket server program and the Tcl/Tk GUI need not necessarily reside on the same computer.

    +

    Note that it is possible to specify a hostname when establishing the socket connection from the socket client. Thus, the STK socket server program and the Tcl/Tk GUI need not necessarily reside on the same computer.

    +

    Realtime MIDI Control Input:

    -On all supported realtime platforms, you can direct realtime MIDI input to the STK Clarinet by typing:

    +

    On all supported realtime platforms, you can direct realtime MIDI input to the STK Clarinet by typing:

    demo Clarinet -or -im
    -

    -This will attempt to use the default MIDI port for input. An optional MIDI port number can be specified after the -im flag. Valid MIDI ports are numbered from 0 (default) and higher. On Linux and Macintosh OS-X systems, it is possible to open a virtual MIDI input port (that other software applications can connect to) by specifying a port identifier of -1.

    +

    This will attempt to use the default MIDI port for input. An optional MIDI port number can be specified after the -im flag. Valid MIDI ports are numbered from 0 (default) and higher. On Linux and Macintosh OS-X systems, it is possible to open a virtual MIDI input port (that other software applications can connect to) by specifying a port identifier of -1.

    +

    Polyphony:

    -The demo program supports an arbitrary number of voices via the -n NUMBER command-line flag and argument. For example, you can play eight BeeThree instruments with realtime output and control them from a MIDI device by typing:

    +

    The demo program supports an arbitrary number of voices via the -n NUMBER command-line flag and argument. For example, you can play eight BeeThree instruments with realtime output and control them from a MIDI device by typing:

    demo BeeThree -n 8 -or -im
     

    - +
    The Synthesis ToolKit in C++ (STK)
    ©1995-2009 Perry R. Cook and Gary P. Scavone. All Rights Reserved.
    ©1995-2010 Perry R. Cook and Gary P. Scavone. All Rights Reserved.