version 1.51, 2006/06/01 07:53:01 |
version 1.52, 2006/06/06 23:22:28 |
|
|
{ CMD_STATUS, "status", 1, "" }, |
{ CMD_STATUS, "status", 1, "" }, |
{ CMD_STOP, "stop", 3, "" }, |
{ CMD_STOP, "stop", 3, "" }, |
{ CMD_VOLUME, "volume", 1, "<l> <r> | left | right | mute | mono | stereo" }, |
{ CMD_VOLUME, "volume", 1, "<l> <r> | left | right | mute | mono | stereo" }, |
{ CMD_CDDB, "cddbinfo", 2, "[n]" }, |
{ CMD_CDDB, "cddbinfo", 2, "[n]" }, |
{ CMD_CDID, "cdid", 3, "" }, |
{ CMD_CDID, "cdid", 3, "" }, |
{ CMD_QUIT, "exit", 2, "" }, |
{ CMD_QUIT, "exit", 2, "" }, |
{ CMD_BLANK, "blank", 1, "" }, |
{ CMD_BLANK, "blank", 1, "" }, |
{ 0, 0, 0, 0} |
{ 0, 0, 0, 0} |
}; |
}; |
|
|
struct cd_toc_entry *toc_buffer; |
struct cd_toc_entry *toc_buffer; |
|
|
char *cdname; |
char *cdname; |
int fd = -1; |
int fd = -1; |
int verbose = 1; |
int verbose = 1; |
int msf = 1; |
int msf = 1; |
const char *cddb_host; |
const char *cddb_host; |
char **track_names; |
char **track_names; |
|
|
EditLine *el = NULL; /* line-editing structure */ |
EditLine *el = NULL; /* line-editing structure */ |
History *hist = NULL; /* line-editing history */ |
History *hist = NULL; /* line-editing history */ |
void switch_el(void); |
void switch_el(void); |
|
|
extern char *__progname; |
extern char *__progname; |
|
|
int setvol(int, int); |
int setvol(int, int); |
int read_toc_entrys(int); |
int read_toc_entrys(int); |
int play_msf(int, int, int, int, int, int); |
int play_msf(int, int, int, int, int, int); |
int play_track(int, int, int, int); |
int play_track(int, int, int, int); |
int get_vol(int *, int *); |
int get_vol(int *, int *); |
int status(int *, int *, int *, int *); |
int status(int *, int *, int *, int *); |
int play(char *arg); |
int play(char *arg); |
int info(char *arg); |
int info(char *arg); |
int cddbinfo(char *arg); |
int cddbinfo(char *arg); |
int pstatus(char *arg); |
int pstatus(char *arg); |
int play_next(char *arg); |
int play_next(char *arg); |
int play_prev(char *arg); |
int play_prev(char *arg); |
int play_same(char *arg); |
int play_same(char *arg); |
char *input(int *); |
char *input(int *); |
char *prompt(void); |
char *prompt(void); |
void prtrack(struct cd_toc_entry *e, int lastflag, char *name); |
void prtrack(struct cd_toc_entry *e, int lastflag, char *name); |
void lba2msf(unsigned long lba, u_char *m, u_char *s, u_char *f); |
void lba2msf(unsigned long lba, u_char *m, u_char *s, u_char *f); |
unsigned int msf2lba(u_char m, u_char s, u_char f); |
unsigned int msf2lba(u_char m, u_char s, u_char f); |
int play_blocks(int blk, int len); |
int play_blocks(int blk, int len); |
int run(int cmd, char *arg); |
int run(int cmd, char *arg); |
char *parse(char *buf, int *cmd); |
char *parse(char *buf, int *cmd); |
void help(void); |
void help(void); |
void usage(void); |
void usage(void); |
char *strstatus(int); |
char *strstatus(int); |
int cdid(void); |
int cdid(void); |
void addmsf(u_int *, u_int *, u_int *, u_char, u_char, u_char); |
void addmsf(u_int *, u_int *, u_int *, u_char, u_char, u_char); |
int cmpmsf(u_char, u_char, u_char, u_char, u_char, u_char); |
int cmpmsf(u_char, u_char, u_char, u_char, u_char, u_char); |
|
|
ss.data->what.media_catalog.mc_valid ? "": "in"); |
ss.data->what.media_catalog.mc_valid ? "": "in"); |
if (ss.data->what.media_catalog.mc_valid && |
if (ss.data->what.media_catalog.mc_valid && |
ss.data->what.media_catalog.mc_number[0]) { |
ss.data->what.media_catalog.mc_number[0]) { |
strvisx(vis_catalog, |
strvisx(vis_catalog, |
(char *)ss.data->what.media_catalog.mc_number, |
(char *)ss.data->what.media_catalog.mc_number, |
15, VIS_SAFE); |
15, VIS_SAFE); |
printf(", number \"%.15s\"", vis_catalog); |
printf(", number \"%.15s\"", vis_catalog); |
} |
} |
putchar('\n'); |
putchar('\n'); |
|
|
if (rc >= 0) { |
if (rc >= 0) { |
if (verbose) |
if (verbose) |
printf("Left volume = %d, right volume = %d\n", |
printf("Left volume = %d, right volume = %d\n", |
v.vol[0], v.vol[1]); |
v.vol[0], v.vol[1]); |
else |
else |
printf("%d %d\n", v.vol[0], v.vol[1]); |
printf("%d %d\n", v.vol[0], v.vol[1]); |
} else |
} else |
|
|
for (c=cmdtab; c->name; ++c) { |
for (c=cmdtab; c->name; ++c) { |
/* Is it an exact match? */ |
/* Is it an exact match? */ |
if (!strcasecmp(buf, c->name)) { |
if (!strcasecmp(buf, c->name)) { |
*cmd = c->command; |
*cmd = c->command; |
break; |
break; |
} |
} |
|
|
/* Try short hand forms then... */ |
/* Try short hand forms then... */ |