[MacRuby-devel] unrecognized runtime type `{OpaqueExtAudioFile}
Emil Tin
emil at tin.dk
Sun Aug 15 08:50:41 PDT 2010
I'm trying to load audio data using ExtAudioFileOpenURL() in the AudioToolbox, but seem to have a problem with the pointer gymnastics involved.
First I created a BridgeSuppport file using:
gen_bridge_metadata -f AudioToolbox -o AudioToolbox.bridgesupport
I'm then using code like this:
#load bridgesuppport file
framework 'AudioToolbox'
load_bridge_support_file "#{File.dirname(__FILE__)}/AudioToolbox.bridgesupport"
#open audio file
fileURL = NSURL.fileURLWithPath "#{File.dirname(__FILE__)}/Blow.aiff"
fileRef = Pointer.new_with_type '^{OpaqueExtAudioFile}'
raise "Can't open audio file" unless ExtAudioFileOpenURL(fileURL, fileRef)==0 #ok
#read audio file
ioNumberFramesPtr = Pointer.new_with_type 'I'
ioNumberFramesPtr[0] = 800
ioDataPtr = Pointer.new_with_type '^{AudioBufferList}'
raise "Can't read audio file" unless ExtAudioFileRead(fileRef[0], ioNumberFramesPtr, ioDataPtr)==0 # error
but runnig this from xcode the last line causes:
/Users/emiltin/Desktop/builds/Debug/Waveform.app/Contents/Resources/MyView.rb:101:in `awakeFromNib': unrecognized runtime type `{OpaqueExtAudioFile}' (TypeError)
from /Users/emiltin/Desktop/builds/Debug/Waveform.app/Contents/Resources/rb_main.rb:11:in `<main>'
The problem seem to occur where I access fileRef[0]. Am I doing something wrong here?
Thanks,
Emil
From the generated BridgeSupport file:
<function name='ExtAudioFileOpenURL'>
<arg type='^{__CFURL=}'/>
<arg type='^^{OpaqueExtAudioFile}'/>
<retval type='l'/>
</function>
<function name='ExtAudioFileRead'>
<arg type='^{OpaqueExtAudioFile=}'/>
<arg type='^I'/>
<arg type='^{AudioBufferList=I[1{AudioBuffer=II^v}]}'/>
<retval type='l'/>
</function>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20100815/6a2f170c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1920 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20100815/6a2f170c/attachment.bin>
More information about the MacRuby-devel
mailing list