Lines Matching +full:disc +full:- +full:vol +full:- +full:addr +full:- +full:off
2 * Compact Disc Control Utility by Serge V. Vakulenko <vak@cronyx.ru>.
3 * Based on the non-X based CD player by Jean-Marc Zucconi and
6 * Fixed and further modified on 5-Sep-1995 by Jukka Ukkonen <jau@funet.fi>.
8 * 11-Sep-1995: Jukka A. Ukkonen <jau@funet.fi>
11 * 18-Sep-1995: Jukka A. Ukkonen <jau@funet.fi>
16 * 11-Oct-1995: Serge V.Vakulenko <vak@cronyx.ru>
20 * 13-Dec-1999: Knut A. Syed <kas@kas.no>
21 * Volume-command modified. If used with only one
23 * parameters it will print volume-info.
26 * 27-Jun-2008 Pietro Cerutti <gahr@FreeBSD.org>
27 * Further enhancement to volume. Values not in range 0-255
29 * the uchar storing the volume (256 -> 0, -20 -> 236, ...).
95 { CMD_DEBUG, "debug", 1, "on | off" },
123 static int fd = -1;
160 for (c=cmdtab; c->name; ++c) { in help()
161 if (! c->args) in help()
164 for (i = c->min, s = c->name; *s; s++, i--) { in help()
171 if (*c->args) in help()
172 printf (" %s", c->args); in help()
182 fprintf (stderr, "usage: cdcontrol [-sv] [-f device] [command ...]\n"); in usage()
207 case -1: in main()
224 argc -= optind; in main()
239 cdname = use_cdrom_instead("DISC"); in main()
247 for (p=buf; argc-->0; ++argv) { in main()
250 if (p + len >= buf + sizeof (buf) - 1) in main()
272 printf ("Compact Disc Control utility, version %s\n", VERSION); in main()
282 fd = -1; in main()
357 fd = -1; in run()
367 if (! strcasecmp (arg, "off")) in run()
393 fd = -1; in run()
482 n = h.ending_track - h.starting_track + 1; in play()
489 /* Play the whole disc */ in play()
491 return play_blocks (0, msf2lba (toc_buffer[n].addr.msf.minute, in play()
492 toc_buffer[n].addr.msf.second, in play()
493 toc_buffer[n].addr.msf.frame)); in play()
495 return play_blocks (0, ntohl(toc_buffer[n].addr.lba)); in play()
508 len = msf2lba (toc_buffer[n].addr.msf.minute, in play()
509 toc_buffer[n].addr.msf.second, in play()
510 toc_buffer[n].addr.msf.frame) - blk; in play()
512 len = ntohl(toc_buffer[n].addr.lba) - blk; in play()
600 tr1--; in play()
603 tm = toc_buffer[tr1].addr.msf.minute; in play()
604 ts = toc_buffer[tr1].addr.msf.second; in play()
605 tf = toc_buffer[tr1].addr.msf.frame; in play()
607 lba2msf(ntohl(toc_buffer[tr1].addr.lba), in play()
651 m2 = toc_buffer[n].addr.msf.minute; in play()
652 s2 = toc_buffer[n].addr.msf.second; in play()
653 f2 = toc_buffer[n].addr.msf.frame; in play()
655 lba2msf(ntohl(toc_buffer[n].addr.lba), in play()
667 tr2--; in play()
669 tm = toc_buffer[tr2].addr.msf.minute; in play()
670 ts = toc_buffer[tr2].addr.msf.second; in play()
671 tf = toc_buffer[tr2].addr.msf.frame; in play()
673 lba2msf(ntohl(toc_buffer[tr2].addr.lba), in play()
691 tm = toc_buffer[n].addr.msf.minute; in play()
692 ts = toc_buffer[n].addr.msf.second; in play()
693 tf = toc_buffer[n].addr.msf.frame; in play()
695 lba2msf(ntohl(toc_buffer[n].addr.lba), in play()
703 printf ("The playing time of the disc is not that long.\n"); in play()
720 m2 = toc_buffer[n].addr.msf.minute; in play()
721 s2 = toc_buffer[n].addr.msf.second; in play()
722 f2 = toc_buffer[n].addr.msf.frame; in play()
724 lba2msf(ntohl(toc_buffer[n].addr.lba), in play()
758 int dir, junk, n, off, rc, trk; in next_prev() local
760 dir = (cmd == CMD_NEXT) ? 1 : -1; in next_prev()
765 n = h.ending_track - h.starting_track + 1; in next_prev()
768 return (-1); in next_prev()
771 if (sscanf (arg, "%u", &off) != 1) { in next_prev()
775 trk += off * dir; in next_prev()
844 ss.data->what.media_catalog.mc_valid ? "": "in"); in pstatus()
845 if (ss.data->what.media_catalog.mc_valid && in pstatus()
846 ss.data->what.media_catalog.mc_number[0]) in pstatus()
848 strvisx (vmcn, ss.data->what.media_catalog.mc_number, in pstatus()
849 (sizeof (vmcn) - 1) / 4, VIS_OCTAL | VIS_NL); in pstatus()
861 v.vol[0], v.vol[1]); in pstatus()
863 printf ("%d %d\n", v.vol[0], v.vol[1]); in pstatus()
874 * disc ID.
877 * n - The integer value.
892 ret += (*p - '0'); in dbprog_sum()
900 * Compute a magic disc ID based on the number of tracks,
905 * s - Pointer to the curstat_t structure.
908 * The integer disc ID.
922 ntr = h.ending_track - h.starting_track + 1; in dbprog_discid()
931 #define TC_MM(a) toc_buffer[a].addr.msf.minute in dbprog_discid()
932 #define TC_SS(a) toc_buffer[a].addr.msf.second in dbprog_discid()
935 t += ((TC_MM(i+1) * 60) + TC_SS(i+1)) - in dbprog_discid()
976 n = h.ending_track - h.starting_track + 1; in info()
983 printf ("-------------------------------------------------\n"); in info()
1009 return (((m * 60) + s) * 75 + f) - 150; in msf2lba()
1020 printf ("%2d:%02d.%02d ", e->addr.msf.minute, in prtrack()
1021 e->addr.msf.second, e->addr.msf.frame); in prtrack()
1023 block = msf2lba (e->addr.msf.minute, e->addr.msf.second, in prtrack()
1024 e->addr.msf.frame); in prtrack()
1026 block = ntohl(e->addr.lba); in prtrack()
1032 /* Last track -- print block */ in prtrack()
1033 printf (" - %6d - -\n", block); in prtrack()
1038 next = msf2lba (e[1].addr.msf.minute, e[1].addr.msf.second, in prtrack()
1039 e[1].addr.msf.frame); in prtrack()
1041 next = ntohl(e[1].addr.lba); in prtrack()
1042 len = next - block; in prtrack()
1044 lba2msf (len - 150, &m, &s, &f); in prtrack()
1048 (e->control & 4) ? "data" : "audio"); in prtrack()
1083 v.vol[0] = left; in setvol()
1084 v.vol[1] = right; in setvol()
1085 v.vol[2] = 0; in setvol()
1086 v.vol[3] = 0; in setvol()
1134 return -1; in status()
1136 *trk = s.data->what.position.track_number; in status()
1138 *min = s.data->what.position.reladdr.msf.minute; in status()
1139 *sec = s.data->what.position.reladdr.msf.second; in status()
1140 *frame = s.data->what.position.reladdr.msf.frame; in status()
1142 lba2msf(ntohl(s.data->what.position.reladdr.lba), in status()
1149 return s.data->header.audio_status; in status()
1224 } else if (*p == '-') { in parse()
1232 len = p - buf; in parse()
1245 *cmd = -1; in parse()
1246 for (c=cmdtab; c->name; ++c) { in parse()
1248 if (! strcasecmp (buf, c->name)) { in parse()
1249 *cmd = c->command; in parse()
1254 if (len >= c->min && ! strncasecmp (buf, c->name, len)) { in parse()
1255 if (*cmd != -1 && *cmd != c->command) { in parse()
1259 *cmd = c->command; in parse()
1263 if (*cmd == -1) { in parse()
1279 if (fd > -1) in open_cd()
1299 * be interpreted as "No disc in drive %s". */ in open_cd()
1300 warnx("no disc in drive %s", dev); in open_cd()