77 lines
2.7 KiB
HTML
77 lines
2.7 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<html>
|
|
<head>
|
|
<title>Building an Audio CD Player, Listing 3</title>
|
|
</head>
|
|
<body bgcolor="#FFFFFF" text="000000">
|
|
<p><HR> <P>
|
|
<h3>Listing 3. Jcd_Drive.h</h3>
|
|
<p><HR> <P>
|
|
<pre>
|
|
#include <native.h> /* 2 */
|
|
/* Header for class Jcd_Drive */ /* 3 */
|
|
struct Hjava_lang_String; /* 4 */
|
|
#define Jcd_Drive_FRAMES_PER_SECOND 75L /* 5 */
|
|
#define Jcd_Drive_LEAD_OUT 170L /* 6 */
|
|
#define Jcd_Drive_STATUS_INVALID 0L /* 7 */
|
|
#define Jcd_Drive_STATUS_PLAY 17L /* 8 */
|
|
#define Jcd_Drive_STATUS_PAUSED 18L /* 9 */
|
|
#define Jcd_Drive_STATUS_COMPLETED 19L /* 10 */
|
|
#define Jcd_Drive_STATUS_ERROR 20L /* 11 */
|
|
#define Jcd_Drive_STATUS_NOSTATUS 21L /* 12 */
|
|
#define Jcd_Drive_FLAG_NONE 0L /* 13 */
|
|
#define Jcd_Drive_FLAG_STOP_PLAY 1L /* 14 */
|
|
typedef struct ClassJcd_Drive { /* 16 */
|
|
struct Hjava_lang_String *device_name;/* 17 */
|
|
long device_flags; /* 18 */
|
|
long fd; /* 19 */
|
|
long audio_status; /* 20 */
|
|
long number_of_tracks; /* 21 */
|
|
long current_track; /* 22 */
|
|
long current_index; /* 23 */
|
|
long current_address; /* 24 */
|
|
} ClassJcd_Drive; /* 25 */
|
|
/* Tricky definition of HJcd_Drive which includes
|
|
* ClassJcd_Drive. */
|
|
HandleTo(Jcd_Drive); /* 26 */
|
|
extern void /* 28 */
|
|
Jcd_Drive_initDrive(struct HJcd_Drive *);
|
|
extern long
|
|
Jcd_Drive_currentTrack(struct HJcd_Drive *);
|
|
extern long
|
|
Jcd_Drive_currentIndex(struct HJcd_Drive *);
|
|
extern long
|
|
Jcd_Drive_numberOfTracks(struct HJcd_Drive *);
|
|
extern long
|
|
Jcd_Drive_currentAddress(struct HJcd_Drive *);
|
|
extern long
|
|
Jcd_Drive_cdEndAddress(struct HJcd_Drive *);
|
|
extern long
|
|
Jcd_Drive_trackAddress(struct HJcd_Drive *,long);
|
|
extern long
|
|
Jcd_Drive_trackLength(struct HJcd_Drive *,long);
|
|
extern struct Hjava_lang_String *
|
|
Jcd_Drive_cddbID(struct HJcd_Drive *);
|
|
extern struct Hjava_lang_String *
|
|
Jcd_Drive_productCode(struct HJcd_Drive *);
|
|
extern long
|
|
Jcd_Drive_status(struct HJcd_Drive *);
|
|
extern void
|
|
Jcd_Drive_play(struct HJcd_Drive *,
|
|
long,long,long,long);
|
|
extern void
|
|
Jcd_Drive_stop(struct HJcd_Drive *);
|
|
extern void
|
|
Jcd_Drive_pause(struct HJcd_Drive *);
|
|
extern void
|
|
Jcd_Drive_resume(struct HJcd_Drive *);
|
|
extern void
|
|
Jcd_Drive_eject(struct HJcd_Drive *);
|
|
extern void
|
|
Jcd_Drive_setVolume(struct HJcd_Drive *,long);
|
|
extern long
|
|
Jcd_Drive_volume(struct HJcd_Drive *);
|
|
</pre>
|
|
</body>
|
|
</html>
|