1 /* $Id: songs.h,v 1.2 2003-10-10 09:36:35 btb Exp $ */
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.
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.
24 * Revision 1.6 1995/02/11 22:21:44 adam
25 * *** empty log message ***
27 * Revision 1.5 1995/02/11 19:10:49 adam
28 * *** empty log message ***
30 * Revision 1.4 1995/02/11 18:34:40 adam
31 * *** empty log message ***
33 * Revision 1.3 1995/02/11 18:04:51 adam
36 * Revision 1.2 1995/02/11 12:42:12 john
37 * Added new song method, with FM bank switching..
39 * Revision 1.1 1995/02/11 10:20:18 john
48 typedef struct song_info {
50 char melodic_bank_file[16];
51 char drum_bank_file[16];
54 extern song_info Songs[];
58 #define SONG_BRIEFING 3 // endgame and briefing the same
60 #define SONG_BRIEFING 1
62 #define SONG_ENDLEVEL 2
63 #define SONG_ENDGAME 3
64 #define SONG_CREDITS 4
65 #define SONG_FIRST_LEVEL_SONG 5
69 #define MAX_NUM_SONGS 9
72 #define MAX_NUM_SONGS 30
73 extern int Num_songs; //how many MIDI songs
76 //whether or not redbook audio should be played
77 extern int Redbook_enabled;
78 extern int Redbook_playing; // track that is currently playing
80 void songs_play_song( int songnum, int repeat );
81 void songs_play_level_song( int levelnum );
83 // stop the redbook, so we can read off the CD
84 void songs_stop_redbook(void);
86 // stop any songs - midi or redbook - that are currently playing
87 void songs_stop_all(void);
89 // this should be called regularly to check for redbook restart
90 void songs_check_redbook_repeat(void);