Re: OMS and Carbon
Re: OMS and Carbon
- Subject: Re: OMS and Carbon
- From: email@hidden (Stefan Haller)
- Date: Wed, 24 Apr 2002 11:03:44 +0200
- Organization: Ableton AG
Jeff Evans <email@hidden> wrote:
>
I notice that OMSGluePPC.lib calls CallUniversalProc(), which is not
>
supported in Carbon.
We got around this by defining our own function CallUniversalProc; this
satisfies the linker. In this function, we call through to the real
CallUniversalProc that we loaded manually from InterfaceLib before. I
had to write some assembly glue to make this work, because of the
variable-length argument list of CallUniversalProc and the translation
from normal function call to TVector call. It's a bit of a hack, but it
works quite well for us. (Heck, when you have to load CFM VST plugins
into a Mach-O host, you get used to writing assembly glue...)
I'm not sure if I'm allowed to post the code here, but if anybody wants
it, I can check with management.
However, it may be easier to put OMSGluePPC.lib into a separate shared
library that links against InterfaceLib and that you load at runtime.
>
And there are a few other things in OMS that are not
>
Carbon-friendly.
The only other issue that came up for us was calls like NewOMSAppHook
and NewOMSReadHook2, which are macros that resolve to
NewRoutineDescriptor. This is easily solved by providing your own
(inline) function NewRoutineDescriptor that simply calls through to the
NewRoutineDescriptor symbol that you loaded from InterfaceLib.
--
Stefan Haller
Ableton AG
http://www.ableton.com/
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.