2 * $Logfile: /Freespace2/code/Sound/RBAudio.h $
7 * header for redbook audio playback
10 * Revision 1.1 2002/05/03 03:28:12 root
14 * 2 10/07/98 10:54a Dave
17 * 1 10/07/98 10:51a Dave
19 * 1 4/28/97 4:45p John
20 * Initial version of ripping sound & movie out of OsAPI.
22 * 2 1/30/97 9:57a Allender
23 * basic Redbook audio implemented.
25 * 1 1/28/97 9:54a Allender
33 #define RBA_MEDIA_CHANGED -1
35 typedef struct _RBACHANNELCTL {
36 unsigned int out0in, out0vol;
37 unsigned int out1in, out1vol;
38 unsigned int out2in, out2vol;
39 unsigned int out3in, out3vol;
43 // mwa ??#if defined(__NT__)
44 extern void RBAInit(void); //drive a == 0, drive b == 1
46 // mwa ?? extern void RBAInit(ubyte cd_drive_num); //drive a == 0, drive b == 1
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();
69 //return the track number currently playing. Useful if RBAPlayTracks()
70 //is called. Returns 0 if no track playing, else track number