]> icculus.org git repositories - btb/d2x.git/blob - main/songs.h
typo
[btb/d2x.git] / main / songs.h
1 /* $Id: songs.h,v 1.2 2003-10-10 09:36:35 btb Exp $ */
2 /*
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
13 */
14
15 /*
16  *
17  * Header for songs.c
18  *
19  * Old Log:
20  * Revision 2.0  1995/02/27  11:30:52  john
21  * New version 2.0, which has no anonymous unions, builds with
22  * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
23  *
24  * Revision 1.6  1995/02/11  22:21:44  adam
25  * *** empty log message ***
26  *
27  * Revision 1.5  1995/02/11  19:10:49  adam
28  * *** empty log message ***
29  *
30  * Revision 1.4  1995/02/11  18:34:40  adam
31  * *** empty log message ***
32  *
33  * Revision 1.3  1995/02/11  18:04:51  adam
34  * upped songs
35  *
36  * Revision 1.2  1995/02/11  12:42:12  john
37  * Added new song method, with FM bank switching..
38  *
39  * Revision 1.1  1995/02/11  10:20:18  john
40  * Initial revision
41  *
42  *
43  */
44
45 #ifndef _SONGS_H
46 #define _SONGS_H
47
48 typedef struct song_info {
49         char    filename[16];
50         char    melodic_bank_file[16];
51         char    drum_bank_file[16];
52 } song_info;
53
54 extern song_info Songs[];
55
56 #define SONG_TITLE              0
57 #ifdef MACINTOSH
58 #define SONG_BRIEFING           3       // endgame and briefing the same
59 #else
60 #define SONG_BRIEFING           1
61 #endif
62 #define SONG_ENDLEVEL           2
63 #define SONG_ENDGAME            3
64 #define SONG_CREDITS            4
65 #define SONG_FIRST_LEVEL_SONG   5
66
67
68 #ifdef MACINTOSH
69 #define MAX_NUM_SONGS           9
70 #define Num_songs               9
71 #else
72 #define MAX_NUM_SONGS           30
73 extern int Num_songs;   //how many MIDI songs
74 #endif
75
76 //whether or not redbook audio should be played
77 extern int Redbook_enabled;
78 extern int Redbook_playing;     // track that is currently playing
79
80 void songs_play_song( int songnum, int repeat );
81 void songs_play_level_song( int levelnum );
82
83 // stop the redbook, so we can read off the CD
84 void songs_stop_redbook(void);
85
86 // stop any songs - midi or redbook - that are currently playing
87 void songs_stop_all(void);
88
89 // this should be called regularly to check for redbook restart
90 void songs_check_redbook_repeat(void);
91
92 #endif /* _SONGS_H */