xvi Contents
13.1.4 LFO: Members .......................................................................................................... 354
13.1.5 LFO: Programming Notes ......................................................................................... 355
13.2 Envelope Detection ............................................................................................................... 357
13.2.1 C++ DSP Object: AudioDetector .............................................................................. 359
13.2.2 AudioDetector: Enumerations and Data Structure .................................................... 360
13.2.3 AudioDetector: Members .......................................................................................... 360
13.2.4 AudioDetector: Programming Notes ......................................................................... 361
13.3 Modulating Plugin Parameters ............................................................................................. 364
13.3.1 Modulation Range, Polarity, and Depth .................................................................... 364
13.3.2 Modulation With the Envelope Detector ................................................................... 365
13.4 C++ Effect Object: EnvelopeFollower ................................................................................. 367
13.4.1 EnvelopeFollower: Enumerations and Data Structure .............................................. 367
13.4.2 EnvelopeFollower: Members .................................................................................... 368
13.4.3 EnvelopeFollower: Programming Notes ................................................................... 368
13.5 Chapter Plugin 1: ModFilter ................................................................................................. 370
13.5.1 ModFilter: GUI Parameters ...................................................................................... 370
13.5.2 ModFilter: Object Declarations and Reset ................................................................ 371
13.5.3 ModFilter: GUI Parameter Update ........................................................................... 372
13.5.4 ModFilter: Process Audio ......................................................................................... 372
13.6 The Phaser Effect .................................................................................................................. 373
13.6.1 C++ Effect Object: PhaseShifter ............................................................................... 375
13.6.2 PhaseShifter: Enumerations and Data Structure ....................................................... 376
13.6.3 PhaseShifter: Members ............................................................................................. 376
13.6.4 PhaseShifter: Programming Notes ............................................................................ 377
13.7 Chapter Plugin 2: Phaser ...................................................................................................... 380
13.7.1 Phaser: GUI Parameters ........................................................................................... 380
13.7.2 Phaser: Object Declarations and Reset ..................................................................... 381
13.7.3 Phaser: GUI Parameter Update ................................................................................ 381
13.7.4 Phaser: Process Audio .............................................................................................. 382
13.8 Homework ............................................................................................................................ 382
13.9 Bibliography ......................................................................................................................... 383
Chapter 14: Delay Effects and Circular Buffers��������������������������������������������������������������384
14.1 The Basic Digital Delay ........................................................................................................ 386
14.2 Digital Delay With Wet/Dry Mix .......................................................................................... 389
14.3 An Efcient Circular Buffer Object ...................................................................................... 394
14.3.1 C++ DSP Object: CircularBuffer With Fractional Delay ......................................... 397
14.3.2 CircularBuffer: Enumerations and Data Structure .................................................... 398
14.3.3 CircularBuffer: Members .......................................................................................... 398
14.3.4 CircularBuffer: Programming Notes ......................................................................... 399
14.4 Basic Delay Algorithms ........................................................................................................ 401
14.4.1 Stereo Delay With Feedback ..................................................................................... 401
14.4.2 Stereo Ping-Pong Delay ............................................................................................ 401
14.5 C++ Effect Object: AudioDelay ............................................................................................ 403
14.5.1 AudioDelay: Enumerations and Data Structure ........................................................ 403
14.5.2 AudioDelay: Members .............................................................................................. 404
14.5.3 AudioDelay: Programming Notes ............................................................................. 405