xref: /plan9/sys/src/games/music/readcd (revision 57ea29230156334add5f192279098aead66e5fca)
1#!/bin/rc
2
3cdrom=/dev/sdC1
4
5switch($#*){
6case 3
7	starttrack = `{echo $1 - 1 | hoc}
8	endtrack = `{echo $2 - 1 | hoc}
9	desttrack = $3
10case *
11	echo Usage readcd starttrack endtrack desttrack
12}
13
14if(test -e /mnt/cd/ctl){
15	echo -n ingest >/mnt/cd/ctl >[2]/dev/null
16}
17if not {
18	if (~ $cdrom '')	cdfs
19	if not		cdfs -d $cdrom
20}
21
22>/tmp/readcd
23>/tmp/map
24cat /mnt/cd/ctl
25sed 1q /mnt/cd/ctl | rc
26echo $starttrack $endtrack $desttrack | awk '{
27	start = $1
28	finish = $2
29	dest = $3
30	print "read cd tracks " start "-" finish " starting at " dest
31	for (i = start; i <= finish; i++) {
32		cmd = sprintf("ls -l /mnt/cd/a%3.3d | awk ''{print $6}''>>/tmp/readcd", i)
33		system(cmd)
34		getline x<"/tmp/readcd"
35		sec = x/44100/4
36		min = sec/60
37		sec = sec%60
38		printf("track {\n\t\n\tfile {%3.3d}\n\ttime {%d:%2.2d}\n}\n",i+dest-start,min,sec)>"/tmp/map"
39	}
40	for (i = start; i <= finish; i++) {
41		cmd = sprintf("/bin/games/pacenc /mnt/cd/a%3.3d %3.3d",i,i+dest-start)
42		print cmd
43		system(cmd)
44	}
45}'
46echo eject >/mnt/cd/ctl
47