COCKOS
CONFEDERATED FORUMS
Cockos : REAPER : NINJAM : Forums
Forum Home : Register : FAQ : Members List : Search :
Old 09-11-2017, 09:59 AM   #1
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: York, UK
Posts: 977
Default AudioUnits & High Sierra

it seems that apple are finally removing the Carbon Component Manager from their products in 10.13. This has been warned since the 10.7 sdk which introduced a new entry point for audiounits.

As far as i can tell this means current IPlug plugins won't load in garageband or logic on 10.13 although they show up in auval, making me think other hosts might be ok.

Thanks to some funding, I have implemented AudioComponent support in wdl-ol and will roll it in shortly.

https://developer.apple.com/library/...76/_index.html
https://developer.apple.com/library/...47/_index.html

just a heads up that you may want to delay any updates until you can include this!
__________________
VirtualCZ | pMix | Endless Series | WDL-OL | Linkedin | Patreon
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Old 09-11-2017, 10:28 AM   #2
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 481
Default

Thanks Oli. I was planning looking at this though I know very little about how AU works in IPlug.
__________________
Website: https://youlean.co, Facebook: https://www.facebook.com/itsYoulean/
Youlean is online now   Reply With Quote
Old 09-11-2017, 11:54 AM   #3
stw
Human being with feelings
 
Join Date: Apr 2012
Posts: 213
Default

Thanks for taking care, Oli!
stw is online now   Reply With Quote
Old 09-11-2017, 12:44 PM   #4
gstuff
Human being with feelings
 
Join Date: Feb 2014
Posts: 49
Default

Just did some tests in the latest 10.13 beta, with a couple of my iPlug AUs.

Neither shows up at all in auval, or Reaper64 or Garageband. That includes a plugin from a couple of years ago using basic WDL-OL and one using my fork of WDL-OL with Carbon completely removed.

Both plugins validate in auval and load in all hosts on 10.12.

Last edited by gstuff; 09-11-2017 at 12:49 PM.
gstuff is offline   Reply With Quote
Old 09-19-2017, 10:26 AM   #5
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: York, UK
Posts: 977
Default

initial work and modifications to IPlugEffect here:

https://github.com/olilarkin/wdl-ol/tree/audiocomponent

as you will see I have modified

IPlugAU.h
IPlugAU.cpp
IPlugAUViewFactory.mm
IPlug_include_in_plug_src.h

IPlugEffect Example

notable changes:

- there are 2 new elements in resource.h
#define PLUG_FACTORY IPlugEffect_Factory
#define PLUG_COPYRIGHT "Copyright 2017 Acme Inc"
- now I have to use a python script to generate the Info.plist file, because there are elements from resource.h that need to go in the plist file, this is called from a new build phase in the xcode project, but you could also generate the plist files manually
- I also want to make the script edit the .exp file, but I have a small bug that I haven't been able to fix yet, so if you’re manually updating the.exp file you need to add e.g. _IPlugEffect_Factory
- you need to compile against 10.7 SDK+ for audiocomponent entry point support. I recommend 10.9+

any feedback/testing much appreciated (with pre 10.7 SDK etc also)

I don't have a 10.5/10.6 machine so unable to test if it still works there.

had to comment out some stuff here https://github.com/olilarkin/wdl-ol/...ugAU.cpp#L1481

which may cause issues.. need to think more about that

If anyone wants to test compiled .component here it is

https://www.dropbox.com/s/tzr0uqyy7j...onent.zip?dl=0
__________________
VirtualCZ | pMix | Endless Series | WDL-OL | Linkedin | Patreon
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)

Last edited by olilarkin; 09-19-2017 at 11:02 AM.
olilarkin is online now   Reply With Quote
Old 09-19-2017, 01:29 PM   #6
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 481
Default

Thanks Oli. I tried your plugin and it works here on SIera. I will check what is going on in code later.

Why we need to have copyright macro now? In previous versions we changed that manually in plist file...
__________________
Website: https://youlean.co, Facebook: https://www.facebook.com/itsYoulean/
Youlean is online now   Reply With Quote
Old 09-19-2017, 01:32 PM   #7
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 481
Default

