From 4f075bfb5d87c6e6234932e23d5362f0d6de2a62 Mon Sep 17 00:00:00 2001
From: mazmazz <mar.marcoz@outlook.com>
Date: Fri, 24 Aug 2018 18:20:09 -0400
Subject: [PATCH] Update functions for other targets

---
 src/android/i_sound.c  |  9 ++---
 src/djgppdos/i_sound.c | 13 +++----
 src/dummy/i_sound.c    | 88 +++++++++++++++++++-----------------------
 src/sdl/sdl_sound.c    | 13 +++----
 src/win32/win_snd.c    | 14 +++----
 5 files changed, 62 insertions(+), 75 deletions(-)

diff --git a/src/android/i_sound.c b/src/android/i_sound.c
index 3b65790a4b..d7a7973d40 100644
--- a/src/android/i_sound.c
+++ b/src/android/i_sound.c
@@ -184,7 +184,7 @@ void I_StopFadingSong(void)
 {
 }
 
-boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, boolean stopafterfade)
+boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)source_volume;
@@ -192,7 +192,7 @@ boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms
         return false;
 }
 
-boolean I_FadeSong(UINT8 target_volume, UINT32 ms)
+boolean I_FadeSong(UINT8 target_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)ms;
@@ -205,10 +205,9 @@ boolean I_FadeOutStopSong(UINT32 ms)
         return false;
 }
 
-boolean I_FadeInStartDigSong(const char *musicname, UINT16 track, boolean looping, UINT32 position, UINT32 fadeinms, boolean queuepostfade)
+boolean I_FadeInPlaySong(UINT32 ms, boolean looping)
 {
-        (void)musicname;
+        (void)ms;
         (void)looping;
-        (void)fadeinms;
         return false;
 }
diff --git a/src/djgppdos/i_sound.c b/src/djgppdos/i_sound.c
index 519904d24c..00e0f8c901 100644
--- a/src/djgppdos/i_sound.c
+++ b/src/djgppdos/i_sound.c
@@ -588,7 +588,7 @@ void I_StopFadingSong(void)
 {
 }
 
-boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, boolean stopafterfade)
+boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)source_volume;
@@ -596,7 +596,7 @@ boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms
 	return false;
 }
 
-boolean I_FadeSong(UINT8 target_volume, UINT32 ms)
+boolean I_FadeSong(UINT8 target_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)ms;
@@ -609,10 +609,9 @@ boolean I_FadeOutStopSong(UINT32 ms)
 	return false;
 }
 
-boolean I_FadeInStartDigSong(const char *musicname, UINT16 track, boolean looping, UINT32 position, UINT32 fadeinms, boolean queuepostfade)
+boolean I_FadeInPlaySong(UINT32 ms, boolean looping)
 {
-	(void)musicname;
-	(void)looping;
-	(void)fadeinms;
-	return false;
+        (void)ms;
+        (void)looping;
+        return false;
 }
diff --git a/src/dummy/i_sound.c b/src/dummy/i_sound.c
index f4efb0ecfc..89c4006314 100644
--- a/src/dummy/i_sound.c
+++ b/src/dummy/i_sound.c
@@ -94,6 +94,37 @@ boolean I_SetSongSpeed(float speed)
 	return false;
 }
 
+/// ------------------------
+//  MUSIC SEEKING
+/// ------------------------
+
+UINT32 I_GetSongLength(void)
+{
+	return 0;
+}
+
+boolean I_SetSongLoopPoint(UINT32 looppoint)
+{
+        (void)looppoint;
+        return false;
+}
+
+UINT32 I_GetSongLoopPoint(void)
+{
+	return 0;
+}
+
+boolean I_SetSongPosition(UINT32 position)
+{
+    (void)position;
+    return false;
+}
+
+UINT32 I_GetSongPosition(void)
+{
+    return 0;
+}
+
 /// ------------------------
 //  MUSIC PLAYBACK
 /// ------------------------
@@ -143,6 +174,10 @@ boolean I_SetSongTrack(int track)
 	return false;
 }
 
