Subversion Repositories Games.Descent

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 pmbaty 1
/*
2
 * This file is part of the DXX-Rebirth project <https://www.dxx-rebirth.com/>.
3
 * It is copyright by its individual contributors, as recorded in the
4
 * project's Git history.  See COPYING.txt at the top level for license
5
 * terms and a link to the Git history.
6
 */
7
/*
8
 *
9
 * Header for songs.c
10
 *
11
 */
12
 
13
#ifndef _SONGS_H
14
#define _SONGS_H
15
 
16
#include <SDL_version.h>
17
#ifdef __cplusplus
18
#include "dxxsconf.h"
19
 
20
struct bim_song_info
21
{
22
        char    filename[16];
23
};
24
 
25
#define SONG_TITLE              0
26
#define SONG_BRIEFING           1
27
#define SONG_ENDLEVEL           2
28
#define SONG_ENDGAME            3
29
#define SONG_CREDITS            4
30
#define SONG_FIRST_LEVEL_SONG   5
31
 
32
#define SONG_EXT_HMP            "hmp"
33
#if DXX_USE_SDLMIXER
34
#define SONG_EXT_MID            "mid"
35
#define SONG_EXT_OGG            "ogg"
36
#define SONG_EXT_FLAC           "flac"
37
#define SONG_EXT_MP3            "mp3"
38
#endif
39
 
40
#if !DXX_USE_SDLMIXER
41
#ifdef _WIN32
42
#define songs_play_file(filename,repeat,hook_finished_track)    songs_play_file(filename,repeat)
43
#else
44
#define songs_play_file(filename,repeat,hook_finished_track)    songs_play_file()
45
#endif
46
#if SDL_MAJOR_VERSION == 2
47
#define songs_play_song(songnum,repeat) songs_play_song(songnum)
48
#endif
49
#endif
50
int songs_play_file(const char *filename, int repeat, void (*hook_finished_track)());
51
#ifdef dsx
52
namespace dsx {
53
int songs_play_song( int songnum, int repeat );
54
int songs_play_level_song( int levelnum, int offset );
55
 
56
//stop any songs - midi, redbook or jukebox - that are currently playing
57
}
58
#endif
59
void songs_stop_all(void);
60
 
61
// check which song is playing, or -1 if not playing anything
62
int songs_is_playing();
63
 
64
void songs_pause(void);
65
void songs_resume(void);
66
void songs_pause_resume(void);
67
 
68
namespace dcx {
69
 
70
// set volume for selected music playback system
71
void songs_set_volume(int volume);
72
 
73
}
74
 
75
void songs_uninit();
76
 
77
#endif
78
 
79
#endif
80