Building AU plugin for Logic Pro x

Hello,

I am in a course where I am building audio plug ins and for some reason when I build the plug in it cannot be support by the Logic Pro X app. When I try to scan for new plugins and download my plug in, I am getting an error that says “crashed validation.” I was wondering if anyone knew how to resolve this. I sometimes an able to get the plugin on my track by finding the plugin under an “incompatible” category, but when I start using the plugin the app fails.

I am also having trouble having Reaper find my AU or VST3 plugins.

Thanks

Sounds like you are new to the programing game? What you describe generally is a sign that you are doing something invalid in your code that lets the plugin crash. But as unspecific as you describe it, this can be anything. The usual way to find out about where your code crashes is to start the host application with the Xcode debugger attached, which will likely stop at the line of code where the crash happens.

You can also show us your code, often some more experienced programers around here will spot your mistake right away – probably because they did the same mistake themselves somewhen :slight_smile:

Popular reasons for a crash are

  • Exceeding array bounds, e.g. reading/writing memory at an invalid position
  • Dereferencing null pointers
  • Dangling pointers (pointers that point to objects that have been deleted meanwhile)
  • Dividing something by zero

I’ve found that running the auval -v command (along with the three required ID fields) often provides more information than Logic’s Plugin Manager screen does.

(If you don’t know what the three values are that were set in Projucer and thus in your project, use the command “auval -a” to see a list of all the recognized plugins. They will each list those 3 IDs beside the plugin name and manufacturer info.)

What would be the best way to show you my code? would it be to add an attachment of the .h and .cpp files or to copy and past them in here?

Thanks so much! I am new to coding and really appreciate your help.

How do I run the oval -v command?

Sorry I’m new to coding and don’t know the ins and outs of Projucer.

Open the Terminal app (in /Applications/Utilities). Type this:

auval -a

That will give you a listing of all currently registered Audio Units, like this (partial listing):

AU Validation Tool
Version: 1.7.0 
Copyright 2003-2019, Apple Inc. All Rights Reserved.
Specify -h (-help) for command options

aufx bpas appl  -  Apple: AUBandpass
aufx dcmp appl  -  Apple: AUDynamicsProcessor
aufx dely appl  -  Apple: AUDelay
aufx dist appl  -  Apple: AUDistortion
...

Then, to run the analysis for a specific tool, you’d type something like this (for AUDelay, in this example):

auval -v aufx dely appl

That will run a number of tests to make sure your plugin is valid and following all the rules for an AU plugin.