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();