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