Does this C callback call look correct?

WhatMeWorry via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri May 27 16:20:19 PDT 2016


// Specification from ALURE documentation

ALURE_API ALboolean ALURE_APIENTRY
alurePlaySourceStream(
ALuint      source,
alureStream *stream,
ALsizei     numBufs,
ALsizei     loopcount,
void        (*eos_callback)(void *userdata, ALuint source),
void        *userdata
)

// My D code, below compiles and links and when I execute it
// I get a beep sound (which is as expected), but ALURE never
// calls my eos_callback function no matter how long I wait.

extern (C) void eos_callback(void *unused, ALuint unused2)
{
     writeAndPause("End Of Streaming");
}

if (alurePlaySourceStream(
source,
stream,
numBuffs,
loopStreamCount,
&eos_callback,    // end of stream callback
cast (void *) 0) == AL_FALSE)


Am I missing something?  I'm using Derelict ALURE.  I've looked 
on github but there seems to be no D code using this technique.




More information about the Digitalmars-d-learn mailing list