summaryrefslogtreecommitdiff
path: root/x11/emiclock/patches/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'x11/emiclock/patches/patch-ab')
-rw-r--r--x11/emiclock/patches/patch-ab303
1 files changed, 0 insertions, 303 deletions
diff --git a/x11/emiclock/patches/patch-ab b/x11/emiclock/patches/patch-ab
deleted file mode 100644
index a08af98c3b6..00000000000
--- a/x11/emiclock/patches/patch-ab
+++ /dev/null
@@ -1,303 +0,0 @@
-$NetBSD: patch-ab,v 1.1 1999/06/10 00:16:25 hubertf Exp $
-
---- sys/NetBSD/audio.c.orig Sun May 23 10:29:13 1999
-+++ sys/NetBSD/audio.c Sun May 23 10:55:39 1999
-@@ -0,0 +1,298 @@
-+/*
-+ * NetBSD $B%5%&%s%I=hM}(B
-+ */
-+
-+/*
-+ * Copyright (c) 1994 Kazuhiko Ishii.
-+ * Copyright (c) 1995 Masanobu Saitoh.
-+ *
-+ * $BK\%=%U%H%&%'%"$N%=!<%9$d%P%$%J%j$r:FG[I[$9$k>l9g$O!"<!$N>r7o$r=e<i$7$F(B
-+ * $B2<$5$$!#(B
-+ *
-+ * 1. $BK\%=%U%H%&%'%"$rF~<j$7$?J}$K$O!"(BX11$BHG(B Emi Clock $B$N;HMQ8"$H!"Bh;0<T(B
-+ * $B$X$N:FG[I[8"$,G'$a$i$l$^$9!#$?$@$7!":FG[I[$K4X$7$F$O!"F~<j;~$N%*%j(B
-+ * $B%8%J%k$N$^$^2~JQ$;$:$K9T$&$3$H$,>r7o$G$9!#(B
-+ * 2. $BK\%=%U%H%&%'%"$N0lIt$^$?$OA4It$rCx:n8"<T$KL5CG$G2~JQ$7$FG[I[$9$k$3(B
-+ * $B$H$O$G$-$^$;$s!#(B
-+ * 3. $BK\%=%U%H%&%'%"$N0lIt$^$?$OA4It$rCx:n8"<T$KL5CG$GFs<!MxMQ$9$k$3$H$O(B
-+ * $B$G$-$^$;$s!#(B
-+ * 4. $BK\%=%U%H%&%'%"$r%7%9%F%`$K%P%s%I%k$7$?$j!"%7%9%F%`$NDI2C%Q%C%1!<%8(B
-+ * $B$H$7$FBh;0<T$K:FG[I[$7$?$j$9$k>l9g$O!";vA0$KCx:n8"<T$K5v2D$,I,MW$G(B
-+ * $B$9!#(B
-+ * 5. $BK\%=%U%H%&%'%"$r>&MQ$K;HMQ$9$k>l9g(B($B6bA,E*Mx1W$rF@$k>l9g(B)$B$O!";vA0$K(B
-+ * $BCx:n8"<T$K5v2D$,I,MW$G$9!#$3$N>l9g!"4pK\E*$KM-=~$H$J$j$^$9!#(B
-+ * 6. $BK\%=%U%H%&%'%"$rMxMQ$9$k$3$H$K$h$C$FH/@8$7$?$$$+$J$kB;32$b!"Cx:n8"(B
-+ * $B<T$OIi$o$J$$$b$N$H$7$^$9!#$3$l$K9g0U$G$-$J$$>l9g$O!";HMQ8"$,$J$$$b(B
-+ * $B$N$H$7$^$9!#(B
-+ * 7. $B!H(BEmi Clock$B!I$N>&I8$*$h$SK\%=%U%H%&%'%"$N2hA|$d%G%6%$%s$K4X$9$kCx:n(B
-+ * $B8"$O!"(BMotosoft $B$3$H!HK\(B $B=SLi!I;a$,M-$7$^$9!#(B
-+ * 8. $B!H(BEmi Clock$B!I$N>&I8$*$h$S2hA|$d%G%6%$%s$O!"(BX11$BHG(B Emi Clock $B3+H/$N$?(B
-+ * $B$a!"(BMotosoft $B$h$j!H8E>l(B $B@59T!I$X8D?ME*$K%i%$%;%s%96!M?$5$l$F$^$9!#(B
-+ * $BBh;0<T$XFs<!%i%$%;%s%96!M?$9$k$3$H$OG'$a$i$l$F$*$j$^$;$s!#(B
-+ * 9. Motosoft $B$H8E>l$KL5CG$G!"K\%=%U%H%&%'%"$N2hA|%G!<%?$rFs<!MxMQ$9$k$3(B
-+ * $B$H$r6X;_$7$^$9!#(B
-+ * 10. $B$3$3$K5-=R$7$?0J30$N8"Mx$K$D$$$F$O!"F|K\9q$NCx:n8"K!$K$h$k$b$N$H$7(B
-+ * $B$^$9!#(B
-+ */
-+
-+
-+/* $BDj?t(B */
-+#define HAS_SOUND_CODE /* $B%5%&%s%I4X78$N%3!<%I$OM-8z!*(B */
-+
-+/* RCS ID */
-+rcsId(audioId, "$Id: patch-ab,v 1.1 1999/06/10 00:16:25 hubertf Exp $")
-+
-+static int S_AuFileHeader();
-+static void S_PlayInterval();
-+
-+static int AudioDevice;
-+static audio_info_t AudioSaveConfig;
-+static int SoundLeft;
-+static int SoundPlayed;
-+static int SoundTimeBytes;
-+static char *SoundBufPtr;
-+static char *SoundTmpBuffer = NULL;
-+static struct timeval SoundStart;
-+
-+/*
-+ * $B%5%&%s%I4D6-$N=i4|2=(B
-+ */
-+static void
-+S_SoundEnvInit()
-+{
-+ /* $B2?$b$7$J$$(B */
-+}
-+
-+
-+/*
-+ * $B%5%&%s%I%G%P%$%9$NB8:_H=Dj(B
-+ */
-+static Boolean
-+S_IsSoundAvailable()
-+{
-+ struct stat st;
-+
-+ /* $B%*!<%G%#%*#I!?#F$N%A%'%C%/(B */
-+ if (stat(AUDIO_DEVICE, &st) < 0)
-+ return False;
-+ if (!S_ISCHR(st.st_mode))
-+ return False;
-+
-+ return True;
-+}
-+
-+
-+/*
-+ * $B%5%&%s%I:F@8(B
-+ */
-+static int
-+S_PlaySound(filename)
-+char *filename;
-+{
-+ SoundCacheBuffer localCache;
-+ int ret;
-+
-+ if ((ret = S_CacheSound(filename, &localCache)) != SOUND_NO_ERROR)
-+ return ret;
-+ SoundTmpBuffer = localCache.soundCacheBuffer;
-+ if ((ret = S_PlayCacheSound(&localCache)) != SOUND_NO_ERROR) {
-+ S_FreeCacheSound(&localCache);
-+ return ret;
-+ }
-+ return SOUND_NO_ERROR;
-+}
-+
-+
-+/*
-+ * $B%5%&%s%I$N%-%c%C%7%e2=2DG=!?IT2DG=H=Dj(B
-+ */
-+static Boolean
-+S_IsSoundCacheAvailable()
-+{
-+ return True;
-+}
-+
-+
-+/*
-+ * $B%5%&%s%I$N%-%c%C%7%e2=(B
-+ */
-+static int
-+S_CacheSound(filename, cacheBufferPtr)
-+char *filename;
-+SoundCacheBuffer *cacheBufferPtr;
-+{
-+ int soundFile;
-+
-+ if ((soundFile = open(filename, O_RDONLY)) < 0)
-+ return SOUND_OPEN_ERROR;
-+ AUDIO_INITINFO(&(cacheBufferPtr->soundBParam));
-+ if ((cacheBufferPtr->soundLength = S_AuFileHeader(soundFile,
-+ &(cacheBufferPtr->soundBParam))) < 0) {
-+ close(soundFile);
-+ return SOUND_FILE_INVALID;
-+ }
-+ cacheBufferPtr->soundCacheBuffer =
-+ (char *)XtMalloc(cacheBufferPtr->soundLength);
-+ read(soundFile, cacheBufferPtr->soundCacheBuffer,
-+ cacheBufferPtr->soundLength);
-+ close(soundFile);
-+ return SOUND_NO_ERROR;
-+}
-+
-+
-+/*
-+ * $B%-%c%C%7%e2=$5$l$?%5%&%s%I$N:F@8(B
-+ */
-+static int
-+S_PlayCacheSound(cacheBufferPtr)
-+SoundCacheBuffer *cacheBufferPtr;
-+{
-+ int tmpfd;
-+ if ((tmpfd = open(AUDIO_DEVICE, O_WRONLY)) < 0) {
-+ if (errno == EBUSY)
-+ return SOUND_DEVICE_BUSY;
-+ return SOUND_DEVICE_ERROR;
-+ }
-+ AudioDevice = tmpfd;
-+ ioctl(AudioDevice, AUDIO_GETINFO, &AudioSaveConfig);
-+ /* $B%*!<%G%#%*%U%!%$%k$K9g$o$;$F%G%P%$%9$r%;%C%H$9$k(B
-+ $B%G%P%$%9L$%5%]!<%H$N7A<0$N%*!<%G%#%*%U%!%$%k$O%(%i!<(B */
-+ if (ioctl(AudioDevice, AUDIO_SETINFO,
-+ &(cacheBufferPtr->soundBParam)) < 0) {
-+ close(AudioDevice);
-+ return SOUND_DEVICE_ERROR;
-+ }
-+ /* $B%*!<%G%#%*%G%P%$%9$r%N%s%V%m%C%-%s%0%b!<%I$K@_Dj(B */
-+ fcntl(AudioDevice, F_SETFL, fcntl(AudioDevice, F_GETFL, 0) | O_NDELAY);
-+ SoundBufPtr = cacheBufferPtr->soundCacheBuffer;
-+ SoundLeft = cacheBufferPtr->soundLength;
-+ SoundPlayed = 0;
-+ SoundTimeBytes = (cacheBufferPtr->soundBParam.play.precision / 8) *
-+ cacheBufferPtr->soundBParam.play.channels *
-+ cacheBufferPtr->soundBParam.play.sample_rate;
-+ signal(SIGALRM, S_PlayInterval);
-+ gettimeofday(&SoundStart, NULL);
-+ S_PlayInterval();
-+ return SOUND_NO_ERROR;
-+}
-+
-+
-+/*
-+ * $B%-%c%C%7%e2=$5$l$?%5%&%s%I$N3+J|(B
-+ */
-+static void
-+S_FreeCacheSound(cacheBufferPtr)
-+SoundCacheBuffer *cacheBufferPtr;
-+{
-+ XtFree(cacheBufferPtr->soundCacheBuffer);
-+}
-+
-+
-+/*
-+ * $B%5%&%s%I4D6-$N8e;OKv(B
-+ */
-+static void
-+S_SoundEnvDispose()
-+{
-+ /* $B2?$b$7$J$$(B */
-+}
-+
-+/*
-+ * SIGALRM$B$G8F$P$l$k4X?t(B
-+ */
-+static void
-+S_PlayInterval()
-+{
-+ int nbytes, timer;
-+ struct itimerval t;
-+ struct timeval now;
-+
-+ if (SoundLeft > 0) {
-+ if ((nbytes = write(AudioDevice, SoundBufPtr, SoundLeft)) > 0) {
-+ SoundPlayed += nbytes;
-+ SoundLeft -= nbytes;
-+ SoundBufPtr += nbytes;
-+ timer = ((double)SoundPlayed / (double)SoundTimeBytes)
-+ * 1000000;
-+ gettimeofday(&now, NULL);
-+ timer -= (now.tv_sec - SoundStart.tv_sec) * 1000000
-+ + now.tv_usec - SoundStart.tv_usec;
-+ if (timer <= 0)
-+ timer = 1;
-+ } else {
-+ timer = 1;
-+ if (nbytes < 0 && errno != EBUSY)
-+ SoundLeft = 0;
-+ }
-+ t.it_interval.tv_sec = 0;
-+ t.it_interval.tv_usec = 0;
-+ t.it_value.tv_sec = timer / 1000000;
-+ t.it_value.tv_usec = timer % 1000000;
-+ setitimer(ITIMER_REAL, &t, NULL);
-+ } else {
-+ if (close(AudioDevice) == -1)
-+ perror("nazo\n");
-+ if (SoundTmpBuffer != NULL) {
-+ XtFree(SoundTmpBuffer);
-+ SoundTmpBuffer = NULL;
-+ }
-+ signal(SIGALRM, SIG_IGN);
-+ }
-+}
-+
-+#if BYTE_ORDER == LITTLE_ENDIAN
-+# define BSWAP32(x) x = bswap32(x)
-+#endif
-+#if BYTE_ORDER == BIG_ENDIAN
-+# define BSWAP32(x)
-+#endif
-+#if BYTE_ORDER == PDP_ENDIAN
-+# error lose.
-+#endif
-+
-+/*
-+ * .au$B%U%!%$%k$N%X%C%@>pJs$rJV$94X?t(B
-+ * $B%U%!%$%k0LCV$O%G!<%?It$N@hF,$K%;%C%H$5$l$k!#(B
-+ */
-+static int
-+S_AuFileHeader(file, audio)
-+int file;
-+audio_info_t *audio;
-+{
-+ static int formattable[] = {
-+ 0, 0, /* Not defined */
-+ AUDIO_ENCODING_ULAW, 8, /* 8-bit ISDN u-law */
-+ AUDIO_ENCODING_LINEAR, 8, /* 8-bit linear PCM */
-+ AUDIO_ENCODING_LINEAR, 16, /* 16-bit linear PCM */
-+ AUDIO_ENCODING_LINEAR, 24, /* 24-bit linear PCM */
-+ AUDIO_ENCODING_LINEAR, 32 /* 32-bit linear PCM */
-+ };
-+
-+ long magic, pos, size, format, rate, chan;
-+ struct stat st;
-+
-+ read(file, &magic, sizeof(long));
-+ BSWAP32(magic);
-+ if (magic != AUDIOMAGICNUMBER)
-+ return -1;
-+ read(file, &pos, sizeof(long));
-+ BSWAP32(pos);
-+ read(file, &size, sizeof(long));
-+ BSWAP32(size);
-+ read(file, &format, sizeof(long));
-+ BSWAP32(format);
-+ read(file, &rate, sizeof(long));
-+ BSWAP32(rate);
-+ read(file, &chan, sizeof(long));
-+ BSWAP32(chan);
-+ if (format < 1 || format > 5)
-+ return -1;
-+ format = format * 2;
-+ audio->play.encoding = formattable[format];
-+ audio->play.precision = formattable[format + 1];
-+ audio->play.sample_rate = rate;
-+ audio->play.channels = chan;
-+ lseek(file, pos, SEEK_SET);
-+ fstat(file, &st);
-+ return st.st_size - pos;
-+}