Show Music formats by name in dbg_music
This commit is contained in:
parent
d5c494f901
commit
53753ef6f2
7 changed files with 87 additions and 4 deletions
|
|
@ -1452,6 +1452,7 @@ struct int_const_s const INT_CONST[] = {
|
|||
{"MU_WAV", MU_WAV},
|
||||
{"MU_MOD", MU_MOD},
|
||||
{"MU_MID", MU_MID},
|
||||
{"MU_OPUS", MU_OPUS},
|
||||
{"MU_OGG", MU_OGG},
|
||||
{"MU_MP3", MU_MP3},
|
||||
{"MU_FLAC", MU_FLAC},
|
||||
|
|
|
|||
|
|
@ -29,11 +29,12 @@ typedef enum {
|
|||
MU_MOD,
|
||||
MU_MID,
|
||||
MU_OGG,
|
||||
MU_OPUS,
|
||||
MU_MP3,
|
||||
MU_FLAC,
|
||||
MU_GME,
|
||||
MU_MOD_EX, // libopenmpt
|
||||
MU_MID_EX // Non-native MIDI
|
||||
MU_MID_EX, // Non-native MIDI
|
||||
} musictype_t;
|
||||
|
||||
/** \brief Sound subsystem runing and waiting
|
||||
|
|
|
|||
|
|
@ -1859,6 +1859,50 @@ musictype_t S_MusicType(void)
|
|||
return I_SongType();
|
||||
}
|
||||
|
||||
const char *S_MusicTypeName(musictype_t mustype)
|
||||
{
|
||||
const char *TypeString = "Unknown";
|
||||
musictype_t MusicType = mustype;
|
||||
|
||||
switch (MusicType)
|
||||
{
|
||||
case MU_GME:
|
||||
TypeString = "Game Music Emu";
|
||||
break;
|
||||
case MU_MOD_EX:
|
||||
TypeString = "OpenMPT";
|
||||
break;
|
||||
case MU_MOD:
|
||||
TypeString = "MOD";
|
||||
break;
|
||||
case MU_MID:
|
||||
TypeString = "Native MIDI";
|
||||
break;
|
||||
case MU_MID_EX:
|
||||
TypeString = "Software MIDI";
|
||||
break;
|
||||
case MU_WAV:
|
||||
TypeString = "Wave Audio";
|
||||
break;
|
||||
case MU_OPUS:
|
||||
TypeString = "Opus";
|
||||
break;
|
||||
case MU_OGG:
|
||||
TypeString = "Vorbis";
|
||||
break;
|
||||
case MU_MP3:
|
||||
TypeString = "MPEG";
|
||||
break;
|
||||
case MU_FLAC:
|
||||
TypeString = "FLAC";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return TypeString;
|
||||
}
|
||||
|
||||
const char *S_MusicName(void)
|
||||
{
|
||||
return music_name;
|
||||
|
|
|
|||
|
|
@ -153,6 +153,7 @@ boolean S_MusicPlaying(void);
|
|||
boolean S_MusicPaused(void);
|
||||
boolean S_MusicNotInFocus(void);
|
||||
musictype_t S_MusicType(void);
|
||||
const char *S_MusicTypeName(musictype_t mustype);
|
||||
const char *S_MusicName(void);
|
||||
|
||||
boolean S_MusicExists(const char *mname);
|
||||
|
|
|
|||
|
|
@ -951,9 +951,38 @@ musictype_t I_SongType(void)
|
|||
if (openmpt_mhandle)
|
||||
return MU_MOD_EX;
|
||||
#endif
|
||||
|
||||
// TODO if ever ported back to SRB2: add fluidsynth support
|
||||
|
||||
if (audio.music != INVALID_HANDLE)
|
||||
return MU_MP3;
|
||||
// TODO: add fluidsynth support
|
||||
{
|
||||
switch ((audio.musicinfo.format & SF_FORMAT_SUBMASK))
|
||||
{
|
||||
case SF_FORMAT_OPUS:
|
||||
return MU_OPUS;
|
||||
break;
|
||||
case SF_FORMAT_VORBIS:
|
||||
return MU_OGG;
|
||||
break;
|
||||
case SF_FORMAT_FLAC:
|
||||
case SF_FORMAT_ALAC_20:
|
||||
case SF_FORMAT_ALAC_24:
|
||||
case SF_FORMAT_ALAC_32:
|
||||
return MU_FLAC;
|
||||
break;
|
||||
case SF_FORMAT_WAV:
|
||||
return MU_WAV;
|
||||
break;
|
||||
#ifdef HAVE_SNDFILE_MPEG
|
||||
case SF_FORMAT_MPEG_LAYER_I:
|
||||
case SF_FORMAT_MPEG_LAYER_II:
|
||||
case SF_FORMAT_MPEG_LAYER_III:
|
||||
return MU_MP3;
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
return MU_NONE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -817,6 +817,12 @@ musictype_t I_SongType(void)
|
|||
case MUS_MP3:
|
||||
case MUS_MP3_MAD:
|
||||
return MU_MP3;
|
||||
case MUS_OPUS:
|
||||
return MU_OPUS;
|
||||
case MUS_OGG:
|
||||
return MU_OGG;
|
||||
case MUS_WAV:
|
||||
return MU_WAV;
|
||||
default:
|
||||
return (musictype_t)mustype;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -467,7 +467,8 @@ static void ST_drawMusicDebug(INT32 *height)
|
|||
|
||||
if (format)
|
||||
{
|
||||
ST_pushDebugString(height, va(" Format: %d", S_MusicType()));
|
||||
musictype_t mustype = S_MusicType();
|
||||
ST_pushDebugString(height, va(" Format: %s", S_MusicTypeName(mustype)));
|
||||
}
|
||||
|
||||
ST_pushDebugString(height, va(" Song: %8s", mname));
|
||||
|
|
|
|||
Loading…
Reference in a new issue