changed comments from old to new style (one-line comments only)
[rocksndiamonds.git] / src / libgame / sound.h
index 9e2d2420489697359b5542d304491c7fdb07cf35..deb4e38ecfe69cf014a2daf38e8e11e70797fc1d 100644 (file)
@@ -15,7 +15,7 @@
 #include "system.h"
 
 
-/* values for platform specific sound initialization */
+// values for platform specific sound initialization
 #define AUDIO_SAMPLE_RATE_22050                22050
 
 #define AUDIO_FRAGMENT_SIZE_512                512
@@ -47,7 +47,7 @@
 #define FIRST_SOUND_CHANNEL            1
 
 
-/* values for PlaySound(), StopSound() and friends */
+// values for PlaySound(), StopSound() and friends
 #define SND_CTRL_NONE                  (0)
 #define SND_CTRL_MUSIC                 (1 << 0)
 #define SND_CTRL_LOOP                  (1 << 1)
 #define SND_CTRL_ALL_SOUNDS            (1 << 4)
 #define SND_CTRL_RELOAD_SOUNDS         (1 << 5)
 #define SND_CTRL_RELOAD_MUSIC          (1 << 6)
+#define SND_CTRL_EXPIRE_LOOPS          (1 << 7)
 
 #define SND_CTRL_PLAY_SOUND            (SND_CTRL_NONE)
 #define SND_CTRL_PLAY_LOOP             (SND_CTRL_LOOP)
-#define SND_CTRL_PLAY_MUSIC            (SND_CTRL_LOOP | SND_CTRL_MUSIC)
+#define SND_CTRL_PLAY_MUSIC            (SND_CTRL_MUSIC)
+#define SND_CTRL_PLAY_MUSIC_LOOP       (SND_CTRL_MUSIC | SND_CTRL_LOOP)
 
 #define SND_CTRL_FADE_SOUND            (SND_CTRL_FADE)
 #define SND_CTRL_FADE_MUSIC            (SND_CTRL_FADE | SND_CTRL_MUSIC)
@@ -76,6 +78,7 @@
 #define IS_RELOADING(x)                        ((x).state & (SND_CTRL_RELOAD_SOUNDS |\
                                                      SND_CTRL_RELOAD_MUSIC))
 #define ALL_SOUNDS(x)                  ((x).state & SND_CTRL_ALL_SOUNDS)
+#define SET_EXPIRE_LOOPS(x)            ((x).state & SND_CTRL_EXPIRE_LOOPS)
 
 #define MAP_NOCONF_MUSIC(x)            (-((x) + 1))
 #define UNMAP_NOCONF_MUSIC(x)          MAP_NOCONF_MUSIC(x)
 #define SOUND_MIDDLE                   (SOUND_MAX_LEFT2RIGHT / 2)
 
 
-/* general sound functions */
+// general sound functions
 void UnixOpenAudio(void);
 void UnixCloseAudio(void);
 
-/* mixer functions */ 
+// mixer functions
 void Mixer_InitChannels(void);
 void StartMixer(void);
 
-/* sound client functions */
+// sound client functions
 void PlayMusic(int);
+void PlayMusicLoop(int);
 void PlaySound(int);
 void PlaySoundStereo(int, int);
 void PlaySoundLoop(int);
 void PlaySoundMusic(int);
+void PlaySoundMusicLoop(int);
 void PlaySoundExt(int, int, int, int);
 void FadeMusic(void);
 void FadeSound(int);
@@ -113,15 +118,18 @@ void StopMusic(void);
 void StopSound(int);
 void StopSounds(void);
 void StopSoundExt(int, int);
+void ExpireSoundLoops(boolean);
 
-int getSoundListSize();
-int getMusicListSize();
+int getSoundListSize(void);
+int getMusicListSize(void);
 struct FileInfo *getSoundListEntry(int);
 struct FileInfo *getMusicListEntry(int);
-int getSoundListPropertyMappingSize();
-int getMusicListPropertyMappingSize();
-struct PropertyMapping *getSoundListPropertyMapping();
-struct PropertyMapping *getMusicListPropertyMapping();
+char *getMusicInfoEntryFilename(int);
+char *getCurrentlyPlayingMusicFilename(void);
+int getSoundListPropertyMappingSize(void);
+int getMusicListPropertyMappingSize(void);
+struct PropertyMapping *getSoundListPropertyMapping(void);
+struct PropertyMapping *getMusicListPropertyMapping(void);
 void InitSoundList(struct ConfigInfo *, int, struct ConfigTypeInfo *,
                   char **, char **, char **, char **, char **);
 void InitMusicList(struct ConfigInfo *, int, struct ConfigTypeInfo *,