void sendAUEvent (const AudioUnitEventType type, const int index) throw() { if (AUEventListenerNotify != 0) { auEvent.mEventType = type; auEvent.mArgument.mParameter.mParameterID = (AudioUnitParameterID) index; AUEventListenerNotify (0, 0, &auEvent); } }
void ResonatorNote::SendNoteNotification (AudioUnitEventType inEventType, UInt32 inParamID) { AudioUnitEvent event; event.mEventType = inEventType; event.mArgument.mParameter.mAudioUnit = GetAudioUnit()->GetComponentInstance(); event.mArgument.mParameter.mParameterID = inParamID; event.mArgument.mParameter.mScope = kAudioUnitScope_Global; event.mArgument.mParameter.mElement = 0; AUEventListenerNotify(NULL, NULL, &event); }
//----------------------------------------------------------------------------- void C700::ParameterSetFunc(int paramID, float value, void* userData) { C700 *This = reinterpret_cast<C700*> (userData); This->Globals()->SetParameter(paramID, value); AudioUnitEvent auEvent; auEvent.mEventType = kAudioUnitEvent_ParameterValueChange; auEvent.mArgument.mParameter.mAudioUnit = (AudioUnit)This->GetComponentInstance(); auEvent.mArgument.mParameter.mScope = kAudioUnitScope_Global; auEvent.mArgument.mParameter.mParameterID = paramID; auEvent.mArgument.mParameter.mElement = 0; AUEventListenerNotify(NULL, NULL, &auEvent); This->mParameterHasChanged[paramID] = true; }
bool CAAUMIDIMapManager::FindParameterMapEventMatch( UInt8 inStatus, UInt8 inChannel, UInt8 inData1, UInt8 inData2, UInt32 inBufferOffset, AUBase& inAUBase) { bool ret_value = false; if (inStatus == 0x90 && !inData2) inStatus = 0x80 | inChannel; //used to test for midi matches once map is made CAAUMIDIMap tempMap; tempMap.mStatus = inStatus | inChannel; tempMap.mData1 = inData1; CompareMIDIMap compareObj; AudioUnitEvent event; event.mEventType = kAudioUnitEvent_ParameterValueChange; event.mArgument.mParameter.mAudioUnit = inAUBase.GetComponentInstance(); ParameterMaps::iterator lower_iter = std::lower_bound(mParameterMaps.begin(), mParameterMaps.end(), tempMap, compareObj); while (lower_iter < mParameterMaps.end()) { CAAUMIDIMap & map = (*lower_iter); if (compareObj.Finish(map, tempMap)) break; Float32 value; if (map.MIDI_Matches(inChannel, inData1, inData2, value)) { inAUBase.SetParameter ( map.mParameterID, map.mScope, map.mElement, map.ParamValueFromMIDILinear(value), inBufferOffset); event.mArgument.mParameter.mParameterID = map.mParameterID; event.mArgument.mParameter.mScope = map.mScope; event.mArgument.mParameter.mElement = map.mElement; AUEventListenerNotify(NULL, NULL, &event); ret_value = true; } ++lower_iter; } return ret_value; }
/*! @method TellListener */ void AUCarbonViewBase::TellListener (const CAAUParameter &auvp, AudioUnitCarbonViewEventID event, void *evpar) { #if !__LP64__ if (mEventListener) (*mEventListener)(mEventListenerUserData, mComponentInstance, &auvp, event, evpar); #endif AudioUnitEvent auEvent; auEvent.mArgument.mParameter = auvp; if (event == kAudioUnitCarbonViewEvent_MouseDownInControl) { auEvent.mEventType = kAudioUnitEvent_BeginParameterChangeGesture; } else { auEvent.mEventType = kAudioUnitEvent_EndParameterChangeGesture; } AUEventListenerNotify(mParameterListener, this, &auEvent); }