--- playtrack.c.bak	Fri Feb 25 22:34:28 2000
+++ playtrack.c	Mon Feb 26 09:13:25 2001
@@ -74,6 +74,7 @@
 "	-r or --raw	write raw samples only\n"
 "	--noabs 	don't check for absolute time\n"
 "	--noprognr 	don't check for program number\n"
+"       -i or --ignore  ignore rate changes\n"
 "	-f <device>	use device <device> instead of $TAPE or "DEFAULTAUDIOTAPE"\n"
 	);
 	exit(1);
@@ -88,7 +89,7 @@
 	int	written;
 	int	lastsamplerate=0,samplerate,xprognr,prognr=0;
 	struct	da_time atime;
-	int	absfound=0,noabs,noprognr,i,raw,headerwritten,absmissing=0;
+	int	absfound=0,noabs,noprognr,i,raw,headerwritten,absmissing=0,ignore=0;
 	Audio_filehdr	fhdr;
 
 	tape=NULL;
@@ -102,6 +103,12 @@
 			noprognr=1;
 			continue;
 		}
+		if (	!strcmp(argv[i],"--ignore") ||
+			!strcmp(argv[i],"-i")
+		) {
+			ignore=1;
+			continue;
+		}
 		if (	!strcmp(argv[i],"--raw") ||
 			!strcmp(argv[i],"-r")
 		) {
@@ -200,12 +207,15 @@
 				absmissing=0;
 			}
 		}
-		//samplerate=0;
-		//da_control(fd,DA_GET_SAMPLERATE,(long)&samplerate);
-		//if (samplerate!=lastsamplerate) {
-		//	fprintf(stderr,"samplerate switched from %d to %d\n",lastsamplerate,samplerate);
-		//	break;
-		//}
+		samplerate=0;
+		da_control(fd,DA_GET_SAMPLERATE,(long)&samplerate);
+		if (samplerate!=lastsamplerate) {
+		  fprintf(stderr,"samplerate switched from %d to %d\n",lastsamplerate,samplerate);
+		  lastsamplerate=samplerate;
+                  if(!ignore){
+			break;
+		  }
+                }
 		curleft=0;
 		while (curleft<2000) {
 			res=write(fileno(stdout),buf+curleft,2000-curleft);