BTW, I am really happy that you are still working on WDL. Thanks for that!
__________________
Website: https://youlean.co, Facebook: https://www.facebook.com/itsYoulean/
Youlean is online now   Reply With Quote
Old 09-19-2017, 01:57 PM   #8
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: York, UK
Posts: 977
Default

to compile with this new "audio component" entry point, we need an entry in the plist file which changes depending on the channel config etc. If you compile against the 10.6 or lower sdk, you end up with a plug-in that doesn't validate if that thing exists in the plist file. So I made a python script to generate the plist file automatically based on the settings in resource.h and config.xcconfig. if you know what you're doing you can still generate these things manually, but I prefer it if beginners have as few hurdles as possible. On the flipside this means the forum is not full up of people saying "oh it doesn't work straightaway it's rubbish". I expect everyone will compile against more recent sdks anyway but I did this just in case.

sometimes it's nice to write something unique in the copyright string so I added that thing but you don't have to, as I said you can do it manually

https://github.com/olilarkin/wdl-ol/...plists.py#L227
__________________
VirtualCZ | pMix | Endless Series | WDL-OL | Linkedin | Patreon
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Old 09-19-2017, 02:42 PM   #9
Youlean
Human being with feelings
 
Youlean's Avatar
 
Join Date: May 2015
Location: Serbia
Posts: 481
Default

Quote:
Originally Posted by olilarkin View Post
to compile with this new "audio component" entry point, we need an entry in the plist file which changes depending on the channel config etc. If you compile against the 10.6 or lower sdk, you end up with a plug-in that doesn't validate if that thing exists in the plist file. So I made a python script to generate the plist file automatically based on the settings in resource.h and config.xcconfig. if you know what you're doing you can still generate these things manually, but I prefer it if beginners have as few hurdles as possible. On the flipside this means the forum is not full up of people saying "oh it doesn't work straightaway it's rubbish". I expect everyone will compile against more recent sdks anyway but I did this just in case.

sometimes it's nice to write something unique in the copyright string so I added that thing but you don't have to, as I said you can do it manually

https://github.com/olilarkin/wdl-ol/...plists.py#L227
OK, thanks!
__________________
Website: https://youlean.co, Facebook: https://www.facebook.com/itsYoulean/
Youlean is online now   Reply With Quote
Old 09-19-2017, 11:18 PM   #10
bozmillar
Human being with feelings
 
bozmillar's Avatar
 
Join Date: Sep 2009
Posts: 566
Default

Thanks for this update. I'll give it a spin. When is 10.13 supposed to go live?
__________________
http://www.bozdigitallabs.com
bozmillar is offline   Reply With Quote
Old 09-20-2017, 08:51 AM   #11
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 156
Default

Thank you for your work Oli, I'll try to port a test plugin on the new AU interface and test it on High Sierra (it's finishing installing as I'm typing...)

High Sierra is set to be released on 25th September, but I have a release of a new plugin set for the 22nd so i don't know if i'll be able to test it before that date.

We'll issue a mail to our customer telling them to not upgrade to 10.13 before we update our AU.

Hopefully the tests can be carried over in a couple of days.

Saverio
HoRNet is offline   Reply With Quote
Old 09-20-2017, 09:44 AM   #12
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: York, UK
Posts: 977
Default

if anyone has a 10.5/6 system to try that IPlugEffect on please let me know
__________________
VirtualCZ | pMix | Endless Series | WDL-OL | Linkedin | Patreon
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Old 09-20-2017, 01:08 PM   #13
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 156
Default

Quote:
Originally Posted by olilarkin View Post
if anyone has a 10.5/6 system to try that IPlugEffect on please let me know
I have found a 10.6 disk and I'll install it now on my test machine.

In the meanwhile I've tested the component you built (and attached to the previous post) with the High Sierra Beta, it validates with oval and works fine both in Reaper and GarageBand.
I don't have Logic Pro X on this machine but we can be pretty confident that it'll work there too.

Saverio
HoRNet is offline   Reply With Quote
Old 09-21-2017, 01:11 AM   #14
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 156
Default

Ok I've tested the component you built with 10.6 and it doesn't work there.

