MusicKit  0.0.0
SndAudioProcessorFlanger.h
00001 
00002 //
00003 //  SndAudioProcessorFlanger.h
00004 //  SndKit
00005 //
00006 //  Flanger / bi-Choruser
00007 //
00008 //  Created by SKoT McDonald on Mon Dec 17 2001.
00009 //
00010 //  Based on the 1997 C++ Vellocet VFlanger Cubase VST plugin by
00011 //  Vellocet / SKoT McDonald <skot@vellocet.com>
00012 //  http://www.vellocet.com
00013 //  (c) All rights reserved.
00014 //
00016 
00017 #import <Foundation/Foundation.h>
00018 
00019 #ifndef __SNDKIT_SNDAUDIOPROCESSORFLANGER_H__
00020 #define __SNDKIT_SNDAUDIOPROCESSORFLANGER_H__
00021 
00022 #import "SndAudioProcessor.h"
00023 
00034 enum {
00035   flanger_kRate      = 0,
00036   flanger_kMin       = 1,
00037   flanger_kMax       = 2,
00038   flanger_kSwap      = 3,
00039   flanger_kPhase     = 4,
00040   flanger_kFeedback  = 5,
00041   flanger_kNumParams = 6
00042 };
00043 
00045 
00052 @interface SndAudioProcessorFlanger : SndAudioProcessor {
00054   float  fRate;
00056   float  fMax;
00058   float  fMin;
00060   float  fSwapStereo;
00062   float  fPhaseDiff;
00064   float  fFeedback;
00065 
00066   @private
00068   float* m_pfBuff[2];
00070   long   m_liBuffSize;
00072   long   m_liPtr;
00074   float  m_fOsc[2];
00076   float  m_oscSign[2];
00078   float  m_fOscStep;
00080   float  m_fTargetMax;
00082   float  m_fTargetMin;
00084   float  m_fParamChangeRate;  
00085 }
00086 
00090 - (void) processReplacing_core_inL: (float*) inL   inR: (float*) inR
00091                               outL: (float*) outL outR: (float*) outR
00092                        sampleCount: (long) sampleCount step: (int) step;
00099 - (void) setToDefault;
00106 - (void) setRate: (const float) f;
00113 - (void) setMin: (const float) f;
00120 - (void) setMax: (const float) f;
00127 - (void) setSwap: (const float) f;
00134 - (void) setPhase: (const float) f;
00141 - (void) setFeedback: (const float) f;
00148 - (float) rate;
00155 - (float) min;
00162 - (float) max;
00169 - (float) swap;
00176 - (float) phase;
00183 - (float) feedback;
00184 
00185 @end
00186 
00188 
00189 #endif