/* * This file is part of the DXX-Rebirth project . * It is copyright by its individual contributors, as recorded in the * project's Git history. See COPYING.txt at the top level for license * terms and a link to the Git history. */ /* * * Header for songs.c * */ #ifndef _SONGS_H #define _SONGS_H #include #ifdef __cplusplus #include "dxxsconf.h" struct bim_song_info { char filename[16]; }; #define SONG_TITLE 0 #define SONG_BRIEFING 1 #define SONG_ENDLEVEL 2 #define SONG_ENDGAME 3 #define SONG_CREDITS 4 #define SONG_FIRST_LEVEL_SONG 5 #define SONG_EXT_HMP "hmp" #if DXX_USE_SDLMIXER #define SONG_EXT_MID "mid" #define SONG_EXT_OGG "ogg" #define SONG_EXT_FLAC "flac" #define SONG_EXT_MP3 "mp3" #endif #if !DXX_USE_SDLMIXER #ifdef _WIN32 #define songs_play_file(filename,repeat,hook_finished_track) songs_play_file(filename,repeat) #else #define songs_play_file(filename,repeat,hook_finished_track) songs_play_file() #endif #if SDL_MAJOR_VERSION == 2 #define songs_play_song(songnum,repeat) songs_play_song(songnum) #endif #endif int songs_play_file(const char *filename, int repeat, void (*hook_finished_track)()); #ifdef dsx namespace dsx { int songs_play_song( int songnum, int repeat ); int songs_play_level_song( int levelnum, int offset ); //stop any songs - midi, redbook or jukebox - that are currently playing } #endif void songs_stop_all(void); // check which song is playing, or -1 if not playing anything int songs_is_playing(); void songs_pause(void); void songs_resume(void); void songs_pause_resume(void); namespace dcx { // set volume for selected music playback system void songs_set_volume(int volume); } void songs_uninit(); #endif #endif