Mercurial > sdl-ios-xcode
diff test/loopwave.c @ 1662:782fd950bd46 SDL-1.3
Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API.
WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid.
The code is now run through a consistent indent format:
indent -i4 -nut -nsc -br -ce
The headers are being converted to automatically generate doxygen documentation.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 28 May 2006 13:04:16 +0000 |
parents | 8b9d79e7eacf |
children | 4da1ee79c9af |
line wrap: on
line diff
--- a/test/loopwave.c Sun May 21 17:27:13 2006 +0000 +++ b/test/loopwave.c Sun May 28 13:04:16 2006 +0000 @@ -16,114 +16,118 @@ #include "SDL.h" #include "SDL_audio.h" -struct { - SDL_AudioSpec spec; - Uint8 *sound; /* Pointer to wave data */ - Uint32 soundlen; /* Length of wave data */ - int soundpos; /* Current play position */ +struct +{ + SDL_AudioSpec spec; + Uint8 *sound; /* Pointer to wave data */ + Uint32 soundlen; /* Length of wave data */ + int soundpos; /* Current play position */ } wave; /* Call this instead of exit(), so we can clean up SDL: atexit() is evil. */ -static void quit(int rc) +static void +quit (int rc) { - SDL_Quit(); - exit(rc); + SDL_Quit (); + exit (rc); } -void SDLCALL fillerup(void *unused, Uint8 *stream, int len) +void SDLCALL +fillerup (void *unused, Uint8 * stream, int len) { - Uint8 *waveptr; - int waveleft; + Uint8 *waveptr; + int waveleft; - /* Set up the pointers */ - waveptr = wave.sound + wave.soundpos; - waveleft = wave.soundlen - wave.soundpos; + /* Set up the pointers */ + waveptr = wave.sound + wave.soundpos; + waveleft = wave.soundlen - wave.soundpos; - /* Go! */ - while ( waveleft <= len ) { - SDL_MixAudio(stream, waveptr, waveleft, SDL_MIX_MAXVOLUME); - stream += waveleft; - len -= waveleft; - waveptr = wave.sound; - waveleft = wave.soundlen; - wave.soundpos = 0; - } - SDL_MixAudio(stream, waveptr, len, SDL_MIX_MAXVOLUME); - wave.soundpos += len; + /* Go! */ + while (waveleft <= len) { + SDL_MixAudio (stream, waveptr, waveleft, SDL_MIX_MAXVOLUME); + stream += waveleft; + len -= waveleft; + waveptr = wave.sound; + waveleft = wave.soundlen; + wave.soundpos = 0; + } + SDL_MixAudio (stream, waveptr, len, SDL_MIX_MAXVOLUME); + wave.soundpos += len; } static int done = 0; -void poked(int sig) +void +poked (int sig) { - done = 1; + done = 1; } -int main(int argc, char *argv[]) +int +main (int argc, char *argv[]) { - int i, n; + int i, n; - /* Print available audio drivers */ - n = SDL_GetNumAudioDrivers(); - if ( n == 0 ) { - printf("No built-in audio drivers\n"); - } else { - printf("Built-in audio drivers:"); - for ( i = 0; i < n; ++i ) { - if ( i > 0 ) { - printf(","); - } - printf(" %s", SDL_GetAudioDriver(i)); - } - printf("\n"); - } + /* Print available audio drivers */ + n = SDL_GetNumAudioDrivers (); + if (n == 0) { + printf ("No built-in audio drivers\n"); + } else { + printf ("Built-in audio drivers:"); + for (i = 0; i < n; ++i) { + if (i > 0) { + printf (","); + } + printf (" %s", SDL_GetAudioDriver (i)); + } + printf ("\n"); + } - /* Load the SDL library */ - if ( SDL_Init(SDL_INIT_AUDIO) < 0 ) { - fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError()); - return(1); - } - if ( argv[1] == NULL ) { - argv[1] = "sample.wav"; - } - /* Load the wave file into memory */ - if ( SDL_LoadWAV(argv[1], - &wave.spec, &wave.sound, &wave.soundlen) == NULL ) { - fprintf(stderr, "Couldn't load %s: %s\n", - argv[1], SDL_GetError()); - quit(1); - } + /* Load the SDL library */ + if (SDL_Init (SDL_INIT_AUDIO) < 0) { + fprintf (stderr, "Couldn't initialize SDL: %s\n", SDL_GetError ()); + return (1); + } + if (argv[1] == NULL) { + argv[1] = "sample.wav"; + } + /* Load the wave file into memory */ + if (SDL_LoadWAV (argv[1], + &wave.spec, &wave.sound, &wave.soundlen) == NULL) { + fprintf (stderr, "Couldn't load %s: %s\n", argv[1], SDL_GetError ()); + quit (1); + } - wave.spec.callback = fillerup; + wave.spec.callback = fillerup; #if HAVE_SIGNAL_H - /* Set the signals */ + /* Set the signals */ #ifdef SIGHUP - signal(SIGHUP, poked); + signal (SIGHUP, poked); #endif - signal(SIGINT, poked); + signal (SIGINT, poked); #ifdef SIGQUIT - signal(SIGQUIT, poked); + signal (SIGQUIT, poked); #endif - signal(SIGTERM, poked); + signal (SIGTERM, poked); #endif /* HAVE_SIGNAL_H */ - /* Initialize fillerup() variables */ - if ( SDL_OpenAudio(&wave.spec, NULL) < 0 ) { - fprintf(stderr, "Couldn't open audio: %s\n", SDL_GetError()); - SDL_FreeWAV(wave.sound); - quit(2); - } - SDL_PauseAudio(0); + /* Initialize fillerup() variables */ + if (SDL_OpenAudio (&wave.spec, NULL) < 0) { + fprintf (stderr, "Couldn't open audio: %s\n", SDL_GetError ()); + SDL_FreeWAV (wave.sound); + quit (2); + } + SDL_PauseAudio (0); - /* Let the audio run */ - printf("Using audio driver: %s\n", SDL_GetCurrentAudioDriver()); - while ( ! done && (SDL_GetAudioStatus() == SDL_AUDIO_PLAYING) ) - SDL_Delay(1000); + /* Let the audio run */ + printf ("Using audio driver: %s\n", SDL_GetCurrentAudioDriver ()); + while (!done && (SDL_GetAudioStatus () == SDL_AUDIO_PLAYING)) + SDL_Delay (1000); - /* Clean up on signal */ - SDL_CloseAudio(); - SDL_FreeWAV(wave.sound); - SDL_Quit(); - return(0); + /* Clean up on signal */ + SDL_CloseAudio (); + SDL_FreeWAV (wave.sound); + SDL_Quit (); + return (0); }