Re: Developing Tool for Audio program
Re: Developing Tool for Audio program
- Subject: Re: Developing Tool for Audio program
- From: James Coker <email@hidden>
- Date: Sat, 20 Dec 2003 13:28:23 -0700
On Friday, December 19, 2003, at 02:56 PM, Brian Willoughby wrote:
[ I pretty much agree with all these points, but
[ I'd say that Cocoa is definitely much easier to
[ get started with. There are several good Cocoa
[ books at oreilly.com, and many of the CoreAudio
[ examples use Cocoa. However, if you decide to
[ develop AudioUnits, you're pretty much stuck
[ with C++ and Carbon
I'm with you so far...
[ -- as the AU SDK is in C++ (for good reasons),
... but phrase this seems to imply that there would have been some
sort of
problem, had Apple chosen ObjC for AudioUnits. I want to point out
that there
is nothing about the Objective-C language which would have prevented
AudioUnits
from having all of the same features that it offers now - in fact,
some things
would be superior. As with any new API or class design, the language
choice
between C++ and ObjC is up to the party developing the collection.
Each
language has unique benefits, and each has disadvantages. Apple could
just as
easily have written the AudioUnits framework in ObjC. In fact, NeXT
wrote the
entire DriverKit in Objective-C, and all Audio Devices and MIDI
peripherals had
their drivers written in ObjC. If you can write low-level drivers in
ObjC,
then I see no reason why you cannot write plug-ins in the same
language.
Performance of ObjC is on par with C++. As an interesting aside, the
IOKit
uses a subset of C++ to avoid the (performance and code bloat)
disadvantages of
the general C++ language.
Fair enough. I'd certainly prefer to use Obj-C for AU internals --
though
I would be concerned about method-lookup overhead. As much
as I like OO languages (and Obj-C in particular), I tend to be very
conservative about audio and MIDI code and thus tend to use plain
C for that stuff.
Sorry for the pedantic reply, but I would not want newcomers to get
the wrong
impression.
[ and almost all AU Hosts only support Carbon
[ UI's for Audio Units -- though I suspect Cocoa
[ AU support will happen over the next few months
[ for at least some hosts...
True. Hopefully, as AU developers, we'll be able to release AUs with
support
for both Carbon and Cocoa, and eventually the hosts will support Cocoa
UI.
I do plan on adding support for Cocoa AU's in Numerology, but I'm
also juggling a few dozen other features....
Cheers,
Jim
_______________________________________________
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.