+/// ------------------------
+//  MUSIC FADING
+/// ------------------------
+
 void I_SetInternalMusicVolume(UINT8 volume)
 {
 	(void)volume;
@@ -152,7 +187,7 @@ void I_StopFadingSong(void)
 {
 }
 
-boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, boolean stopafterfade)
+boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)source_volume;
@@ -160,7 +195,7 @@ boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms
 	return false;
 }
 
-boolean I_FadeSong(UINT8 target_volume, UINT32 ms)
+boolean I_FadeSong(UINT8 target_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)ms;
@@ -173,52 +208,9 @@ boolean I_FadeOutStopSong(UINT32 ms)
 	return false;
 }
 
-boolean I_FadeInStartDigSong(const char *musicname, UINT16 track, boolean looping, UINT32 position, UINT32 fadeinms, boolean queuepostfade)
-{
-	(void)musicname;
-	(void)looping;
-	(void)fadeinms;
-	return false;
-}
-
-UINT32 I_GetSongLength(void)
-{
-	return 0;
-}
-
-boolean I_SetSongLoopPoint(UINT32 looppoint)
+boolean I_FadeInPlaySong(UINT32 ms, boolean looping)
 {
-        (void)looppoint;
+        (void)ms;
+        (void)looping;
         return false;
 }
-
-UINT32 I_GetSongLoopPoint(void)
-{
-	return 0;
-}
-
-boolean I_SetSongPosition(UINT32 position)
-{
-    (void)position;
-    return false;
-}
-
-UINT32 I_GetSongPosition(void)
-{
-    return 0;
-}
-
-boolean I_SongPlaying(void)
-{
-	return false;
-}
-
-boolean I_SongPaused(void)
-{
-	return false;
-}
-
-musictype_t I_SongType(void)
-{
-	return MU_NONE;
-}
diff --git a/src/sdl/sdl_sound.c b/src/sdl/sdl_sound.c
index 9dd13731c6..044abf89a1 100644
--- a/src/sdl/sdl_sound.c
+++ b/src/sdl/sdl_sound.c
@@ -1813,7 +1813,7 @@ void I_StopFadingSong(void)
 {
 }
 
-boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, boolean stopafterfade)
+boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)source_volume;
@@ -1821,7 +1821,7 @@ boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms
 	return false;
 }
 
-boolean I_FadeSong(UINT8 target_volume, UINT32 ms)
+boolean I_FadeSong(UINT8 target_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)ms;
@@ -1834,12 +1834,11 @@ boolean I_FadeOutStopSong(UINT32 ms)
 	return false;
 }
 
-boolean I_FadeInStartDigSong(const char *musicname, UINT16 track, boolean looping, UINT32 position, UINT32 fadeinms, boolean queuepostfade)
+boolean I_FadeInPlaySong(UINT32 ms, boolean looping)
 {
-	(void)musicname;
-	(void)looping;
-	(void)fadeinms;
-	return false;
+        (void)ms;
+        (void)looping;
+        return false;
 }
 
 /// ------------------------
diff --git a/src/win32/win_snd.c b/src/win32/win_snd.c
index d314399229..d6264c10e6 100644
--- a/src/win32/win_snd.c
+++ b/src/win32/win_snd.c
@@ -942,7 +942,7 @@ void I_StopFadingSong(void)
 {
 }
 
-boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, boolean stopafterfade)
+boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)source_volume;
@@ -950,7 +950,7 @@ boolean I_FadeSongFromVolume(UINT8 target_volume, UINT8 source_volume, UINT32 ms
 	return false;
 }
 
-boolean I_FadeSong(UINT8 target_volume, UINT32 ms)
+boolean I_FadeSong(UINT8 target_volume, UINT32 ms, void (*callback)(void));
 {
 	(void)target_volume;
 	(void)ms;
@@ -963,11 +963,9 @@ boolean I_FadeOutStopSong(UINT32 ms)
 	return false;
 }
 
-boolean I_FadeInStartDigSong(const char *musicname, UINT16 track, boolean looping, UINT32 position, UINT32 fadeinms, boolean queuepostfade)
+boolean I_FadeInPlaySong(UINT32 ms, boolean looping)
 {
-	(void)musicname;
-	(void)looping;
-	(void)fadeinms;
-	return false;
+        (void)ms;
+        (void)looping;
+        return false;
 }
-
-- 
GitLab