DLS and offline rendering problems
DLS and offline rendering problems
- Subject: DLS and offline rendering problems
- From: Jeremy Sagan <email@hidden>
- Date: Thu, 20 Nov 2003 00:52:38 -0500
I am having major problems trying to capture audio out of the DLS
MusicDevice in a non-real-time thread. I have gone so far as to capture
the audio directly to a floating point AIF file directly on return from
the render call. I have done this to make sure that I have not
corrupted the data after it is returned to me.
The weird thing is that the same exact code called from the I/O thread
works fine. I think this code used to work in the non real-time thread
prior to 10.2.8 but I am not 100% sure.
What is happening is that every so often silence is introduced (silent
gaps) in the output of the DLS MusicDevice when rendering from a non
I/O thread making the output unacceptable. The note-ons (and other MIDI
data) are being sent from the same thread in both cases. I think the
only other difference is where the DLS get initialized since in both
cases it is initialized in a non-I/O thread. The silent gaps in the
audio occur much more frequently if the rendering frame size is small
(say 128). Even at big sizes (1024) silent gaps still occur. The gaps
are not consistent, meaning that if I run the render process twice I
will not get the same output file.
This problem does not happen with VST plug-ins or other Audio Unit
Synths. It is as though a real-time process is coming along and
clearing the DLS's buffer in the middle of the render or something.
I wonder if this is somehow related to the queuing mechanism introduced
to avoid stuck notes.
If Bill or Chris could give me a workaround it would be greatly
appreciated.
Thanks,
Jeremy
_______________________________________________
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.