X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsound.c;h=cb788e7e573769a7efeec3e8ff1fbeaec7692fc3;hp=e860ba5ad443acd63e2669618d3f7c5e04c0872d;hb=8d71e6fb8309bd90ce5f2900d84c686b17950492;hpb=5facf9255f9b11b10ecb89d4e552ae931e35bb89 diff --git a/src/libgame/sound.c b/src/libgame/sound.c index e860ba5a..cb788e7e 100644 --- a/src/libgame/sound.c +++ b/src/libgame/sound.c @@ -116,6 +116,8 @@ static MusicInfo **Music_NoConf = NULL; static int num_music_noconf = 0; static int stereo_volume[SOUND_MAX_LEFT2RIGHT + 1]; +static char *currently_playing_music_filename = NULL; + /* ========================================================================= */ /* THE STUFF BELOW IS ONLY USED BY THE SOUND SERVER CHILD PROCESS */ @@ -242,6 +244,8 @@ static void Mixer_StopMusicChannel() Mixer_StopChannel(audio.music_channel); Mix_HaltMusic(); + + setString(¤tly_playing_music_filename, NULL); } static void Mixer_FadeChannel(int channel) @@ -259,6 +263,8 @@ static void Mixer_FadeMusicChannel() Mixer_FadeChannel(audio.music_channel); Mix_FadeOutMusic(SOUND_FADING_INTERVAL); + + setString(¤tly_playing_music_filename, NULL); } static void Mixer_UnFadeChannel(int channel) @@ -322,6 +328,9 @@ static void Mixer_InsertSound(SoundControl snd_ctrl) mixer[audio.music_channel] = snd_ctrl; Mixer_PlayMusicChannel(); + setString(¤tly_playing_music_filename, + getBaseNamePtr(snd_info->source_filename)); + return; } @@ -696,6 +705,11 @@ static MusicInfo *getMusicInfoEntryFromMusicID(int pos) return mus_info[list_pos]; } +char *getCurrentlyPlayingMusicFilename() +{ + return currently_playing_music_filename; +} + int getSoundListPropertyMappingSize() { return sound_info->num_property_mapping_entries;