MusicDeviceBase

Superclasses : AUBase, AUMIDIBase
Subclasses : none
Header : MusicDeviceBase

class MusicDeviceBase : public AUBase, public AUMIDIBase 

This is the base class for audio units which act like synthesizers, having instruments and creating notes.


Methods

Constructor


MusicDeviceBase

public constructor


 MusicDeviceBase(
          ComponentInstance               inInstance,
          UInt32                          numInputs,
          UInt32                          numOutputs,
          UInt32                          numGroups = 0,
          UInt32                          numParts = 0
    );



Other


ComponentEntryDispatch

public static method


 static ComponentResult ComponentEntryDispatch(
          ComponentParameters*            params,
          MusicDeviceBase*                This
    );

Internal. Overridden to support music device selectors such as kMusicDeviceStartNoteSelect



GetInstrumentCount

public virtual method


 virtual OSStatus GetInstrumentCount (UInt32 &outInstCount) const;



HandleNoteOff

public virtual method


 virtual void HandleNoteOff(
          int                             inChannel,
          UInt8                           inNoteNumber,
          UInt8                           inVelocity,
          long                            inStartFrame
    );



PrepareInstrument

public virtual method


 virtual ComponentResult PrepareInstrument(MusicDeviceInstrumentID inInstrument);

Pure virtual method.



ReleaseInstrument

public virtual method


 virtual ComponentResult ReleaseInstrument(MusicDeviceInstrumentID inInstrument);

Pure virtual method.



SetProperty

public virtual method


 virtual ComponentResult SetProperty(
          AudioUnitPropertyID             inID,
          AudioUnitScope                  inScope,
          AudioUnitElement                inElement,
          const void*                     inData,
          UInt32                          inDataSize
    );



StartNote

public pure virtual method


 virtual ComponentResult StartNote(
          MusicDeviceInstrumentID         inInstrument,
          MusicDeviceGroupID              inGroupID,
          NoteInstanceID&                 outNoteInstanceID,
          UInt32                          inOffsetSampleFrame,
          const MusicDeviceNoteParams&    inParams
    ) = 0;

Pure virtual method.



StopNote

public pure virtual method


 virtual ComponentResult StopNote(
          MusicDeviceGroupID              inGroupID,
          NoteInstanceID                  inNoteInstanceID,
          UInt32                          inOffsetSampleFrame
    ) = 0;

Pure virtual method.



Properties


GetProperty

public virtual method


 virtual ComponentResult GetProperty(
          AudioUnitPropertyID             inID,
          AudioUnitScope                  inScope,
          AudioUnitElement                inElement,
          void*                           outData
    );

Overridden to dispatch to both superclasses.



GetPropertyInfo

public virtual method


 virtual ComponentResult GetPropertyInfo(
          AudioUnitPropertyID             inID,
          AudioUnitScope                  inScope,
          AudioUnitElement                inElement,
          UInt32&                         outDataSize,
          Boolean&                        outWritable
    );

Overridden to dispatch to both superclasses.