00001 #include "common.h"
00002
00003 void usage (void);
00004
00005 int main (int argc, char **argv)
00006 {
00007 njb_t njbs[NJB_MAX_DEVICES], *njb;
00008 u_int32_t id;
00009 int n, debug, syntax, opt;
00010 extern int optind;
00011 extern char *optarg;
00012 char *endptr;
00013
00014 debug= syntax= 0;
00015
00016 while ( (opt= getopt(argc, argv, "D:")) != -1 ) {
00017 switch (opt) {
00018 case 'D':
00019 debug= atoi(optarg);
00020 break;
00021 default:
00022 usage();
00023 }
00024 }
00025 argc-= optind;
00026 argv+= optind;
00027
00028 if ( argc != 1 ) usage();
00029
00030 id= strtoul(argv[0], &endptr, 10);
00031 if ( endptr[0] != '\0' ) {
00032 fprintf(stderr, "invalid track id %s\n", argv[0]);
00033 return 1;
00034 }
00035
00036 if ( debug ) NJB_Set_Debug(debug);
00037
00038 if ( NJB_Discover(njbs, 0, &n) == -1 ) {
00039 fprintf(stderr, "could not locate any jukeboxes\n");
00040 return 1;
00041 }
00042
00043 if ( n == 0 ) {
00044 fprintf(stderr, "no NJB devices found\n");
00045 return 0;
00046 }
00047
00048 njb= njbs;
00049
00050 if ( NJB_Open(njb) == -1 ) {
00051 NJB_Error_Dump(njb, stderr);
00052 return 1;
00053 }
00054
00055 if ( NJB_Capture(njb) == -1 ) {
00056 NJB_Error_Dump(njb, stderr);
00057 return 1;
00058 }
00059
00060 if ( NJB_Delete_Track(njb, id) == -1 ) {
00061 NJB_Error_Dump(njb, stderr);
00062 }
00063
00064 NJB_Release(njb);
00065
00066 NJB_Close(njb);
00067
00068 return 0;
00069 }
00070
00071 void usage (void)
00072 {
00073 fprintf(stderr, "usage: deltr [ -D debuglvl ] <trackid>\n");
00074 exit(1);
00075 }