]> icculus.org git repositories - btb/d2x.git/blob - main/songs.h
remove rcs tags
[btb/d2x.git] / main / songs.h
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14 /*
15  *
16  * Header for songs.c
17  *
18  */
19
20 #ifndef _SONGS_H
21 #define _SONGS_H
22
23 #include "cvar.h"
24
25 typedef struct song_info {
26         char    filename[16];
27         char    melodic_bank_file[16];
28         char    drum_bank_file[16];
29 } song_info;
30
31 extern song_info Songs[];
32
33 #define SONG_TITLE              0
34 #ifdef MACINTOSH
35 #define SONG_BRIEFING           3       // endgame and briefing the same
36 #else
37 #define SONG_BRIEFING           1
38 #endif
39 #define SONG_ENDLEVEL           2
40 #define SONG_ENDGAME            3
41 #define SONG_CREDITS            4
42 #define SONG_FIRST_LEVEL_SONG   5
43
44
45 #ifdef MACINTOSH
46 #define MAX_NUM_SONGS           9
47 #define Num_songs               9
48 #else
49 #define MAX_NUM_SONGS           30
50 extern int Num_songs;   //how many MIDI songs
51 #endif
52
53 //whether or not redbook audio should be played
54 extern cvar_t Redbook_enabled;
55 extern int Redbook_playing;     // track that is currently playing
56
57 void songs_play_song( int songnum, int repeat );
58 void songs_play_level_song( int levelnum );
59
60 // stop the redbook, so we can read off the CD
61 void songs_stop_redbook(void);
62
63 // stop any songs - midi or redbook - that are currently playing
64 void songs_stop_all(void);
65
66 // this should be called regularly to check for redbook restart
67 void songs_check_redbook_repeat(void);
68
69 #endif /* _SONGS_H */