Re: A couple of high-level questions
Re: A couple of high-level questions
- Subject: Re: A couple of high-level questions
- From: Jens Bauer <email@hidden>
- Date: Wed, 4 Feb 2004 06:05:44 +0100
Hi Hamish,
I can't answer the audio-questions, I'll leave those up to the experts.
:)
But when it comes to displaying information in real-time, I have some
(minor) experience.
When I wrote an oscilloscope, I found out that...
* Using NSBezierPath is a very stupid idea. =)
* Using NSRectFill is performing a bit better, but not excellent.
* QuickDraw seems to work faster.
* Drawing directly into an NSImage and blitting that onto the screen
seems to work for small oscilloscopes.
* Using OpenGL and drawing lines using quads seems to be excellent.
(if anyone disagrees, please override my email)
On Wednesday, Feb 4, 2004, at 05:06 Europe/Copenhagen, Hamish Allan
wrote:
I'm planning to write an application with an interface allowing for
direct interaction with a visual representation of an audio file
(c.f., Sound Studio or Soundtrack Loop Utility).
I want to be able to read a variety of file formats (AIFF, WAV, MP3,
AAC), but get access to PCM data for direct manipulation, Fourier
analysis, etc. I am assuming that this can be achieved through
QuickTime?
Then I want to be able to correlate the visual representation with the
audio during playback (e.g., the canonical line which moves across the
screen showing which part of the sample is currently playing). I'm
thinking I would do this by invalidating a custom NSView during those
callbacks in which I calculate that the line needs moved. Is this a
reasonable way to do it?
Is CoreAudio better suited to this purpose than the Carbon Sound
Manager? Also, I am wondering what I might gain (apart from minimal
performance increments) by using CoreAudio instead of PortAudio?
Love,
Jens
_______________________________________________
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.