/* notification interval defaults to 100ms */ AUCarbonViewBase::AUCarbonViewBase(AudioUnitCarbonView inInstance) : ComponentBase(inInstance), mEditAudioUnit(0), mParameterListener(NULL), mEventListener(NULL), mTimerRef (NULL), mTimerUPP (NULL), mCarbonWindow(NULL), mCarbonPane(NULL), mXOffset(0), mYOffset (0) { AUListenerCreate( ParameterListener, this, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode, 0.100 /* 100ms */, &mParameterListener); }
AUCarbonViewBase::AUCarbonViewBase(AudioUnitCarbonView inInstance, Float32 inNotificationInterval /* in seconds */) : ComponentBase(inInstance), mEditAudioUnit(0), mParameterListener(NULL), mEventListener(NULL), mTimerRef (NULL), mTimerUPP (NULL), mCarbonWindow(NULL), mCarbonPane(NULL), mXOffset(0), mYOffset (0) { AUListenerCreate( ParameterListener, this, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode, inNotificationInterval, &mParameterListener); }
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // HSPad::Initialize //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ OSStatus HSPad::Initialize() { OSStatus ret = noErr; ret = AUMonotimbralInstrumentBase::Initialize(); if (ret != noErr) return ret; SetNotes(kNumNotes, kMaxActiveNotes, mHSNotes, sizeof(HSNote)); wavetable = new HSWavetable(kNumWavetables, GetOutput(0)->GetStreamFormat().mSampleRate, kNumSamplesPerWavetable, Globals()->GetParameter(kParameter_HarmonicBandwidth), Globals()->GetParameter(kParameter_HarmonicProfile), // Harmonic bandwidth scale Globals()->GetParameter(kParameter_HarmonicsAmount), Globals()->GetParameter(kParameter_HarmonicsCurveSteepness), Globals()->GetParameter(kParameter_HarmonicsBalance), kHarmonicsCompensation); if (0 == parameterListener) { ret = AUListenerCreate(MyEventListenerProc, this, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode, 0.5, ¶meterListener); if (ret != noErr) { return ret; } } for (int i=0; i<kNumParametersThatAreRelevantToWavetable; i++) { AudioUnitParameter parameter; parameter.mAudioUnit = GetComponentInstance(); parameter.mParameterID = kParametersThatAreRelevantToWavetable[i]; parameter.mScope = kAudioUnitScope_Global; parameter.mElement = 0; ret = AUListenerAddParameter(parameterListener, this, ¶meter); if (ret != noErr) { return ret; } } return ret; }