Aumf or aufx? Which one is OK for automation?


Hi, I used to build my AU plug-ins as aumf for automation reasons. Now I’m making a Juce plug for Mac I noticed an ’ ERROR - 4 in call MusicDeviceMIDIEvent’ if I make a MusicEffect.

My question is do I now have to fill in the midi functions, as well as the Midi events I’m getting through processBlock() to satisfy automation requirements people may have? Or is using the standard AUFX still OK?


I can’t think of a reason why the AU plug-in type should affect your automation. What do you mean with using ‘aumf’ for automation reasons?


Does the pitchwheel and note-on information still come through the processBlock() function in an AUFX?


Ahh ok, no they won’t. You need to use ‘aumf’ then. You just ned to override AudioProcessor::acceptsMidi and return true.


Nice catch, thanks Fabian. What about the error I’m getting with aumf’s?

I could not get these functions to be called in my Windows VST, do I need them now I’m using an AUMF?
As you can see, I’m a little confused.

	void handleMessage(const Message& msg) override;
	void handleIncomingMidiMessage(MidiInput* /*source*/, const MidiMessage &message) override;
	void handleNoteOn(MidiKeyboardState*, int midiChannel, int midiNoteNumber, float velocity) override;
	void handleNoteOff(MidiKeyboardState*, int midiChannel, int midiNoteNumber, float /*velocity*/) override;