[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