I've only used auval, but it says that the component cannot be found. I think we need to set the minimum requirement to 10.7 now.

Saverio
HoRNet is offline   Reply With Quote
Old 09-21-2017, 03:49 AM   #15
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 156
Default

*** BREAKING NEWS***

At least with the High Sierra latest beta I've downloaded yesterday, it seems that our old audio units validate with auval and are correctly loaded by Reaper.



It's good to have au v2 support, but there's no rush in releasing updated plugins.

Saverio
HoRNet is offline   Reply With Quote
Old 09-21-2017, 04:36 AM   #16
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 156
Default

Quote:
Originally Posted by HoRNet View Post
*** BREAKING NEWS***

At least with the High Sierra latest beta I've downloaded yesterday, it seems that our old audio units validate with auval and are correctly loaded by Reaper.



It's good to have au v2 support, but there's no rush in releasing updated plugins.

Saverio
UPDATE:

In GarageBand at least the old audio units appear in the plugin menu and validate, but if you try to add them to a track it says that you cannot use the plugin, I'm still waiting for the Logic Pro download to finish, i'll test it too and report.

Saverio
HoRNet is offline   Reply With Quote
Old 09-21-2017, 02:18 PM   #17
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: York, UK
Posts: 977
Default

Sigh, I've had other reports of very weird behaviour with the developer preview. If they don't deprecate it in the final release they probably will in the next version, so we are going to need this stuff at some point!
__________________
VirtualCZ | pMix | Endless Series | WDL-OL | Linkedin | Patreon
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Old 09-21-2017, 02:19 PM   #18
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: York, UK
Posts: 977
Default

Like most big companies do I would recommend your uses not to upgrade immediately!
__________________
VirtualCZ | pMix | Endless Series | WDL-OL | Linkedin | Patreon
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Old 09-21-2017, 04:27 PM   #19
HoRNet
Human being with feelings
 
Join Date: Feb 2011
Posts: 156
Default

Quote:
Originally Posted by olilarkin View Post
Like most big companies do I would recommend your uses not to upgrade immediately!
That's for sure. I was just carrying some tests to see how the current au behave, I have some more DAWs to test and i'll keep doing the tests tomorrow on Logic Pro, Studio One and Digital Performer.

BTW the IPlugEffect you built work flawlessly everywhere, including GB!
HoRNet is offline   Reply With Quote
Old Yesterday, 07:37 AM   #20
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: York, UK
Posts: 977
Default

with auval, you can add -comp to open from the component manager entry point. This works fine on my 10.12 machine for the IPlugEffect, it hits a breakpoint there. It also hits the factory breakpoint without -comp. Not sure why this wouldn't also work on 10.6.
__________________
VirtualCZ | pMix | Endless Series | WDL-OL | Linkedin | Patreon
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Old Today, 03:30 AM   #21
gstuff
Human being with feelings
 
Join Date: Feb 2014
Posts: 49
Default

With your dropbox build and the -comp flag, I get AU VALIDATION FAILED in 10.13:

Code:
auval  -v aufx Ipef Acme -comp

--------------------------------------------------
VERIFYING SPECIAL PROPERTIES:

VERIFYING CUSTOM UI
Cocoa Views Available: 1
  IPlugEffect_View
    PASS

DEFAULT PRESET: 0, Name: -

HAS FACTORY PRESETS
    ID:   0    Name: -

VERIFYING CLASS INFO
ERROR: -3000 IN CALL ClassInfo::GetProperty() call doesn't work when it is supposed to.

TESTING HOST CALLBACKS
    PASS

* * FAIL

Last edited by gstuff; Today at 03:51 AM.
gstuff is offline   Reply With Quote
Old Today, 04:03 AM   #22
olilarkin
Human being with feelings
 
olilarkin's Avatar
 
Join Date: Apr 2009
Location: York, UK
Posts: 977
Default

interesting! looks like i might need to do some work on OSStatus IPlugAU::GetState(CFPropertyListRef* ppPropList)
__________________
VirtualCZ | pMix | Endless Series | WDL-OL | Linkedin | Patreon
Available for Audio Dev tuition via Skype (IPlug/JUCE/C++)
olilarkin is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 07:47 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.