version 1.5, 1997/02/26 02:08:44 |
version 1.6, 1997/03/09 01:34:27 |
|
|
#define CMD_STATUS 14 |
#define CMD_STATUS 14 |
#define CMD_NEXT 15 |
#define CMD_NEXT 15 |
#define CMD_PREV 16 |
#define CMD_PREV 16 |
|
#define CMD_REPLAY 17 |
|
|
struct cmdtab { |
struct cmdtab { |
int command; |
int command; |
|
|
{ CMD_QUIT, "quit", 1, "" }, |
{ CMD_QUIT, "quit", 1, "" }, |
{ CMD_RESET, "reset", 4, "" }, |
{ CMD_RESET, "reset", 4, "" }, |
{ CMD_RESUME, "resume", 1, "" }, |
{ CMD_RESUME, "resume", 1, "" }, |
|
{ CMD_REPLAY, "replay", 3, "" }, |
{ CMD_SET, "set", 2, "msf | lba" }, |
{ CMD_SET, "set", 2, "msf | lba" }, |
{ CMD_STATUS, "status", 1, "" }, |
{ CMD_STATUS, "status", 1, "" }, |
{ CMD_STOP, "stop", 3, "" }, |
{ CMD_STOP, "stop", 3, "" }, |
|
|
int pstatus __P((char *arg)); |
int pstatus __P((char *arg)); |
int play_next __P((char *arg)); |
int play_next __P((char *arg)); |
int play_prev __P((char *arg)); |
int play_prev __P((char *arg)); |
|
int play_same __P((char *arg)); |
char *input __P((int *)); |
char *input __P((int *)); |
void prtrack __P((struct cd_toc_entry *e, int lastflag)); |
void prtrack __P((struct cd_toc_entry *e, int lastflag)); |
void lba2msf __P((unsigned long lba, |
void lba2msf __P((unsigned long lba, |
|
|
|
|
return play_prev (arg); |
return play_prev (arg); |
|
|
|
case CMD_REPLAY: |
|
if (fd < 0 && ! open_cd ()) |
|
return 0; |
|
|
|
return play_same (arg); |
default: |
default: |
case CMD_HELP: |
case CMD_HELP: |
help (); |
help (); |
|
|
if (trk < h.starting_track) |
if (trk < h.starting_track) |
return play_track (h.starting_track, 1, |
return play_track (h.starting_track, 1, |
h.starting_track + 1, 1); |
h.starting_track + 1, 1); |
|
|
|
return play_track (trk, 1, trk + 1, 1); |
|
} |
|
|
|
return (0); |
|
} |
|
|
|
int play_same (arg) |
|
char *arg; |
|
{ |
|
int trk, min, sec, frm, rc; |
|
struct ioc_toc_header h; |
|
|
|
if (status (&trk, &min, &sec, &frm) >= 0) |
|
{ |
|
rc = ioctl (fd, CDIOREADTOCHEADER, &h); |
|
if (rc < 0) |
|
{ |
|
perror ("getting toc header"); |
|
return (rc); |
|
} |
|
|
return play_track (trk, 1, trk + 1, 1); |
return play_track (trk, 1, trk + 1, 1); |
} |
} |