// // MPT_PluginProtocol.h // AUCoderDemo // // Created by Andrew Salamon on 9/25/06. // Copyright (c) 2006 Machine Perception Laboratory, // University of California San Diego. All rights reserved. // @class MPT_AUView; extern NSString *MPT_PluginStep_NoStep; extern NSString *MPT_PluginStep_AfterFaces; extern NSString *MPT_PluginStep_SVM; extern NSString *MPT_PluginStep_Features; extern NSString *MPT_PluginStep_Frequencies; /** The Objective-C half of a CERT plugin protocol. */ @protocol MPT_PluginProtocol - (void)setDelegate:(id)delegate; ///< Don't retain the delegate since it might very well prevent deallocation. - (id)delegate; ///< The delegate needs to be notified whenever the enabled state of the plugin changes. - (NSString *)pluginID; - (NSString *)localizedName; - (NSString *)internalName; ///< This will initially be used by SVM plugins, for finding weights files /// Each plugin may return multiple results (e.g. AU 1 and AU 2...). Each result will have its own view - (NSArray *)labels; - (MPT_AUView *)viewForLabel:(NSString *)label; - (void)setView:(MPT_AUView *)view forLabel:(NSString *)label; //- (MPT_AUView *)view; ///< If this returns NULL, the plugin controller will create and set a view //- (void)setView:(MPT_AUView *)newView; - (NSView *)prefPane; - (NSString *)step; - (BOOL)enabled; - (void)setEnabled:(BOOL)value; @end @interface NSObject(MPT_PluginDelegateMethods) - (void)didChangeEnabledStateForPlugin:(id)plugin; @end