[MacRuby-devel] BridgeSupport and Parameter Errors
Edward Hynes
mred at dharmagaia.com
Wed Sep 9 10:00:33 PDT 2009
I'm trying to re-implement the PlaySoftMIDI example from the Xcode
installation in MacRuby, but am getting parameter errors. Could some
kind soul point me in the right direction?
Below is a small example that ends with a parameter error. The call
to NewAUGraph appears to work, returning a zero, but the call to
AUGraphAddNode returns -50.
framework 'AudioToolbox'
framework 'AudioUnit'
load_bridge_support_file 'bridgesupport/Application.bridgesupport'
load_bridge_support_file 'bridgesupport/AudioToolbox.bridgesupport'
load_bridge_support_file 'bridgesupport/AudioUnit.bridgesupport'
outGraph = Pointer.new_with_type '^{OpaqueAUGraph}'
result = NewAUGraph outGraph # returns 0
puts result
cd = ComponentDescription.new
cd.componentManufacturer = KAudioUnitManufacturer_Apple
cd.componentType = KAudioUnitType_MusicDevice
cd.componentSubType = KAudioUnitSubType_DLSSynth
cd_ptr = Pointer.new_with_type '{ComponentDescription=IIIII}'
cd_ptr.assign cd
synthNode = Pointer.new_with_type 'i'
result = AUGraphAddNode outGraph[0], cd_ptr, synthNode # returns -50
puts result
I generated the bridge support files with
gen_bridge_metadata -f AudioToolbox -o AudioToolbox.bridgesupport
gen_bridge_metadata -f AudioUnit -o AudioUnit.bridgesupport
The Application.bridgesupport file contains struct and cftype
definitions for ComponentDescription. They were generated using a
header file since I couldn't figure out how to generate them from the
CarbonCore framework directly. Any help would be appreciated.
Thanks,
Ed
More information about the MacRuby-devel
mailing list