From dc6354b2f9edd6880cf460e1365393ec538ca732 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Mon, 19 Mar 2012 02:31:40 -0700 Subject: [PATCH] Add functions to get string names for sample types and channel configs --- apps/openmw/mwsound/openal_output.cpp | 2 +- apps/openmw/mwsound/sound_decoder.hpp | 3 +++ apps/openmw/mwsound/soundmanager.cpp | 21 +++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/apps/openmw/mwsound/openal_output.cpp b/apps/openmw/mwsound/openal_output.cpp index 04ae47c72..81b874dbf 100644 --- a/apps/openmw/mwsound/openal_output.cpp +++ b/apps/openmw/mwsound/openal_output.cpp @@ -44,7 +44,7 @@ static ALenum getALFormat(ChannelConfig chans, SampleType type) if(fmtlist[i].chans == chans && fmtlist[i].type == type) return fmtlist[i].format; } - fail("Unsupported sound format"); + fail(std::string("Unsupported sound format (")+getChannelConfigName(chans)+", "+getSampleTypeName(type)+")"); return AL_NONE; } diff --git a/apps/openmw/mwsound/sound_decoder.hpp b/apps/openmw/mwsound/sound_decoder.hpp index e25321a90..957681e93 100644 --- a/apps/openmw/mwsound/sound_decoder.hpp +++ b/apps/openmw/mwsound/sound_decoder.hpp @@ -9,10 +9,13 @@ namespace MWSound SampleType_UInt8, SampleType_Int16 }; + const char *getSampleTypeName(SampleType type); + enum ChannelConfig { ChannelConfig_Mono, ChannelConfig_Stereo }; + const char *getChannelConfigName(ChannelConfig config); class Sound_Decoder { diff --git a/apps/openmw/mwsound/soundmanager.cpp b/apps/openmw/mwsound/soundmanager.cpp index 447c860ff..a263fb1ac 100644 --- a/apps/openmw/mwsound/soundmanager.cpp +++ b/apps/openmw/mwsound/soundmanager.cpp @@ -464,4 +464,25 @@ namespace MWSound updateRegionSound(duration); } + + + const char *getSampleTypeName(SampleType type) + { + switch(type) + { + case SampleType_UInt8: return "U8"; + case SampleType_Int16: return "S16"; + } + return "(unknown sample type)"; + } + + const char *getChannelConfigName(ChannelConfig config) + { + switch(config) + { + case ChannelConfig_Mono: return "Mono"; + case ChannelConfig_Stereo: return "Stereo"; + } + return "(unknown channel config)"; + } }