41 #ifndef __CAAUMIDIMapManager_h_
42 #define __CAAUMIDIMapManager_h_
45 #include <CAAUMIDIMap.h>
47 #include <AudioToolbox/AudioUnitUtilities.h>
49 class CAAUMIDIMapManager {
53 typedef std::vector<CAAUMIDIMap> ParameterMaps;
54 ParameterMaps mParameterMaps;
57 AUParameterMIDIMapping mHotMap;
63 UInt32 NumMaps(){
return mParameterMaps.size();}
64 void GetMaps(AUParameterMIDIMapping* maps);
66 int FindParameterIndex(AUParameterMIDIMapping &map);
68 void GetHotParameterMap(AUParameterMIDIMapping &outMap);
70 void SortedRemoveFromParameterMaps (AUParameterMIDIMapping *maps, UInt32 inNumMaps,
bool &outMapDidChange);
71 OSStatus SortedInsertToParamaterMaps (AUParameterMIDIMapping *maps, UInt32 inNumMaps, AUBase &That);
73 void ReplaceAllMaps (AUParameterMIDIMapping* inMappings, UInt32 inNumMaps, AUBase &That);
75 bool IsHotMapping(){
return hotMapping;}
76 void SetHotMapping (AUParameterMIDIMapping &inMap){hotMapping =
true; mHotMap = inMap; }
78 bool HandleHotMapping( UInt8 inStatus,
84 bool FindParameterMapEventMatch(UInt8 inStatus,
88 UInt32 inBufferOffset,