|
- /*!
- @file AudioUnitSDK/AUPlugInDispatch.h
- @copyright © 2000-2021 Apple Inc. All rights reserved.
- */
- #ifndef AudioUnitSDK_AUPlugInDispatch_h
- #define AudioUnitSDK_AUPlugInDispatch_h
-
- #include <AudioUnitSDK/ComponentBase.h>
-
- namespace ausdk {
-
- /// Method lookup for a basic AUBase subclass.
- struct AUBaseLookup {
- static AudioComponentMethod Lookup(SInt16 selector);
- };
-
- /// Factory for a basic AUBase subclass.
- template <class Implementor>
- class AUBaseFactory : public APFactory<AUBaseLookup, Implementor> {
- };
-
- /// Method lookup for a AUBase subclass which implements I/O methods (Start, Stop).
- struct AUOutputLookup {
- static AudioComponentMethod Lookup(SInt16 selector);
- };
-
- /// Factory for an AUBase subclass which implements I/O methods (Start, Stop).
- template <class Implementor>
- class AUOutputBaseFactory : public APFactory<AUOutputLookup, Implementor> {
- };
-
- /// Method lookup for an AUBase subclass which implements I/O methods (Start, Stop) and
- /// ComplexRender.
- struct AUComplexOutputLookup {
- static AudioComponentMethod Lookup(SInt16 selector);
- };
-
- /// Factory for an AUBase subclass which implements I/O methods (Start, Stop) and ComplexRender.
- template <class Implementor>
- class AUOutputComplexBaseFactory : public APFactory<AUComplexOutputLookup, Implementor> {
- };
-
- /// Method lookup for an AUBase subclass which implements Process.
- struct AUBaseProcessLookup {
- static AudioComponentMethod Lookup(SInt16 selector);
- };
-
- /// Factory for an AUBase subclass which implements Process.
- template <class Implementor>
- class AUBaseProcessFactory : public APFactory<AUBaseProcessLookup, Implementor> {
- };
-
- /// Method lookup for an AUBase subclass which implements ProcessMultiple.
- struct AUBaseProcessMultipleLookup {
- static AudioComponentMethod Lookup(SInt16 selector);
- };
-
- /// Factory for an AUBase subclass which implements ProcessMultiple.
- template <class Implementor>
- class AUBaseProcessMultipleFactory : public APFactory<AUBaseProcessMultipleLookup, Implementor> {
- };
-
- /// Method lookup for an AUBase subclass which implements Process and ProcessMultiple.
- struct AUBaseProcessAndMultipleLookup {
- static AudioComponentMethod Lookup(SInt16 selector);
- };
-
- /// Factory for an AUBase subclass which implements Process and ProcessMultiple.
- template <class Implementor>
- class AUBaseProcessAndMultipleFactory
- : public APFactory<AUBaseProcessAndMultipleLookup, Implementor> {
- };
-
- /// Method lookup for an AUBase subclass which implements MusicDevice methods (MIDIEvent and SysEx).
- struct AUMIDILookup {
- static AudioComponentMethod Lookup(SInt16 selector);
- };
-
- /// Factory for an AUBase subclass which implements MusicDevice methods (MIDIEvent and SysEx).
- template <class Implementor>
- class AUMIDIEffectFactory : public APFactory<AUMIDILookup, Implementor> {
- };
-
- /// Method lookup for an AUBase subclass which implements Process and MusicDevice methods (MIDIEvent
- /// and SysEx).
- struct AUMIDIProcessLookup {
- static AudioComponentMethod Lookup(SInt16 selector);
- };
-
- /// Factory for an AUBase subclass which implements Process and MusicDevice methods (MIDIEvent
- /// and SysEx).
- template <class Implementor>
- class AUMIDIProcessFactory : public APFactory<AUMIDIProcessLookup, Implementor> {
- };
-
- /// Method lookup for an AUBase subclass which implements the full set of MusicDevice methods
- /// (MIDIEvent, SysEx, StartNote, StopNote).
- struct AUMusicLookup {
- static AudioComponentMethod Lookup(SInt16 selector);
- };
-
- /// Factory for an AUBase subclass which implements the full set of MusicDevice methods
- /// (MIDIEvent, SysEx, StartNote, StopNote).
- template <class Implementor>
- class AUMusicDeviceFactory : public APFactory<AUMusicLookup, Implementor> {
- };
-
- } // namespace ausdk
-
- #endif // AudioUnitSDK_AUPlugInDispatch_h
|