Added I_GetMusicType and removed midimode variable: other targets
This commit is contained in:
parent
55f3803e4b
commit
14b393ab16
|
@ -60,6 +60,11 @@ void I_SetSfxVolume(INT32 volume)
|
||||||
//
|
//
|
||||||
UINT8 music_started = 0;
|
UINT8 music_started = 0;
|
||||||
|
|
||||||
|
musictype_t I_GetMusicType(void)
|
||||||
|
{
|
||||||
|
return MU_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
void I_InitMusic(void){}
|
void I_InitMusic(void){}
|
||||||
|
|
||||||
void I_ShutdownMusic(void){}
|
void I_ShutdownMusic(void){}
|
||||||
|
|
|
@ -322,6 +322,13 @@ static int islooping=0;
|
||||||
static int musicdies=-1;
|
static int musicdies=-1;
|
||||||
UINT8 music_started=0;
|
UINT8 music_started=0;
|
||||||
|
|
||||||
|
musictype_t I_GetMusicType(void)
|
||||||
|
{
|
||||||
|
if (currsong)
|
||||||
|
return MU_MID;
|
||||||
|
else
|
||||||
|
return MU_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
/* load_midi_mem:
|
/* load_midi_mem:
|
||||||
* Loads a standard MIDI file from memory, returning a pointer to
|
* Loads a standard MIDI file from memory, returning a pointer to
|
||||||
|
@ -403,7 +410,7 @@ void I_ShutdownMusic(void)
|
||||||
if ( !music_started )
|
if ( !music_started )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
I_StopSong(1);
|
I_StopSong();
|
||||||
|
|
||||||
music_started=false;
|
music_started=false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,6 +61,11 @@ void I_SetSfxVolume(UINT8 volume)
|
||||||
// MUSIC I/O
|
// MUSIC I/O
|
||||||
//
|
//
|
||||||
|
|
||||||
|
musictype_t I_GetMusicType(void)
|
||||||
|
{
|
||||||
|
return MU_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
void I_InitMusic(void){}
|
void I_InitMusic(void){}
|
||||||
|
|
||||||
void I_ShutdownMusic(void){}
|
void I_ShutdownMusic(void){}
|
||||||
|
|
|
@ -1313,6 +1313,29 @@ void I_StartupSound(void)
|
||||||
// MUSIC API.
|
// MUSIC API.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
musictype_t I_GetMusicType(void)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_MIXER
|
||||||
|
#ifdef HAVE_LIBGME
|
||||||
|
if (gme)
|
||||||
|
return MU_GME;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
if (!music)
|
||||||
|
return MU_NONE;
|
||||||
|
else if (Mix_GetMusicType(music) == MUS_MID)
|
||||||
|
return MU_MID;
|
||||||
|
else if (Mix_GetMusicType(music) == MUS_MOD || Mix_GetMusicType(music) == MUS_MODPLUG_UNUSED)
|
||||||
|
return MU_MOD;
|
||||||
|
else if (Mix_GetMusicType(music) == MUS_MP3 || Mix_GetMusicType(music) == MUS_MP3_MAD_UNUSED)
|
||||||
|
return MU_MP3;
|
||||||
|
else
|
||||||
|
return (musictype_t)Mix_GetMusicType(music);
|
||||||
|
#else
|
||||||
|
return MU_NONE
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_LIBGME
|
#ifdef HAVE_LIBGME
|
||||||
static void I_ShutdownGMEMusic(void)
|
static void I_ShutdownGMEMusic(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,7 +42,6 @@
|
||||||
static FMOD_SYSTEM *fsys;
|
static FMOD_SYSTEM *fsys;
|
||||||
static FMOD_SOUND *music_stream;
|
static FMOD_SOUND *music_stream;
|
||||||
static FMOD_CHANNEL *music_channel;
|
static FMOD_CHANNEL *music_channel;
|
||||||
static boolean midimode;
|
|
||||||
|
|
||||||
static UINT8 music_volume, midi_volume, sfx_volume;
|
static UINT8 music_volume, midi_volume, sfx_volume;
|
||||||
static INT32 current_track;
|
static INT32 current_track;
|
||||||
|
@ -444,6 +443,41 @@ void I_SetSfxVolume(UINT8 volume)
|
||||||
// MUSIC
|
// MUSIC
|
||||||
//
|
//
|
||||||
|
|
||||||
|
musictype_t I_GetMusicType(void)
|
||||||
|
{
|
||||||
|
#ifdef HAVE_LIBGME
|
||||||
|
if (gme)
|
||||||
|
return MU_GME;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!music_stream)
|
||||||
|
return MU_NONE;
|
||||||
|
|
||||||
|
FMOD_SOUND_TYPE type;
|
||||||
|
if (FMOD_Sound_GetFormat(music_stream, &type, NULL, NULL, NULL) == FMOD_OK)
|
||||||
|
{
|
||||||
|
switch(type)
|
||||||
|
{
|
||||||
|
case FMOD_SOUND_TYPE_WAV:
|
||||||
|
return MU_WAV;
|
||||||
|
case FMOD_SOUND_TYPE_MOD:
|
||||||
|
return MU_MOD;
|
||||||
|
case FMOD_SOUND_TYPE_MID:
|
||||||
|
return MU_MID;
|
||||||
|
case FMOD_SOUND_TYPE_OGGVORBIS:
|
||||||
|
return MU_OGG;
|
||||||
|
case FMOD_SOUND_TYPE_MP3:
|
||||||
|
return MU_MP3;
|
||||||
|
case FMOD_SOUND_TYPE_FLAC:
|
||||||
|
return MU_FLAC;
|
||||||
|
default:
|
||||||
|
return MU_NONE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return MU_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
void I_InitMusic(void)
|
void I_InitMusic(void)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -479,10 +513,7 @@ boolean I_LoadSong(char *data, size_t len)
|
||||||
lumpnum = W_CheckNumForName(va("D_%s",musicname));
|
lumpnum = W_CheckNumForName(va("D_%s",musicname));
|
||||||
if (lumpnum == LUMPERROR)
|
if (lumpnum == LUMPERROR)
|
||||||
return false;
|
return false;
|
||||||
midimode = true;
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
midimode = false;
|
|
||||||
|
|
||||||
data = (char *)W_CacheLumpNum(lumpnum, PU_MUSIC);
|
data = (char *)W_CacheLumpNum(lumpnum, PU_MUSIC);
|
||||||
len = W_LumpLength(lumpnum);
|
len = W_LumpLength(lumpnum);
|
||||||
|
@ -686,7 +717,7 @@ void I_SetDigMusicVolume(UINT8 volume)
|
||||||
{
|
{
|
||||||
// volume is 0 to 31.
|
// volume is 0 to 31.
|
||||||
music_volume = volume;
|
music_volume = volume;
|
||||||
if (!midimode && music_stream)
|
if (I_GetMusicType() != MU_MID && music_stream)
|
||||||
FMR_MUSIC(FMOD_Channel_SetVolume(music_channel, volume / 31.0));
|
FMR_MUSIC(FMOD_Channel_SetVolume(music_channel, volume / 31.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -776,7 +807,7 @@ void I_SetMIDIMusicVolume(UINT8 volume)
|
||||||
{
|
{
|
||||||
// volume is 0 to 31.
|
// volume is 0 to 31.
|
||||||
midi_volume = volume;
|
midi_volume = volume;
|
||||||
if (midimode && music_stream)
|
if (I_GetMusicType() != MU_MID && music_stream)
|
||||||
FMR_MUSIC(FMOD_Channel_SetVolume(music_channel, volume / 31.0));
|
FMR_MUSIC(FMOD_Channel_SetVolume(music_channel, volume / 31.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -795,7 +826,7 @@ boolean I_PlaySong(boolean looping)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FMR(FMOD_System_PlaySound(fsys, FMOD_CHANNEL_FREE, music_stream, false, &music_channel));
|
FMR(FMOD_System_PlaySound(fsys, FMOD_CHANNEL_FREE, music_stream, false, &music_channel));
|
||||||
if (midimode)
|
if (I_GetMusicType() != MU_MID)
|
||||||
FMR(FMOD_Channel_SetVolume(music_channel, midi_volume / 31.0));
|
FMR(FMOD_Channel_SetVolume(music_channel, midi_volume / 31.0));
|
||||||
else
|
else
|
||||||
FMR(FMOD_Channel_SetVolume(music_channel, music_volume / 31.0));
|
FMR(FMOD_Channel_SetVolume(music_channel, music_volume / 31.0));
|
||||||
|
|
Loading…
Reference in New Issue