MusicKit
0.0.0
|
00001 00002 // 00003 // $Id$ 00004 // 00005 // Description: 00006 // Heavily inspired by Steinberg's VST effects plugins for the moment 00007 // 00008 // Original Author: SKoT McDonald, <skot@tomandandy.com> 00009 // 00010 // Copyright (c) 2001, The MusicKit Project. All rights reserved. 00011 // 00012 // Permission is granted to use and modify this code for commercial and 00013 // non-commercial purposes so long as the author attribution and copyright 00014 // messages remain intact and accompany all relevant code. 00015 // 00017 00018 #ifndef __SNDKIT_SNDAUDIOPROCESSOR_H__ 00019 #define __SNDKIT_SNDAUDIOPROCESSOR_H__ 00020 00021 #import <Foundation/Foundation.h> 00022 00023 #import "SndAudioBuffer.h" 00024 #import "SndAudioProcessorChain.h" 00025 00027 00034 @interface SndAudioProcessor : NSObject { 00036 int numParams; 00038 SndAudioProcessorChain *audioProcessorChain; 00040 NSString *name; 00042 BOOL active; 00044 id parameterDelegate; 00045 } 00046 00054 + (void) registerAudioProcessorClass: (id) fxclass; 00055 00062 + (NSArray*) fxClasses; 00063 00071 + (NSArray *) availableAudioProcessors; 00072 00079 + audioProcessor; 00080 00087 + (SndAudioProcessor *) audioProcessorNamed: (NSString *) processorName; 00088 00093 - init; 00094 00101 - initWithParamCount: (const int) count name: (NSString *) name; 00102 00109 - initWithParameterDictionary: (NSDictionary *) paramDictionary name: (NSString *) name; 00110 00116 - reset; 00117 00118 - (void) setNumParams: (const int) c; 00119 00124 - (int) paramCount; 00125 00133 - (float) paramValue: (const int) index; 00134 00140 - (NSString *) paramName: (const int) index; 00141 00149 - (NSString *) paramLabel: (const int) index; 00150 00160 - (NSString *) paramDisplay: (const int) index; 00161 00170 - (void) setParam: (const int) index toValue: (const float) value; 00171 00185 - (BOOL) processReplacingInputBuffer: (SndAudioBuffer *) inB 00186 outputBuffer: (SndAudioBuffer *) outB; 00187 00198 - (void) setAudioProcessorChain: (SndAudioProcessorChain *) inChain; 00199 00207 - (SndAudioProcessorChain *) audioProcessorChain; 00208 00214 - (BOOL) isActive; 00215 00221 - setActive: (const BOOL) b; 00222 00229 - setName: (NSString *) aName; 00230 00237 - (NSString *) name; 00238 00246 - (NSDictionary *) paramDictionary; 00247 00255 - (void) setParamsWithDictionary: (NSDictionary *) paramDictionary; 00256 00264 - (void) setParamWithKey: (NSString *) keyName toValue: (NSNumber *) value; 00265 // TODO - (void) setParamWithKey: (NSString *) keyName toValue: (NSValue *) value; 00266 00267 00274 - (NSNumber *) paramObjectForIndex: (const int) i; 00275 // TODO - (id) paramObjectForIndex: (const int) i; 00276 00283 - (void) setParameterDelegate: (id) delegate; 00284 00288 - (id) parameterDelegate; 00289 00290 @end 00291 00292 @protocol SndAudioProcessorParameterDelegate 00293 00294 - (void) parameter: (unsigned int) parameter 00295 ofAudioProcessor: (SndAudioProcessor *) processor 00296 didChangeTo: (float) inValue; 00297 00298 @end 00299 00300 #endif