MusicKit  0.0.0
SndAudioProcessorNoiseGate.h
00001 
00002 //
00003 //  SndAudioProcessorNoiseGate.h
00004 //  SndKit
00005 //
00006 //  Noisegate
00007 //
00008 //  Created by SKoT McDonald on Fri Jan 11 2002.
00009 //
00010 //  Based on the 1997 C++ Vellocet VNoiseGate Cubase VST plugin by
00011 //  Vellocet / SKoT McDonald <skot@vellocet.com>.
00012 //  http://www.vellocet.com
00013 //  (c) All rights reserved.
00014 //
00016 
00017 #ifndef __SNDKIT_SNDAUDIOPROCESSORNOISEGATE_H__
00018 #define __SNDKIT_SNDAUDIOPROCESSORNOISEGATE_H__
00019 
00020 #import <Foundation/Foundation.h>
00021 #import "SndAudioProcessor.h"
00022 
00024 
00035 enum noisegate_eKeys
00036 {
00037   noisegate_kThreshold  = 0,
00038   noisegate_kHoldTime   = 1,
00039   noisegate_kAttackTime = 2,
00040   noisegate_kDecayTime  = 3,
00041   noisegate_kChanMode   = 4,
00042   noisegate_kNumParams  = 5
00043 };
00044 
00053 enum noisegate_eMode
00054 {
00055   noisegate_modeGate = 0,
00056   noisegate_modeHold = 1,
00057   noisegate_modeAttack = 2,
00058   noisegate_modeDecay = 3
00059 };
00060 
00068 enum noisegate_eChanMode
00069 {
00070   noisegate_cmodeLinked = 0,
00071   noisegate_cmodeIndep  = 1,
00072   noisegate_cmodeCross  = 2
00073 };
00074 
00076 
00083 @interface SndAudioProcessorNoiseGate : SndAudioProcessor {
00085   float fThreshold;
00087   float fHoldTime;
00089   float fAttackTime;
00091   float fDecayTime;
00093   int   iChanMode;
00094 @private
00096   float m_g[2];
00098   float m_t[2];
00100   int   m_iMode[2];
00102   int   m_iAttackCount[2];
00104   int   m_iDecayCount[2];
00106   int   m_iHoldCount[2];
00107 }
00108 
00109 @end
00110 
00112 
00113 #endif