MusicDeviceMIDIEvent() and AudioUnit / DLS
MusicDeviceMIDIEvent() and AudioUnit / DLS
- Subject: MusicDeviceMIDIEvent() and AudioUnit / DLS
- From: Rolf Nilsson <email@hidden>
- Date: Thu, 28 Nov 2002 22:16:24 +0100
I've added support for CoreAudio - AudioUnit/Music Device in my app
and everything works OK.
Also loads DLS/SoundFont files with
kMusicDeviceProperty_SoundBankFSSpec OK.
But when using a certain sf2 file and sending a program change event
with MusicDeviceMIDIEvent()
it crashes (see crash log below).
I've loaded the same file into Peter Yandell's SimpleSynth to compare,
it crashes as well when receiving the same MIDI event.
There may be an error in the sf2 file but the AudioUnit loads and play
it OK until this single program change event arrives.
either if I send it via MIDI to SimpleSynth or sending it inside my app
with MusicDeviceMIDIEvent().
I'm pretty sure there is no error either in my app or in the
SimpleSynth ,it rather seems as the AudioUnit don't deal OK
with an sf2 file that may be problematic.
The file in question may be found here:
http://www.personal.psu.edu/kmn140/reality.sit
sending a program change event (0xC3, 0x10) chrashes the app that
loaded the file.
Thanks for any insight in this matter
Rolf Nilsson/Roni Music
------------ part of crash log ---------
Date/Time: 2002-11-28 20:08:30 +0100
OS Version: 10.2.2 (Build 6F21)
Command: Sweet MIDI X
PID: 531
Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_INVALID_ADDRESS (0x0001) at 0xa1b56f80
Thread 3 Crashed:
#0 0x0124e814 in SFSampleDataChunk::LoadSample(long, long, long,
long)
#1 0x0124a14c in PoolTable::GetWave(unsigned long)
#2 0x0124a98c in DlsRegion::ReferenceSampleData()
#3 0x01249590 in DlsInstrument::ReferenceInstrument()
#4 0x0122fcf4 in MidiControllers::ProgramChange(unsigned char)
#5 0x0122ac0c in AUMIDIBase::HandleMidiEvent(unsigned char, unsigned
char, unsigned char, unsigned char, long)
#6 0x0122ad6c in
AUMIDIBase::ComponentEntryDispatch(ComponentParameters*, AUMIDIBase*)
#7 0x0122b06c in
MusicDeviceBase::ComponentEntryDispatch(ComponentParameters*,
MusicDeviceBase*)
#8 0x01279678 in
ComponentEntryPoint<SynthInstance>::Dispatch(ComponentParameters*,
SynthInstance*)
#9 0x91eb075c in MusicDeviceMIDIEvent
#10 0x000381f4 in MyDLSSynth::MIDISendChannelEvent(unsigned char*)
#11 0x00007d0c in OutputToDLSMusicDevice(char, unsigned char,
unsigned char, unsigned char) (NEW_TIM.CPP:832)
#12 0x00004a70 in midi_out_short_3(char, unsigned char, unsigned
char, unsigned char) (CHECK_FL.CPP:276)
#13 0x00007f8c in midi_out_short_1(char, unsigned char, unsigned
char, unsigned char) (NEW_TIM.CPP:916)
#14 0x000074c8 in seq_loop(arrange*, trackdata*, char*, unsigned
long*, unsigned char**, unsigned char**) (NEW_TIM.CPP:330)
#15 0x00006b6c in MidiTimerCallback() (MIDI_DLL.CPP:385)
#16 0x0001814c in My_500Hz_TimerFunction(TMTask*) (My_timers.c:42)
#17 0x9023c30c in TimerThread
#18 0x90021268 in _pthread_body
_______________________________________________
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.