Re: Two Audio Units with the same View class. Only one shows in DAW.
Re: Two Audio Units with the same View class. Only one shows in DAW.
- Subject: Re: Two Audio Units with the same View class. Only one shows in DAW.
- From: Brian Willoughby <email@hidden>
- Date: Tue, 28 Nov 2017 15:32:39 -0800
Hi Mike,
This AudioUnit issue is basically entirely due to a limitation of Objective C.
There are no namespaces in Objective C. I am a little surprised that ObjC2 did
not add a namespace feature. (*)
Usually, the namespace collisions do not occur because most Cocoa developers
build all of their code into an application without plugins. The AudioUnit case
is somewhat unique, because ObjC code from many different developers ends up
being loaded into the same application (Logic, Live, etc.) where the class name
conflicts can occur. It's very hard to coordinate names among different
developers, so one solution is to register with Apple for a free Creator Code
and use that four-character string as a prefix to all custom classes. Since
Apple guarantees that Creator Codes will not conflict, that guarantees the
class names won't conflict between developers (if they use this technique).
Jeff has a particularly difficult challenge, because his wrapper is intended to
be used by many different developers. Unless the wrapper build environment
requires some sort of developer code, then there's no easy way to segregate
developers.
By the way, Jeff, you could look into Xcode templates, where you could query
your wrapper users for a unique Manufacturer code that would then be used as
part of the CocoaUI class name. Not sure how much that would help.
Brian Willoughby
* In my opinion, the dynamic polymorphism features of ObjC are worth it, even
if they come with this namespace problem.
On Nov 28, 2017, at 3:22 PM, Admiral Quality <email@hidden> wrote:
> Have Apple ever explained why there's no namespace feature to avoid
> this nonsense?
>
> And yes, any UUID should do. A suitably long hash of the current time
> is probably a fairly safe bet.
>
> - Mike/AQ
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden