RE: notifying host of parameter changes
RE: notifying host of parameter changes
- Subject: RE: notifying host of parameter changes
- From: "Muon Software Ltd - Dave" <email@hidden>
- Date: Sun, 23 Oct 2005 19:20:26 +0100
- Importance: Normal
> One thing that makes parameter change gestures a sorta annoying part
> of AU is that there was an old system (now deprecated) and a newer
> system (introduced with Panther, I think). If you're testing with an
> older version of Logic, it may be one that doesn't support the newer
> system. So, I'm not sure if we're at the point yet where we can just
> forget about the old system. You'll see, if you look at the example
> that I mention above, that I generate notifications for both
> systems. This is probably going to continue to be a good idea for a
> while still.
Thanks Marc, I got it working eventually (in Logic 5.5.0, Logic 6.3.3 and
Logic 7.1.1) thanks to your code.
To help others struggling with the same problem, here's what I did:
In my (VSTGUI-based) editor class there are two functions beginEdit() and
endEdit() which are called when the mouse goes down and up in a VSTGUI
control. I overrode these to send:
kAudioUnitEvent_BeginParameterChangeGesture (via AUEventListenerNotify)
kAudioUnitCarbonViewEvent_MouseDownInControl (via TellListener) in
beginEdit()
and
kAudioUnitEvent_EndParameterChangeGesture
kAudioUnitCarbonViewEvent_MouseUpInControl in endEdit()
There's also a function I have which is called from the editor to update the
host when a parameter value changes that the host needs to know about (in a
typical vst instrument this would be setParameterAutomated, called from the
editor's valueChanged function). In my version of setParameterAutomated I
added a call to send a
kAudioUnitEvent_ParameterValueChange message (via AUEventListenerNotify)
Cheers
Dave
PS - although its all now working, I'm still a bit worried about calling
AUEventListenerNotify with both parameters NULL. I definately don't
implement any custom listeners in my carbon view but it seems likely that
the base class might implement one of its own in order to receive parameter
updates when hosts are writing automation to the AU without me knowing about
it. I definately don't want to get a notification back for events the editor
generates, so anyone any tips where to start looking? is this a non-issue?
PPS - anyone any specific advice on getting Logic 7.1.1 to work nicely with
XCode's debugger? it just quits when I try to start a debug session with it
set as the custom executable. Logic 6.3.3 won't run either, it says there is
no exectable :-(
Regards
Dave
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden