AU validation and errors
-
- KVRist
- Topic Starter
- 474 posts since 26 Mar, 2015
I have issue about audio units.Made with IPlug.
Building is okay.No issue.Validated in Logic.I can see my audio units in Reaper and Logic.But my friends can't see.For example i have 5 different EQs.One of my friends can't see any AU.Other one see some AU only.And others can't see all AU in Logic.
They getting this error:
"could not be opened"
and
"While verifying Audio Unit compatibility, Logic Pro X encountered 1 Audio Unit plug-in(s) which did not pass the Apple AU validation. These plug-ins have been excluded from further usage in Logic Pro X to prevent possible problems or crashes. You can start the Plug-In Manager now to review the validation results or continue the startup process."
Any idea?
Thanks.
Building is okay.No issue.Validated in Logic.I can see my audio units in Reaper and Logic.But my friends can't see.For example i have 5 different EQs.One of my friends can't see any AU.Other one see some AU only.And others can't see all AU in Logic.
They getting this error:
"could not be opened"
and
"While verifying Audio Unit compatibility, Logic Pro X encountered 1 Audio Unit plug-in(s) which did not pass the Apple AU validation. These plug-ins have been excluded from further usage in Logic Pro X to prevent possible problems or crashes. You can start the Plug-In Manager now to review the validation results or continue the startup process."
Any idea?
Thanks.
http://analogobsession.com/ VST, AU, AAX for WIN & MAC
- u-he
- 28109 posts since 8 Aug, 2002 from Berlin
Have you updated the version inbetween builds? Logic only scans your AU if you changed the version.
Apart from that, AUvalidation was updated several times. You might want to try a validation run on the latest MacOS release.
A word of experience: Write a shell script that does an AUValidation run for all of your plug-ins. Add it as a post-build step in your XCode release target. Do a release build at least once a week.
If you want to be extra serious, direct the AUValidation output into a file. Keep one of those files as reference, e.g. from your last release version of your software (with successful validation, of course). Then, from the same script, compare the two files and make your build fail if there's any difference. Best unit test ever for AU developers.
Additionally, XCode lets you define multiple "build schemes" for the same target. I always keep one which launches AUValidation as debug executable. It's the fastest way to quickly see if stuff runs and renders, and you get a free AUVal on top.
Cheers,
- Urs
Apart from that, AUvalidation was updated several times. You might want to try a validation run on the latest MacOS release.
A word of experience: Write a shell script that does an AUValidation run for all of your plug-ins. Add it as a post-build step in your XCode release target. Do a release build at least once a week.
If you want to be extra serious, direct the AUValidation output into a file. Keep one of those files as reference, e.g. from your last release version of your software (with successful validation, of course). Then, from the same script, compare the two files and make your build fail if there's any difference. Best unit test ever for AU developers.
Additionally, XCode lets you define multiple "build schemes" for the same target. I always keep one which launches AUValidation as debug executable. It's the fastest way to quickly see if stuff runs and renders, and you get a free AUVal on top.
Cheers,
- Urs
-
- KVRist
- Topic Starter
- 474 posts since 26 Mar, 2015
Thanks for reply.Urs wrote:Have you updated the version inbetween builds? Logic only scans your AU if you changed the version.
Apart from that, AUvalidation was updated several times. You might want to try a validation run on the latest MacOS release.
A word of experience: Write a shell script that does an AUValidation run for all of your plug-ins. Add it as a post-build step in your XCode release target. Do a release build at least once a week.
If you want to be extra serious, direct the AUValidation output into a file. Keep one of those files as reference, e.g. from your last release version of your software (with successful validation, of course). Then, from the same script, compare the two files and make your build fail if there's any difference. Best unit test ever for AU developers.
Additionally, XCode lets you define multiple "build schemes" for the same target. I always keep one which launches AUValidation as debug executable. It's the fastest way to quickly see if stuff runs and renders, and you get a free AUVal on top.
Cheers,
- Urs
I didn't change version.And i tried everything but still no luck.
It's really strange issue.
For example i have 5 eq.NVQ,NVTQ,PEQ,TEQ and SEQ.
Someone sees PEQ,NVQ and NVTQ.
Other one sees SEQ,NVQ and TEQ.
And another one sees only PEQ.
I can see all AUs.
What causes this?
http://analogobsession.com/ VST, AU, AAX for WIN & MAC
-
- KVRist
- Topic Starter
- 474 posts since 26 Mar, 2015
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
I have the same issues, it seems that auval doesn't validate the plugins in the same way Logic or Garage Band does. Thanks Apple...
-
- KVRist
- Topic Starter
- 474 posts since 26 Mar, 2015
But Logic and auval can see as validated my AUs in my system.But for other systems,it causes validation issues.Still trying to fix...Miles1981 wrote:I have the same issues, it seems that auval doesn't validate the plugins in the same way Logic or Garage Band does. Thanks Apple...
http://analogobsession.com/ VST, AU, AAX for WIN & MAC
-
- KVRAF
- 2256 posts since 29 May, 2012
Seems like each one is a bit different:-)But Logic and auval can see as validated my AUs in my system.But for other systems,it causes validation issues.Still trying to fix...
~stratum~
-
- KVRist
- Topic Starter
- 474 posts since 26 Mar, 2015
Maybe,but...stratum wrote:Seems like each one is a bit different:-)But Logic and auval can see as validated my AUs in my system.But for other systems,it causes validation issues.Still trying to fix...
I checked what is different but can't see any difference.
Same SDK,same target,same arch...
http://analogobsession.com/ VST, AU, AAX for WIN & MAC
- KVRian
- 1158 posts since 17 Feb, 2010
Hi tunca,
did you add "SetIsMeta(true)" to your code?
did you add "SetIsMeta(true)" to your code?
-
- KVRist
- Topic Starter
- 474 posts since 26 Mar, 2015
You meanxhunaudio wrote:Hi tunca,
did you add "SetIsMeta(true)" to your code?
Code: Select all
GetParam(param)->SetIsMeta(true)
I just saw this but have no idea where and how to add.
http://analogobsession.com/ VST, AU, AAX for WIN & MAC
- KVRian
- 1158 posts since 17 Feb, 2010
Exactly, place it in your constructor.tunca wrote:You meanxhunaudio wrote:Hi tunca,
did you add "SetIsMeta(true)" to your code??Code: Select all
GetParam(param)->SetIsMeta(true)
I just saw this but have no idea where and how to add.
Apply it for each parameter that, when its value is changed, it changes also other parameter/s.
In other words, if in the method onParamChange() you declared that when a certain parameter value is changed, then also other parameters' value will be affected, you have to add
Code: Select all
GetParam(param)->SetIsMeta(true)
This could be the fix for your issue.
-
- KVRAF
- 2256 posts since 29 May, 2012
My understanding is that they run a set of unit tests against the plugin, which might be slightly different for each host.
I checked what is different but can't see any difference.
Same SDK,same target,same arch...
That's a bit odd, because running unit tests is not their job, but of the developer; but their documentation says exactly that. https://developer.apple.com/library/con ... 1-SECTION2
~stratum~
-
- KVRist
- Topic Starter
- 474 posts since 26 Mar, 2015
xhunaudio wrote:Exactly, place it in your constructor.tunca wrote:You meanxhunaudio wrote:Hi tunca,
did you add "SetIsMeta(true)" to your code??Code: Select all
GetParam(param)->SetIsMeta(true)
I just saw this but have no idea where and how to add.
Apply it for each parameter that, when its value is changed, it changes also other parameter/s.
In other words, if in the method onParamChange() you declared that when a certain parameter value is changed, then also other parameters' value will be affected, you have to addfor that parameter inside the constructor.Code: Select all
GetParam(param)->SetIsMeta(true)
This could be the fix for your issue.
It's my OnParamChange.How to add this code?
Code: Select all
void BRUTUS::Reset()
{
TRACE;
IMutexLock lock(this);
}
void BRUTUS::OnParamChange(int paramIdx)
{
IMutexLock lock(this);
switch (paramIdx)
{
case kThr:
mThr = GetParam(kThr)->Value();
break;
case kOut:
mOut = GetParam(kOut)->Value();
break;
default:
break;
}
}
http://analogobsession.com/ VST, AU, AAX for WIN & MAC
-
- KVRAF
- 2256 posts since 29 May, 2012
Code: Select all
BRUTUS::BRUTUS()
{
GetParam(param)->SetIsMeta(true)
}
~stratum~
- KVRian
- 1158 posts since 17 Feb, 2010
Ah ok, it seems my suggestion is not for your case. You have just 2 params and each one does not affect others. So it is not necessary for you to add setismeta().
Sorry,
Sorry,