On Tue, 2010-06-29 at 22:15 +0100, Harry Van Haaren wrote:
enum
{ /* True and false */
SF_FALSE = 0,
SF_TRUE = 1,
/* Modes for opening files. */
SFM_READ = 0x10,
SFM_WRITE = 0x20,
SFM_RDWR = 0x30,
SF_AMBISONIC_NONE = 0x40,
SF_AMBISONIC_B_FORMAT = 0x41
} ;
Is the one I'm stuck on now. I tried this in the .vapi:
class Sndfile
{ // all other functions ommitted for brevity
[CCode (cname="")]
public enum FileMode
{ /* True and false */
SF_FALSE = 0,
SF_TRUE = 1,
/* Modes for opening files. */
SFM_READ = 0x10,
SFM_WRITE = 0x20,
SFM_RDWR = 0x30,
SF_AMBISONIC_NONE = 0x40,
SF_AMBISONIC_B_FORMAT = 0x41
}
}
but the C output goes like so SNDFILE_FILE_MODE_SFM_READ while I
want SFM_READ.
I hoped that the cname="" would clear the SNDFILE_FILE_MODE_ from
the start but it didnt..
Hi,
what a bad enum: it seems more as an aggregate of constants!
Attached you can find an example vapi, but be aware that I haven't
tested it.
Here a vala snippet to test it:
using SndFile;
int main()
{
var fm = FileMode.READ;
var info = Info ();
var file = File.open ("test.wav", fm, ref info);
return 0;
}
You can look also at the posix.vapi (/usr/share/vala/vapi/posix.vapi).
Regards,
Andrea
Attachment:
sndfile.vapi
Description: Text Data