]> icculus.org git repositories - taylor/freespace2.git/blob - include/rbaudio.h
fixed demo dogfight multiplayer mission
[taylor/freespace2.git] / include / rbaudio.h
1 /*
2  * Copyright (C) Volition, Inc. 1999.  All rights reserved.
3  *
4  * All source code herein is the property of Volition, Inc. You may not sell 
5  * or otherwise commercially exploit the source or things you created based on
6  * the source.
7  */
8
9 /*
10  * $Logfile: /Freespace2/code/Sound/RBAudio.h $
11  * $Revision$
12  * $Date$
13  * $Author$
14  *
15  * header for redbook audio playback
16  *
17  * $Log$
18  * Revision 1.2  2002/06/09 04:41:14  relnev
19  * added copyright header
20  *
21  * Revision 1.1.1.1  2002/05/03 03:28:12  root
22  * Initial import.
23  *
24  * 
25  * 2     10/07/98 10:54a Dave
26  * Initial checkin.
27  * 
28  * 1     10/07/98 10:51a Dave
29  * 
30  * 1     4/28/97 4:45p John
31  * Initial version of ripping sound & movie out of OsAPI.
32  * 
33  * 2     1/30/97 9:57a Allender
34  * basic Redbook audio implemented.
35  * 
36  * 1     1/28/97 9:54a Allender
37  *
38  * $NoKeywords: $
39 */
40
41 #ifndef _RBAUDIO_H
42 #define _RBAUDIO_H
43
44 #define RBA_MEDIA_CHANGED       -1
45
46 typedef struct _RBACHANNELCTL {
47         unsigned int out0in, out0vol;
48         unsigned int out1in, out1vol;
49         unsigned int out2in, out2vol;
50         unsigned int out3in, out3vol;
51 } RBACHANNELCTL;
52
53
54 // mwa ??#if defined(__NT__) 
55 extern void RBAInit(void);      //drive a == 0, drive b == 1
56 // mwa ??#else
57 // mwa ??   extern void RBAInit(ubyte cd_drive_num);    //drive a == 0, drive b == 1
58 // mwa ??#endif
59 extern void RBClose(void);
60 extern void RBARegisterCD(void);
61 extern long RBAGetDeviceStatus(void);
62 extern int RBAPlayTrack(int track);
63 extern int RBAPlayTracks(int first, int last);  //plays tracks first through last, inclusive
64 extern int RBACheckMediaChange();
65 extern long     RBAGetHeadLoc(int *min, int *sec, int *frame);
66 extern int      RBAPeekPlayStatus(void);
67 extern void RBAStop(void);
68 extern void RBASetStereoAudio(RBACHANNELCTL *channels);
69 extern void RBASetQuadAudio(RBACHANNELCTL *channels);
70 extern void RBAGetAudioInfo(RBACHANNELCTL *channels);
71 extern void RBASetChannelVolume(int channel, int volume);
72 extern void RBASetVolume(int volume);
73 extern int      RBAEnabled(void);
74 extern void RBADisable(void);
75 extern void RBAEnable(void);
76 extern int      RBAGetNumberOfTracks(void);
77 extern void     RBAPause();
78 extern int      RBAResume();
79
80 //return the track number currently playing.  Useful if RBAPlayTracks() 
81 //is called.  Returns 0 if no track playing, else track number
82 int RBAGetTrackNum();
83
84 #endif
85