Mercurial > sdl-ios-xcode
comparison src/audio/arts/SDL_artsaudio.c @ 3813:92f7304e50ff SDL-ryan-multiple-audio-device
Removed duplicate state from arts driver.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Fri, 06 Oct 2006 03:32:48 +0000 |
parents | 35d1367020a3 |
children | 8e1af9ff0e1f |
comparison
equal
deleted
inserted
replaced
3812:35d1367020a3 | 3813:92f7304e50ff |
---|---|
49 | 49 |
50 #ifdef SDL_AUDIO_DRIVER_ARTS_DYNAMIC | 50 #ifdef SDL_AUDIO_DRIVER_ARTS_DYNAMIC |
51 | 51 |
52 static const char *arts_library = SDL_AUDIO_DRIVER_ARTS_DYNAMIC; | 52 static const char *arts_library = SDL_AUDIO_DRIVER_ARTS_DYNAMIC; |
53 static void *arts_handle = NULL; | 53 static void *arts_handle = NULL; |
54 static int arts_loaded = 0; | |
55 | 54 |
56 /* !!! FIXME: I hate this SDL_NAME clutter...it makes everything so messy! */ | 55 /* !!! FIXME: I hate this SDL_NAME clutter...it makes everything so messy! */ |
57 static int (*SDL_NAME(arts_init)) (void); | 56 static int (*SDL_NAME(arts_init)) (void); |
58 static void (*SDL_NAME(arts_free)) (void); | 57 static void (*SDL_NAME(arts_free)) (void); |
59 static arts_stream_t(*SDL_NAME(arts_play_stream)) (int rate, int bits, | 58 static arts_stream_t(*SDL_NAME(arts_play_stream)) (int rate, int bits, |
87 #undef SDL_ARTS_SYM | 86 #undef SDL_ARTS_SYM |
88 | 87 |
89 static void | 88 static void |
90 UnloadARTSLibrary() | 89 UnloadARTSLibrary() |
91 { | 90 { |
92 if (arts_loaded) { | 91 if (arts_handle != NULL) { |
93 SDL_UnloadObject(arts_handle); | 92 SDL_UnloadObject(arts_handle); |
94 arts_handle = NULL; | 93 arts_handle = NULL; |
95 arts_loaded = 0; | |
96 } | 94 } |
97 } | 95 } |
98 | 96 |
99 static int | 97 static int |
100 LoadARTSLibrary(void) | 98 LoadARTSLibrary(void) |
101 { | 99 { |
102 int i, retval = -1; | 100 int i, retval = -1; |
103 | 101 |
104 if (!arts_loaded) { | 102 if (arts_handle == NULL) { |
105 arts_handle = SDL_LoadObject(arts_library); | 103 arts_handle = SDL_LoadObject(arts_library); |
106 if (arts_handle) { | 104 if (arts_handle != NULL) { |
107 arts_loaded = 1; | |
108 retval = 0; | 105 retval = 0; |
109 for (i = 0; i < SDL_arraysize(arts_functions); ++i) { | 106 for (i = 0; i < SDL_arraysize(arts_functions); ++i) { |
110 *arts_functions[i].func = | 107 *arts_functions[i].func = |
111 SDL_LoadFunction(arts_handle, arts_functions[i].name); | 108 SDL_LoadFunction(arts_handle, arts_functions[i].name); |
112 if (!*arts_functions[i].func) { | 109 if (!*arts_functions[i].func) { |