|
02-25-2017, 09:51 AM
|
#1
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
AU validation
I have issue about audio units.
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.
|
|
|
02-26-2017, 02:44 AM
|
#2
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
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?
|
|
|
02-26-2017, 07:07 AM
|
#3
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
By the way auval sees my AUs.
|
|
|
02-26-2017, 07:39 AM
|
#4
|
Human being with feelings
Join Date: Nov 2014
Location: Leiden, the Netherlands
Posts: 36
|
Hi Tunca,
I’m by no means an expert on this, but I have had similar issues in the past caused by the following reasons:
- AU not validated when I had two GUI controls linked to the same parameter. I had to explicitly call ‘false’ as in SetDirty(false), in one of the GUI elements, instead of just SetDirty(), which has ‘true’ as default argument. (The AU plug-in worked fine initially in Reaper, but not in Logic. It didn’t validate though, because of some seemingly unrelated parameter inconsistency. It did successfully validate after my fix)
- I had some bundle ID issues, when the ID’s didn’t match in recource.h and the plist files.
- If you get inconsistent results over different systems, it’s possible your AU got blacklisted by the host after giving an error during load. (It could be another problem in combination with this as well.) It’s usually not very difficult to find the actual ‘blacklist’ in a host.
Not sure if this is any help, but it might give you some clues...
Cheers! JD
|
|
|
02-26-2017, 08:00 AM
|
#5
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by JD Young
Hi Tunca,
I’m by no means an expert on this, but I have had similar issues in the past caused by the following reasons:
- AU not validated when I had two GUI controls linked to the same parameter. I had to explicitly call ‘false’ as in SetDirty(false), in one of the GUI elements, instead of just SetDirty(), which has ‘true’ as default argument. (The AU plug-in worked fine initially in Reaper, but not in Logic. It didn’t validate though, because of some seemingly unrelated parameter inconsistency. It did successfully validate after my fix)
- I had some bundle ID issues, when the ID’s didn’t match in recource.h and the plist files.
- If you get inconsistent results over different systems, it’s possible your AU got blacklisted by the host after giving an error during load. (It could be another problem in combination with this as well.) It’s usually not very difficult to find the actual ‘blacklist’ in a host.
Not sure if this is any help, but it might give you some clues...
Cheers! JD
|
Thanks for reply!
My plugins have no linked parameter or GUI.I saw this issue in forum and tried but still same.
I checked resource.h and info.plist but there is no difference.
I have trouble with Logic.Reaper can see AUs but no luck with Logic.Other people see some of them with different systems...
Almost i tried everything but...
|
|
|
02-26-2017, 10:46 AM
|
#6
|
Human being with feelings
Join Date: Feb 2014
Posts: 63
|
Run "Reset & Rescan Selection" in Logic Pro X and you'll get a window come up with a long list of test data. Go through it and see where your AU is failing. You can also run auval in the Terminal, substituting your plugin values:
Code:
auval -v 'aufx' 'bpas' 'appl'
|
|
|
02-26-2017, 11:02 AM
|
#7
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by gstuff
Run "Reset & Rescan Selection" in Logic Pro X and you'll get a window come up with a long list of test data. Go through it and see where your AU is failing. You can also run auval in the Terminal, substituting your plugin values:
Code:
auval -v 'aufx' 'bpas' 'appl'
|
Thanks for reply.
I tried "Reset & Rescan Selection" and auval.All AUs validated.I can see all AUs with my Logic.
But other people can't see with their Logic.
|
|
|
02-26-2017, 11:31 AM
|
#8
|
Human being with feelings
Join Date: Feb 2014
Posts: 63
|
I'd get your users to run auval or Logic rescan on their system and ask them to send the results to you for checking.
|
|
|
02-26-2017, 11:38 AM
|
#9
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Yes,this could be great.I will...
But they getting this message...
"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."
|
|
|
02-26-2017, 11:58 AM
|
#10
|
Human being with feelings
Join Date: May 2012
Location: PA, USA
Posts: 356
|
I typically run into problems like this when there is a meta parameter. Similar to the linked parameter, if you have any parameter that does something like 'reset to default', 'randomize settings', etc., this can cause problems with validation. Actually, anything that alters another parameter within OnParamChange() can have validation issues.
Many times, this is the cause of intermittent AU validation fails, because sometimes the parameter are reset and OK during validation, and sometimes not.
To test things, I would add this to every parameter
Code:
GetParam(param)->SetIsMeta(true)
See if that fixes the problems with other people validating the plugin.
|
|
|
02-26-2017, 12:15 PM
|
#11
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by random_id
I typically run into problems like this when there is a meta parameter. Similar to the linked parameter, if you have any parameter that does something like 'reset to default', 'randomize settings', etc., this can cause problems with validation. Actually, anything that alters another parameter within OnParamChange() can have validation issues.
Many times, this is the cause of intermittent AU validation fails, because sometimes the parameter are reset and OK during validation, and sometimes not.
To test things, I would add this to every parameter
Code:
GetParam(param)->SetIsMeta(true)
See if that fixes the problems with other people validating the plugin.
|
Thanks for reply!
Actually i didn't give full versions.Gave demo version and demo versions resetting parameter after 2 min.
How can i add this code into my code?
Here is my parameter section...
Code:
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;
}
}
|
|
|
02-26-2017, 02:04 PM
|
#12
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
This sounds to me like linker errors. Are you using any external libs with WDL? Also, there where a problem with LICE not linking correctly if your minimum OS version is different than SDK version... Just to know...
|
|
|
02-26-2017, 02:16 PM
|
#13
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by Youlean
This sounds to me like linker errors. Are you using any external libs with WDL? Also, there where a problem with LICE not linking correctly if your minimum OS version is different than SDK version... Just to know...
|
Thanks for reply.
I didn't add any other libs.
SDK is lastest(10.12) and minimum OS version is 10.5.
But for all AUs,it's same.Some AUs working,some not...
|
|
|
02-26-2017, 02:24 PM
|
#14
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Tunca
Thanks for reply.
I didn't add any other libs.
SDK is lastest(10.12) and minimum OS version is 10.5.
But for all AUs,it's same.Some AUs working,some not...
|
Download 10.5 SDK and try with it. You will need to modify XCode a bit to support 10.5 SDK though.
http://forum.cockos.com/showthread.p...=xcode+headsup
SDK: https://github.com/phracker/MacOSX-SDKs
|
|
|
02-26-2017, 02:34 PM
|
#15
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by Youlean
|
Just downloaded.How to install?And i guess i have to modify "common.xcconfig",right?
|
|
|
02-26-2017, 02:59 PM
|
#16
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Tunca
Just downloaded.How to install?And i guess i have to modify "common.xcconfig",right?
|
Yes, you do.
Ask google how to install SDK in XCode.
In common.xcconfig you need to have uncommented:
BASE_SDK = macosx10.5
DEPLOYMENT_TARGET = 10.5
|
|
|
02-26-2017, 03:08 PM
|
#17
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by Youlean
Yes, you do.
Ask google how to install SDK in XCode.
In common.xcconfig you need to have uncommented:
BASE_SDK = macosx10.5
DEPLOYMENT_TARGET = 10.5
|
Thanks!
I'm searching now.Found some info but trying to understand.
By the way if i build my plugins with 10.5 SDK,will VST and AAX be fine?Any difference?
EDIT:Installed 10.5 SDK
|
|
|
02-26-2017, 03:28 PM
|
#18
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Tunca
By the way if i build my plugins with 10.5 SDK,will VST and AAX be fine?Any difference?
|
I am not sure about AAX, but VST2 will be fine, though I think VST3 needs c++11 so you will need to use at least 10.7 SDK with 10.7 minimum version.
To sum this up, use 10.7 SDK with minimum OS version set to 10.7 and enable c++11 (to save your life) by changing CLANG_CXX_LANGUAGE_STANDARD = c++0x to CLANG_CXX_LANGUAGE_STANDARD = c++11.
If you want to use 10.12 to target 10.7 (save yourself a pain and don't go below that) you will probably need to edit LICE project and VST3 project if you get warning that are telling you that you might have linker problems. Anyways look projects at my branch in VST3_SDK and WDL\lice
https://github.com/Youlean/WDL-Youlean
|
|
|
02-27-2017, 06:57 AM
|
#19
|
Human being with feelings
Join Date: Apr 2016
Posts: 264
|
Quote:
Originally Posted by Youlean
I am not sure about AAX, but VST2 will be fine, though I think VST3 needs c++11 so you will need to use at least 10.7 SDK with 10.7 minimum version.
To sum this up, use 10.7 SDK with minimum OS version set to 10.7 and enable c++11 (to save your life) by changing CLANG_CXX_LANGUAGE_STANDARD = c++0x to CLANG_CXX_LANGUAGE_STANDARD = c++11.
If you want to use 10.12 to target 10.7 (save yourself a pain and don't go below that) you will probably need to edit LICE project and VST3 project if you get warning that are telling you that you might have linker problems. Anyways look projects at my branch in VST3_SDK and WDL\lice
https://github.com/Youlean/WDL-Youlean
|
Yes!
It solved my problem.Just used base sdk 10.5 and deployment target 10.5.Now my AUs working.
When i build AAX,i will follow your way.
Thank you so much!
|
|
|
03-01-2017, 04:30 PM
|
#20
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Tunca
Thank you so much!
|
No problem. I really hate this WDL bugs that need to be solved by everybody individually.
|
|
|
03-02-2017, 12:24 PM
|
#21
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
Interesting. I'm also trying to solve these issues (oval working, but not garageband), but I can't compile IPlugDistortion on Youlean/master. Is there something that needs to be added to make this work (I'm targeting 10.11, as older versions are more cumbersome to support, and let's try with something that I can test!)
|
|
|
03-02-2017, 03:10 PM
|
#22
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Matthieu Brucher
Interesting. I'm also trying to solve these issues (oval working, but not garageband), but I can't compile IPlugDistortion on Youlean/master. Is there something that needs to be added to make this work (I'm targeting 10.11, as older versions are more cumbersome to support, and let's try with something that I can test!)
|
Sorry about examples, they are not all updated with my GUI resize code. Try IPlugEffect first. I will update all examples soon. The only difference from WDL-OL is that you are creating bitmap pointers instead of objects. Maybe there is something else, but I can't remember now...
|
|
|
03-02-2017, 03:37 PM
|
#23
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
I migrated IPlugDistortion, I suppose I could do the same for IPlugEffect, but I suppose I would end up with the same issues. Must be something wrong in my config :/
|
|
|
03-02-2017, 04:08 PM
|
#24
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Matthieu Brucher
I migrated IPlugDistortion, I suppose I could do the same for IPlugEffect, but I suppose I would end up with the same issues. Must be something wrong in my config :/
|
OK. What errors are you getting?
|
|
|
03-02-2017, 04:11 PM
|
#25
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
That's the issue, auval works, but doesn't show up in aulab or Garageband, even after deleting the cache. And I don't know how to get the log for garageband.
|
|
|
03-02-2017, 04:15 PM
|
#26
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Matthieu Brucher
That's the issue, auval works, but doesn't show up in aulab or Garageband, even after deleting the cache. And I don't know how to get the log for garageband.
|
So this is happening with IPlugEffect from my branch too? Are you using same SDK version and target OS in general settings? In what OS version is this happening?
|
|
|
03-02-2017, 04:21 PM
|
#27
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
I haven't ported IPlugEffect yet. This happens now with SDK and target = 10.8, on OS X 10.11.
|
|
|
03-02-2017, 04:27 PM
|
#28
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Matthieu Brucher
I haven't ported IPlugEffect yet. This happens now with SDK and target = 10.8, on OS X 10.11.
|
OK. Then this isn't probably linker problem. AU had one bug that I have fixed, so maybe this was the problem as my plugin is working nicely in garageband. Look here: https://github.com/Youlean/WDL-Youle...8b7a3e4025d711
|
|
|
03-02-2017, 04:35 PM
|
#29
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
Just tried again with SDK 10.11 (in Xcode, it couldn't acknowledge 10.8), but same issue with your master branch. No way of getting a log from Garageband, I suppose?
|
|
|
03-02-2017, 04:41 PM
|
#30
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Matthieu Brucher
Just tried again with SDK 10.11 (in Xcode, it couldn't acknowledge 10.8), but same issue with your master branch. No way of getting a log from Garageband, I suppose?
|
I don't know about garageband. Are you sure that garageband is searching correct AU path? Is my plugin working for you? What is your garageband version?
http://youlean.co/youlean-loudness-meter/
|
|
|
03-02-2017, 04:53 PM
|
#31
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
GarageBand '11, 6.0.5 and yes, your plugin shows up without a problem, but IPlugEffect compiled with my setup on your master branch (after adding IPlugAutomation and IPlugResize + all swell mm files) doesn't.
|
|
|
03-03-2017, 03:22 AM
|
#32
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
It seems that GarageBand uses the 32bits version of the AU... Meaning I'll have to build ATK in 32bits again then.
At least I have one version that works now...
|
|
|
03-03-2017, 03:27 AM
|
#33
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Matthieu Brucher
It seems that GarageBand uses the 32bits version of the AU... Meaning I'll have to build ATK in 32bits again then.
At least I have one version that works now...
|
Ok, good. Note that wdl builds x86_x64 universal binary when you select x64 in project, so it would be good to build ATK for x86_x64 too...
|
|
|
03-03-2017, 04:07 AM
|
#34
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
Before, I removed all that universal binary part, worked OK with validation, but it seems that there are still some 32bits platforms around. And it's a pain.
Anyway, now I just need to convert to your API (changing the bitmap stuff).
Thanks for the help!
|
|
|
03-03-2017, 04:15 AM
|
#35
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Matthieu Brucher
Before, I removed all that universal binary part, worked OK with validation, but it seems that there are still some 32bits platforms around. And it's a pain.
Anyway, now I just need to convert to your API (changing the bitmap stuff).
Thanks for the help!
|
No problem, I am glad that you found your problem.
NOTE for my branch: Bitmap resizing is totally unoptimized and it was just rigged to work. (bi linear resizing algorithm) IPlugAnimation will probably change it's API as I think that I found a better way for implementing it, but this won't happen soon.
Also live editing works but it will totally be changed, but for now I don't have time to do this.
|
|
|
03-03-2017, 04:54 AM
|
#36
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
I'm not using them anyway, so that's good.
The issues I currently have though are:
- what is the proper way to create an image and use it? IPlugEffect has artefacts and the image gets whiter and whiter when moving the fader
- my own plugins still won't show up in GarageBand, probably due to some i386 issue (had to update to SDK10.11 because building ATK with 10.8 was more than painful with CMake not doing its job).
|
|
|
03-03-2017, 05:19 AM
|
#37
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Matthieu Brucher
I'm not using them anyway, so that's good.
The issues I currently have though are:
- what is the proper way to create an image and use it? IPlugEffect has artefacts and the image gets whiter and whiter when moving the fader
- my own plugins still won't show up in GarageBand, probably due to some i386 issue (had to update to SDK10.11 because building ATK with 10.8 was more than painful with CMake not doing its job).
|
Sorry about that. This is because I am using cairo with my plugin.
Change IGraphicsMac.mm
From:
CGDataProviderRef provider = CGDataProviderCreateWithData(NULL,retina_buf ? retina_buf : p,4*sw*h,NULL);
img = CGImageCreate(w,h,8,32,4*sw,(CGColorSpaceRef)mColo rSpace,
(kCGImageAlphaPremultipliedFirst | kCGBitmapByteOrder32Little),
provider,NULL,NO,kCGRenderingIntentDefault);
CGDataProviderRelease(provider);
To:
CGDataProviderRef provider = CGDataProviderCreateWithData(NULL,retina_buf ? retina_buf : p,4*sw*h,NULL);
img = CGImageCreate(w,h,8,32,4*sw,(CGColorSpaceRef)mColo rSpace,
kCGImageAlphaPremultipliedFirst,
provider,NULL,NO,kCGRenderingIntentDefault);
CGDataProviderRelease(provider);
|
|
|
03-03-2017, 07:10 AM
|
#38
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
Thx. I'll try that as soon as I have my setup running again.
Seems like AU doesn't support mono plugins in GarageBand? If I change the PLUG_CHANNEL_IO to 2-2, then it works, even if my plugin isn't stereo (so GarageBand should actually ask to convert the track to mono instead of utterly failing)
|
|
|
03-03-2017, 07:14 AM
|
#39
|
Human being with feelings
Join Date: May 2015
Location: Serbia
Posts: 654
|
Quote:
Originally Posted by Matthieu Brucher
Thx. I'll try that as soon as I have my setup running again.
Seems like AU doesn't support mono plugins in GarageBand? If I change the PLUG_CHANNEL_IO to 2-2, then it works, even if my plugin isn't stereo (so GarageBand should actually ask to convert the track to mono instead of utterly failing)
|
OK. I don't know if this is Garageband fault because channels different than stereo are kinda buggy in WDL. My suggestion is add both option by using 1-1 2-2 (you can have multiple setups).
|
|
|
03-03-2017, 07:17 AM
|
#40
|
Human being with feelings
Join Date: Jun 2014
Location: Oxford UK
Posts: 27
|
Well, they worked for other plugins before. In this case, the plugin is mono and now shows up in AUlab, so I would assume that it would in Logic as well.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 05:23 AM.
|