• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
[VST2.4 -> AU] host and property notifications
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[VST2.4 -> AU] host and property notifications


  • Subject: [VST2.4 -> AU] host and property notifications
  • From: Domagoj Saric <email@hidden>
  • Date: Thu, 07 Mar 2013 10:19:09 +0100

Hi everyone,

I'm currently upgrading our internal plugin framework to support AUs and am bypassing the CoreAudio SDK (the old "virtual and new everything" design, and error codes mixed with exceptions and gotos, doesn't quite fit nicely with a more modern CRTP-like approach we use internally and adds too much fat for the help it provides) and am having a number of questions/problems so please help me out ;)

The VST2.4 protocol, as bad as it is, at least defines a minimal set of notifications that one can "send" to a host. If, for example, a user changes (through the GUI) the input/output format/number of channels/buses or loads a preset (which changes the parameter list and/or the parameter information for existing parameters) I can only issue a property change notification but nothing guarantees that a host will actually register a listener for the particular property and that even if a listener is registered that it is in fact the hosts listener (and not some other AU 'listening' to my AU) and that the host actually accepted the property change. For some 'properties', like the IO format/configuration, it is crucial that the plugin/AU and the host are in sync (otherwise the host might provide less channels then the plugin expects...)... Am I missing something, or should user changes/"from within the AU" of such properties simply be forbidden for AU builds?

A related question is about property change notifications in general. There seems to be more than one mechanism:
 - property change listeners
- AudioUnitEvent and AUEventListenerNotify with kAudioUnitEvent_PropertyChange as described here http://developer.apple.com/library/mac/#technotes/tn2104/_index.html The latter seems like a "happier" solution (that could possibly solve some of the earlier mentioned concerns) but the documentation for AUEventListenerNotify says: "This is only to be used for notifications about parameter changes (and gestures). It can not be used for notifying changes to property values as these are internal to an audio unit and should not be issued outside of the audio unit itself." And indeed AUEventListenerNotify fails if I try it with kAudioUnitEvent_PropertyChange...
I found this problem discussed for example here:
http://lists.apple.com/archives/coreaudio-api/2009/Dec/msg00224.html
http://www.kvraudio.com/forum/viewtopic.php?p=2832575

If kAudioUnitEvent_PropertyChange cannot be used why is it there in the first place?


--
Domagoj Saric
Software Architect
www.LittleEndian.com
_______________________________________________
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

  • Follow-Ups:
    • Re: [VST2.4 -> AU] host and property notifications
      • From: Brian Willoughby <email@hidden>
  • Prev by Date: Re: MidiReadProc to Text Field
  • Next by Date: [AU] discrete/noncontiguous parameters
  • Previous by thread: Re: MidiReadProc to Text Field
  • Next by thread: Re: [VST2.4 -> AU] host and property notifications
  • Index(es):
    • Date
    • Thread