5 volatile int isdone
= 0;
6 static void eos_callback(void *unused
, ALuint unused2
)
13 int main( int argc
, char **argv
)
19 fprintf(stderr
, "Usage %s <soundfile>\n", argv
[0]);
23 if(!alureInitDevice(NULL
, NULL
))
25 fprintf(stderr
, "Failed to open OpenAL device: %s\n", alureGetErrorString());
29 alGenSources(1, &src
);
30 if(alGetError() != AL_NO_ERROR
)
32 fprintf(stderr
, "Failed to create OpenAL source!\n");
33 alureShutdownDevice();
37 buf
= alureCreateBufferFromFile(argv
[1]);
40 fprintf(stderr
, "Could not load %s: %s\n", argv
[1], alureGetErrorString());
41 alDeleteSources(1, &src
);
43 alureShutdownDevice();
47 alSourcei(src
, AL_BUFFER
, buf
);
48 if(alurePlaySource(src
, eos_callback
, NULL
) == AL_FALSE
)
50 fprintf(stderr
, "Failed to start source!\n");
51 alDeleteSources(1, &src
);
52 alDeleteBuffers(1, &buf
);
54 alureShutdownDevice();
64 alDeleteSources(1, &src
);
65 alDeleteBuffers(1, &buf
);
67 alureShutdownDevice();