diff options
| author | Ray <[email protected]> | 2017-03-29 00:35:42 +0200 |
|---|---|---|
| committer | Ray <[email protected]> | 2017-03-29 00:35:42 +0200 |
| commit | 080a79f0b03bd40a4ac6dfb8c6f90a3a7379d7ad (patch) | |
| tree | 1bbd9d5d1ed6f1818f0497110f222f1ef5d7a67e /src/audio.c | |
| parent | 2f65975c5ec6d82d2321ed28d7754edf636da7ec (diff) | |
| download | raylib-080a79f0b03bd40a4ac6dfb8c6f90a3a7379d7ad.tar.gz raylib-080a79f0b03bd40a4ac6dfb8c6f90a3a7379d7ad.zip | |
Added IsFileExtension()
Replaced old GetExtension() function
Make IsFileExtension() public to the API
Diffstat (limited to 'src/audio.c')
| -rw-r--r-- | src/audio.c | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/src/audio.c b/src/audio.c index 5edabf41..34be4789 100644 --- a/src/audio.c +++ b/src/audio.c @@ -24,7 +24,6 @@ * Selected desired fileformats to be supported for loading. Some of those formats are * supported by default, to remove support, just comment unrequired #define in this module * -* * LIMITATIONS: * Only up to two channels supported: MONO and STEREO (for additional channels, use AL_EXT_MCFORMATS) * Only the following sample sizes supported: 8bit PCM, 16bit PCM, 32-bit float PCM (using AL_EXT_FLOAT32) @@ -65,8 +64,6 @@ * **********************************************************************************************/ -//#define AUDIO_STANDALONE // NOTE: To use the audio module as standalone lib, just uncomment this line - // Default configuration flags (supported features) //------------------------------------------------- #define SUPPORT_FILEFORMAT_WAV @@ -194,8 +191,8 @@ static Wave LoadFLAC(const char *fileName); // Load FLAC file #endif #if defined(AUDIO_STANDALONE) -const char *GetExtension(const char *fileName); // Get the extension for a filename -void TraceLog(int msgType, const char *text, ...); // Outputs a trace log message (INFO, ERROR, WARNING) +bool IsFileExtension(const char *fileName, const char *ext); // Check file extension +void TraceLog(int msgType, const char *text, ...); // Outputs trace log message (INFO, ERROR, WARNING) #endif //---------------------------------------------------------------------------------- @@ -285,15 +282,15 @@ Wave LoadWave(const char *fileName) { Wave wave = { 0 }; - if (strcmp(GetExtension(fileName), "wav") == 0) wave = LoadWAV(fileName); + if (IsFileExtension(fileName, ".wav")) wave = LoadWAV(fileName); #if defined(SUPPORT_FILEFORMAT_OGG) - else if (strcmp(GetExtension(fileName), "ogg") == 0) wave = LoadOGG(fileName); + else if (IsFileExtension(fileName, ".ogg")) wave = LoadOGG(fileName); #endif #if defined(SUPPORT_FILEFORMAT_FLAC) - else if (strcmp(GetExtension(fileName), "flac") == 0) wave = LoadFLAC(fileName); + else if (IsFileExtension(fileName, ".flac")) wave = LoadFLAC(fileName); #endif #if !defined(AUDIO_STANDALONE) - else if (strcmp(GetExtension(fileName),"rres") == 0) + else if (IsFileExtension(fileName, ".rres")) { RRES rres = LoadResource(fileName, 0); @@ -672,7 +669,7 @@ Music LoadMusicStream(const char *fileName) { Music music = (MusicData *)malloc(sizeof(MusicData)); - if (strcmp(GetExtension(fileName), "ogg") == 0) + if (IsFileExtension(fileName, ".ogg")) { // Open ogg audio stream music->ctxOgg = stb_vorbis_open_filename(fileName, NULL, NULL); @@ -696,7 +693,7 @@ Music LoadMusicStream(const char *fileName) } } #if defined(SUPPORT_FILEFORMAT_FLAC) - else if (strcmp(GetExtension(fileName), "flac") == 0) + else if (IsFileExtension(fileName, ".flac")) { music->ctxFlac = drflac_open_file(fileName); @@ -717,7 +714,7 @@ Music LoadMusicStream(const char *fileName) } #endif #if defined(SUPPORT_FILEFORMAT_XM) - else if (strcmp(GetExtension(fileName), "xm") == 0) + else if (IsFileExtension(fileName, ".xm")) { int result = jar_xm_create_context_from_file(&music->ctxXm, 48000, fileName); @@ -739,7 +736,7 @@ Music LoadMusicStream(const char *fileName) } #endif #if defined(SUPPORT_FILEFORMAT_MOD) - else if (strcmp(GetExtension(fileName), "mod") == 0) + else if (IsFileExtension(fileName, ".mod")) { jar_mod_init(&music->ctxMod); @@ -1310,12 +1307,18 @@ static Wave LoadFLAC(const char *fileName) // Some required functions for audio standalone module version #if defined(AUDIO_STANDALONE) -// Get the extension for a filename -const char *GetExtension(const char *fileName) +// Check file extension +bool IsFileExtension(const char *fileName, const char *ext) { - const char *dot = strrchr(fileName, '.'); - if (!dot || dot == fileName) return ""; - return (dot + 1); + bool result = false; + const char *fileExt; + + if ((fileExt = strrchr(fileName, '.')) != NULL) + { + if (strcmp(fileExt, ext) == 0) result = true; + } + + return result; } // Outputs a trace log message (INFO, ERROR, WARNING) |
