summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/Makefile34
-rw-r--r--audio/amp/Makefile25
-rw-r--r--audio/amp/files/md51
-rw-r--r--audio/amp/patches/patch-aa19
-rw-r--r--audio/amp/patches/patch-ab39
-rw-r--r--audio/amp/pkg/COMMENT1
-rw-r--r--audio/amp/pkg/DESCR10
-rw-r--r--audio/amp/pkg/PLIST2
-rw-r--r--audio/cam/Makefile17
-rw-r--r--audio/cam/files/md51
-rw-r--r--audio/cam/patches/patch-aa76
-rw-r--r--audio/cam/pkg/COMMENT1
-rw-r--r--audio/cam/pkg/DESCR7
-rw-r--r--audio/cam/pkg/PLIST2
-rw-r--r--audio/cddbd/Makefile32
-rw-r--r--audio/cddbd/files/md52
-rw-r--r--audio/cddbd/patches/patch-aa69
-rw-r--r--audio/cddbd/pkg/COMMENT1
-rw-r--r--audio/cddbd/pkg/DESCR20
-rw-r--r--audio/cddbd/pkg/PLIST4
-rw-r--r--audio/gsm/Makefile22
-rw-r--r--audio/gsm/files/md51
-rw-r--r--audio/gsm/patches/patch-aa42
-rw-r--r--audio/gsm/patches/patch-ab206
-rw-r--r--audio/gsm/pkg/COMMENT1
-rw-r--r--audio/gsm/pkg/DESCR2
-rw-r--r--audio/gsm/pkg/PLIST15
-rw-r--r--audio/maplay/Makefile23
-rw-r--r--audio/maplay/files/md51
-rw-r--r--audio/maplay/patches/patch-aa745
-rw-r--r--audio/maplay/patches/patch-ab31
-rw-r--r--audio/maplay/patches/patch-ac22
-rw-r--r--audio/maplay/pkg/COMMENT1
-rw-r--r--audio/maplay/pkg/DESCR186
-rw-r--r--audio/maplay/pkg/PLIST1
-rw-r--r--audio/mikmod/Makefile31
-rw-r--r--audio/mikmod/files/md51
-rw-r--r--audio/mikmod/patches/patch-aa18
-rw-r--r--audio/mikmod/patches/patch-ab11
-rw-r--r--audio/mikmod/patches/patch-ac11
-rw-r--r--audio/mikmod/pkg/COMMENT1
-rw-r--r--audio/mikmod/pkg/DESCR6
-rw-r--r--audio/mikmod/pkg/PLIST7
-rw-r--r--audio/mpg123/Makefile18
-rw-r--r--audio/mpg123/files/md51
-rw-r--r--audio/mpg123/pkg/COMMENT1
-rw-r--r--audio/mpg123/pkg/DESCR4
-rw-r--r--audio/mpg123/pkg/PLIST2
-rw-r--r--audio/mxv/Makefile34
-rw-r--r--audio/mxv/files/md52
-rw-r--r--audio/mxv/patches/patch-aa801
-rw-r--r--audio/mxv/patches/patch-ab40
-rw-r--r--audio/mxv/patches/patch-ac30
-rw-r--r--audio/mxv/patches/patch-ad19
-rw-r--r--audio/mxv/patches/patch-ae33
-rw-r--r--audio/mxv/patches/patch-af40
-rw-r--r--audio/mxv/patches/patch-ag16
-rw-r--r--audio/mxv/patches/patch-ah16
-rw-r--r--audio/mxv/patches/patch-ai37
-rw-r--r--audio/mxv/pkg/COMMENT1
-rw-r--r--audio/mxv/pkg/DESCR6
-rw-r--r--audio/mxv/pkg/PLIST2
-rw-r--r--audio/nas/Makefile20
-rw-r--r--audio/nas/files/md51
-rw-r--r--audio/nas/patches/patch-ab16
-rw-r--r--audio/nas/patches/patch-ac12
-rw-r--r--audio/nas/patches/patch-ad55
-rw-r--r--audio/nas/patches/patch-ae25
-rw-r--r--audio/nas/pkg/COMMENT1
-rw-r--r--audio/nas/pkg/DESCR5
-rw-r--r--audio/nas/pkg/PLIST194
-rw-r--r--audio/nas/scripts/configure14
-rw-r--r--audio/nspmod/Makefile23
-rw-r--r--audio/nspmod/files/md51
-rw-r--r--audio/nspmod/patches/patch-aa245
-rw-r--r--audio/nspmod/patches/patch-ab21
-rw-r--r--audio/nspmod/patches/patch-ac50
-rw-r--r--audio/nspmod/patches/patch-ad12
-rw-r--r--audio/nspmod/patches/patch-ae12
-rw-r--r--audio/nspmod/pkg/COMMENT1
-rw-r--r--audio/nspmod/pkg/DESCR10
-rw-r--r--audio/nspmod/pkg/PLIST2
-rw-r--r--audio/pkg/COMMENT1
-rw-r--r--audio/rplay/Makefile33
-rw-r--r--audio/rplay/files/md51
-rw-r--r--audio/rplay/patches/patch-aa23
-rw-r--r--audio/rplay/patches/patch-ab39
-rw-r--r--audio/rplay/pkg/COMMENT1
-rw-r--r--audio/rplay/pkg/DESCR33
-rw-r--r--audio/rplay/pkg/PLIST20
-rw-r--r--audio/rplay/scripts/configure8
-rw-r--r--audio/rsynth/Makefile26
-rw-r--r--audio/rsynth/files/config.guess497
-rw-r--r--audio/rsynth/files/config.sub833
-rw-r--r--audio/rsynth/files/configure2455
-rw-r--r--audio/rsynth/files/freebsdplay.c140
-rw-r--r--audio/rsynth/files/md51
-rw-r--r--audio/rsynth/patches/patch-aa9
-rw-r--r--audio/rsynth/patches/patch-ab30
-rw-r--r--audio/rsynth/patches/patch-ac11
-rw-r--r--audio/rsynth/pkg/COMMENT1
-rw-r--r--audio/rsynth/pkg/DESCR15
-rw-r--r--audio/rsynth/pkg/PLIST2
-rw-r--r--audio/sox/Makefile24
-rw-r--r--audio/sox/files/md51
-rw-r--r--audio/sox/patches/patch-aa61
-rw-r--r--audio/sox/patches/patch-ab16
-rw-r--r--audio/sox/patches/patch-ac11
-rw-r--r--audio/sox/pkg/COMMENT1
-rw-r--r--audio/sox/pkg/DESCR15
-rw-r--r--audio/sox/pkg/PLIST2
-rw-r--r--audio/splay/Makefile18
-rw-r--r--audio/splay/files/md51
-rw-r--r--audio/splay/patches/patch-aa19
-rw-r--r--audio/splay/patches/patch-ab11
-rw-r--r--audio/splay/pkg/COMMENT1
-rw-r--r--audio/splay/pkg/DESCR14
-rw-r--r--audio/splay/pkg/PLIST1
-rw-r--r--audio/timidity/Makefile36
-rw-r--r--audio/timidity/files/md52
-rw-r--r--audio/timidity/patches/patch-aa85
-rw-r--r--audio/timidity/patches/patch-ab150
-rw-r--r--audio/timidity/patches/patch-ac40
-rw-r--r--audio/timidity/patches/patch-ad13
-rw-r--r--audio/timidity/pkg/COMMENT1
-rw-r--r--audio/timidity/pkg/DESCR5
-rw-r--r--audio/timidity/pkg/PLIST205
-rw-r--r--audio/tosha/Makefile17
-rw-r--r--audio/tosha/files/md51
-rw-r--r--audio/tosha/patches/patch-aa29
-rw-r--r--audio/tosha/pkg/COMMENT1
-rw-r--r--audio/tosha/pkg/DESCR9
-rw-r--r--audio/tosha/pkg/PLIST6
-rw-r--r--audio/tracker/Makefile35
-rw-r--r--audio/tracker/files/md51
-rw-r--r--audio/tracker/patches/patch-aa73
-rw-r--r--audio/tracker/patches/patch-ab33
-rw-r--r--audio/tracker/patches/patch-ac24
-rw-r--r--audio/tracker/pkg/COMMENT1
-rw-r--r--audio/tracker/pkg/DESCR6
-rw-r--r--audio/tracker/pkg/PLIST88
-rw-r--r--audio/workman/Makefile22
-rw-r--r--audio/workman/files/md51
-rw-r--r--audio/workman/patches/patch-aa311
-rw-r--r--audio/workman/pkg/COMMENT1
-rw-r--r--audio/workman/pkg/DESCR13
-rw-r--r--audio/workman/pkg/PLIST3
-rw-r--r--audio/xcd/Makefile20
-rw-r--r--audio/xcd/files/md51
-rw-r--r--audio/xcd/pkg/COMMENT1
-rw-r--r--audio/xcd/pkg/DESCR10
-rw-r--r--audio/xcd/pkg/PLIST21
-rw-r--r--audio/xcd/scripts/configure15
-rw-r--r--audio/xcdplayer/Makefile19
-rw-r--r--audio/xcdplayer/files/cdrom_freebsd.c601
-rw-r--r--audio/xcdplayer/files/cdrom_freebsd.h95
-rw-r--r--audio/xcdplayer/files/md51
-rw-r--r--audio/xcdplayer/patches/patch-aa171
-rw-r--r--audio/xcdplayer/patches/patch-ab266
-rw-r--r--audio/xcdplayer/pkg/COMMENT1
-rw-r--r--audio/xcdplayer/pkg/DESCR8
-rw-r--r--audio/xcdplayer/pkg/PLIST3
-rw-r--r--audio/xcdplayer/scripts/pre-configure8
-rw-r--r--audio/xmcd/Makefile23
-rw-r--r--audio/xmcd/files/md51
-rw-r--r--audio/xmcd/patches/patch-aa88
-rw-r--r--audio/xmcd/patches/patch-ab138
-rw-r--r--audio/xmcd/pkg/COMMENT1
-rw-r--r--audio/xmcd/pkg/DESCR14
-rw-r--r--audio/xmcd/pkg/PLIST148
-rw-r--r--audio/xmix/Makefile26
-rw-r--r--audio/xmix/files/md52
-rw-r--r--audio/xmix/patches/patch-aa37
-rw-r--r--audio/xmix/pkg/COMMENT1
-rw-r--r--audio/xmix/pkg/DESCR4
-rw-r--r--audio/xmix/pkg/PLIST3
-rw-r--r--audio/xmmix/Makefile19
-rw-r--r--audio/xmmix/files/md51
-rw-r--r--audio/xmmix/patches/patch-aa22
-rw-r--r--audio/xmmix/pkg/COMMENT1
-rw-r--r--audio/xmmix/pkg/DESCR20
-rw-r--r--audio/xmmix/pkg/PLIST4
182 files changed, 10952 insertions, 0 deletions
diff --git a/audio/Makefile b/audio/Makefile
new file mode 100644
index 00000000000..3055dd64093
--- /dev/null
+++ b/audio/Makefile
@@ -0,0 +1,34 @@
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:20 augustss Exp $
+#
+
+ SUBDIR += amp
+ SUBDIR += cam
+ SUBDIR += cddbd
+ SUBDIR += gmod
+ SUBDIR += gsm
+ SUBDIR += maplay
+ SUBDIR += mikmod
+ SUBDIR += mpegaudio
+ SUBDIR += mpg123
+ SUBDIR += mxv
+ SUBDIR += nas
+ SUBDIR += nspmod
+ SUBDIR += playmidi
+ SUBDIR += radio
+ SUBDIR += rosegarden
+ SUBDIR += rplay
+ SUBDIR += rsynth
+ SUBDIR += s3mod
+ SUBDIR += sox
+ SUBDIR += splay
+ SUBDIR += timidity
+ SUBDIR += tosha
+ SUBDIR += tracker
+ SUBDIR += workman
+ SUBDIR += xcd
+ SUBDIR += xcdplayer
+ SUBDIR += xmcd
+ SUBDIR += xmix
+ SUBDIR += xmmix
+
+.include <bsd.port.subdir.mk>
diff --git a/audio/amp/Makefile b/audio/amp/Makefile
new file mode 100644
index 00000000000..e37a7c68034
--- /dev/null
+++ b/audio/amp/Makefile
@@ -0,0 +1,25 @@
+# New ports collection makefile for: amp
+# Version required: 0.7.6
+# Date created: Jun 23 1997
+# Whom: Vanilla I. Shu <vanilla@MinJe.com.TW>
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:21 augustss Exp $
+#
+
+DISTNAME= amp-0.7.6
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.rasip.fer.hr/pub/mpeg/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= vanilla@MinJe.com.TW
+
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+
+MAN1= amp.1
+
+do-install:
+ @ ${INSTALL_PROGRAM} ${WRKSRC}/amp ${PREFIX}/bin
+ @ ${INSTALL_MAN} ${WRKSRC}/amp.1 ${PREFIX}/man/man1
+
+.include <bsd.port.mk>
diff --git a/audio/amp/files/md5 b/audio/amp/files/md5
new file mode 100644
index 00000000000..bcf96a443c6
--- /dev/null
+++ b/audio/amp/files/md5
@@ -0,0 +1 @@
+MD5 (amp-0.7.6.tgz) = c12a27ac84b417bdac3330c3aa366122
diff --git a/audio/amp/patches/patch-aa b/audio/amp/patches/patch-aa
new file mode 100644
index 00000000000..d6313b1a88e
--- /dev/null
+++ b/audio/amp/patches/patch-aa
@@ -0,0 +1,19 @@
+*** configure.orig Mon Sep 1 19:01:06 1997
+--- configure Mon Sep 1 19:12:55 1997
+*************** case "$OS_TYPE" in
+*** 1409,1415 ****
+ if test "$OS_TYPE" = "FreeBSD" ; then
+ OS_TYPE="BSD"
+ fi
+! CFLAGS="-O6 -ffast-math -fomit-frame-pointer ${CFLAGS_ARCH}"
+ DEFINES="-DNO_BYTE_SWAPPING -DOS_$OS_TYPE -DARCH_$ARCH_TYPE"
+ ;;
+
+--- 1409,1415 ----
+ if test "$OS_TYPE" = "FreeBSD" ; then
+ OS_TYPE="BSD"
+ fi
+! CFLAGS="-O2 -m486 -pipe -ffast-math -fomit-frame-pointer ${CFLAGS_ARCH}"
+ DEFINES="-DNO_BYTE_SWAPPING -DOS_$OS_TYPE -DARCH_$ARCH_TYPE"
+ ;;
+
diff --git a/audio/amp/patches/patch-ab b/audio/amp/patches/patch-ab
new file mode 100644
index 00000000000..aba343a13c6
--- /dev/null
+++ b/audio/amp/patches/patch-ab
@@ -0,0 +1,39 @@
+*** audioIO_Linux.c.orig Mon Sep 1 19:29:08 1997
+--- audioIO_Linux.c Mon Sep 1 19:33:25 1997
+***************
+*** 26,32 ****
+
+ /* optimal fragment size */
+
+! int AUSIZ = 0;
+
+ /* declare these static to effectively isolate the audio device */
+
+--- 26,32 ----
+
+ /* optimal fragment size */
+
+! int AUSIZ = 32768;
+
+ /* declare these static to effectively isolate the audio device */
+
+*** audioIO.h.orig Mon Sep 1 19:33:43 1997
+--- audioIO.h Mon Sep 1 19:34:04 1997
+*************** extern int AUSIZ;
+*** 12,18 ****
+ #endif
+
+ #ifdef OS_BSD
+! #define AUSIZ 32768
+ #endif
+
+ #if defined(OS_IRIX) || defined(OS_IRIX64)
+--- 12,19 ----
+ #endif
+
+ #ifdef OS_BSD
+! /* #define AUSIZ 32768 */
+! extern int AUSIZ;
+ #endif
+
+ #if defined(OS_IRIX) || defined(OS_IRIX64)
diff --git a/audio/amp/pkg/COMMENT b/audio/amp/pkg/COMMENT
new file mode 100644
index 00000000000..6d2c23976ab
--- /dev/null
+++ b/audio/amp/pkg/COMMENT
@@ -0,0 +1 @@
+another mp3 player
diff --git a/audio/amp/pkg/DESCR b/audio/amp/pkg/DESCR
new file mode 100644
index 00000000000..d36cff99bdc
--- /dev/null
+++ b/audio/amp/pkg/DESCR
@@ -0,0 +1,10 @@
+------------------------ From the README file ------------------------
+amp (Audio Mpeg Player) is an MPEG audio decoder which I originally started
+putting together as a side project of the MPEG hardware design project at
+FER/Zagreb - just to confirm my knowledge of the standard. It works with
+both MPEG1 and MPEG2 audio streams (except for the multichannel extensions
+defined in MPEG2), layer3 only for now.
+---------------------------- End of quote ----------------------------
+
+- Vanilla
+vanilla@MinJe.com.TW
diff --git a/audio/amp/pkg/PLIST b/audio/amp/pkg/PLIST
new file mode 100644
index 00000000000..8a82fa0791e
--- /dev/null
+++ b/audio/amp/pkg/PLIST
@@ -0,0 +1,2 @@
+bin/amp
+man/man1/amp.1.gz
diff --git a/audio/cam/Makefile b/audio/cam/Makefile
new file mode 100644
index 00000000000..3dde03654b9
--- /dev/null
+++ b/audio/cam/Makefile
@@ -0,0 +1,17 @@
+# New ports collection makefile for: cam
+# Version required: 1.02
+# Date created: Tue Nov 12 15:54:21 CST 1996
+# Whom: erich@FreeBSD.org
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:23 augustss Exp $
+#
+
+DISTNAME= cam-1.02
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_SUNSITE}
+MASTER_SITE_SUBDIR= apps/sound/mixers
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= erich@FreeBSD.org
+
+.include <bsd.port.mk>
diff --git a/audio/cam/files/md5 b/audio/cam/files/md5
new file mode 100644
index 00000000000..2c0e667ec44
--- /dev/null
+++ b/audio/cam/files/md5
@@ -0,0 +1 @@
+MD5 (cam-1.02.tgz) = dfb2d6afaa608d797f490c9ae468faac
diff --git a/audio/cam/patches/patch-aa b/audio/cam/patches/patch-aa
new file mode 100644
index 00000000000..fccade6a166
--- /dev/null
+++ b/audio/cam/patches/patch-aa
@@ -0,0 +1,76 @@
+diff -ru ../cam-1.02-virgin/cam.h ./cam.h
+--- ../cam-1.02-virgin/cam.h Mon Oct 21 13:08:08 1996
++++ ./cam.h Sun Nov 10 12:19:52 1996
+@@ -23,7 +23,11 @@
+ #include <stdio.h>
+ #include <ncurses.h>
+ #include <signal.h>
++#ifdef __FreeBSD__
++#include <machine/soundcard.h>
++#else
+ #include <sys/soundcard.h>
++#endif
+ #include <fcntl.h>
+
+ #include "sounds.h"
+Only in .: cam.o
+Only in .: screens.o
+diff -ru ../cam-1.02-virgin/sounds.c ./sounds.c
+--- ../cam-1.02-virgin/sounds.c Mon Oct 21 13:33:55 1996
++++ ./sounds.c Sun Nov 10 12:20:22 1996
+@@ -36,7 +36,7 @@
+
+
+ int mixer_fd, recmask, devmask, stereodevs, recsrc;
+-char *devname[DEV_COUNT] = SOUND_DEVICE_LABELS;
++char *cam_devname[DEV_COUNT] = SOUND_DEVICE_LABELS;
+ char *mixer_dev = "/dev/mixer";
+ struct devices
+ {
+@@ -287,7 +287,7 @@
+ else
+ dev_vol[dev_count].vol_right = dev_vol[dev_count].vol_left;
+
+- draw_slider( Y, X, devname[dev_nr]);
++ draw_slider( Y, X, cam_devname[dev_nr]);
+ draw_handle( Y+1, X+14+dev_vol[dev_count].vol_left, FALSE, 4);
+ if (STEREO(dev_nr))
+ draw_handle( Y+2, X+14+dev_vol[dev_count].vol_right, FALSE, 4);
+Only in .: sounds.o
+diff -ru ../cam-1.02-virgin/xcam ./xcam
+--- ../cam-1.02-virgin/xcam Thu Sep 19 12:10:40 1996
++++ ./xcam Sun Nov 10 12:21:10 1996
+@@ -1 +1 @@
+-color-xterm -tn xterm-color -font vga -geometry 80x25 -bg black -fg gray -e cam
++color_xterm -tn xterm-color -font vga -geometry 80x25 -bg black -fg gray -e ./cam
+--- Makefile~ Tue Nov 12 16:03:05 1996
++++ Makefile Tue Nov 12 16:03:57 1996
+@@ -8,11 +8,11 @@
+ CFLAGS = -Wall -O2
+ LIBS = -lncurses
+ INSTALL = install
+-BINDIR = /usr/local/bin
++BINDIR = ${PREFIX}/bin
+ MANFILE= cam.1
+-MANDIR = /usr/man/man1
++MANDIR = ${PREFIX}/man/man1
+ EFILE = cam
+-XEFILE = xcam
++#XEFILE = xcam
+ OBJS = cam.o screens.o sounds.o
+ ###############################################################################
+
+@@ -69,12 +69,10 @@
+ @echo ""
+ @echo "installing $(EFILE) in directory $(BINDIR)"
++ @$(INSTALL) -m 755 -o root -g bin $(EFILE) $(BINDIR)
+- @$(INSTALL) -m 755 -o root -g root $(EFILE) $(BINDIR)
+- @$(INSTALL) -m 755 -o root -g root $(XEFILE) $(BINDIR)
+ @echo ""
+ @echo "installing manpages for cam"
++ @$(INSTALL) -m 644 -o root -g bin $(MANFILE) $(MANDIR)
+- @$(INSTALL) -m 644 -o root -g root $(MANFILE) $(MANDIR)
++ @gzip -9nf ${MANDIR}/${MANFILE}
+- @echo ""
+- @. installvgafont.sh
+ @echo ""
diff --git a/audio/cam/pkg/COMMENT b/audio/cam/pkg/COMMENT
new file mode 100644
index 00000000000..305c8057146
--- /dev/null
+++ b/audio/cam/pkg/COMMENT
@@ -0,0 +1 @@
+Cpu's Audio Mixer [curses based]
diff --git a/audio/cam/pkg/DESCR b/audio/cam/pkg/DESCR
new file mode 100644
index 00000000000..7a847d274a9
--- /dev/null
+++ b/audio/cam/pkg/DESCR
@@ -0,0 +1,7 @@
+CAM - Cpu's Audio Mixer
+=================================
+
+This is an audio mixer with an interface or
+command line support.
+
+
diff --git a/audio/cam/pkg/PLIST b/audio/cam/pkg/PLIST
new file mode 100644
index 00000000000..8f086daba0a
--- /dev/null
+++ b/audio/cam/pkg/PLIST
@@ -0,0 +1,2 @@
+bin/cam
+man/man1/cam.1.gz
diff --git a/audio/cddbd/Makefile b/audio/cddbd/Makefile
new file mode 100644
index 00000000000..1fe5639d7d2
--- /dev/null
+++ b/audio/cddbd/Makefile
@@ -0,0 +1,32 @@
+# New ports collection makefile for: cddbd
+# Version required: 1.3.1 patch 1
+# Date created: 18 Apr 1997
+# Whom: Brent J. Nordquist <bjn@visi.com>
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:25 augustss Exp $
+#
+
+DISTNAME= cddbd-1.3.1
+PKGNAME= cddbd-1.3.1p1
+CATEGORIES= audio net
+MASTER_SITES= ftp://ftp.moonsoft.com/pub/cddbd-1.3.1/ \
+ http://www.moonsoft.com/ftp/cddbd-1.3.1/
+
+PATCH_SITES= ${MASTER_SITES}
+PATCHFILES= cddbd-1.3.1.patch1.gz
+
+MAINTAINER= bjn@visi.com
+
+IS_INTERACTIVE= yes
+NO_PACKAGE= too interactive
+MAKEFILE= makefile
+
+do-configure:
+ @( cd ${WRKSRC} && BASEDIR=${PREFIX}/share sh config.sh )
+
+do-install:
+ @( cd ${WRKSRC} && INSTALL=${INSTALL} BINDIR=${PREFIX}/bin \
+ BINPERM=${BINMODE} BINOWNER=${BINOWN} BINGROUP=${BINGRP} \
+ sh install.sh )
+
+.include <bsd.port.mk>
diff --git a/audio/cddbd/files/md5 b/audio/cddbd/files/md5
new file mode 100644
index 00000000000..e2432ef8b56
--- /dev/null
+++ b/audio/cddbd/files/md5
@@ -0,0 +1,2 @@
+MD5 (cddbd-1.3.1.tar.gz) = 263ecea11b13be513b2d1653f5c62333
+MD5 (cddbd-1.3.1.patch1.gz) = e46f791d51c1b83756d17b20e1cce03a
diff --git a/audio/cddbd/patches/patch-aa b/audio/cddbd/patches/patch-aa
new file mode 100644
index 00000000000..4747c035e65
--- /dev/null
+++ b/audio/cddbd/patches/patch-aa
@@ -0,0 +1,69 @@
+--- install.sh.orig Sat Dec 21 21:49:54 1996
++++ install.sh Fri Apr 18 15:12:25 1997
+@@ -37,11 +37,25 @@
+ # Set up access defaults.
+ DIRPERM=755
+ FILEPERM=644
+-BINPERM=6711
++if [ -z "$BINPERM" ]
++then
++ BINPERM=6711
++fi
+ UMASK=022
+ OWNER=`expr "$id" : '.*uid=.*(\(.*\)).*gid'`
+ GROUP=`expr "$id" : '.*gid=[0-9]*(\([a-zA-Z0-9_]*\))'`
+-BINOWNER=$OWNER
++if [ -z "$BINOWNER" ]
++then
++ BINOWNER=$OWNER
++fi
++if [ -z "$BINGROUP" ]
++then
++ BINGROUP=$GROUP
++fi
++if [ -z "$INSTALL" ]
++then
++ INSTALL=/usr/bin/install
++fi
+
+ USERS=100
+ LINES=1024
+@@ -202,28 +216,12 @@
+ rm -f $2
+ fi
+
+- cp $1 $2
++ $INSTALL -c -m $3 -o $4 -g $5 $1 $2
+ if [ $? != 0 ]
+ then
+ logerr -n "Cannot install $2: file copy error."
+ return 1
+ fi
+-
+- if [ -f $2 ]
+- then
+- if [ $3 != default ]
+- then
+- chmod $3 $2 2>/dev/null
+- fi
+- if [ $4 != default ]
+- then
+- chown $4 $2 2>/dev/null
+- fi
+- if [ $5 != default ]
+- then
+- chgrp $5 $2 2>/dev/null
+- fi
+- fi
+ return 0
+ else
+ $ECHO "\t$2 NOT installed"
+@@ -624,7 +622,7 @@
+ $ECHO "\nInstalling cddbd files..."
+
+ # Binaries
+-instfile cddbd ${BINDIR}/cddbd $BINPERM $BINOWNER $GROUP
++instfile cddbd ${BINDIR}/cddbd $BINPERM $BINOWNER $BINGROUP
+
+ # Configuration files
+ instfile access `cat .accessfile`/access $FPERM $OWNID $GRPID
diff --git a/audio/cddbd/pkg/COMMENT b/audio/cddbd/pkg/COMMENT
new file mode 100644
index 00000000000..2005df1a2cd
--- /dev/null
+++ b/audio/cddbd/pkg/COMMENT
@@ -0,0 +1 @@
+Internet CD Database Server.
diff --git a/audio/cddbd/pkg/DESCR b/audio/cddbd/pkg/DESCR
new file mode 100644
index 00000000000..74584a4046e
--- /dev/null
+++ b/audio/cddbd/pkg/DESCR
@@ -0,0 +1,20 @@
+This is a port of The Internet CD Database Server (cddbd v1.3.1)
+
+Copyright (c) 1996 Steve Scherf <steve@moonsoft.com>
+A Moondog Software Production
+
+The CD Database Server (cddbd) is a program designed to allow remote
+access of xmcd-style Compact Disc database entries via the Internet.
+Many CD players (such as xmcd--another FreeBSD port, and DiscPlay
+for Windows) can connect to this server through the Internet and
+download CD data from the server machine's CDDB.
+
+Current on-line information on cddbd can be found on the World
+Wide Web page with the following URL:
+
+ http://www.moonsoft.com/software.html
+
+--
+Port to FreeBSD 2.2 by
+Brent J. Nordquist <bjn@visi.com>
+Fri Apr 18 1997
diff --git a/audio/cddbd/pkg/PLIST b/audio/cddbd/pkg/PLIST
new file mode 100644
index 00000000000..d1f79198da1
--- /dev/null
+++ b/audio/cddbd/pkg/PLIST
@@ -0,0 +1,4 @@
+bin/cddbd
+share/xmcd/cddbd/access
+share/xmcd/cddbd/motd
+share/xmcd/cddbd/sites
diff --git a/audio/gsm/Makefile b/audio/gsm/Makefile
new file mode 100644
index 00000000000..828b45ef9dc
--- /dev/null
+++ b/audio/gsm/Makefile
@@ -0,0 +1,22 @@
+# New ports collection makefile for: gsm
+# Version required: gsm-1.0.10
+# Date created: 5 January 1995
+# Whom: pst
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:29 augustss Exp $
+#
+
+DISTNAME= gsm-1.0.10
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm/
+
+MAINTAINER= ports@FreeBSD.org
+
+WRKSRC= ${WRKDIR}/gsm-1.0-pl10
+MAN1= toast.1
+MAN3= gsm.3 gsm_explode.3 gsm_option.3 gsm_print.3
+
+post-install:
+ ${LDCONFIG} -m ${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/audio/gsm/files/md5 b/audio/gsm/files/md5
new file mode 100644
index 00000000000..74f583166ed
--- /dev/null
+++ b/audio/gsm/files/md5
@@ -0,0 +1 @@
+MD5 (gsm-1.0.10.tar.gz) = 4b148480f82e96d274248e13880ec873
diff --git a/audio/gsm/patches/patch-aa b/audio/gsm/patches/patch-aa
new file mode 100644
index 00000000000..1d48f4bd09c
--- /dev/null
+++ b/audio/gsm/patches/patch-aa
@@ -0,0 +1,42 @@
+*** inc/config.h.orig Tue Jul 2 18:32:27 1996
+--- inc/config.h Fri Oct 25 17:18:49 1996
+***************
+*** 13,21 ****
+ /*efine HAS_SYSV_SIGNAL 1 /* sigs not blocked/reset? */
+
+ #define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */
+! /*efine HAS_LIMITS_H 1 /* /usr/include/limits.h */
+ #define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */
+! /*efine HAS_ERRNO_DECL 1 /* errno.h declares errno */
+
+ #define HAS_FSTAT 1 /* fstat syscall */
+ #define HAS_FCHMOD 1 /* fchmod syscall */
+--- 13,21 ----
+ /*efine HAS_SYSV_SIGNAL 1 /* sigs not blocked/reset? */
+
+ #define HAS_STDLIB_H 1 /* /usr/include/stdlib.h */
+! #define HAS_LIMITS_H 1 /* /usr/include/limits.h */
+ #define HAS_FCNTL_H 1 /* /usr/include/fcntl.h */
+! #define HAS_ERRNO_DECL 1 /* errno.h declares errno */
+
+ #define HAS_FSTAT 1 /* fstat syscall */
+ #define HAS_FCHMOD 1 /* fchmod syscall */
+***************
+*** 28,35 ****
+ /*efine HAS_STRINGS_H 1 /* /usr/include/strings.h */
+
+ #define HAS_UNISTD_H 1 /* /usr/include/unistd.h */
+! #define HAS_UTIME 1 /* POSIX utime(path, times) */
+! /*efine HAS_UTIMES 1 /* use utimes() syscall instead */
+ #define HAS_UTIME_H 1 /* UTIME header file */
+ /*efine HAS_UTIMBUF 1 /* struct utimbuf */
+ /*efine HAS_UTIMEUSEC 1 /* microseconds in utimbuf? */
+--- 28,35 ----
+ /*efine HAS_STRINGS_H 1 /* /usr/include/strings.h */
+
+ #define HAS_UNISTD_H 1 /* /usr/include/unistd.h */
+! /*efine HAS_UTIME 1 /* POSIX utime(path, times) */
+! #define HAS_UTIMES 1 /* use utimes() syscall instead */
+ #define HAS_UTIME_H 1 /* UTIME header file */
+ /*efine HAS_UTIMBUF 1 /* struct utimbuf */
+ /*efine HAS_UTIMEUSEC 1 /* microseconds in utimbuf? */
diff --git a/audio/gsm/patches/patch-ab b/audio/gsm/patches/patch-ab
new file mode 100644
index 00000000000..f2f9d78e4d4
--- /dev/null
+++ b/audio/gsm/patches/patch-ab
@@ -0,0 +1,206 @@
+*** Makefile.orig Tue Jul 2 18:36:06 1996
+--- Makefile Fri Oct 25 17:15:42 1996
+***************
+*** 7,17 ****
+ SASR = -DSASR
+ ######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1)
+
+! MULHACK = -DUSE_FLOAT_MUL
+ ######### Define this if your host multiplies floats faster than integers,
+ ######### e.g. on a SPARCstation.
+
+! FAST = -DFAST
+ ######### Define together with USE_FLOAT_MUL to enable the GSM library's
+ ######### approximation option for incorrect, but good-enough results.
+
+--- 7,19 ----
+ SASR = -DSASR
+ ######### Define SASR if >> is a signed arithmetic shift (-1 >> 1 == -1)
+
+! #MULHACK = -DUSE_FLOAT_MUL # Don't define it for FreeBSD, cause SIGFPE
+! MULHACK =
+ ######### Define this if your host multiplies floats faster than integers,
+ ######### e.g. on a SPARCstation.
+
+! #FAST = -DFAST
+! FAST =
+ ######### Define together with USE_FLOAT_MUL to enable the GSM library's
+ ######### approximation option for incorrect, but good-enough results.
+
+***************
+*** 43,50 ****
+ # CC = /usr/lang/acc
+ # CCFLAGS = -c -O
+
+! CC = gcc -ansi -pedantic
+! CCFLAGS = -c -O2 -DNeedFunctionPrototypes=1
+
+ LD = $(CC)
+
+--- 45,52 ----
+ # CC = /usr/lang/acc
+ # CCFLAGS = -c -O
+
+! #CC = gcc -ansi -pedantic
+! CCFLAGS = -c -DNeedFunctionPrototypes=1
+
+ LD = $(CC)
+
+***************
+*** 59,69 ****
+--- 61,73 ----
+ ######### Includes needed by $(CC)
+
+ # LDINC = -L/usr/gnu/lib/gcc-2.1/gcc-lib/sparc-sun-sunos4.1.2/2.1
++ LDINC = -L$(LIB)
+ ######### Library paths needed by $(LD)
+
+ # LDLIB = -lgcc
+ ######### Additional libraries needed by $(LD)
+
++ PREFIX= /usr/local
+
+ # Where do you want to install libraries, binaries, a header file
+ # and the manual pages?
+***************
+*** 71,77 ****
+ # Leave INSTALL_ROOT empty (or just don't execute "make install") to
+ # not install gsm and toast outside of this directory.
+
+! INSTALL_ROOT =
+
+ # Where do you want to install the gsm library, header file, and manpages?
+ #
+--- 75,81 ----
+ # Leave INSTALL_ROOT empty (or just don't execute "make install") to
+ # not install gsm and toast outside of this directory.
+
+! INSTALL_ROOT = $(PREFIX)
+
+ # Where do you want to install the gsm library, header file, and manpages?
+ #
+***************
+*** 80,86 ****
+
+ GSM_INSTALL_ROOT = $(INSTALL_ROOT)
+ GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib
+! GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/inc
+ GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
+
+
+--- 84,90 ----
+
+ GSM_INSTALL_ROOT = $(INSTALL_ROOT)
+ GSM_INSTALL_LIB = $(GSM_INSTALL_ROOT)/lib
+! GSM_INSTALL_INC = $(GSM_INSTALL_ROOT)/include
+ GSM_INSTALL_MAN = $(GSM_INSTALL_ROOT)/man/man3
+
+
+***************
+*** 129,141 ****
+ # DEBUG = -DNDEBUG
+ ######### Remove -DNDEBUG to enable assertions.
+
+! CFLAGS = $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
+ $(WAV49) $(CCINC) -I$(INC)
+ ######### It's $(CC) $(CFLAGS)
+
+ LFLAGS = $(LDFLAGS) $(LDINC)
+ ######### It's $(LD) $(LFLAGS)
+
+
+ # Targets
+
+--- 133,146 ----
+ # DEBUG = -DNDEBUG
+ ######### Remove -DNDEBUG to enable assertions.
+
+! CFLAGS += $(CCFLAGS) $(SASR) $(DEBUG) $(MULHACK) $(FAST) $(LTP_CUT) \
+ $(WAV49) $(CCINC) -I$(INC)
+ ######### It's $(CC) $(CFLAGS)
+
+ LFLAGS = $(LDFLAGS) $(LDINC)
+ ######### It's $(LD) $(LFLAGS)
+
++ .SUFFIXES: .c .so .o
+
+ # Targets
+
+***************
+*** 258,263 ****
+--- 263,269 ----
+
+ GSM_INSTALL_TARGETS = \
+ $(GSM_INSTALL_LIB)/libgsm.a \
++ $(GSM_INSTALL_LIB)/libgsm.so.1.0.10 \
+ $(GSM_INSTALL_INC)/gsm.h \
+ $(GSM_INSTALL_MAN)/gsm.3 \
+ $(GSM_INSTALL_MAN)/gsm_explode.3 \
+***************
+*** 277,285 ****
+ $(CC) $(CFLAGS) $?
+ @-mv `$(BASENAME) $@` $@ > /dev/null 2>&1
+
+ # Target rules
+
+! all: $(LIBGSM) $(TOAST) $(TCAT) $(UNTOAST)
+ @-echo $(ROOT): Done.
+
+ tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
+--- 283,294 ----
+ $(CC) $(CFLAGS) $?
+ @-mv `$(BASENAME) $@` $@ > /dev/null 2>&1
+
++ .c.so:
++ ${CC} -fpic -DPIC ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
++
+ # Target rules
+
+! all: $(LIBGSM) $(LIB)/libgsm.so.1.0.10 $(TOAST) $(TCAT) $(UNTOAST)
+ @-echo $(ROOT): Done.
+
+ tst: $(TST)/lin2cod $(TST)/cod2lin $(TOAST) $(TST)/test-result
+***************
+*** 299,304 ****
+--- 308,316 ----
+
+ # The basic API: libgsm
+
++ $(LIB)/libgsm.so.1.0.10: $(LIB) $(GSM_OBJECTS:S/o$/so/g)
++ ld -Bshareable -o $@ $(GSM_OBJECTS:S/o$/so/g)
++
+ $(LIBGSM): $(LIB) $(GSM_OBJECTS)
+ -rm $(RMFLAGS) $(LIBGSM)
+ $(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)
+***************
+*** 308,314 ****
+ # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
+
+ $(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
+! $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) $(LIBGSM) $(LDLIB)
+
+ $(UNTOAST): $(BIN) $(TOAST)
+ -rm $(RMFLAGS) $(UNTOAST)
+--- 320,326 ----
+ # Toast, Untoast and Tcat -- the compress-like frontends to gsm.
+
+ $(TOAST): $(BIN) $(TOAST_OBJECTS) $(LIBGSM)
+! $(LD) $(LFLAGS) -o $(TOAST) $(TOAST_OBJECTS) -lgsm $(LDLIB)
+
+ $(UNTOAST): $(BIN) $(TOAST)
+ -rm $(RMFLAGS) $(UNTOAST)
+***************
+*** 394,399 ****
+--- 406,417 ----
+ chmod 444 $@
+
+ $(GSM_INSTALL_LIB)/libgsm.a: $(LIBGSM)
++ -rm $@
++ cp $? $@
++ chmod 444 $@
++ ranlib $@
++
++ $(GSM_INSTALL_LIB)/libgsm.so.1.0.10: $(LIB)/libgsm.so.1.0.10
+ -rm $@
+ cp $? $@
+ chmod 444 $@
diff --git a/audio/gsm/pkg/COMMENT b/audio/gsm/pkg/COMMENT
new file mode 100644
index 00000000000..7f0b66c8f52
--- /dev/null
+++ b/audio/gsm/pkg/COMMENT
@@ -0,0 +1 @@
+Audio converter and library for converting u-law to gsm encoding.
diff --git a/audio/gsm/pkg/DESCR b/audio/gsm/pkg/DESCR
new file mode 100644
index 00000000000..1436934430a
--- /dev/null
+++ b/audio/gsm/pkg/DESCR
@@ -0,0 +1,2 @@
+gsm is a conversion package and library for converting u-law audio to
+gsm encoding (which is much more efficient) and back again.
diff --git a/audio/gsm/pkg/PLIST b/audio/gsm/pkg/PLIST
new file mode 100644
index 00000000000..50d77b87dcd
--- /dev/null
+++ b/audio/gsm/pkg/PLIST
@@ -0,0 +1,15 @@
+bin/toast
+@exec ln -fs %f %B/untoast
+@exec ln -fs %f %B/untoastt
+man/man1/toast.1.gz
+@exec ln -fs %f %B/untoast.1
+@exec ln -fs %f %B/tcat.1
+man/man3/gsm.3.gz
+man/man3/gsm_explode.3.gz
+man/man3/gsm_option.3.gz
+man/man3/gsm_print.3.gz
+lib/libgsm.so.1.0.10
+@exec /sbin/ldconfig -m %B
+lib/libgsm.a
+@exec ranlib %D/%F
+include/gsm.h
diff --git a/audio/maplay/Makefile b/audio/maplay/Makefile
new file mode 100644
index 00000000000..ddbab2f3af6
--- /dev/null
+++ b/audio/maplay/Makefile
@@ -0,0 +1,23 @@
+# New ports collection makefile for: maplay
+# Version required: 1.2
+# Date created: Feb 13 1995
+# Whom: jkh
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:31 augustss Exp $
+#
+
+DISTNAME= maplay1_2
+PKGNAME= maplay-1.2
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.iuma.com/audio_utils/mpeg_players/Workstations/
+EXTRACT_SUFX= .tar.Z
+
+MAINTAINER= torstenb@FreeBSD.org
+
+NO_WRKSUBDIR= yes
+PATCH_STRIP= -p2
+
+pre-configure:
+ @(cd ${WRKSRC}; make pre-install)
+
+.include <bsd.port.mk>
diff --git a/audio/maplay/files/md5 b/audio/maplay/files/md5
new file mode 100644
index 00000000000..96dfaae0aef
--- /dev/null
+++ b/audio/maplay/files/md5
@@ -0,0 +1 @@
+MD5 (maplay1_2.tar.Z) = 2e3e0cd4d200fa476360eda0c9195ea1
diff --git a/audio/maplay/patches/patch-aa b/audio/maplay/patches/patch-aa
new file mode 100644
index 00000000000..bc08c5fdb6c
--- /dev/null
+++ b/audio/maplay/patches/patch-aa
@@ -0,0 +1,745 @@
+Only in maplay.new: .extract_done
+diff -c -r maplay/all.h maplay.new/all.h
+*** maplay/all.h Thu Jun 23 12:14:39 1994
+--- maplay.new/all.h Tue Feb 14 07:50:56 1995
+***************
+*** 22,28 ****
+ #define ALL_H
+
+ typedef float real; // float should be enough
+! typedef short bool;
+ typedef unsigned uint32; // 32 Bit unsigned integer
+ // some compilers may need "typedef unsigned long uint32" instead
+ typedef int int32; // 32 Bit signed integer
+--- 22,28 ----
+ #define ALL_H
+
+ typedef float real; // float should be enough
+! typedef short boolean;
+ typedef unsigned uint32; // 32 Bit unsigned integer
+ // some compilers may need "typedef unsigned long uint32" instead
+ typedef int int32; // 32 Bit signed integer
+diff -c -r maplay/configuration.sh maplay.new/configuration.sh
+*** maplay/configuration.sh Thu Jun 23 12:14:46 1994
+--- maplay.new/configuration.sh Tue Feb 14 07:46:52 1995
+***************
+*** 72,77 ****
+--- 72,83 ----
+ INCLUDEDIRS=
+ LIBRARIES=
+ AUDIO_INCLUDES='#include <sys/audioio.h>' ;;
++ FreeBSD*)
++ COMPILER=g++
++ COMPILERFLAGS='-O2 -m486 -DLINUX -DDAMN_INTEL_BYTE_ORDER'
++ INCLUDEDIRS=
++ LIBRARIES=
++ AUDIO_INCLUDES='#include <machine/soundcard.h>' ;;
+ Linux*)
+ COMPILER=g++
+ COMPILERFLAGS='-O2 -m486 -funroll-loops -DLINUX -DDAMN_INTEL_BYTE_ORDER'
+diff -c -r maplay/header.cc maplay.new/header.cc
+*** maplay/header.cc Thu Jun 23 12:14:35 1994
+--- maplay.new/header.cc Tue Feb 14 07:52:56 1995
+***************
+*** 36,42 ****
+ const uint32 Header::frequencies[3] = { 44100, 48000, 32000 };
+
+
+! bool Header::read_header (Ibitstream *stream, Crc16 **crcp)
+ {
+ uint32 headerstring;
+
+--- 36,42 ----
+ const uint32 Header::frequencies[3] = { 44100, 48000, 32000 };
+
+
+! boolean Header::read_header (Ibitstream *stream, Crc16 **crcp)
+ {
+ uint32 headerstring;
+
+diff -c -r maplay/header.h maplay.new/header.h
+*** maplay/header.h Thu Jun 23 12:14:40 1994
+--- maplay.new/header.h Tue Feb 14 07:52:57 1995
+***************
+*** 39,45 ****
+ e_mode h_mode;
+ e_sample_frequency h_sample_frequency;
+ uint32 h_number_of_subbands, h_intensity_stereo_bound;
+! bool h_copyright, h_original;
+ Crc16 *crc;
+ uint16 checksum;
+
+--- 39,45 ----
+ e_mode h_mode;
+ e_sample_frequency h_sample_frequency;
+ uint32 h_number_of_subbands, h_intensity_stereo_bound;
+! boolean h_copyright, h_original;
+ Crc16 *crc;
+ uint16 checksum;
+
+***************
+*** 48,54 ****
+ public:
+ Header (void) { crc = (Crc16 *)0; }
+ ~Header (void) { if (crc) delete crc; }
+! bool read_header (Ibitstream *, Crc16 **);
+ // read a 32-bit header from the bitstream
+
+ // functions to query header contents:
+--- 48,54 ----
+ public:
+ Header (void) { crc = (Crc16 *)0; }
+ ~Header (void) { if (crc) delete crc; }
+! boolean read_header (Ibitstream *, Crc16 **);
+ // read a 32-bit header from the bitstream
+
+ // functions to query header contents:
+***************
+*** 58,68 ****
+ uint32 frequency (void) { return frequencies[h_sample_frequency]; }
+ static uint32 frequency (e_sample_frequency rate) { return frequencies[rate]; }
+ e_mode mode (void) { return h_mode; };
+! bool checksums (void) { return !h_protection_bit; }
+! bool copyright (void) { return h_copyright; }
+! bool original (void) { return h_original; }
+
+! bool checksum_ok (void) { return checksum == crc->checksum (); }
+ // compares computed checksum with stream checksum
+
+ // functions which return header informations as strings:
+--- 58,68 ----
+ uint32 frequency (void) { return frequencies[h_sample_frequency]; }
+ static uint32 frequency (e_sample_frequency rate) { return frequencies[rate]; }
+ e_mode mode (void) { return h_mode; };
+! boolean checksums (void) { return !h_protection_bit; }
+! boolean copyright (void) { return h_copyright; }
+! boolean original (void) { return h_original; }
+
+! boolean checksum_ok (void) { return checksum == crc->checksum (); }
+ // compares computed checksum with stream checksum
+
+ // functions which return header informations as strings:
+diff -c -r maplay/ibitstream.cc maplay.new/ibitstream.cc
+*** maplay/ibitstream.cc Thu Jun 23 12:14:35 1994
+--- maplay.new/ibitstream.cc Tue Feb 14 07:52:56 1995
+***************
+*** 64,70 ****
+ }
+
+
+! bool Ibitstream::get_header (uint32 *headerstring)
+ {
+ int readvalue;
+
+--- 64,70 ----
+ }
+
+
+! boolean Ibitstream::get_header (uint32 *headerstring)
+ {
+ int readvalue;
+
+***************
+*** 102,108 ****
+ }
+
+
+! bool Ibitstream::read_frame (uint32 bytesize)
+ {
+ int readvalue;
+
+--- 102,108 ----
+ }
+
+
+! boolean Ibitstream::read_frame (uint32 bytesize)
+ {
+ int readvalue;
+
+diff -c -r maplay/ibitstream.h maplay.new/ibitstream.h
+*** maplay/ibitstream.h Thu Jun 23 12:14:40 1994
+--- maplay.new/ibitstream.h Tue Feb 14 07:52:58 1995
+***************
+*** 43,52 ****
+ ~Ibitstream (void);
+ int filedescriptor (void) { return fd; };
+
+! bool get_header (uint32 *);
+ // get next 32 bits from bitstream in an unsigned int,
+ // returned value False => end of stream
+! bool read_frame (uint32 bytesize);
+ // fill buffer with data from bitstream, returned value False => end of stream
+ uint32 get_bits (uint32 number_of_bits);
+ // read bits (1 <= number_of_bits <= 16) from buffer into the lower bits
+--- 43,52 ----
+ ~Ibitstream (void);
+ int filedescriptor (void) { return fd; };
+
+! boolean get_header (uint32 *);
+ // get next 32 bits from bitstream in an unsigned int,
+ // returned value False => end of stream
+! boolean read_frame (uint32 bytesize);
+ // fill buffer with data from bitstream, returned value False => end of stream
+ uint32 get_bits (uint32 number_of_bits);
+ // read bits (1 <= number_of_bits <= 16) from buffer into the lower bits
+diff -c -r maplay/maplay.cc maplay.new/maplay.cc
+*** maplay/maplay.cc Thu Jun 23 12:14:36 1994
+--- maplay.new/maplay.cc Tue Feb 14 07:52:57 1995
+***************
+*** 54,67 ****
+
+ // data extracted from commandline arguments:
+ static char *filename;
+! static bool verbose_mode = False, filter_check = False;
+! static bool stdout_mode = False;
+ static enum e_channels which_channels = both;
+! static bool use_speaker = False, use_headphone = False, use_line_out = False;
+ #ifdef ULAW
+! static bool force_amd = False;
+ #endif
+! static bool use_own_scalefactor = False;
+ static real scalefactor;
+
+ // data extracted from header of first frame:
+--- 54,67 ----
+
+ // data extracted from commandline arguments:
+ static char *filename;
+! static boolean verbose_mode = False, filter_check = False;
+! static boolean stdout_mode = False;
+ static enum e_channels which_channels = both;
+! static boolean use_speaker = False, use_headphone = False, use_line_out = False;
+ #ifdef ULAW
+! static boolean force_amd = False;
+ #endif
+! static boolean use_own_scalefactor = False;
+ static real scalefactor;
+
+ // data extracted from header of first frame:
+***************
+*** 93,99 ****
+ main (int argc, char *argv[])
+ {
+ int i;
+! bool read_ready = False, write_ready = False;
+
+ if (argc < 2 || !strncmp (argv[1], "-h", 2))
+ {
+--- 93,99 ----
+ main (int argc, char *argv[])
+ {
+ int i;
+! boolean read_ready = False, write_ready = False;
+
+ if (argc < 2 || !strncmp (argv[1], "-h", 2))
+ {
+***************
+*** 146,151 ****
+--- 146,154 ----
+ #ifdef Solaris
+ "SPARC Solaris 2.x"
+ #else
++ #ifdef __FreeBSD__
++ "FreeBSD"
++ #else
+ #ifdef LINUX
+ "Linux"
+ #else
+***************
+*** 153,158 ****
+--- 156,162 ----
+ "RISC ULTRIX 4.x"
+ #else
+ "unknown"
++ #endif
+ #endif
+ #endif
+ #endif
+diff -c -r maplay/obuffer.cc maplay.new/obuffer.cc
+*** maplay/obuffer.cc Thu Jun 23 12:14:36 1994
+--- maplay.new/obuffer.cc Tue Feb 14 07:52:57 1995
+***************
+*** 217,226 ****
+ int SparcObuffer::audio_fd = -1;
+
+ #ifdef ULAW
+! SparcObuffer::SparcObuffer (Header *header, bool use_speaker, bool use_headphone, bool use_line_out)
+ #else
+ SparcObuffer::SparcObuffer (uint32 number_of_channels, Header *header,
+! bool use_speaker, bool use_headphone, bool use_line_out)
+ #endif
+ {
+ #ifndef ULAW
+--- 217,226 ----
+ int SparcObuffer::audio_fd = -1;
+
+ #ifdef ULAW
+! SparcObuffer::SparcObuffer (Header *header, boolean use_speaker, boolean use_headphone, boolean use_line_out)
+ #else
+ SparcObuffer::SparcObuffer (uint32 number_of_channels, Header *header,
+! boolean use_speaker, boolean use_headphone, boolean use_line_out)
+ #endif
+ {
+ #ifndef ULAW
+***************
+*** 406,414 ****
+
+
+ #ifdef ULAW
+! bool SparcObuffer::class_suitable (uint32 number_of_channels, bool force_amd)
+ #else
+! bool SparcObuffer::class_suitable (void)
+ #endif
+ {
+ #ifdef ULAW
+--- 406,414 ----
+
+
+ #ifdef ULAW
+! boolean SparcObuffer::class_suitable (uint32 number_of_channels, boolean force_amd)
+ #else
+! boolean SparcObuffer::class_suitable (void)
+ #endif
+ {
+ #ifdef ULAW
+***************
+*** 629,635 ****
+ }
+
+
+! bool LinuxObuffer::class_suitable (uint32 number_of_channels)
+ {
+ // open the dsp audio device:
+ audio_fd = open_audio_device ();
+--- 629,635 ----
+ }
+
+
+! boolean LinuxObuffer::class_suitable (uint32 number_of_channels)
+ {
+ // open the dsp audio device:
+ audio_fd = open_audio_device ();
+diff -c -r maplay/obuffer.h maplay.new/obuffer.h
+*** maplay/obuffer.h Thu Jun 23 12:14:40 1994
+--- maplay.new/obuffer.h Tue Feb 14 07:52:58 1995
+***************
+*** 123,142 ****
+
+ public:
+ #ifdef ULAW
+! SparcObuffer (Header *, bool use_speaker, bool use_headphone, bool use_line_out);
+ #else
+ SparcObuffer (uint32 number_of_channels, Header *,
+! bool use_speaker, bool use_headphone, bool use_line_out);
+ #endif
+ ~SparcObuffer (void);
+ void append (uint32 channel, int16 value);
+ void write_buffer (int dummy);
+
+ #ifdef ULAW
+! static bool class_suitable (uint32 number_of_channels, bool force_amd);
+ // returnvalue == False: no u-law output possible (class unsuitable)
+ #else
+! static bool class_suitable (void);
+ // returnvalue == False: no 16-bit output possible (class unsuitable)
+ #endif
+ };
+--- 123,142 ----
+
+ public:
+ #ifdef ULAW
+! SparcObuffer (Header *, boolean use_speaker, boolean use_headphone, boolean use_line_out);
+ #else
+ SparcObuffer (uint32 number_of_channels, Header *,
+! boolean use_speaker, boolean use_headphone, boolean use_line_out);
+ #endif
+ ~SparcObuffer (void);
+ void append (uint32 channel, int16 value);
+ void write_buffer (int dummy);
+
+ #ifdef ULAW
+! static boolean class_suitable (uint32 number_of_channels, boolean force_amd);
+ // returnvalue == False: no u-law output possible (class unsuitable)
+ #else
+! static boolean class_suitable (void);
+ // returnvalue == False: no 16-bit output possible (class unsuitable)
+ #endif
+ };
+***************
+*** 159,165 ****
+ void append (uint32 channel, int16 value);
+ void write_buffer (int dummy);
+
+! static bool class_suitable (uint32 number_of_channels);
+ };
+ #endif // LINUX
+
+--- 159,165 ----
+ void append (uint32 channel, int16 value);
+ void write_buffer (int dummy);
+
+! static boolean class_suitable (uint32 number_of_channels);
+ };
+ #endif // LINUX
+
+diff -c -r maplay/subband.h maplay.new/subband.h
+*** maplay/subband.h Thu Jun 23 12:14:40 1994
+--- maplay.new/subband.h Tue Feb 14 07:52:58 1995
+***************
+*** 35,42 ****
+ public:
+ virtual void read_allocation (Ibitstream *, Header *, Crc16 *) = 0;
+ virtual void read_scalefactor (Ibitstream *, Header *) = 0;
+! virtual bool read_sampledata (Ibitstream *) = 0;
+! virtual bool put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *) = 0;
+ };
+
+ #endif
+--- 35,42 ----
+ public:
+ virtual void read_allocation (Ibitstream *, Header *, Crc16 *) = 0;
+ virtual void read_scalefactor (Ibitstream *, Header *) = 0;
+! virtual boolean read_sampledata (Ibitstream *) = 0;
+! virtual boolean put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *) = 0;
+ };
+
+ #endif
+diff -c -r maplay/subband_layer_1.cc maplay.new/subband_layer_1.cc
+*** maplay/subband_layer_1.cc Thu Jun 23 12:14:36 1994
+--- maplay.new/subband_layer_1.cc Tue Feb 14 07:52:57 1995
+***************
+*** 86,92 ****
+ }
+
+
+! bool SubbandLayer1::read_sampledata (Ibitstream *stream)
+ {
+ if (allocation)
+ {
+--- 86,92 ----
+ }
+
+
+! boolean SubbandLayer1::read_sampledata (Ibitstream *stream)
+ {
+ if (allocation)
+ {
+***************
+*** 105,111 ****
+ }
+
+
+! bool SubbandLayer1::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *)
+ {
+ if (allocation && channels != right)
+--- 105,111 ----
+ }
+
+
+! boolean SubbandLayer1::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *)
+ {
+ if (allocation && channels != right)
+***************
+*** 142,148 ****
+ }
+
+
+! bool SubbandLayer1IntensityStereo::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *filter2)
+ {
+ if (allocation)
+--- 142,148 ----
+ }
+
+
+! boolean SubbandLayer1IntensityStereo::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *filter2)
+ {
+ if (allocation)
+***************
+*** 231,239 ****
+ }
+
+
+! bool SubbandLayer1Stereo::read_sampledata (Ibitstream *stream)
+ {
+! bool returnvalue = SubbandLayer1::read_sampledata (stream);
+ if (channel2_allocation)
+ {
+ channel2_sample = real (stream->get_bits (channel2_samplelength));
+--- 231,239 ----
+ }
+
+
+! boolean SubbandLayer1Stereo::read_sampledata (Ibitstream *stream)
+ {
+! boolean returnvalue = SubbandLayer1::read_sampledata (stream);
+ if (channel2_allocation)
+ {
+ channel2_sample = real (stream->get_bits (channel2_samplelength));
+***************
+*** 246,252 ****
+ }
+
+
+! bool SubbandLayer1Stereo::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *filter2)
+ {
+ SubbandLayer1::put_next_sample (channels, filter1, filter2);
+--- 246,252 ----
+ }
+
+
+! boolean SubbandLayer1Stereo::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *filter2)
+ {
+ SubbandLayer1::put_next_sample (channels, filter1, filter2);
+diff -c -r maplay/subband_layer_1.h maplay.new/subband_layer_1.h
+*** maplay/subband_layer_1.h Thu Jun 23 12:14:40 1994
+--- maplay.new/subband_layer_1.h Tue Feb 14 07:52:58 1995
+***************
+*** 42,49 ****
+ SubbandLayer1 (uint32 subbandnumber);
+ void read_allocation (Ibitstream *, Header *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! bool read_sampledata (Ibitstream *);
+! bool put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+
+--- 42,49 ----
+ SubbandLayer1 (uint32 subbandnumber);
+ void read_allocation (Ibitstream *, Header *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! boolean read_sampledata (Ibitstream *);
+! boolean put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+
+***************
+*** 60,70 ****
+ SubbandLayer1::read_allocation (stream, header, crc);
+ }
+ void read_scalefactor (Ibitstream *, Header *);
+! bool read_sampledata (Ibitstream *stream)
+ {
+ return SubbandLayer1::read_sampledata (stream);
+ }
+! bool put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+
+--- 60,70 ----
+ SubbandLayer1::read_allocation (stream, header, crc);
+ }
+ void read_scalefactor (Ibitstream *, Header *);
+! boolean read_sampledata (Ibitstream *stream)
+ {
+ return SubbandLayer1::read_sampledata (stream);
+ }
+! boolean put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+
+***************
+*** 82,89 ****
+ SubbandLayer1Stereo (uint32 subbandnumber);
+ void read_allocation (Ibitstream *, Header *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! bool read_sampledata (Ibitstream *);
+! bool put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+ #endif
+--- 82,89 ----
+ SubbandLayer1Stereo (uint32 subbandnumber);
+ void read_allocation (Ibitstream *, Header *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! boolean read_sampledata (Ibitstream *);
+! boolean put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+ #endif
+diff -c -r maplay/subband_layer_2.cc maplay.new/subband_layer_2.cc
+*** maplay/subband_layer_2.cc Thu Jun 23 12:14:36 1994
+--- maplay.new/subband_layer_2.cc Tue Feb 14 07:52:57 1995
+***************
+*** 591,597 ****
+ }
+
+
+! bool SubbandLayer2::read_sampledata (Ibitstream *stream)
+ {
+ if (allocation)
+ if (groupingtable)
+--- 591,597 ----
+ }
+
+
+! boolean SubbandLayer2::read_sampledata (Ibitstream *stream)
+ {
+ if (allocation)
+ if (groupingtable)
+***************
+*** 633,639 ****
+ }
+
+
+! bool SubbandLayer2::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *)
+ {
+ #ifdef DEBUG
+--- 633,639 ----
+ }
+
+
+! boolean SubbandLayer2::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *)
+ {
+ #ifdef DEBUG
+***************
+*** 726,732 ****
+ }
+
+
+! bool SubbandLayer2IntensityStereo::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *filter2)
+ {
+ #ifdef DEBUG
+--- 726,732 ----
+ }
+
+
+! boolean SubbandLayer2IntensityStereo::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *filter2)
+ {
+ #ifdef DEBUG
+***************
+*** 880,888 ****
+ }
+
+
+! bool SubbandLayer2Stereo::read_sampledata (Ibitstream *stream)
+ {
+! bool returnvalue = SubbandLayer2::read_sampledata (stream);
+
+ if (channel2_allocation)
+ if (channel2_groupingtable)
+--- 880,888 ----
+ }
+
+
+! boolean SubbandLayer2Stereo::read_sampledata (Ibitstream *stream)
+ {
+! boolean returnvalue = SubbandLayer2::read_sampledata (stream);
+
+ if (channel2_allocation)
+ if (channel2_groupingtable)
+***************
+*** 919,928 ****
+ }
+
+
+! bool SubbandLayer2Stereo::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *filter2)
+ {
+! bool returnvalue = SubbandLayer2::put_next_sample (channels, filter1, filter2);
+ if (channel2_allocation && channels != left)
+ {
+ register real sample = channel2_samples[samplenumber - 1];
+--- 919,928 ----
+ }
+
+
+! boolean SubbandLayer2Stereo::put_next_sample (e_channels channels,
+ SynthesisFilter *filter1, SynthesisFilter *filter2)
+ {
+! boolean returnvalue = SubbandLayer2::put_next_sample (channels, filter1, filter2);
+ if (channel2_allocation && channels != left)
+ {
+ register real sample = channel2_samples[samplenumber - 1];
+diff -c -r maplay/subband_layer_2.h maplay.new/subband_layer_2.h
+*** maplay/subband_layer_2.h Thu Jun 23 12:14:40 1994
+--- maplay.new/subband_layer_2.h Tue Feb 14 07:52:58 1995
+***************
+*** 55,62 ****
+ void read_allocation (Ibitstream *, Header *, Crc16 *);
+ virtual void read_scalefactor_selection (Ibitstream *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! bool read_sampledata (Ibitstream *);
+! bool put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter * = NULL);
+ };
+
+
+--- 55,62 ----
+ void read_allocation (Ibitstream *, Header *, Crc16 *);
+ virtual void read_scalefactor_selection (Ibitstream *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! boolean read_sampledata (Ibitstream *);
+! boolean put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter * = NULL);
+ };
+
+
+***************
+*** 75,85 ****
+ }
+ void read_scalefactor_selection (Ibitstream *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! bool read_sampledata (Ibitstream *stream)
+ {
+ return SubbandLayer2::read_sampledata (stream);
+ }
+! bool put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+
+--- 75,85 ----
+ }
+ void read_scalefactor_selection (Ibitstream *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! boolean read_sampledata (Ibitstream *stream)
+ {
+ return SubbandLayer2::read_sampledata (stream);
+ }
+! boolean put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+
+***************
+*** 90,96 ****
+ uint32 channel2_allocation;
+ uint32 channel2_scfsi;
+ real channel2_scalefactor1, channel2_scalefactor2, channel2_scalefactor3;
+! bool channel2_grouping;
+ uint32 channel2_codelength;
+ const real *channel2_groupingtable;
+ real channel2_factor;
+--- 90,96 ----
+ uint32 channel2_allocation;
+ uint32 channel2_scfsi;
+ real channel2_scalefactor1, channel2_scalefactor2, channel2_scalefactor3;
+! boolean channel2_grouping;
+ uint32 channel2_codelength;
+ const real *channel2_groupingtable;
+ real channel2_factor;
+***************
+*** 102,109 ****
+ void read_allocation (Ibitstream *, Header *, Crc16 *);
+ void read_scalefactor_selection (Ibitstream *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! bool read_sampledata (Ibitstream *);
+! bool put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+ #endif
+--- 102,109 ----
+ void read_allocation (Ibitstream *, Header *, Crc16 *);
+ void read_scalefactor_selection (Ibitstream *, Crc16 *);
+ void read_scalefactor (Ibitstream *, Header *);
+! boolean read_sampledata (Ibitstream *);
+! boolean put_next_sample (e_channels, SynthesisFilter *, SynthesisFilter *);
+ };
+
+ #endif
diff --git a/audio/maplay/patches/patch-ab b/audio/maplay/patches/patch-ab
new file mode 100644
index 00000000000..0007783c749
--- /dev/null
+++ b/audio/maplay/patches/patch-ab
@@ -0,0 +1,31 @@
+*** work/Makefile.orig Tue Feb 14 08:18:41 1995
+--- work/Makefile Tue Feb 14 08:19:52 1995
+***************
+*** 39,45 ****
+
+ .SUFFIXES: .cc
+
+! install:
+ @./configuration.sh
+
+ all: maplay
+--- 39,45 ----
+
+ .SUFFIXES: .cc
+
+! pre-install:
+ @./configuration.sh
+
+ all: maplay
+***************
+*** 47,52 ****
+--- 47,55 ----
+ maplay: $(OBJS)
+ $(COMPILER) $(CFLAGS) $(OBJS) -o $@ $(LIBRARIES) -lm
+ -strip $@
++
++ install: all
++ ${INSTALL} -s -c -m 755 maplay ${PREFIX}/bin
+
+ .cc.o:
+ $(COMPILER) -c $(CFLAGS) $(INCLUDEDIRS) $*.cc -o $@
diff --git a/audio/maplay/patches/patch-ac b/audio/maplay/patches/patch-ac
new file mode 100644
index 00000000000..3a6e29c92ce
--- /dev/null
+++ b/audio/maplay/patches/patch-ac
@@ -0,0 +1,22 @@
+*** obuffer.cc.orig Thu Jun 23 05:14:36 1994
+--- obuffer.cc Tue Feb 14 04:17:17 1995
+***************
+*** 537,542 ****
+--- 537,543 ----
+ }
+
+ // turn NDELAY mode off:
++ #ifndef __FreeBSD__ /* Our /dev/audio doesn't like non-blocking I/O */
+ int flags;
+ if ((flags = fcntl (fd, F_GETFL, 0)) < 0)
+ {
+***************
+*** 549,554 ****
+--- 550,556 ----
+ perror ("fcntl F_SETFL on /dev/audio failed");
+ exit (1);
+ }
++ #endif
+ return fd;
+ }
+
diff --git a/audio/maplay/pkg/COMMENT b/audio/maplay/pkg/COMMENT
new file mode 100644
index 00000000000..1fed7e98feb
--- /dev/null
+++ b/audio/maplay/pkg/COMMENT
@@ -0,0 +1 @@
+An MPEG audio player/decoder that decodes layer I and II MPEG audio streams.
diff --git a/audio/maplay/pkg/DESCR b/audio/maplay/pkg/DESCR
new file mode 100644
index 00000000000..5eb691764c0
--- /dev/null
+++ b/audio/maplay/pkg/DESCR
@@ -0,0 +1,186 @@
+/*
+ * @(#) MPEG Audio Player maplay 1.2, last edit of this file: 6/23/94 13:02:49
+ * @(#) Copyright (C) 1993, 1994 Tobias Bading (bading@cs.tu-berlin.de)
+ * @(#) Berlin University of Technology
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+
+This is the README file of the MPEG Audio Player maplay, Version 1.2.
+Besides this file, you should now own a copy of the following files:
+
+ ANNOUNCEMENT the announcement for this release
+ INSTALL infos about compiling and installing the program
+ COPYING the GNU General Public License
+ Makefile a makefile
+ configuration.sh a shell script used by the makefile
+
+and the source files
+
+ all.h maplay.cc subband_layer_1.h
+ crc.cc obuffer.cc subband_layer_2.cc
+ crc.h obuffer.h subband_layer_2.h
+ header.cc scalefactors.cc synthesis_filter.cc
+ header.h scalefactors.h synthesis_filter.h
+ ibitstream.cc subband.h ulaw.cc
+ ibitstream.h subband_layer_1.cc ulaw.h
+
+-------------------------------------------------------------------------------
+
+0) Introduction
+
+MPEG is a standard created by the ISO (International Organization for
+Standardization) and the IEC (International Electrotechnical Commission).
+The full name of this standard is "ISO/IEC DIS 11172: Information
+Technology - Coding of moving pictures and associated audio for digital
+storage media ut to about 1.5 Mbit/s". As the name already states,
+it deals with digital video and audio. The video part of this standard has
+inspired many people to write decoders and a few encoders for it.
+Best known should be the Berkeley player. Players for the audio part on
+the other hand are very rare. The ones I know are the XING player for Windoze
+and a sample implementation of the ISO, which also includes an encoder.
+
+The audio part of the MPEG standard specifies three layers, whereat each
+layer specifies its own file format. All three layers are using similar
+audio coding techniques, but they vary in efficiency and complexity.
+Layer I needs the fewest calculation time for en-/decoding a stream, layer III
+the most. But a layer I MPEG audio stream is bigger than a layer III stream
+at the same quality. This program is able to decode and play only layer I
+and II streams, layer III is not supported (yet?!?).
+
+Like the MPEG video standard, the audio part also uses a lossy compression
+algorithm, which means that you can't get back 100% the original from a
+MPEG audio stream. Layer II MPEG audio streams are compressed by ratios
+from 1:3 up to 1:24 compared to raw PCM data, like on an audio CD.
+But the quality is still very (very) near to the original at ratios between
+1:5 and 1:12. You'll love it... :-)
+
+-------------------------------------------------------------------------------
+
+1) What does maplay?
+
+maplay version 1.2 is the second release of my MPEG audio player/decoder.
+It decodes layer I and layer II MPEG audio streams and plays them
+using a CD-quality audio device. Currently supported devices are the
+dbri device of SPARC 10 computers and the audio ports of Silicon
+Graphics Indigo machines. Thanks to Louis P. Kruger (lpkruger@phoenix.
+Princeton.EDU), maplay 1.2 can also use the /dev/dsp device under Linux.
+Louis has tested it with the Pro Audio Spectrum 16 soundcard. Sound Blaster 16
+and Gravis Ultrasound cards should also work, but a bug in the dsp driver
+prevents stereo playback on Gravis Ultrasound cards. An amd device of a
+SPARC 2/IPX/... machine can be used, too, but this device is only capable of
+producing audio output at 8 kHz in u-law format, which sounds like transmitted
+through a telephone. Other audio device are not supported directly, but can be
+used with the "decode to stdout" option and an audio format converter.
+Besides it shouldn't be a problem to adapt the program to other audio devices.
+
+The player supports all modes, which are single channel, stereo,
+joint stereo and dual channel, and all bitrates except free mode.
+The missing free mode support should not be a problem for now,
+because I haven't seen such a stream yet.
+
+maplay needs approximately 46% CPU time on SPARC 10/40 machines and 50%
+on Indigos for realtime stereo playback of a 44.1 kHz 128 kbit/s stream.
+Single channel playback needs about the half CPU time. On a SPARCstation IPX,
+maplay needs about 43% CPU time for realtime mono playback. Stereo playback
+is not possible via an amd device.
+
+Besides realtime playing of audio streams, maplay can decode streams to
+stdout for further conversions. The output consists of 16 bit signed PCM
+values. For stereo streams, the values are interleaved, which means that
+a value for the left channel is followed by a value for the right channel
+and so on. If maplay has been compiled for u-law output, the output consists
+of 8 bit u-law samples at a rate of 8 kHz, no matter what frequency the stream
+uses.
+
+-------------------------------------------------------------------------------
+
+2) How to create a maplay binary?
+
+Please read the install file for this topic.
+
+-------------------------------------------------------------------------------
+
+3) How to start the program?
+
+For a quick mono test enter "./maplay -v -l filename", where filename is the
+name of an audio stream, like "things.mp2". This stream has been posted along
+with the sources and is the beginning of Roxette's song "Things Will Never Be
+The Same". It is coded in joint stereo mode with 128 kbit/s, which is a
+compression ratio of 1:11. If the output is ok, you can test stereo playback
+by leaving out the -l option. If the stereo output stutters, the problem is
+not enough free CPU time in most cases. Stereo output is not possible when
+using an amd u-law device. If maplay shows error messages like
+"ioctl AUDIO_GETDEV on /dev/audio: ..."
+and maplay was compiled for u-law output, please try out the -amd option.
+This option forces maplay to treat /dev/audio as an amd device and may be
+required on SPARC clones.
+
+To convert a MPEG audio stream into other audio formats, you can use
+"maplay -v -s filename | your_converter". Unfortunately, I can't be of much
+help for you to find such a converter. The only good converter I know is the
+"soundfiler" on Indigos. But if you would have an Indigo, you wouldn't need a
+converter...
+
+-------------------------------------------------------------------------------
+
+4) Command line options
+
+maplay [-v] [-s] [-l] [-r] [-us] [-uh] [-ul] [-amd] [-c] [-f ushort] filename
+
+with these options:
+ filename filename of a MPEG audio stream or - for stdin
+ -h short help
+ -v verbose mode
+ You will get information about the stream, like mode, bitrate,
+ copyright etc., if you use this option.
+ -s stdout mode
+ This option tells the program to decode the stream to stdout.
+ The created output contains 16 bit signed PCM samples. If the
+ binary has been compiled for 8 kHz u-law format usage, the
+ output consists of 8 bit u-law samples at a 8 kHz rate. If the
+ stream is in stereo mode, the samples of both channels are
+ interleaved, the sample for the left channel first.
+ -l maplay decodes (and plays) the left channel of stereo streams
+ only. This option halves the required CPU time.
+ -r Same as above, but decodes the right channel only
+ -us, -uh These options are available on SPARCstations only.
+ They specify where the audio signal should be send to:
+ "-us" means speaker and "-uh" headphone jack.
+ -ul This option is available on machines with the dbri device
+ and sends the audio output to the line out jack.
+ -amd This option forces maplay to treat /dev/audio as an amd
+ device. Use it if your SPARC clone has an amd device, but
+ maplay doesn't recognize it. You may also use this option on a
+ machine with a dbri device, because the dbri device can also
+ produce u-law output. But I suggest to recompile the program
+ without the ULAW define in this case to get the CD-quality
+ output.
+ -c This option instructs the program to report filter range
+ violations to stderr. Sometimes PCM values calculated by
+ the synthesis filter exceede the 16 bit boundary and must
+ be mapped to these boundaries. If you can hear this, you
+ may use the next option.
+ -f ushort maplay uses this scalefactor instead of the default value 32768
+ for the synthesis filter. You can reduce or eliminate range
+ violations with this option, but lower scalefactor values
+ reduce the signal-to-noise ratio, too. I can't remember when
+ I used this option the last time myself.
+
+
+Ok, that's all for now and this release,
+I hope you like it,
+ Tobias Bading (bading@cs.tu-berlin.de)
diff --git a/audio/maplay/pkg/PLIST b/audio/maplay/pkg/PLIST
new file mode 100644
index 00000000000..2135816542b
--- /dev/null
+++ b/audio/maplay/pkg/PLIST
@@ -0,0 +1 @@
+bin/maplay
diff --git a/audio/mikmod/Makefile b/audio/mikmod/Makefile
new file mode 100644
index 00000000000..33139bb34e9
--- /dev/null
+++ b/audio/mikmod/Makefile
@@ -0,0 +1,31 @@
+# New ports collection makefile for: mikmod
+# Version required: 2.14
+# Date created: 20 April 1997
+# Whom: doconnor@ist.flinders.edu.au
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:33 augustss Exp $
+#
+
+DISTNAME= mikmod-2.14-unix
+PKGNAME= mikmod-2.14
+CATEGORIES= audio
+MASTER_SITES= http://www.chiark.greenend.org.uk/~stevem/mikmod/
+
+MAINTAINER= doconnor@ist.flinders.edu.au
+
+RESTRICTED= "Registration required for redistribution and commercial use."
+
+WRKSRC= ${WRKDIR}/${DISTNAME}/source
+MAN1= mikmod.1
+
+do-install:
+ ( cd ${WRKSRC} ; ${INSTALL_PROGRAM} mikmod mikcvt ${PREFIX}/bin )
+ ${INSTALL_MAN} ${WRKDIR}/${DISTNAME}/docs/mikmod.1 ${PREFIX}/man/man1
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${PREFIX}/share/doc/mikmod
+.for f in credits.txt mikmod.txt register.frm
+ ${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/docs/$f ${PREFIX}/share/doc/mikmod
+.endfor
+.endif
+
+.include <bsd.port.mk>
diff --git a/audio/mikmod/files/md5 b/audio/mikmod/files/md5
new file mode 100644
index 00000000000..61601d9edf2
--- /dev/null
+++ b/audio/mikmod/files/md5
@@ -0,0 +1 @@
+MD5 (mikmod-2.14-unix.tar.gz) = 916e16e34af36fdc333f041ac7782877
diff --git a/audio/mikmod/patches/patch-aa b/audio/mikmod/patches/patch-aa
new file mode 100644
index 00000000000..370477d94e3
--- /dev/null
+++ b/audio/mikmod/patches/patch-aa
@@ -0,0 +1,18 @@
+--- Makefile.orig Sun Apr 20 17:12:31 1997
++++ Makefile Sun Apr 20 17:12:41 1997
+@@ -167,13 +167,13 @@
+ # realtime priority (ie. it'll get all the cpu it wants) using
+ # sched_setscheduler(). Default behaviour remains the same, i.e. to not use
+ # these
+-SNAG=-DCPUTIME_SNAGGER
++#SNAG=-DCPUTIME_SNAGGER
+
+ # Does your system have usleep()? If not, you'll need to uncomment this...
+ #USLEEP=-DNEEDS_USLEEP
+
+ # Does your system have curses or ncurses? If the latter, define NCURSES.
+-#NCURSES=-DNCURSES
++NCURSES=-DNCURSES
+
+ CFLAGS = $(OSFLAGS) $(ZIP) $(SNAG) $(USLEEP) $(NCURSES)
+
diff --git a/audio/mikmod/patches/patch-ab b/audio/mikmod/patches/patch-ab
new file mode 100644
index 00000000000..682ab9264f2
--- /dev/null
+++ b/audio/mikmod/patches/patch-ab
@@ -0,0 +1,11 @@
+--- ui.c.orig Sun Apr 20 17:14:10 1997
++++ ui.c Sun Apr 20 17:14:18 1997
+@@ -25,7 +25,7 @@
+ #include <signal.h>
+
+ #ifdef NCURSES
+-#include <ncurses/ncurses.h>
++#include <ncurses.h>
+ #else
+ #include <curses.h>
+ #endif
diff --git a/audio/mikmod/patches/patch-ac b/audio/mikmod/patches/patch-ac
new file mode 100644
index 00000000000..6491fa8a90b
--- /dev/null
+++ b/audio/mikmod/patches/patch-ac
@@ -0,0 +1,11 @@
+--- display.c.orig Sun Apr 20 17:13:42 1997
++++ display.c Sun Apr 20 17:13:59 1997
+@@ -26,7 +26,7 @@
+ #include "mikmod.h"
+
+ #ifdef NCURSES
+-#include <ncurses/ncurses.h>
++#include <ncurses.h>
+ #else
+ #include <curses.h>
+ #endif
diff --git a/audio/mikmod/pkg/COMMENT b/audio/mikmod/pkg/COMMENT
new file mode 100644
index 00000000000..c33734904cb
--- /dev/null
+++ b/audio/mikmod/pkg/COMMENT
@@ -0,0 +1 @@
+Mod player which plays MTM, STM, XM, MOD, S3M, ULT and UNI mods.
diff --git a/audio/mikmod/pkg/DESCR b/audio/mikmod/pkg/DESCR
new file mode 100644
index 00000000000..1ee3470a7e8
--- /dev/null
+++ b/audio/mikmod/pkg/DESCR
@@ -0,0 +1,6 @@
+This is a mod player which uses ncurses as a UI. It can play S3M, XM, MOD,
+MTM, STM, ULT, and UNI module types.
+It uses the Open Sound System, and has features like sample interpolation,
+random mod playing, and supports playing compressed modules. (Note: its
+playing of compressed modules is OK, providing they don't have spaces in
+their names...)
diff --git a/audio/mikmod/pkg/PLIST b/audio/mikmod/pkg/PLIST
new file mode 100644
index 00000000000..82c75c72c96
--- /dev/null
+++ b/audio/mikmod/pkg/PLIST
@@ -0,0 +1,7 @@
+bin/mikmod
+bin/mikcvt
+man/man1/mikmod.1.gz
+share/doc/mikmod/credits.txt
+share/doc/mikmod/mikmod.txt
+share/doc/mikmod/register.frm
+@dirrm share/doc/mikmod
diff --git a/audio/mpg123/Makefile b/audio/mpg123/Makefile
new file mode 100644
index 00000000000..8626175a9bc
--- /dev/null
+++ b/audio/mpg123/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: mpg123
+# Version required: 0.59k
+# Date created: 25 June 1997
+# Whom: Carey Jones <mcj@acquiesce.org>
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:38 augustss Exp $
+#
+
+DISTNAME= mpg123-0.59k
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.tu-clausthal.de/pub/unix/audio/mpg123/
+
+MAINTAINER= mcj@acquiesce.org
+
+ALL_TARGET= freebsd
+MAN1= mpg123.1
+
+.include <bsd.port.mk>
diff --git a/audio/mpg123/files/md5 b/audio/mpg123/files/md5
new file mode 100644
index 00000000000..17f920add9f
--- /dev/null
+++ b/audio/mpg123/files/md5
@@ -0,0 +1 @@
+MD5 (mpg123-0.59k.tar.gz) = 03d03452cdd649c6f24ada7ad314fb78
diff --git a/audio/mpg123/pkg/COMMENT b/audio/mpg123/pkg/COMMENT
new file mode 100644
index 00000000000..bc0691f6026
--- /dev/null
+++ b/audio/mpg123/pkg/COMMENT
@@ -0,0 +1 @@
+Command-line player for mpeg layer 1, 2 and 3 audio
diff --git a/audio/mpg123/pkg/DESCR b/audio/mpg123/pkg/DESCR
new file mode 100644
index 00000000000..54b4106faa5
--- /dev/null
+++ b/audio/mpg123/pkg/DESCR
@@ -0,0 +1,4 @@
+mpg123 reads one or more files (or standard input if ``-'' is
+specified) or URLs and plays them on the audio device (default) or
+outputs them to stdout. file/URL is assumed to be an MPEG-1/2 audio
+bit stream.
diff --git a/audio/mpg123/pkg/PLIST b/audio/mpg123/pkg/PLIST
new file mode 100644
index 00000000000..8d8e110f578
--- /dev/null
+++ b/audio/mpg123/pkg/PLIST
@@ -0,0 +1,2 @@
+bin/mpg123
+man/man1/mpg123.1.gz
diff --git a/audio/mxv/Makefile b/audio/mxv/Makefile
new file mode 100644
index 00000000000..8b717f01f7e
--- /dev/null
+++ b/audio/mxv/Makefile
@@ -0,0 +1,34 @@
+# New ports collection makefile for: mxv
+# Version required: 1.10
+# Date created: 17 March 1997
+# Whom: davidn@blaze.net.au
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:39 augustss Exp $
+#
+
+DISTNAME= mxv-v1.10-source
+PKGNAME= mxv-1.10
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.ccmrc.ucsb.edu/pub/MixViews/source/
+
+#PATCH_SITES= ftp://ftp.ccmrc.ucsb.edu/pub/MixViews/source/
+#PATCHFILES= mxv-v1.10-patch01
+#Unfortunately, the above vendor patch does not apply cleanly,
+#and and a hand-edited version is supplied in the patches subdir
+
+MAINTAINER= davidn@blaze.net.au
+
+BUILD_DEPENDS= ${LOCALBASE}/interviews/bin/FREEBSD/ivmkmf:${PORTSDIR}/x11/iv
+
+NO_WRKSUBDIR= yes
+USE_IMAKE= yes
+MAKE_ENV= CPU=FREEBSD
+#ivmkmf -a (with makedepend) not recommended by documentation
+XMKMF= env ${MAKE_ENV} ${LOCALBASE}/interviews/bin/FREEBSD/ivmkmf; \
+ env ${MAKE_ENV} make Makefiles
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/FREEBSD/mxv ${PREFIX}/bin
+ ${INSTALL_DATA} ${WRKSRC}/MiXViews.res ${PREFIX}/lib/X11/app-defaults/MiXViews
+
+.include <bsd.port.mk>
diff --git a/audio/mxv/files/md5 b/audio/mxv/files/md5
new file mode 100644
index 00000000000..64e98dccf4b
--- /dev/null
+++ b/audio/mxv/files/md5
@@ -0,0 +1,2 @@
+MD5 (mxv-v1.10-source.tar.gz) = 77096555999e83008146f0f2e19eec14
+#MD5 (mxv-v1.10-patch01) = 2fee3ffc776103a72817676564880a74
diff --git a/audio/mxv/patches/patch-aa b/audio/mxv/patches/patch-aa
new file mode 100644
index 00000000000..79eb90aefe9
--- /dev/null
+++ b/audio/mxv/patches/patch-aa
@@ -0,0 +1,801 @@
+***************
+Sun Aug 25 10:17:47 PDT 1996
+***************
+diff -c -r old/channelview.C ./channelview.C
+*** old/channelview.C Mon Aug 14 14:42:15 1995
+--- ./channelview.C Sun Jul 14 20:31:15 1996
+***************
+*** 323,331 ****
+ framesVisible.set(point - margin, point + margin);
+ setVisibleFrameRange(framesVisible);
+ }
+! if(!chansVisible.includes(chansToSelect) && scroll == true) {
+! Range displayChans = chansToSelect;
+! displayChans.expandBy(1);
+ setChannelRange(displayChans);
+ }
+ struct InsertSetter : public ChannelRangeBlock {
+--- 323,344 ----
+ framesVisible.set(point - margin, point + margin);
+ setVisibleFrameRange(framesVisible);
+ }
+! if(scroll && !chansVisible.includes(chansToSelect)) {
+! Range displayChans;
+! if(chansVisible.spread() >= chansToSelect.spread()) {
+! // keep same number of visible channels, but shift up
+! displayChans = chansVisible;
+! int shift = chansToSelect.intMax() -
+! chansVisible.intMax();
+! displayChans += shift;
+! // make sure range is non-negative
+! while(displayChans.includes(-1)) displayChans += 1;
+! }
+! else {
+! // use requested channels plus one on each side
+! displayChans = chansToSelect;
+! displayChans.expandBy(1);
+! }
+ setChannelRange(displayChans);
+ }
+ struct InsertSetter : public ChannelRangeBlock {
+diff -c -r old/dataview.C ./dataview.C
+*** old/dataview.C Mon Aug 14 14:42:16 1995
+--- ./dataview.C Sat Jul 13 22:43:40 1996
+***************
+*** 434,439 ****
+--- 434,441 ----
+ DataView::addGraph(Graph *graph) {
+ if(graphsShown == maxGraphs)
+ expandGraphArray();
++ if(graphsShown == maxGraphs)
++ return; // failed to expand!
+ graphs[graphsShown] = graph; // add to array
+ Scale *vscale = new VScale(
+ graph->verticalScaleLabel(),
+***************
+*** 452,465 ****
+ DataView::expandGraphArray() {
+ int newMax = maxGraphs + 4;
+ Graph **newGraphs = new Graph *[newMax + 1]; // plus 1 for EOA
+! int i;
+! for(i=0; i < maxGraphs; i++)
+! newGraphs[i] = graphs[i]; // copy existing graphs if any
+! for(i = maxGraphs; i <= newMax; i++)
+! newGraphs[i] = nil;
+! delete [] graphs;
+! graphs = newGraphs;
+! maxGraphs = newMax;
+ }
+
+ // remove one graph and its associated scale from frame
+--- 454,469 ----
+ DataView::expandGraphArray() {
+ int newMax = maxGraphs + 4;
+ Graph **newGraphs = new Graph *[newMax + 1]; // plus 1 for EOA
+! if(newGraphs) {
+! int i;
+! for(i=0; i < maxGraphs; i++)
+! newGraphs[i] = graphs[i]; // copy existing graphs if any
+! for(i = maxGraphs; i <= newMax; i++)
+! newGraphs[i] = nil;
+! delete [] graphs;
+! graphs = newGraphs;
+! maxGraphs = newMax;
+! }
+ }
+
+ // remove one graph and its associated scale from frame
+diff -c -r old/edit_menus.C ./edit_menus.C
+*** old/edit_menus.C Sun Mar 24 19:14:18 1996
+--- ./edit_menus.C Sun Jul 14 20:37:12 1996
+***************
+*** 61,68 ****
+ { "Channel Display", "", 0L, false, channelSubmenu },
+ { "display copy buffer", "I", XK_I },
+ { "close current view", "W", XK_W },
+- { "show program version", " ", XK_yen },
+- { "quit program", "Q", XK_Q },
+ { nil }
+ };
+
+--- 61,66 ----
+***************
+*** 86,91 ****
+--- 84,91 ----
+ { "change file comment...", "\"", XK_quotedbl },
+ { "file information...", "?", XK_question },
+ { "data dump of selection...", "}", XK_braceright },
++ { "show program version", " ", XK_yen },
++ { "quit program", "Q", XK_Q },
+ { nil }
+ };
+
+***************
+*** 124,129 ****
+--- 124,137 ----
+ { nil }
+ };
+
++ static MenuInfo analysisMenu[] = {
++ { "locate next zero crossing", "0", XK_0 },
++ { "find slope change", "1", XK_1 },
++ { "show maxamp sample location","2", XK_2 },
++ { "extract amplitude envelope", "3", XK_3 },
++ { nil }
++ };
++
+ static MenuInfo styleSubmenu[] = {
+ { "line", "%", XK_percent },
+ { "bar", "^", XK_asciicircum },
+***************
+*** 241,262 ****
+ // And now the structs containing the various menu templates
+
+ static MenuBarInfo defaultChannelMenuBar[] = {
+- { " View ", viewMenu },
+ { " File ", fileMenu },
+ { " Edit ", editMenu },
+! { " Display ", channelDisplayMenu },
+ { nil }
+ };
+
+ static MenuBarInfo soundMenuBar[] = {
+- { " View ", viewMenu },
+ { " File ", fileMenu },
+ { " Edit ", editMenu },
+! { " Modify ", soundModifyMenu },
+! { " Sound ", soundSpecialMenu },
+! { " Analysis ", soundAnalysisMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+--- 249,271 ----
+ // And now the structs containing the various menu templates
+
+ static MenuBarInfo defaultChannelMenuBar[] = {
+ { " File ", fileMenu },
++ { " View ", viewMenu },
+ { " Edit ", editMenu },
+! { " Analysis ", analysisMenu },
+! { " Display ", channelDisplayMenu },
+ { nil }
+ };
+
+ static MenuBarInfo soundMenuBar[] = {
+ { " File ", fileMenu },
++ { " View ", viewMenu },
+ { " Edit ", editMenu },
+! { " Modify ", soundModifyMenu },
+! { " Sound ", soundSpecialMenu },
+! { " Analysis ", soundAnalysisMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+***************
+*** 273,285 ****
+ };
+
+ static MenuBarInfo lpcMenuBar[] = {
+- { " View ", viewMenu },
+ { " File ", fileMenu },
+ { " Edit ", editMenu },
+! { " Modify ", modifyMenu },
+ { " LPC ", lpcSpecialMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+--- 282,295 ----
+ };
+
+ static MenuBarInfo lpcMenuBar[] = {
+ { " File ", fileMenu },
++ { " View ", viewMenu },
+ { " Edit ", editMenu },
+! { " Modify ", modifyMenu },
+ { " LPC ", lpcSpecialMenu },
+! { " Analysis ", analysisMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+***************
+*** 293,305 ****
+ };
+
+ static MenuBarInfo envelopeMenuBar[] = {
+- { " View ", viewMenu },
+ { " File ", fileMenu },
+ { " Edit ", editMenu },
+! { " Modify ", modifyMenu },
+! { " Envelope ", envelopeSpecialMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+--- 303,316 ----
+ };
+
+ static MenuBarInfo envelopeMenuBar[] = {
+ { " File ", fileMenu },
++ { " View ", viewMenu },
+ { " Edit ", editMenu },
+! { " Modify ", modifyMenu },
+! { " Envelope ", envelopeSpecialMenu },
+! { " Analysis ", analysisMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+***************
+*** 310,322 ****
+ };
+
+ static MenuBarInfo pitchMenuBar[] = {
+- { " View ", viewMenu },
+ { " File ", fileMenu },
+ { " Edit ", editMenu },
+! { " Modify ", modifyMenu },
+! { " Pitch ", pitchSpecialMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+--- 321,334 ----
+ };
+
+ static MenuBarInfo pitchMenuBar[] = {
+ { " File ", fileMenu },
++ { " View ", viewMenu },
+ { " Edit ", editMenu },
+! { " Modify ", modifyMenu },
+! { " Pitch ", pitchSpecialMenu },
+! { " Analysis ", analysisMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+***************
+*** 339,354 ****
+ };
+
+ static MenuBarInfo defaultFrameMenuBar[] = {
+- { " View ", viewMenu },
+ { " File ", fileMenu },
+! { " Display ", frameDisplayMenu },
+ { nil }
+ };
+
+ static MenuInfo pvocSpecialMenu[] = {
+! { "harmonically shift spectrum", "0", XK_0 },
+! { "stretch/shrink shift spectrum", "1", XK_1 },
+! { "expand/compress spectrum", "2", XK_2, Inactive },
+ { "change file length...", "l", XK_l },
+ { "pvoc options...", " ", XK_degree, Inactive },
+ { nil }
+--- 351,366 ----
+ };
+
+ static MenuBarInfo defaultFrameMenuBar[] = {
+ { " File ", fileMenu },
+! { " View ", viewMenu },
+! { " Display ", frameDisplayMenu },
+ { nil }
+ };
+
+ static MenuInfo pvocSpecialMenu[] = {
+! { "harmonically shift spectrum", "t", XK_t },
+! { "stretch/shrink shift spectrum", "T", XK_T },
+! { "expand/compress spectrum", "X", XK_X, Inactive },
+ { "change file length...", "l", XK_l },
+ { "pvoc options...", " ", XK_degree, Inactive },
+ { nil }
+***************
+*** 355,367 ****
+ };
+
+ static MenuBarInfo pvocMenuBar[] = {
+- { " View ", viewMenu },
+ { " File ", fileMenu },
+ { " Edit ", editMenu },
+! { " Modify ", modifyMenu },
+ { " PVoc ", pvocSpecialMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+--- 367,380 ----
+ };
+
+ static MenuBarInfo pvocMenuBar[] = {
+ { " File ", fileMenu },
++ { " View ", viewMenu },
+ { " Edit ", editMenu },
+! { " Modify ", modifyMenu },
+ { " PVoc ", pvocSpecialMenu },
+! { " Analysis ", analysisMenu },
+! { " Display ", channelDisplayMenu },
+! { " Options ", optionsMenu },
+ { nil }
+ };
+
+diff -c -r old/editor.C ./editor.C
+*** old/editor.C Sat May 11 21:38:27 1996
+--- ./editor.C Sat Jul 13 15:38:38 1996
+***************
+*** 861,867 ****
+ int peakchan, peakloc;
+ data->maxValue(&peakchan, &peakloc);
+ Range chan(peakchan, peakchan);
+! controller->showInsertPoint(peakloc, chan);
+ return Succeed;
+ }
+
+--- 861,867 ----
+ int peakchan, peakloc;
+ data->maxValue(&peakchan, &peakloc);
+ Range chan(peakchan, peakchan);
+! controller->showInsertPoint(peakloc, chan, true);
+ return Succeed;
+ }
+
+***************
+*** 1001,1007 ****
+ PulseGenerator pgen(pulses, pulseFrameSize/pulsePerFrame);
+ pgen.apply();
+ FormantFilter filter(pulses, pulses, selected, 1.0);
+! filter.apply();
+ Envelope* amplitudes = new Envelope(lpcLen * pulsePerFrame);
+ amplitudes->setFrameRangeLabel("LPC Analysis Frames");
+ amplitudes->setRangeFactor(1.0/pulsePerFrame);
+--- 1001,1008 ----
+ PulseGenerator pgen(pulses, pulseFrameSize/pulsePerFrame);
+ pgen.apply();
+ FormantFilter filter(pulses, pulses, selected, 1.0);
+! if(!filter.apply())
+! return Fail;
+ Envelope* amplitudes = new Envelope(lpcLen * pulsePerFrame);
+ amplitudes->setFrameRangeLabel("LPC Analysis Frames");
+ amplitudes->setRangeFactor(1.0/pulsePerFrame);
+***************
+*** 1026,1032 ****
+ Application::inform("Creating test pattern...");
+ pgen.apply();
+ FormantFilter filter(pulses, pulses, selected, 1.0);
+! filter.apply();
+ Application::inform("Analyzing formants...");
+ // fft size depends on npoles
+ FFT_Function analyzer(
+--- 1027,1034 ----
+ Application::inform("Creating test pattern...");
+ pgen.apply();
+ FormantFilter filter(pulses, pulses, selected, 1.0);
+! if(!filter.apply())
+! return Fail;
+ Application::inform("Analyzing formants...");
+ // fft size depends on npoles
+ FFT_Function analyzer(
+diff -c -r old/filecommand.C ./filecommand.C
+*** old/filecommand.C Sun Mar 10 13:35:00 1996
+--- ./filecommand.C Mon Aug 5 23:45:29 1996
+***************
+*** 132,138 ****
+ request->appendValue("Duration (seconds):", &client->duration,
+ PositiveIntegers);
+ request->appendValue("Sample rate:", &client->sampleRate, PositiveIntegers);
+! request->appendChoice("Channels:", "|1|2|4|", &client->channels, true);
+ FormatRequester::configureRequest(request);
+ }
+
+--- 132,138 ----
+ request->appendValue("Duration (seconds):", &client->duration,
+ PositiveIntegers);
+ request->appendValue("Sample rate:", &client->sampleRate, PositiveIntegers);
+! request->appendValue("Channels:", &client->channels, PositiveIntegers);
+ FormatRequester::configureRequest(request);
+ }
+
+diff -c -r old/header.h ./header.h
+*** old/header.h Tue Mar 5 09:53:28 1996
+--- ./header.h Mon Aug 5 23:43:58 1996
+***************
+*** 110,116 ****
+ int data_offset;
+ int data_size;
+ unsigned short data_type;
+! unsigned short nchans;
+ Comment *comment;
+ private:
+ boolean forceSwapped; // used to override header default during raw read
+--- 110,116 ----
+ int data_offset;
+ int data_size;
+ unsigned short data_type;
+! int nchans;
+ Comment *comment;
+ private:
+ boolean forceSwapped; // used to override header default during raw read
+diff -c -r old/header_config.C ./header_config.C
+*** old/header_config.C Sat Jun 8 14:49:21 1996
+--- ./header_config.C Mon Aug 5 23:42:51 1996
+***************
+*** 94,102 ****
+ void
+ SoundHeader::SoundConfigRequester::configureRequest(Request* request) {
+ SoundHeader* sh = (SoundHeader *) myHeader;
+! request->appendValue("Sample rate:", &sh->samprate,
+! PositiveIntegers);
+! request->appendChoice("Channels:", "|1|2|4|", &sh->nchans, true);
+ FormatRequester::configureRequest(request);
+ ConfigRequester::configureRequest(request);
+ }
+--- 94,101 ----
+ void
+ SoundHeader::SoundConfigRequester::configureRequest(Request* request) {
+ SoundHeader* sh = (SoundHeader *) myHeader;
+! request->appendValue("Sample rate:", &sh->samprate, PositiveIntegers);
+! request->appendValue("Channels:", &sh->nchans, PositiveIntegers);
+ FormatRequester::configureRequest(request);
+ ConfigRequester::configureRequest(request);
+ }
+diff -c -r old/pvoceditor.C ./pvoceditor.C
+*** old/pvoceditor.C Sun Mar 24 19:14:47 1996
+--- ./pvoceditor.C Sat Jul 13 15:00:58 1996
+***************
+*** 40,49 ****
+ PvocEditor::keyCommand(unsigned long sym) {
+ boolean interested = true;
+ switch (sym) {
+! case XK_0:
+ harmonicShift();
+ break;
+! case XK_1:
+ stretchShift();
+ break;
+ default:
+--- 40,49 ----
+ PvocEditor::keyCommand(unsigned long sym) {
+ boolean interested = true;
+ switch (sym) {
+! case XK_t:
+ harmonicShift();
+ break;
+! case XK_T:
+ stretchShift();
+ break;
+ default:
+diff -c -r old/soundheader.C ./soundheader.C
+*** old/soundheader.C Tue Apr 30 20:29:59 1996
+--- ./soundheader.C Mon Aug 5 23:05:47 1996
+***************
+*** 122,129 ****
+ char msg[64];
+ msg[0] = '\0'; // null for later check
+ int retcode = 0;
+! if(nchans != 1 && nchans != 2 && nchans != 4)
+! sprintf(msg, "%d-channel sounds not supported", nchans);
+ else if(samprate < 1000 || samprate > 128000)
+ sprintf(msg, "Invalid sound samp rate (%d)", samprate);
+ else if(data_type == NoData)
+--- 122,130 ----
+ char msg[64];
+ msg[0] = '\0'; // null for later check
+ int retcode = 0;
+! if(!isRaw() && !validChannels(nchans))
+! sprintf(msg, "Illegal channel count for this header type: %d",
+! nchans);
+ else if(samprate < 1000 || samprate > 128000)
+ sprintf(msg, "Invalid sound samp rate (%d)", samprate);
+ else if(data_type == NoData)
+diff -c -r old/soundheader.h ./soundheader.h
+*** old/soundheader.h Tue Apr 30 20:29:11 1996
+--- ./soundheader.h Mon Aug 5 23:02:26 1996
+***************
+*** 71,76 ****
+--- 71,77 ----
+ redefined int secondsToBytes(double);
+ redefined int checkHeader();
+ virtual boolean isValid(DataType)=0;
++ virtual boolean validChannels(int chans) { return chans > 0; }
+ SoundHeader(DataType, int rate, int chans, double peak, int magic);
+ class SoundConfigRequester
+ : public Header::ConfigRequester, public FormatRequester {
+***************
+*** 198,203 ****
+--- 199,207 ----
+ redefined boolean isMagic();
+ redefined boolean isValid(DataType t) {
+ return (t == ShortData || t == FloatData);
++ }
++ redefined boolean validChannels(int chans) {
++ return chans == 1 || chans == 2 || chans == 4;
+ }
+ redefined int writeInfo(DataFile *);
+ };
+diff -c -r old/version.C ./version.C
+*** old/version.C Fri Dec 22 23:22:26 1995
+--- ./version.C Sun Aug 25 10:17:39 1996
+***************
+*** 24,27 ****
+
+ #include "version.h"
+
+! const char MXV_version_string[] = "MiXViews (mxv) version 1.1 pl 00";
+--- 24,27 ----
+
+ #include "version.h"
+
+! const char MXV_version_string[] = "MiXViews (mxv) version 1.1 pl 01";
+diff -c -r old/viewchanger.C ./viewchanger.C
+*** old/viewchanger.C Tue Mar 19 21:26:41 1996
+--- ./viewchanger.C Sat Jul 13 23:23:15 1996
+***************
+*** 41,48 ****
+ class MinMaxRequester : public TitledRequester {
+ public:
+ MinMaxRequester(const char* title,
+! const char* minlabel, T& minval, const Range &,
+! const char* maxlabel, T& maxval, const Range &);
+ protected:
+ redefined void configureRequest(Request *);
+ protected:
+--- 41,48 ----
+ class MinMaxRequester : public TitledRequester {
+ public:
+ MinMaxRequester(const char* title,
+! const char* minlabel, T& minval, const Range,
+! const char* maxlabel, T& maxval, const Range);
+ protected:
+ redefined void configureRequest(Request *);
+ protected:
+***************
+*** 50,63 ****
+ const char* maxLabel;
+ T &minVal;
+ T &maxVal;
+! const Range &minRange;
+! const Range &maxRange;
+ };
+
+ template <class T>
+ MinMaxRequester<T>::MinMaxRequester(const char* title,
+! const char* minlabel, T& minval, const Range& minrange,
+! const char* maxlabel, T& maxval, const Range& maxrange)
+ : TitledRequester(title), minLabel(minlabel), maxLabel(maxlabel),
+ minVal(minval), maxVal(maxval),
+ minRange(minrange), maxRange(maxrange) {}
+--- 50,63 ----
+ const char* maxLabel;
+ T &minVal;
+ T &maxVal;
+! const Range minRange;
+! const Range maxRange;
+ };
+
+ template <class T>
+ MinMaxRequester<T>::MinMaxRequester(const char* title,
+! const char* minlabel, T& minval, const Range minrange,
+! const char* maxlabel, T& maxval, const Range maxrange)
+ : TitledRequester(title), minLabel(minlabel), maxLabel(maxlabel),
+ minVal(minval), maxVal(maxval),
+ minRange(minrange), maxRange(maxrange) {}
+***************
+*** 248,254 ****
+
+ class EditFramesRequester : public MinMaxRequester<int> {
+ public:
+! EditFramesRequester(int&, int&, int&, int&, const Range&);
+ protected:
+ redefined void configureRequest(Request *);
+ private:
+--- 248,254 ----
+
+ class EditFramesRequester : public MinMaxRequester<int> {
+ public:
+! EditFramesRequester(int&, int&, int&, int&, const Range);
+ protected:
+ redefined void configureRequest(Request *);
+ private:
+***************
+*** 258,264 ****
+
+ EditFramesRequester::EditFramesRequester(int& minframe, int& maxframe,
+ int& startchan, int& endchan,
+! const Range& channelRange)
+ : MinMaxRequester<int>(
+ "Set Edit Region:",
+ "Start Channel:", startchan, channelRange,
+--- 258,264 ----
+
+ EditFramesRequester::EditFramesRequester(int& minframe, int& maxframe,
+ int& startchan, int& endchan,
+! const Range channelRange)
+ : MinMaxRequester<int>(
+ "Set Edit Region:",
+ "Start Channel:", startchan, channelRange,
+***************
+*** 274,280 ****
+
+ class EditTimeRequester : public MinMaxRequester<int> {
+ public:
+! EditTimeRequester(double&, double&, int&, int&, const Range &);
+ protected:
+ redefined void configureRequest(Request *);
+ private:
+--- 274,280 ----
+
+ class EditTimeRequester : public MinMaxRequester<int> {
+ public:
+! EditTimeRequester(double&, double&, int&, int&, const Range);
+ protected:
+ redefined void configureRequest(Request *);
+ private:
+***************
+*** 285,291 ****
+ EditTimeRequester::EditTimeRequester(
+ double& mintime, double& maxtime,
+ int& startchan, int& endchan,
+! const Range& channelRange)
+ : MinMaxRequester<int>(
+ "Set Edit Region:",
+ "Start Channel:", startchan, channelRange,
+--- 285,291 ----
+ EditTimeRequester::EditTimeRequester(
+ double& mintime, double& maxtime,
+ int& startchan, int& endchan,
+! const Range channelRange)
+ : MinMaxRequester<int>(
+ "Set Edit Region:",
+ "Start Channel:", startchan, channelRange,
+diff -c -r old/vw_converter.C ./vw_converter.C
+*** old/vw_converter.C Sun Jan 28 20:26:05 1996
+--- ./vw_converter.C Mon Aug 5 22:44:36 1996
+***************
+*** 43,49 ****
+
+ boolean
+ VW_Converter::isPlayableFormat(DataType type) {
+! return (type < FloatData && type != SignedCharData);
+ }
+
+ // what is best format to play (if given choice)
+--- 45,51 ----
+
+ boolean
+ VW_Converter::isPlayableFormat(DataType type) {
+! return (type < IntData && type != SignedCharData);
+ }
+
+ // what is best format to play (if given choice)
+***************
+*** 60,70 ****
+ return false;
+ }
+
+- // add any specific code needed to stop play or record
+-
+ int
+ VW_Converter::stop() {
+! return Super::stop();
+ }
+
+ int
+--- 62,70 ----
+ return false;
+ }
+
+ int
+ VW_Converter::stop() {
+! return ioctl(SNDCTL_DSP_RESET, 0) && Super::stop();
+ }
+
+ int
+***************
+*** 87,92 ****
+--- 87,93 ----
+ int sampleFormat = 0;
+ switch(dataType()) {
+ case UnsignedCharData: sampleFormat = AFMT_U8; break;
++ case SignedCharData: sampleFormat = AFMT_S8; break;
+ // case ALawData: sampleFormat = AFMT_A_LAW; break;
+ case MuLawData: sampleFormat = AFMT_MU_LAW; break;
+ case ShortData: sampleFormat = AFMT_S16_LE; break;
+***************
+*** 93,119 ****
+ default: break;
+ };
+ int confirmedFormat = sampleFormat;
+! if (!ioctl (SNDCTL_DSP_SPEED, (char *) &dsp_speed))
+! error("Unable to set converter sample rate.");
+ else if (!ioctl(SNDCTL_DSP_STEREO, (char *) &dsp_stereo))
+! error("Unable to set converter channel attribute.");
+! else if (!ioctl(SNDCTL_DSP_SETFMT, (char *) &confirmedFormat)
+! || confirmedFormat != sampleFormat)
+! error("Unable to set sample size.");
+ else if(!ioctl(SNDCTL_DSP_GETBLKSIZE, (char *) &audioBufferSize))
+ error("Unable to get audio buffer size.");
+- else if(audioBufferSize < 1024 || audioBufferSize > (2*65536)) {
+- char msg[128];
+- sprintf(msg, "Invalid audio buffer size %d", audioBufferSize);
+- error(msg);
+- }
+ else status = true;
+ }
+ return status;
+ }
+
+ // return size of buffer, in bytes, to be written to the device during play
+- // this can either be computed or just a static value
+
+ int
+ VW_Converter::writeSize() {
+--- 94,141 ----
+ default: break;
+ };
+ int confirmedFormat = sampleFormat;
+!
+! int sizeCode = 0x1;
+! // desired buffer size is 1/10 of a second's worth of sound
+! int bufferSize = type_to_sampsize(dataType()) *
+! round(float(channels()) * sampleRate() / 10.0);
+! #ifdef DEBUG
+! fprintf(stderr, "requesting buffer size %d\n", bufferSize);
+! #endif
+! while(pow(double(2.0), long(sizeCode)) < double(bufferSize))
+! sizeCode <<= 1;
+!
+! sizeCode >>= 1; // back out by one
+! sizeCode |= 2 << 16;
+!
+! // sizeCode = 0x0002XXXX where XXXX is (int) log2(bufsize)
+! // and 0002 is 2 max number of fragments
+!
+! #ifdef DEBUG
+! fprintf(stderr, "setting frag size code to 0x%x\n", sizeCode);
+! #endif
+!
+! if (!ioctl (SNDCTL_DSP_SETFRAGMENT, (char *) &sizeCode))
+! error("Unable to set fragment size.");
+! else if (!ioctl(SNDCTL_DSP_SETFMT, (char *) &confirmedFormat))
+! error("Unable to set sample format.");
+! else if(confirmedFormat != sampleFormat)
+! error("This sample format not supported by hardware.");
+ else if (!ioctl(SNDCTL_DSP_STEREO, (char *) &dsp_stereo))
+! error("Unable to set channel attribute.");
+! else if (!ioctl (SNDCTL_DSP_SPEED, (char *) &dsp_speed))
+! error("Unable to set sample rate.");
+ else if(!ioctl(SNDCTL_DSP_GETBLKSIZE, (char *) &audioBufferSize))
+ error("Unable to get audio buffer size.");
+ else status = true;
++ #ifdef DEBUG
++ fprintf(stderr, "audio buffer size is %d\n", audioBufferSize);
++ #endif
+ }
+ return status;
+ }
+
+ // return size of buffer, in bytes, to be written to the device during play
+
+ int
+ VW_Converter::writeSize() {
+***************
+*** 121,127 ****
+ }
+
+ // return size of buffer, in bytes, to be read from the device during record
+- // this can either be computed or just a static value
+
+ int
+ VW_Converter::readSize() {
+--- 143,148 ----
diff --git a/audio/mxv/patches/patch-ab b/audio/mxv/patches/patch-ab
new file mode 100644
index 00000000000..ff04b54ed63
--- /dev/null
+++ b/audio/mxv/patches/patch-ab
@@ -0,0 +1,40 @@
+*** Imakefile.orig Wed Feb 28 16:16:02 1996
+--- Imakefile Thu Apr 17 15:14:45 1997
+***************
+*** 139,144 ****
+--- 139,159 ----
+ ARCH_OBJS = utils.o
+ #endif
+
++ #if defined(FreeBSDArchitecture)
++ XCOMM Extra defines, include directories, loading flags, and libraries needed
++ XCOMM for the FreeBSD version. The assumption is that you are using Gnu gcc/g++
++
++ ARCH_CCDEFINES = -DVOXWARE_DACS -DXDisplay=_XDisplay
++ ARCH_CCFLAGS =
++ ARCH_CCINCLUDES =
++ ARCH_CCLDFLAGS =
++ ARCH_CCLDLIBS = $(APP_FORTLIBS) -lm
++ DEBUG_CCFLAGS = -Ddebug
++
++ DAC_OBJS = conv_config.o conv_device.o vw_converter.o
++ ARCH_OBJS = utils.o
++ #endif
++
+ #if defined(i386SVR4Architecture)
+ XCOMM This assumes you have the SoundBlaster card on your machine
+ ARCH_CCDEFINES = -DSOUNDBLASTER
+***************
+*** 253,258 ****
+--- 268,278 ----
+ MakeObjectFromSrcFlags(sgi_dac, $(OPTIMIZE_CCFLAGS))
+ #endif
+ #if defined(LinuxArchitecture)
++ MakeObjectFromSrcFlags(utils, $(OPTIMIZE_CCFLAGS))
++ MakeObjectFromSrcFlags(conv_device, $(OPTIMIZE_CCFLAGS))
++ MakeObjectFromSrcFlags(vw_converter, $(OPTIMIZE_CCFLAGS))
++ #endif
++ #if defined(FreeBSDArchitecture)
+ MakeObjectFromSrcFlags(utils, $(OPTIMIZE_CCFLAGS))
+ MakeObjectFromSrcFlags(conv_device, $(OPTIMIZE_CCFLAGS))
+ MakeObjectFromSrcFlags(vw_converter, $(OPTIMIZE_CCFLAGS))
diff --git a/audio/mxv/patches/patch-ac b/audio/mxv/patches/patch-ac
new file mode 100644
index 00000000000..cb048d9a802
--- /dev/null
+++ b/audio/mxv/patches/patch-ac
@@ -0,0 +1,30 @@
+*** application.C.orig Thu Apr 17 15:23:34 1997
+--- application.C Thu Apr 17 15:26:03 1997
+***************
+*** 41,47 ****
+ #include <iostream.h>
+ #include "localdefs.h"
+
+! #ifndef NeXT
+ #include <errno.h>
+ extern char *sys_errlist[];
+ char *strerror(int errn) {
+--- 41,48 ----
+ #include <iostream.h>
+ #include "localdefs.h"
+
+! #if !defined(__FreeBSD__)
+! #if !defined(NeXT)
+ #include <errno.h>
+ extern char *sys_errlist[];
+ char *strerror(int errn) {
+***************
+*** 53,58 ****
+--- 54,60 ----
+ int sleep(unsigned);
+ }
+ #endif /* NeXT */
++ #endif
+
+ class GlobalResourceList {
+ friend Application;
diff --git a/audio/mxv/patches/patch-ad b/audio/mxv/patches/patch-ad
new file mode 100644
index 00000000000..8e113a9090d
--- /dev/null
+++ b/audio/mxv/patches/patch-ad
@@ -0,0 +1,19 @@
+*** device.h.orig Thu Apr 17 14:53:39 1997
+--- device.h Thu Apr 17 14:57:57 1997
+***************
+*** 33,39 ****
+ #include "InterViews/resource.h"
+ #include "localdefs.h"
+
+! #ifndef sgi
+ extern "C" int ioctl(int, unsigned long, char*);
+ #endif
+
+--- 33,39 ----
+ #include "InterViews/resource.h"
+ #include "localdefs.h"
+
+! #if !defined( sgi ) && !defined( __FreeBSD__ )
+ extern "C" int ioctl(int, unsigned long, char*);
+ #endif
+
diff --git a/audio/mxv/patches/patch-ae b/audio/mxv/patches/patch-ae
new file mode 100644
index 00000000000..b2d7aeb502a
--- /dev/null
+++ b/audio/mxv/patches/patch-ae
@@ -0,0 +1,33 @@
+*** diskfile.C.orig Thu Apr 17 14:57:15 1997
+--- diskfile.C Thu Apr 17 15:06:28 1997
+***************
+*** 50,56 ****
+ #if defined(linux)
+ extern "C" void setbuffer(FILE*, char*, int);
+ #else
+! #if !defined( sgi ) && !defined( sun )
+ extern "C" int setbuffer(FILE*, char*, int);
+ #endif
+ #endif
+--- 50,56 ----
+ #if defined(linux)
+ extern "C" void setbuffer(FILE*, char*, int);
+ #else
+! #if !defined( sgi ) && !defined( sun ) && !defined( __FreeBSD__ )
+ extern "C" int setbuffer(FILE*, char*, int);
+ #endif
+ #endif
+***************
+*** 193,198 ****
+--- 193,203 ----
+ rw &= ~01;
+ if (fp->_flags & _IO_NO_WRITES)
+ rw &= ~02;
++ #elif defined(__FreeBSD__)
++ if (fp->_flags & (__SRD|__SRW))
++ rw |= 01;
++ if (fp->_flags & (__SWR|__SRW|__SAPP))
++ rw |= 02;
+ #else
+ if (fp->_flag & (_IOREAD|_IORW))
+ rw |= 01;
diff --git a/audio/mxv/patches/patch-af b/audio/mxv/patches/patch-af
new file mode 100644
index 00000000000..0edbba9c481
--- /dev/null
+++ b/audio/mxv/patches/patch-af
@@ -0,0 +1,40 @@
+*** settergetter.h.orig Thu Apr 17 15:07:13 1997
+--- settergetter.h Thu Apr 17 15:17:30 1997
+***************
+*** 64,69 ****
+--- 64,70 ----
+ Status (Object::*setfunc)(Type),
+ Type (Object::*getfunc)() const)
+ : obj(objptr), setter(setfunc), getter(getfunc) {}
++ ~MethodSetterGetter() {}
+ redefined boolean set(Type value) {
+ return boolean((obj->*setter)(value));
+ }
+***************
+*** 82,94 ****
+ return new MethodSetterGetter<Object, Status, Type>(objptr, setfunc, getfunc);
+ }
+
+- //********
+-
+ template <class Status, class Type>
+ class FunctionSetterGetter : public SetterGetter<Type> {
+ public:
+ FunctionSetterGetter(Status (*setfunc)(Type), Type (*getfunc)())
+ : setter(setfunc), getter(getfunc) {}
+ redefined boolean set(Type value) { (*setter)(value); return true; }
+ redefined Type get() const { return (*getter)(); }
+ private:
+--- 83,94 ----
+ return new MethodSetterGetter<Object, Status, Type>(objptr, setfunc, getfunc);
+ }
+
+ template <class Status, class Type>
+ class FunctionSetterGetter : public SetterGetter<Type> {
+ public:
+ FunctionSetterGetter(Status (*setfunc)(Type), Type (*getfunc)())
+ : setter(setfunc), getter(getfunc) {}
++ ~FunctionSetterGetter() {}
+ redefined boolean set(Type value) { (*setter)(value); return true; }
+ redefined Type get() const { return (*getter)(); }
+ private:
diff --git a/audio/mxv/patches/patch-ag b/audio/mxv/patches/patch-ag
new file mode 100644
index 00000000000..4454c809a56
--- /dev/null
+++ b/audio/mxv/patches/patch-ag
@@ -0,0 +1,16 @@
+*** smartmem.C.orig Thu Apr 17 15:32:03 1997
+--- smartmem.C Thu Apr 17 15:33:41 1997
+***************
+*** 64,70 ****
+--- 64,74 ----
+ void
+ SmartMemory::free(void* ptr, unsigned size) {
+ if(ptr) {
++ #ifdef __FreeBSD__
++ ::free(ptr);
++ #else
+ ::cfree(ptr);
++ #endif
+ totalBytes_Allocated -= size;
+ }
+ }
diff --git a/audio/mxv/patches/patch-ah b/audio/mxv/patches/patch-ah
new file mode 100644
index 00000000000..24754efa97f
--- /dev/null
+++ b/audio/mxv/patches/patch-ah
@@ -0,0 +1,16 @@
+*** vw_converter.C.orig Thu Apr 17 14:49:48 1997
+--- vw_converter.C Thu Apr 17 14:50:17 1997
+***************
+*** 27,33 ****
+--- 27,37 ----
+ #pragma implementation
+ #endif
+
++ #ifdef __FreeBSD__
++ #include <machine/soundcard.h>
++ #else
+ #include <sys/soundcard.h>
++ #endif
+ #include "localdefs.h"
+ #include "application.h"
+ #include "vw_converter.h"
diff --git a/audio/mxv/patches/patch-ai b/audio/mxv/patches/patch-ai
new file mode 100644
index 00000000000..14e1b53e89b
--- /dev/null
+++ b/audio/mxv/patches/patch-ai
@@ -0,0 +1,37 @@
+*** /dev/null Thu Apr 17 15:41:53 1997
+--- MiXViews.res Thu Apr 17 16:08:47 1997
+***************
+*** 0 ****
+--- 1,32 ----
++ ! This file must be renamed "MiXViews", and installed either in your home
++ ! directory (if you are the only one using mxv) or in the X res dir
++ ! (/usr/lib/X11/app-defaults) or in the InterViews res dir
++ ! (<installed InterViews dir>/lib/app-defaults).
++
++ MiXViews*font: -*-times-medium-r-normal--14-*
++ MiXViews*PulldownCommandMenu*background: light blue
++ MiXViews*Command*background: lightskyblue2
++ MiXViews*PullrightCommandMenu*background: lightskyblue
++ MiXViews*MenuBar*font: -*-helvetica-bold-r-normal--17-*
++ MiXViews*MenuItem*font: -*-helvetica-medium-r-normal--14-*
++ MiXViews*PullrightMenu*font: -*-helvetica-medium-r-normal--14-*
++ MiXViews*DialogBox*Title*font: -*-helvetica-bold-r-normal--14-*
++ MiXViews*DialogBox*Subtitle*font: -*-helvetica-medium-r-normal--12-*
++ MiXViews*Alert*Title*foreground: Red
++ MiXViews*InputDialog*FileSelector*font: -*-times-medium-r-normal--14-*
++ MiXViews*PushButton*font: -*-helvetica-medium-r-normal--14-*
++ MiXViews*HorizontalScale*font: -*-helvetica-medium-r-normal--8-*
++ MiXViews*VerticalScale*font: -*-helvetica-medium-r-normal--8-*
++ MiXViews*StatusBar*font: -*-helvetica-medium-r-normal--12-*
++ MiXViews*FrameGraph*font: -*-helvetica-medium-r-normal--8-*
++ MiXViews*HorizontalScaleLabel*foreground: White
++ MiXViews*HorizontalScaleLabel*background: Black
++ MiXViews*VerticalScaleLabel*foreground: White
++ MiXViews*VerticalScaleLabel*background: Black
++ MiXViews*LPCWindowDisplayChannels: 4
++ MiXViews*FFTWindowDisplayChannels: 4
++ MiXViews*FFTWindow*PlotStyle: Line
++ MiXViews*PvocWindowDisplayChannels: 4
++ MiXViews*PvocWindow*VerticalScaleLabel*font: -*-helvetica-medium-r-normal--10-*
++ MiXViews*malloc_debug: off
++
diff --git a/audio/mxv/pkg/COMMENT b/audio/mxv/pkg/COMMENT
new file mode 100644
index 00000000000..e25cacb75db
--- /dev/null
+++ b/audio/mxv/pkg/COMMENT
@@ -0,0 +1 @@
+Sound file editor/player/recorder/converter for X Window System.
diff --git a/audio/mxv/pkg/DESCR b/audio/mxv/pkg/DESCR
new file mode 100644
index 00000000000..2935d50f6d2
--- /dev/null
+++ b/audio/mxv/pkg/DESCR
@@ -0,0 +1,6 @@
+This is the MiXViews sound file editor/recorder/player that supports
+FreeBSD's voxware sound drivers written by doug@ccmrc.ucsb.edu.
+It supports the following sound file formats: IRCAM, SND/AU, Hybrid (CMIX),
+AIF-C, WAVE, and raw (headerless)
+
+Version 1.10.
diff --git a/audio/mxv/pkg/PLIST b/audio/mxv/pkg/PLIST
new file mode 100644
index 00000000000..efe061fd454
--- /dev/null
+++ b/audio/mxv/pkg/PLIST
@@ -0,0 +1,2 @@
+bin/mxv
+lib/X11/app-defaults/MiXViews
diff --git a/audio/nas/Makefile b/audio/nas/Makefile
new file mode 100644
index 00000000000..cbe86d9984e
--- /dev/null
+++ b/audio/nas/Makefile
@@ -0,0 +1,20 @@
+# New ports collection makefile for: nas (formerly netaudio)
+# Version required: 1.2p1
+# Date created: 03 Nov 1994
+# Whom: jkh
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:42 augustss Exp $
+#
+
+DISTNAME= nas-1.2p5
+PKGNAME= nas-1.2.5
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_XCONTRIB}
+MASTER_SITE_SUBDIR= audio/nas
+
+USE_IMAKE= yes
+ALL_TARGET= World
+# no need to "xmkmf -a" and create the Makefiles twice -- see above
+XMKMF= xmkmf
+
+.include <bsd.port.mk>
diff --git a/audio/nas/files/md5 b/audio/nas/files/md5
new file mode 100644
index 00000000000..194e2d00b7c
--- /dev/null
+++ b/audio/nas/files/md5
@@ -0,0 +1 @@
+MD5 (nas-1.2p5.tar.gz) = 27c7118347dd71dd32a7f27d7e6d44bc
diff --git a/audio/nas/patches/patch-ab b/audio/nas/patches/patch-ab
new file mode 100644
index 00000000000..df614f79147
--- /dev/null
+++ b/audio/nas/patches/patch-ab
@@ -0,0 +1,16 @@
+*** server/dda/voxware/auvoxware.c.orig Thu Nov 3 11:24:11 1994
+--- server/dda/voxware/auvoxware.c Thu Nov 3 11:24:50 1994
+***************
+*** 755,760 ****
+--- 755,765 ----
+ /*
+ * Setup soundcard at maximum audio quality.
+ */
++
++ #ifdef __FreeBSD__
++ #define NO_16_BIT_SAMPLING
++ #endif
++
+ static void setupSoundcard(sndStatPtr)
+ SndStat* sndStatPtr;
+ {
diff --git a/audio/nas/patches/patch-ac b/audio/nas/patches/patch-ac
new file mode 100644
index 00000000000..67ce9ac3f3b
--- /dev/null
+++ b/audio/nas/patches/patch-ac
@@ -0,0 +1,12 @@
+*** ./lib/audio/Astreams.c.orig Thu Nov 3 11:58:30 1994
+--- ./lib/audio/Astreams.c Thu Nov 3 11:58:52 1994
+***************
+*** 52,58 ****
+ #include <sys/stropts.h>
+
+ extern int errno;
+- extern char *sys_errlist[];
+
+ /* stolen from <X11/Xproto.h> */
+ typedef struct {
+--- 52,57 ----
diff --git a/audio/nas/patches/patch-ad b/audio/nas/patches/patch-ad
new file mode 100644
index 00000000000..06c979d270e
--- /dev/null
+++ b/audio/nas/patches/patch-ad
@@ -0,0 +1,55 @@
+*** clients/audio/auedit/Graph.c.orig Wed Dec 6 10:11:03 1995
+--- clients/audio/auedit/Graph.c Sat Oct 5 11:37:52 1996
+***************
+*** 28,34 ****
+ */
+
+ #ifndef WIN32
+! #include <values.h>
+ #else /* WIN32 */
+ #define MAXSHORT 0x7fff
+ #endif /* WIN32 */
+--- 28,34 ----
+ */
+
+ #ifndef WIN32
+! #include <limits.h>
+ #else /* WIN32 */
+ #define MAXSHORT 0x7fff
+ #endif /* WIN32 */
+***************
+*** 322,329 ****
+
+ for (x = 0; x < (int) w->core.width; x++)
+ {
+! minY = MAXSHORT;
+! maxY = -MAXSHORT;
+
+ for (; (int) k == x && p < end; k += w->graph.hscale)
+ {
+--- 322,329 ----
+
+ for (x = 0; x < (int) w->core.width; x++)
+ {
+! minY = SHRT_MAX;
+! maxY = SHRT_MIN;
+
+ for (; (int) k == x && p < end; k += w->graph.hscale)
+ {
+***************
+*** 391,397 ****
+ GraphWidget w;
+ {
+ w->graph.vscale = (float) w->core.height / w->graph.numTracks /
+! (MAXSHORT - -MAXSHORT + 1);
+
+ w->graph.hscale = (float) ((int) w->core.width - 1) /
+ (w->graph.end - w->graph.start);
+--- 391,397 ----
+ GraphWidget w;
+ {
+ w->graph.vscale = (float) w->core.height / w->graph.numTracks /
+! (SHRT_MAX - SHRT_MIN + 1);
+
+ w->graph.hscale = (float) ((int) w->core.width - 1) /
+ (w->graph.end - w->graph.start);
diff --git a/audio/nas/patches/patch-ae b/audio/nas/patches/patch-ae
new file mode 100644
index 00000000000..9de5c29d898
--- /dev/null
+++ b/audio/nas/patches/patch-ae
@@ -0,0 +1,25 @@
+*** lib/audio/Imakefile Tue Feb 13 12:18:13 1996
+--- lib/audio/Imakefile Tue Feb 13 10:21:19 1996
+***************
+*** 66,73 ****
+ #endif /* ProjectX < 5 */
+
+ EDB_DEFINES = -DERRORDB=\"$(LIBDIR)/AuErrorDB\"
+
+ DEFINES = $(MALLOC_DEFINES) $(SYSV_DEFINES)
+! CONN_DEFINES = ConnectionFlags
+ INSTALLFLAGS += $(INSTINCFLAGS)
+
+--- 66,78 ----
+ #endif /* ProjectX < 5 */
+
++ #if HasBSD44Sockets
++ SOCK_DEFINES = -DBSD44SOCKETS
++ #endif
++
++
+ EDB_DEFINES = -DERRORDB=\"$(LIBDIR)/AuErrorDB\"
+
+ DEFINES = $(MALLOC_DEFINES) $(SYSV_DEFINES)
+! CONN_DEFINES = ConnectionFlags $(SOCK_DEFINES)
+ INSTALLFLAGS += $(INSTINCFLAGS)
diff --git a/audio/nas/pkg/COMMENT b/audio/nas/pkg/COMMENT
new file mode 100644
index 00000000000..2bf4f4a3ad1
--- /dev/null
+++ b/audio/nas/pkg/COMMENT
@@ -0,0 +1 @@
+Network Audio System.
diff --git a/audio/nas/pkg/DESCR b/audio/nas/pkg/DESCR
new file mode 100644
index 00000000000..b07f298ba12
--- /dev/null
+++ b/audio/nas/pkg/DESCR
@@ -0,0 +1,5 @@
+ The Network Audio System is designed for playing,
+ recording, and manipulating audio data over a network.
+ Like the X Window System, it uses the client/server model to
+ separate applications from the specific drivers that control
+ audio input and output devices.
diff --git a/audio/nas/pkg/PLIST b/audio/nas/pkg/PLIST
new file mode 100644
index 00000000000..74bddffcdd3
--- /dev/null
+++ b/audio/nas/pkg/PLIST
@@ -0,0 +1,194 @@
+include/audio/Afuncproto.h
+include/audio/Afuncs.h
+include/audio/Amd.h
+include/audio/Aos.h
+include/audio/Aosdefs.h
+include/audio/Aproto.h
+include/audio/audio.h
+include/audio/Alibint.h
+include/audio/Alibnet.h
+include/audio/Xtutil.h
+include/audio/audiolib.h
+include/audio/audioutil.h
+include/audio/snd.h
+include/audio/wave.h
+include/audio/voc.h
+include/audio/aiff.h
+include/audio/sound.h
+include/audio/soundlib.h
+include/audio/fileutil.h
+include/audio/8svx.h
+include/audio/Astreams.h
+lib/X11/AuErrorDB
+lib/AUVoxConfig.eg
+lib/libaudio.a
+bin/auvoxware
+bin/au
+bin/auconvert
+bin/auctl
+bin/audemo
+bin/audial
+bin/auedit
+bin/auinfo
+bin/aupanel
+bin/auplay
+bin/aurecord
+bin/autool
+bin/auwave
+bin/auphone
+bin/auscope
+bin/soundtoh
+bin/issndfile
+bin/playbucket
+bin/checkmail
+man/man1/auserver.1.gz
+man/man1/AUVoxConfig.1.gz
+man/man1/auvoxware.1.gz
+man/man1/auconvert.1.gz
+man/man1/auctl.1.gz
+man/man1/audemo.1.gz
+man/man1/audial.1.gz
+man/man1/auedit.1.gz
+man/man1/auinfo.1.gz
+man/man1/aupanel.1.gz
+man/man1/auplay.1.gz
+man/man1/aurecord.1.gz
+man/man1/autool.1.gz
+man/man1/auwave.1.gz
+man/man1/auphone.1.gz
+man/man1/auscope.1.gz
+man/man1/soundtoh.1.gz
+man/man1/issndfile.1.gz
+man/man1/playbucket.1.gz
+man/man1/checkmail.1.gz
+man/man1/nas.1.gz
+man/man3/AuAnyEvent.3.gz
+man/man3/AuBucketAttributes.3.gz
+man/man3/AuConvertDataToShort.3.gz
+man/man3/AuConvertShortToData.3.gz
+man/man3/AuCloseServer.3.gz
+man/man3/AuCreateBucket.3.gz
+man/man3/AuCreateFlow.3.gz
+man/man3/AuDeviceAttributes.3.gz
+man/man3/AuDataFormats.3.gz
+man/man3/AuDataTypes.3.gz
+man/man3/AuDefineToFormat.3.gz
+man/man3/AuDestroyBucket.3.gz
+man/man3/AuDestroyFlow.3.gz
+man/man3/AuDispatchEvent.3.gz
+man/man3/AuElementNotifyEvent.3.gz
+man/man3/AuElementParameters.3.gz
+man/man3/AuElementState.3.gz
+man/man3/AuElement.3.gz
+man/man3/AuErrorEvent.3.gz
+man/man3/AuEvent.3.gz
+man/man3/AuEventsQueued.3.gz
+man/man3/AuFixedPointFractionalAddend.3.gz
+man/man3/AuFixedPointFromFraction.3.gz
+man/man3/AuFixedPointFromSum.3.gz
+man/man3/AuFixedPointIntegralAddend.3.gz
+man/man3/AuFixedPointRoundDown.3.gz
+man/man3/AuFixedPointRoundUp.3.gz
+man/man3/AuFileFormats.3.gz
+man/man3/AuFlush.3.gz
+man/man3/AuFreeBucketAttributes.3.gz
+man/man3/AuFreeDeviceAttributes.3.gz
+man/man3/AuFreeElementStates.3.gz
+man/man3/AuFormatToDefine.3.gz
+man/man3/AuFormatToString.3.gz
+man/man3/AuFreeElements.3.gz
+man/man3/AuGetBucketAttributes.3.gz
+man/man3/AuGetCloseDownMode.3.gz
+man/man3/AuGetDeviceAttributes.3.gz
+man/man3/AuGetErrorDatabaseText.3.gz
+man/man3/AuGetElementParameters.3.gz
+man/man3/AuGetElementStates.3.gz
+man/man3/AuGetErrorText.3.gz
+man/man3/AuGetScratchFlowFromBucket.3.gz
+man/man3/AuGetScratchFlowToBucket.3.gz
+man/man3/AuGetScratchFlow.3.gz
+man/man3/AuGetServerTime.3.gz
+man/man3/AuGetElements.3.gz
+man/man3/AuGrabNotifyEvent.3.gz
+man/man3/AuHandleEvents.3.gz
+man/man3/AuIDOfEvent.3.gz
+man/man3/AuInputTrack.3.gz
+man/man3/AuKillClient.3.gz
+man/man3/AuListBuckets.3.gz
+man/man3/AuListDevices.3.gz
+man/man3/AuLookupEventHandler.3.gz
+man/man3/AuMakeChangeStateAction.3.gz
+man/man3/AuMakeElementAddConstant.3.gz
+man/man3/AuMakeElementBundle.3.gz
+man/man3/AuMakeElementExportBucket.3.gz
+man/man3/AuMakeElementExportClient.3.gz
+man/man3/AuMakeElementExportDevice.3.gz
+man/man3/AuMakeElementExportMonitor.3.gz
+man/man3/AuMakeElementImportBucket.3.gz
+man/man3/AuMakeElementImportClient.3.gz
+man/man3/AuMakeElementImportDevice.3.gz
+man/man3/AuMakeElementImportWaveForm.3.gz
+man/man3/AuMakeElementMultiplyConstant.3.gz
+man/man3/AuMakeElementState.3.gz
+man/man3/AuMakeElementSum.3.gz
+man/man3/AuMakeInputTrack.3.gz
+man/man3/AuMakeNoopAction.3.gz
+man/man3/AuMonitorNotifyEvent.3.gz
+man/man3/AuMakeSendNotifyAction.3.gz
+man/man3/AuMonitorDevice.3.gz
+man/man3/AuNextEvent.3.gz
+man/man3/AuOpenServer.3.gz
+man/man3/AuPauseFlow.3.gz
+man/man3/AuRegisterEventHandler.3.gz
+man/man3/AuReleaseScratchFlow.3.gz
+man/man3/AuReadElement.3.gz
+man/man3/AuRequeueEvent.3.gz
+man/man3/AuSetBucketAttributes.3.gz
+man/man3/AuSoundCreateBucketFromData.3.gz
+man/man3/AuSoundCreateBucketFromFile.3.gz
+man/man3/AuSoundCreateDataFromBucket.3.gz
+man/man3/AuSetCloseDownMode.3.gz
+man/man3/AuSoundCreateFileFromBucket.3.gz
+man/man3/AuSetDeviceAttributes.3.gz
+man/man3/AuSetElementParameters.3.gz
+man/man3/AuSetElementStates.3.gz
+man/man3/AuSetElements.3.gz
+man/man3/AuSetErrorHandler.3.gz
+man/man3/AuSetIOErrorHandler.3.gz
+man/man3/AuSoundPlay.3.gz
+man/man3/AuSoundPlayFromBucket.3.gz
+man/man3/AuSoundPlayFromData.3.gz
+man/man3/AuSoundPlayFromFile.3.gz
+man/man3/AuSoundPlaySynchronousFromFile.3.gz
+man/man3/AuSoundRecord.3.gz
+man/man3/AuSoundRecordToBucket.3.gz
+man/man3/AuSoundRecordToData.3.gz
+man/man3/AuSoundRecordToFile.3.gz
+man/man3/AuSoundRecordToFileN.3.gz
+man/man3/AuSetString.3.gz
+man/man3/AuScanEvents.3.gz
+man/man3/AuScanForTypedEvent.3.gz
+man/man3/AuServerName.3.gz
+man/man3/AuServer.3.gz
+man/man3/AuStopFlow.3.gz
+man/man3/AuStartFlow.3.gz
+man/man3/AuStringToFormat.3.gz
+man/man3/AuStringToWaveForm.3.gz
+man/man3/AuSync.3.gz
+man/man3/AuSynchronize.3.gz
+man/man3/AuUnregisterEventHandler.3.gz
+man/man3/AuWaveFormToString.3.gz
+man/man3/AuWriteElement.3.gz
+man/man3/SoundAbbrevToFileFormat.3.gz
+man/man3/SoundCloseFile.3.gz
+man/man3/SoundCreate.3.gz
+man/man3/SoundOpenFileForReading.3.gz
+man/man3/SoundOpenFileForWriting.3.gz
+man/man3/SoundReadFile.3.gz
+man/man3/SoundRewindFile.3.gz
+man/man3/SoundStringToFileFormat.3.gz
+man/man3/SoundWriteFile.3.gz
+man/man3/Sound.3.gz
+man/man3/SoundFlushFile.3.gz
+man/man3/SoundSeekFile.3.gz
+man/man3/SoundTellFile.3.gz
diff --git a/audio/nas/scripts/configure b/audio/nas/scripts/configure
new file mode 100644
index 00000000000..0f241db67b3
--- /dev/null
+++ b/audio/nas/scripts/configure
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+chmod -R +w ${WRKSRC}
+echo -n "Removing disgusting malloc.h includes. Please wait.."
+for i in `find ${WRKSRC} -name '*.[ch]' | xargs fgrep -l malloc.h`; do
+ sed -e 's/malloc.h/stdlib.h/' < $i > $i.bak && mv $i.bak $i
+done
+echo " Done."
+
+echo -n "Ensuring Install uses the -c flag. Please wait.."
+for i in `find ${WRKSRC} -name 'Imakefile' | xargs fgrep -l INSTALLFLAGS`; do
+ sed -e 's/INSTALLFLAGS = \$(INSTINCFLAGS)/INSTALLFLAGS \+= \$(INSTINCFLAGS)/' < $i > $i.bak && mv $i.bak $i
+done
+echo " Done."
diff --git a/audio/nspmod/Makefile b/audio/nspmod/Makefile
new file mode 100644
index 00000000000..e44aafc44be
--- /dev/null
+++ b/audio/nspmod/Makefile
@@ -0,0 +1,23 @@
+# New ports collection makefile for: nspmod-0.1
+# Version required: 0.1
+# Date created: 1 Jun 1997
+# Whom: jmg
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:47 augustss Exp $
+#
+
+DISTNAME= nspmod-0.1
+CATEGORIES= audio
+MASTER_SITES= http://www.jeton.or.jp/users/toru/www/orgsoft/nspmod/ \
+ ${MASTER_SITE_SUNSITE}
+MASTER_SITE_SUBDIR= apps/sound/players
+
+MAINTAINER= jmg@FreeBSD.ORG
+
+MAN1= nspmod.1
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/nspmod ${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/nspmod.1 ${MANPREFIX}/man/man1
+
+.include <bsd.port.mk>
diff --git a/audio/nspmod/files/md5 b/audio/nspmod/files/md5
new file mode 100644
index 00000000000..1adb758c56e
--- /dev/null
+++ b/audio/nspmod/files/md5
@@ -0,0 +1 @@
+MD5 (nspmod-0.1.tar.gz) = 79c68fe8cb287eca2940458c3917193b
diff --git a/audio/nspmod/patches/patch-aa b/audio/nspmod/patches/patch-aa
new file mode 100644
index 00000000000..27557f1828c
--- /dev/null
+++ b/audio/nspmod/patches/patch-aa
@@ -0,0 +1,245 @@
+*** dacio-linux.c.orig Wed Sep 3 14:57:59 1997
+--- dacio-linux.c Wed Sep 3 14:50:20 1997
+***************
+*** 3,9 ****
+--- 3,13 ----
+ #include <fcntl.h> /*O_WRONLY*/
+ #include <sys/ioctl.h> /*(ioctl)*/
+ #include <unistd.h> /*(write)*/
++ #if defined(LINUX)
+ #include <sys/soundcard.h> /*SNDCTL_XXX*/
++ #else
++ #include <machine/soundcard.h>
++ #endif
+ #include <errno.h> /*EINTR*/
+ #include "defs.h" /*u8,u16*/
+ #include "dacio.h" /*(dacioXXX)*/
+***************
+*** 47,53 ****
+ static struct {
+ union {
+ u8 *p8;
+! u16 *p16;
+ } p;
+ u8 *top;
+ u8 *bot;
+--- 51,57 ----
+ static struct {
+ union {
+ u8 *p8;
+! i15 *p16;
+ } p;
+ u8 *top;
+ u8 *bot;
+***************
+*** 67,77 ****
+ exit(1);
+ }
+ #endif
+! tmp = AFMT_U8;
+ if (ioctl(fd, SNDCTL_DSP_SETFMT, &tmp) < 0) {
+ perror("dacioConf");
+ exit(1);
+ }
+ /*fprintf(stderr, "fmt = 0x%x\n", tmp);*/
+
+ if (ioctl(fd, SNDCTL_DSP_STEREO, &dcp->stereo) < 0) {
+--- 71,109 ----
+ exit(1);
+ }
+ #endif
+! switch (dcp->bits) {
+! case 0:
+! case 8:
+! dcp->bits = 8;
+! tmp = AFMT_U8; break;
+! case 16:
+! tmp = AFMT_S16_LE; break;
+! default:
+! fprintf(stderr, "Don't know how to handle %d bit output.\n", dcp->bits);
+! exit(1);
+! break;
+! }
+!
+ if (ioctl(fd, SNDCTL_DSP_SETFMT, &tmp) < 0) {
+ perror("dacioConf");
+ exit(1);
+ }
++
++ switch (tmp) {
++ case AFMT_U8:
++ if (dcp->bits != 8) {
++ fprintf(stderr, "soundcard doesn't support 8bits.\n");
++ exit(1);
++ }
++ break;
++ case AFMT_S16_LE:
++ if (dcp->bits != 16) {
++ fprintf(stderr, "soundcard doesn't support 16bits.\n");
++ exit(1);
++ }
++ break;
++ }
++
+ /*fprintf(stderr, "fmt = 0x%x\n", tmp);*/
+
+ if (ioctl(fd, SNDCTL_DSP_STEREO, &dcp->stereo) < 0) {
+***************
+*** 90,99 ****
+ perror("dacioConf");
+ exit(1);
+ }
+! /*fprintf(stderr, "buffer size = 0x%x\n", buf.size);*/
+ dci = *dcp;
+ /*if (buf.top != NULL) free(buf.top);*/
+! buf.top = memPerm(buf.size * sizeof(u8));
+ buf.p.p8 = buf.top;
+ buf.bot = buf.top + buf.size;
+ }
+--- 122,136 ----
+ perror("dacioConf");
+ exit(1);
+ }
+! /*fprintf(stderr, "sound buffer size = 0x%x\n", buf.size);*/
+! tmp = buf.size;
+! while (tmp <= (0.1 * (dcp->speed * (dcp->stereo+1) * (dcp->bits/8))))
+! tmp += buf.size;
+! buf.size = tmp;
+! /*fprintf(stderr, "buffer size = 0x%x\n", buf.size);*/
+ dci = *dcp;
+ /*if (buf.top != NULL) free(buf.top);*/
+! buf.top = memPerm(buf.size);
+ buf.p.p8 = buf.top;
+ buf.bot = buf.top + buf.size;
+ }
+***************
+*** 115,121 ****
+ int s;
+
+ if (buf.p.p8 <= buf.top) return;
+! for ( ; buf.p.p8 < buf.bot; buf.p.p8++) *buf.p.p8 = 128;
+ RETRY:
+ s = write(fd, buf.top, buf.size);
+ if (s < buf.size) {
+--- 152,165 ----
+ int s;
+
+ if (buf.p.p8 <= buf.top) return;
+! switch (dci.bits) {
+! case 8:
+! for ( ; buf.p.p8 < buf.bot; buf.p.p8++) *buf.p.p8 = 128;
+! break;
+! case 16:
+! for ( ; buf.p.p8 < buf.bot; buf.p.p16++) *buf.p.p16 = 0;
+! break;
+! }
+ RETRY:
+ s = write(fd, buf.top, buf.size);
+ if (s < buf.size) {
+***************
+*** 179,184 ****
+--- 223,230 ----
+ (tmpvar & ~255)? ~tmpvar >> 16 : tmpvar ) /* 16 will be OK */
+ /* ~(tmpvar >> 16) makes longer asm */
+ #endif
++ #define to16bit(x) \
++ (((x) * gv) >> 12)
+
+ /* stereo */
+ static void
+***************
+*** 186,199 ****
+ {
+ const i31 *inbufp = inbuf.p;
+ u8 *u8p = buf.p.p8;
+
+! for (; n > 0; n--) {
+! i31x tmp;
+! *u8p++ = to8bit(*inbufp++, tmp); /* L */
+! *u8p++ = to8bit(*inbufp++, tmp); /* R */
+ }
+ inbuf.p = inbufp;
+- buf.p.p8 = u8p;
+ }
+
+ /* mono */
+--- 232,257 ----
+ {
+ const i31 *inbufp = inbuf.p;
+ u8 *u8p = buf.p.p8;
++ i15 *s15p = buf.p.p16;
+
+! switch (dci.bits) {
+! case 8:
+! for (; n > 0; n--) {
+! i31x tmp;
+! *u8p++ = to8bit(*inbufp++, tmp); /* L */
+! *u8p++ = to8bit(*inbufp++, tmp); /* R */
+! }
+! buf.p.p8 = u8p;
+! break;
+! case 16:
+! for (; n > 0; n--) {
+! *s15p++ = to16bit(*inbufp++); /* L */
+! *s15p++ = to16bit(*inbufp++); /* R */
+! }
+! buf.p.p16 = s15p;
+! break;
+ }
+ inbuf.p = inbufp;
+ }
+
+ /* mono */
+***************
+*** 202,220 ****
+ {
+ const i31 *inbufp = inbuf.p;
+ u8 *u8p = buf.p.p8;
+
+! for (; n > 0; n--) {
+! i31x tmp;
+! *u8p++ = to8bit(*inbufp, tmp);
+! inbufp += 2;
+ }
+ inbuf.p = inbufp;
+- buf.p.p8 = u8p;
+ }
+
+ #define dacioOutHirev(x) \
+ if (dci.stereo) dacioOutHirevS(x); else dacioOutHirevM(x)
+! #define bufRest() (dci.stereo? (buf.bot - buf.p.p8)/2 : buf.bot - buf.p.p8)
+
+ void
+ dacioOut(void)
+--- 260,290 ----
+ {
+ const i31 *inbufp = inbuf.p;
+ u8 *u8p = buf.p.p8;
++ i15 *s16p = buf.p.p16;
+
+! switch (dci.bits) {
+! case 8:
+! for (; n > 0; n--) {
+! i31x tmp;
+! *u8p++ = to8bit(*inbufp, tmp);
+! inbufp += 2;
+! }
+! buf.p.p8 = u8p;
+! break;
+! case 16:
+! for (; n > 0; n--) {
+! *s16p++ = to16bit(*inbufp);
+! inbufp += 2;
+! }
+! buf.p.p16 = s16p;
+! break;
+ }
+ inbuf.p = inbufp;
+ }
+
+ #define dacioOutHirev(x) \
+ if (dci.stereo) dacioOutHirevS(x); else dacioOutHirevM(x)
+! #define bufRest() ((dci.stereo? (buf.bot - buf.p.p8)/2 : buf.bot - buf.p.p8)/(dci.bits/8))
+
+ void
+ dacioOut(void)
diff --git a/audio/nspmod/patches/patch-ab b/audio/nspmod/patches/patch-ab
new file mode 100644
index 00000000000..07273f38949
--- /dev/null
+++ b/audio/nspmod/patches/patch-ab
@@ -0,0 +1,21 @@
+*** Makefile.orig Sun Sep 17 06:18:20 1995
+--- Makefile Tue Jun 3 02:48:46 1997
+***************
+*** 25,32 ****
+
+ #}
+
+! CFLAGS = $(CFLAGS_OS) $(CFLAGS_OPT) $(CFLAGS_EXT)
+! CFLAGS_HIOPT_ = $(CFLAGS_OS) $(CFLAGS_HIOPT) $(CFLAGS_EXT)
+ LDFLAGS = $(LDFLAGS_OS) $(LDFLAGS_EXT)
+ LIBS = $(LIBS_EXT) $(LIBS_OS)
+
+--- 25,32 ----
+
+ #}
+
+! #CFLAGS = $(CFLAGS_OS) $(CFLAGS_OPT) $(CFLAGS_EXT)
+! CFLAGS_HIOPT_ = $(CFLAGS) $(CFLAGS_HIOPT)
+ LDFLAGS = $(LDFLAGS_OS) $(LDFLAGS_EXT)
+ LIBS = $(LIBS_EXT) $(LIBS_OS)
+
diff --git a/audio/nspmod/patches/patch-ac b/audio/nspmod/patches/patch-ac
new file mode 100644
index 00000000000..e031445d0fd
--- /dev/null
+++ b/audio/nspmod/patches/patch-ac
@@ -0,0 +1,50 @@
+*** nspmod.c.orig Wed Sep 3 14:58:19 1997
+--- nspmod.c Wed Sep 3 14:55:06 1997
+***************
+*** 1,4 ****
+--- 1,5 ----
+ #include <stdio.h> /*(perror)*/
++ #include <sys/types.h>
+ #include <sys/mman.h> /*PROT_READ,MAP_xxx*/
+ #include <fcntl.h> /*O_RDONLY*/
+ #include <sys/stat.h> /*stat*/
+***************
+*** 35,40 ****
+--- 36,42 ----
+ printf("NSPmod version " LIT(VERSION_MAJOR) "." LIT(VERSION_MINOR) "\n");
+ printf("Usage: %s [options] modfile\n", argv0);
+ printf("Options:\n");
++ printf(" -b # number of bits to output (8 or 16)\n");
+ printf(" -c # play only the channel\n");
+ printf(" -e show events\n");
+ printf(" -f # output sample rate\n");
+***************
+*** 62,69 ****
+ oi.outRate = DEF_OUTRATE;
+ oi.ovsFreq = -1;
+ /*oi.repLimit = 1;*/
+! while ((optChar = getopt(argc, argv, "c:ef:il:mo:rs:v:")) > 0) {
+ switch (optChar) {
+ case 'c': oi.onlyCh = (i15x)strtol(optarg, NULL, 0) | 0x100; break;
+ case 'e': oi.showEvents++; break;
+ case 'f': oi.outRate = (u16x)strtol(optarg, NULL, 0); break;
+--- 64,72 ----
+ oi.outRate = DEF_OUTRATE;
+ oi.ovsFreq = -1;
+ /*oi.repLimit = 1;*/
+! while ((optChar = getopt(argc, argv, "b:c:ef:il:mo:rs:v:")) > 0) {
+ switch (optChar) {
++ case 'b': oi.bits = (i15x)strtol(optarg, NULL, 0); break;
+ case 'c': oi.onlyCh = (i15x)strtol(optarg, NULL, 0) | 0x100; break;
+ case 'e': oi.showEvents++; break;
+ case 'f': oi.outRate = (u16x)strtol(optarg, NULL, 0); break;
+***************
+*** 116,121 ****
+--- 119,125 ----
+
+ lookOverFile(p, statbuf.st_size);
+ dacioInit();
++ dci.bits = oi.bits;
+ dci.speed = oi.outRate;
+ dci.stereo = !oi.mono;
+ dacioConf(&dci);
diff --git a/audio/nspmod/patches/patch-ad b/audio/nspmod/patches/patch-ad
new file mode 100644
index 00000000000..eaf68819e35
--- /dev/null
+++ b/audio/nspmod/patches/patch-ad
@@ -0,0 +1,12 @@
+*** dacio.h.orig Wed Sep 3 14:58:39 1997
+--- dacio.h Wed Sep 3 13:49:32 1997
+***************
+*** 3,8 ****
+--- 3,9 ----
+ #endif
+
+ typedef struct {
++ int bits;
+ int speed;
+ int stereo;
+ } DacioConfInfo;
diff --git a/audio/nspmod/patches/patch-ae b/audio/nspmod/patches/patch-ae
new file mode 100644
index 00000000000..687f69484bf
--- /dev/null
+++ b/audio/nspmod/patches/patch-ae
@@ -0,0 +1,12 @@
+*** nspmod.h.orig Wed Sep 3 14:58:53 1997
+--- nspmod.h Wed Sep 3 13:47:40 1997
+***************
+*** 3,8 ****
+--- 3,9 ----
+ #endif
+
+ typedef struct {
++ i15x bits; /* -b # */
+ i15x onlyCh; /* -c # */
+ i15x showEvents; /* -e, -ee */
+ u16x outRate; /* -f # */
diff --git a/audio/nspmod/pkg/COMMENT b/audio/nspmod/pkg/COMMENT
new file mode 100644
index 00000000000..e3333c706cd
--- /dev/null
+++ b/audio/nspmod/pkg/COMMENT
@@ -0,0 +1 @@
+MOD/S3M/MTM tracker that does it's own DSP, uses VoxWare v2.90+
diff --git a/audio/nspmod/pkg/DESCR b/audio/nspmod/pkg/DESCR
new file mode 100644
index 00000000000..68a08b0e93f
--- /dev/null
+++ b/audio/nspmod/pkg/DESCR
@@ -0,0 +1,10 @@
+NSPmod is a MOD (Protracker module and some of its extensions) / S3M
+(Scream Tracker 3 module) / MTM (Multitracker module) music player.
+This program uses a technology called No Signal Processor (NSP), which
+enables your PC play MODs without DSP such as Gravis UltraSound (GUS)
+GF1.
+
+This program requires VoxWare v2.90 compatible 8bit DAC device.
+
+I, John-Mark Gurney, have added support for output in 16bits. The
+volume level is slightly less than the 8bit version though.
diff --git a/audio/nspmod/pkg/PLIST b/audio/nspmod/pkg/PLIST
new file mode 100644
index 00000000000..2ecf6b13608
--- /dev/null
+++ b/audio/nspmod/pkg/PLIST
@@ -0,0 +1,2 @@
+bin/nspmod
+man/man1/nspmod.1.gz
diff --git a/audio/pkg/COMMENT b/audio/pkg/COMMENT
new file mode 100644
index 00000000000..05f138b7ff4
--- /dev/null
+++ b/audio/pkg/COMMENT
@@ -0,0 +1 @@
+Audio tools.
diff --git a/audio/rplay/Makefile b/audio/rplay/Makefile
new file mode 100644
index 00000000000..ad2429e32d7
--- /dev/null
+++ b/audio/rplay/Makefile
@@ -0,0 +1,33 @@
+# New ports collection makefile for: rplay - Network audio player
+# Version required: 3.2.0b6
+# Date created: 16 March 1995
+# Whom: rmallory@csusb.edu
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:55 augustss Exp $
+#
+
+DISTNAME= rplay-3.2.0b6
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.sdsu.edu/pub/rplay/
+
+MAINTAINER= rmallory@csusb.edu
+
+LIB_DEPENDS= gsm\\.1\\.0:${PORTSDIR}/audio/gsm
+
+HAS_CONFIGURE= yes
+USE_GMAKE= yes
+MAN1= rplay.1 xrplay.1 rplayd.1 rptp.1
+MAN5= rplay.conf.5 rplay.hosts.5 rplay.servers.5
+
+post-install:
+ @if [ ! -f ${PREFIX}/etc/rc.d/rplayd.sh ]; then \
+ echo "Installing ${PREFIX}/etc/rc.d/rplayd.sh startup file."; \
+ echo "#!/bin/sh" > ${PREFIX}/etc/rc.d/rplayd.sh; \
+ echo "[ -x /usr/local/sbin/rplayd ] && ( /usr/local/sbin/rplayd & ) && echo -n ' rplayd'" >> ${PREFIX}/etc/rc.d/rplayd.sh; \
+ chmod 751 ${PREFIX}/etc/rc.d/rplayd.sh; \
+ fi
+ @if [ ! -f ${PREFIX}/etc/rplay.hosts ]; then \
+ echo localhost > ${PREFIX}/etc/rplay.hosts; \
+ fi
+
+.include <bsd.port.mk>
diff --git a/audio/rplay/files/md5 b/audio/rplay/files/md5
new file mode 100644
index 00000000000..ffa04ed9101
--- /dev/null
+++ b/audio/rplay/files/md5
@@ -0,0 +1 @@
+MD5 (rplay-3.2.0b6.tar.gz) = d8346e6f132193d076341de0d9fa35ca
diff --git a/audio/rplay/patches/patch-aa b/audio/rplay/patches/patch-aa
new file mode 100644
index 00000000000..c3872a58bba
--- /dev/null
+++ b/audio/rplay/patches/patch-aa
@@ -0,0 +1,23 @@
+*** configure.bak Fri Feb 2 03:30:38 1996
+--- configure Fri Jun 13 19:14:52 1997
+***************
+*** 2589,2597 ****
+
+
+ if test "$no_x" = "yes" -o "$HAVE_FORMS" = "no"; then
+! BUILD_TARGETS="include lib adpcm gsm librplay rplayd rplay rptp doc"
+ else
+! BUILD_TARGETS="include lib adpcm gsm librplay rplayd rplay rptp xrplay doc"
+ fi
+
+
+--- 2589,2597 ----
+
+
+ if test "$no_x" = "yes" -o "$HAVE_FORMS" = "no"; then
+! BUILD_TARGETS="include lib adpcm librplay rplayd rplay rptp doc"
+ else
+! BUILD_TARGETS="include lib adpcm librplay rplayd rplay rptp xrplay doc"
+ fi
+
+
diff --git a/audio/rplay/patches/patch-ab b/audio/rplay/patches/patch-ab
new file mode 100644
index 00000000000..8770cd19979
--- /dev/null
+++ b/audio/rplay/patches/patch-ab
@@ -0,0 +1,39 @@
+*** rplayd/Makefile.in.orig Fri Feb 2 03:13:57 1996
+--- rplayd/Makefile.in Fri Jun 13 19:31:38 1997
+***************
+*** 1,4 ****
+--- 1,5 ----
+ include @RPLAY_TOP@/Makefile.config
++ bindir= $(exec_prefix)/sbin
+
+ srcdir = @srcdir@
+ VPATH = @srcdir@
+***************
+*** 9,21 ****
+ MKINSTALLDIRS= @srcdir@/../mkinstalldirs
+
+ CPPFLAGS= $(CC_OPTIONS) -I. -I../include -I@srcdir@ -I@srcdir@/../include -I@srcdir@/../lib \
+! -I@srcdir@/../adpcm -I@srcdir@/../gsm @DEFS@
+
+ .c.o:
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
+
+ LDFLAGS= $(LD_OPTIONS) -L../librplay -lrplay -L../lib -lrp \
+! -L../adpcm -ladpcm -L../gsm -lgsm @LDFLAGS@ @LIBS@ -lm
+
+ TARGET= rplayd
+
+--- 10,22 ----
+ MKINSTALLDIRS= @srcdir@/../mkinstalldirs
+
+ CPPFLAGS= $(CC_OPTIONS) -I. -I../include -I@srcdir@ -I@srcdir@/../include -I@srcdir@/../lib \
+! -I@srcdir@/../adpcm -I/usr/local/include @DEFS@
+
+ .c.o:
+ $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
+
+ LDFLAGS= $(LD_OPTIONS) -L../librplay -lrplay -L../lib -lrp \
+! -L../adpcm -ladpcm -L/usr/local/lib -lgsm @LDFLAGS@ @LIBS@ -lm
+
+ TARGET= rplayd
+
diff --git a/audio/rplay/pkg/COMMENT b/audio/rplay/pkg/COMMENT
new file mode 100644
index 00000000000..3088ba9eddd
--- /dev/null
+++ b/audio/rplay/pkg/COMMENT
@@ -0,0 +1 @@
+Network audio player.
diff --git a/audio/rplay/pkg/DESCR b/audio/rplay/pkg/DESCR
new file mode 100644
index 00000000000..823d04938a9
--- /dev/null
+++ b/audio/rplay/pkg/DESCR
@@ -0,0 +1,33 @@
+rplay is a flexible network audio system that allows sounds to be played to
+and from local and remote systems. The rplay audio server currently
+supports SunOS 4.1.X, Solaris 2.X, Linux, SGI IRIX 4 & 5, HP9000/705,
+HP9000/710 and now FreeBSD. The rplay clients and client library should
+work on any system that supports Berkeley sockets. X Windows is not required.
+
+Version 3.2.0beta
+-------------------
+
+* Supported systems include SunOS 4.1.X, Solaris 2.x, FreeBSD, Linux,
+ SGI IRIX 4 and IRIX 5, and HP9000/710.
+
+* 8-bit & 16-bit audio input and output.
+
+* All audio sample rates.
+
+* .au, .snd, .aiff, .wav, .voc, .ub, .ul, G.721 4-bit, G.723 3-bit, and
+ G.723 5-bit audio files.
+
+* Stereo input and output. (2 channels)
+
+* Sounds can be played at any sample rate.
+
+* Compile rplayd with -DTEST_FLANGE for some fun.
+
+* Flexible audio configuration using the following long-named options:
+ --audio-device, --audio-bufsize, --audio-bits, --audio-channels,
+ --audio-close, --audio-flush, --audio-format, --audio-match, --audio-port,
+ --audio-rate, --audio-sample-rate, and no-audio.
+ (See `rplayd --help' for more details)
+
+* HTML documentation.
+
diff --git a/audio/rplay/pkg/PLIST b/audio/rplay/pkg/PLIST
new file mode 100644
index 00000000000..fc8d4d0fbd3
--- /dev/null
+++ b/audio/rplay/pkg/PLIST
@@ -0,0 +1,20 @@
+etc/rc.d/rplayd.sh
+etc/rplay.hosts
+bin/rplay
+bin/rptp
+@comment requires XForms
+@comment bin/xrplay
+sbin/rplayd
+include/rplay.h
+lib/librplay.a
+info/librplay.info
+info/rplay.info
+info/RPLAY.info
+info/RPTP.info
+man/man1/rplay.1.gz
+man/man1/rplayd.1.gz
+man/man1/xrplay.1.gz
+man/man1/rptp.1.gz
+man/man5/rplay.conf.5.gz
+man/man5/rplay.hosts.5.gz
+man/man5/rplay.servers.5.gz
diff --git a/audio/rplay/scripts/configure b/audio/rplay/scripts/configure
new file mode 100644
index 00000000000..64302655359
--- /dev/null
+++ b/audio/rplay/scripts/configure
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+chmod -R +w ${WRKSRC}
+echo -n "Removing disgusting malloc.h includes. Please wait.."
+for i in `find ${WRKSRC} -name '*.[ch]' | xargs fgrep -l malloc.h`; do
+ sed -e 's/malloc.h/stdlib.h/' < $i > $i.bak && mv $i.bak $i
+done
+echo " Done."
diff --git a/audio/rsynth/Makefile b/audio/rsynth/Makefile
new file mode 100644
index 00000000000..8006a6c74e8
--- /dev/null
+++ b/audio/rsynth/Makefile
@@ -0,0 +1,26 @@
+# New ports collection makefile for: rsynth
+# Version required: 2.0
+# Date created: 03 Jan 1995
+# Whom: faulkner@mpd.tandem.com
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:18:58 augustss Exp $
+#
+
+DISTNAME= rsynth-2.0
+CATEGORIES= audio
+MASTER_SITES= ftp://svr-ftp.eng.cam.ac.uk/pub/comp.speech/synthesis/
+
+MAINTAINER= faulkner@mpd.tandem.com
+
+BUILD_DEPENDS= ${PREFIX}/lib/libgdbm.a:${PORTSDIR}/databases/gdbm
+EXEC_DEPENDS= auvoxware:${PORTSDIR}/audio/nas
+
+GNU_CONFIGURE= YES
+
+pre-configure:
+ @${CP} ${FILESDIR}/freebsdplay.c ${WRKSRC}/config/freebsdplay.c
+ @${CP} ${FILESDIR}/config.guess ${WRKSRC}/config.guess
+ @${CP} ${FILESDIR}/config.sub ${WRKSRC}/config.sub
+ @${CP} ${FILESDIR}/configure ${WRKSRC}/configure
+
+.include <bsd.port.mk>
diff --git a/audio/rsynth/files/config.guess b/audio/rsynth/files/config.guess
new file mode 100644
index 00000000000..a3d6a9f1bfd
--- /dev/null
+++ b/audio/rsynth/files/config.guess
@@ -0,0 +1,497 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+#
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Written by Per Bothner <bothner@cygnus.com>.
+# The master version of this file is at the FSF in /home/gd/gnu/lib.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit system type (host/target name).
+#
+# Only a few systems have been added to this list; please add others
+# (but try to keep the structure clean).
+#
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 8/24/94.)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ alpha:OSF1:V*:*)
+ # After 1.2, OSF1 uses "V1.3" for uname -r.
+ echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^V//'`
+ exit 0 ;;
+ alpha:OSF1:*:*)
+ # 1.2 uses "1.2" for uname -r.
+ echo alpha-dec-osf${UNAME_RELEASE}
+ exit 0 ;;
+ amiga:NetBSD:*:*)
+ echo m68k-cbm-netbsd${UNAME_RELEASE}
+ exit 0 ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit 0;;
+ Pyramid*:OSx*:*:*)
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit 0 ;;
+ sun4*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit 0 ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit 0 ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ mips:*:5*:RISCos)
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit 0 ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit 0 ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit 0 ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ AViiON:dgux:*:*)
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
+ -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit 0 ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit 0 ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit 0 ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit 0 ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i[34]86:AIX:*:*)
+ echo i386-ibm-aix
+ exit 0 ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ sed 's/^ //' << EOF >dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
+ rm -f dummy.c dummy
+ echo rs6000-ibm-aix3.2.5
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit 0 ;;
+ *:AIX:*:4)
+ if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if grep bos410 /usr/include/stdio.h >/dev/null 2>&1; then
+ IBM_REV=4.1
+ elif grep bos411 /usr/include/stdio.h >/dev/null 2>&1; then
+ IBM_REV=4.1.1
+ else
+ IBM_REV=4.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit 0 ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit 0 ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit 0 ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit 0 ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit 0 ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit 0 ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit 0 ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit 0 ;;
+ 9000/[3478]??:HP-UX:*:*)
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/7?? | 9000/8?7 ) HP_ARCH=hppa1.1 ;;
+ 9000/8?? ) HP_ARCH=hppa1.0 ;;
+ esac
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit 0 ;;
+ 3050*:HI-UX:*:*)
+ sed 's/^ //' << EOF >dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ ${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
+ rm -f dummy.c dummy
+ echo unknown-hitachi-hiuxwe2
+ exit 0 ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?7:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit 0 ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit 0 ;;
+ hp7??:OSF1:*:* | hp8?7:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit 0 ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit 0 ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ CRAY*X-MP:UNICOS:*:*)
+ echo xmp-cray-unicos
+ exit 0 ;;
+ CRAY*Y-MP:UNICOS:*:*)
+ echo ymp-cray-unicos
+ exit 0 ;;
+ CRAY-2:UNICOS:*:*)
+ echo cray2-cray-unicos
+ exit 0 ;;
+ hp3[0-9][05]:NetBSD:*:*)
+ echo m68k-hp-netbsd${UNAME_RELEASE}
+ exit 0 ;;
+ i[34]86:BSD/386:*:* | *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ *:FreeBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit 0 ;;
+ *:NetBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ exit 0 ;;
+ *:GNU:*:*)
+ echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit 0 ;;
+ *:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux
+ exit 0 ;;
+# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions
+# are messed up and put the nodename in both sysname and nodename.
+ i[34]86:DYNIX/ptx:4*:*)
+ echo i386-sequent-sysv4
+ exit 0 ;;
+ i[34]86:*:4.*:* | i[34]86:SYSTEM_V:4.*:*)
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
+ else
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ i[34]86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-unknown-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
+ echo ${UNAME_MACHINE}-unknown-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-unknown-sysv32
+ fi
+ exit 0 ;;
+ Intel:Mach:3*:*)
+ echo i386-unknown-mach3
+ exit 0 ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit 0 ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit 0 ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit 0 ;;
+ M680[234]0:*:R3V[567]*:*)
+ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+ 3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0)
+ uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4.3 && exit 0 ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4 && exit 0 ;;
+ m680[234]0:LynxOS:2.2*:*)
+ echo m68k-lynx-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit 0 ;;
+ i[34]86:LynxOS:2.2*:*)
+ echo i386-lynx-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ TSUNAMI:LynxOS:2.2*:*)
+ echo sparc-lynx-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ rs6000:LynxOS:2.2*:*)
+ echo rs6000-lynx-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+cat >dummy.c <<EOF
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ printf ("%s-next-nextstep%s\n", __ARCHITECTURE__, version==2 ? "2" : "3");
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-unknown-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ printf ("i386-sequent-ptx\n"); exit (0);
+#endif
+
+#if defined (vax)
+#if !defined (ultrix)
+ printf ("vax-dec-bsd\n"); exit (0);
+#else
+ printf ("vax-dec-ultrix\n"); exit (0);
+#endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
+rm -f dummy.c dummy
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ c34*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ c38*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ c4*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ esac
+fi
+
+#echo '(Unable to guess system type)' 1>&2
+
+exit 1
diff --git a/audio/rsynth/files/config.sub b/audio/rsynth/files/config.sub
new file mode 100644
index 00000000000..5641cc1ce67
--- /dev/null
+++ b/audio/rsynth/files/config.sub
@@ -0,0 +1,833 @@
+#! /bin/sh
+# Configuration validation subroutine script, version 1.1.
+# Copyright (C) 1991, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+if [ x$1 = x ]
+then
+ echo Configuration name missing. 1>&2
+ echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
+ echo "or $0 ALIAS" 1>&2
+ echo where ALIAS is a recognized configuration type. 1>&2
+ exit 1
+fi
+
+# First pass through any local machine types.
+case $1 in
+ *local*)
+ echo $1
+ exit 0
+ ;;
+ *)
+ ;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS (if any).
+basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+if [ $basic_machine != $1 ]
+then os=`echo $1 | sed 's/.*-/-/'`
+else os=; fi
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp )
+ os=
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-unknown/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm | pyramid \
+ | tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
+ | alpha | we32k | ns16k | clipper | sparclite | i370 | sh \
+ | powerpc | sparc64 | 1750a | dsp16xx | mips64 | mipsel \
+ | pdp11 | mips64el | mips64orion | mips64orionel \
+ | sparc)
+ basic_machine=$basic_machine-unknown
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \
+ | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
+ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
+ | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
+ | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
+ | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
+ | pdp11-* | sh-* | powerpc-* | sparc64-* | mips64-* | mipsel-* \
+ | mips64el-* | mips64orion-* | mips64orionel-*)
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-cbm
+ ;;
+ amigados)
+ basic_machine=m68k-cbm
+ os=-amigados
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-cbm
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ cray2)
+ basic_machine=cray2-cray
+ os=-unicos
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i[345]86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-sysv32
+ ;;
+ i[345]86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-sysv4
+ ;;
+ i[345]86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-sysv
+ ;;
+ i[345]86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
+ os=-solaris2
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pentium-*)
+ # We will change tis to say i586 once there has been
+ # time for various packages to start to recognize that.
+ basic_machine=i486-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ xmp)
+ basic_machine=xmp-cray
+ os=-unicos
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ mips)
+ basic_machine=mips-mips
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sparc)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -unixware* | svr4*)
+ os=-sysv4
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative must end in a *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[345]* \
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -amigados* | -msdos* | -newsos* | -unicos* | -aos* \
+ | -nindy* | -vxworks* | -ebmon* | -hms* | -mvs* | -clix* \
+ | -riscos* | -linux* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -netbsd* | -freebsd* | -riscix* \
+ | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta | -udi | -eabi)
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigados
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -lynxos*)
+ vendor=lynx
+ ;;
+ -aix*)
+ vendor=ibm
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -vxworks*)
+ vendor=wrs
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
diff --git a/audio/rsynth/files/configure b/audio/rsynth/files/configure
new file mode 100644
index 00000000000..ae5e11cfeb0
--- /dev/null
+++ b/audio/rsynth/files/configure
@@ -0,0 +1,2455 @@
+#! /bin/sh
+
+# From configure.in Revision: 1.4
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.3
+# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --with-gdbm[=<path>] Uninstalled GNU gdbm source directory"
+ac_help="$ac_help
+ --with-aDict[=<path>] American Dictionary"
+ac_help="$ac_help
+ --with-bDict[=<path>] British Dictionary"
+ac_help="$ac_help
+ --with-x use the X Window System"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Initialize some other variables.
+subdirs=
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -build | --build | --buil | --bui | --bu | --b)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=PREFIX install architecture-dependent files in PREFIX
+ [same as prefix]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+--enable and --with options recognized:$ac_help
+EOF
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.3"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=say.c
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
+ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'
+
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Make sure we can run config.sub.
+if $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`$ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`$ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PROGS="say"
+hplay=dummy
+dbm=none
+make_dist=/dev/null
+
+
+if test -z "$CC" && test -n "$GCC" ; then
+CC=$GCC
+fi
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ if test "${CFLAGS+set}" != set; then
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gcc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_gcc_g=yes
+else
+ ac_cv_prog_gcc_g=no
+fi
+rm -f conftest*
+
+fi
+ echo "$ac_t""$ac_cv_prog_gcc_g" 1>&6
+ if test $ac_cv_prog_gcc_g = yes; then
+ CFLAGS="-g -O"
+ else
+ CFLAGS="-O"
+ fi
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+if test "$GCC" != yes; then
+CFLAGS="-O"
+fi
+
+echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
+if test -d /etc/conf/kconfig.d &&
+ grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
+then
+ echo "$ac_t""yes" 1>&6
+ ISC=yes # If later tests want to check for ISC.
+ cat >> confdefs.h <<\EOF
+#define _POSIX_SOURCE 1
+EOF
+
+ if test "$GCC" = yes; then
+ CC="$CC -posix"
+ else
+ CC="$CC -Xp"
+ fi
+else
+ echo "$ac_t""no" 1>&6
+ ISC=
+fi
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+set dummy ${MAKE-make}; ac_make=$2
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ for ac_prog in ginstall installbsd scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ # OSF/1 installbsd also uses dspmsg, but is usable.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_ifs"
+ # As a last resort, use the slow shell script.
+ test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh"
+fi
+ INSTALL="$ac_cv_path_install"
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ # This must be in double quotes, not single quotes, because CPP may get
+ # substituted into the Makefile and "${CC-cc}" will confuse make.
+ CPP="${CC-cc} -E"
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+#line 661 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+#line 675 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+ ac_cv_prog_CPP="$CPP"
+fi
+fi
+CPP="$ac_cv_prog_CPP"
+echo "$ac_t""$CPP" 1>&6
+
+# If we cannot run a trivial program, we must be cross compiling.
+echo $ac_n "checking whether cross-compiling""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_c_cross'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_c_cross=yes
+else
+cat > conftest.$ac_ext <<EOF
+#line 707 "configure"
+#include "confdefs.h"
+main(){return(0);}
+EOF
+eval $ac_link
+if test -s conftest && (./conftest; exit) 2>/dev/null; then
+ ac_cv_c_cross=no
+else
+ ac_cv_c_cross=yes
+fi
+fi
+rm -fr conftest*
+fi
+cross_compiling=$ac_cv_c_cross
+echo "$ac_t""$ac_cv_c_cross" 1>&6
+
+echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 728 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ ac_cv_header_stdc=yes
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+cat > conftest.$ac_ext <<EOF
+#line 750 "configure"
+#include "confdefs.h"
+#include <string.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "memchr" >/dev/null 2>&1; then
+ :
+else
+ rm -rf conftest*
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+cat > conftest.$ac_ext <<EOF
+#line 768 "configure"
+#include "confdefs.h"
+#include <stdlib.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "free" >/dev/null 2>&1; then
+ :
+else
+ rm -rf conftest*
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+if test "$cross_compiling" = yes; then
+ ac_cv_header_stdc=no
+else
+cat > conftest.$ac_ext <<EOF
+#line 789 "configure"
+#include "confdefs.h"
+#include <ctype.h>
+#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int main () { int i; for (i = 0; i < 256; i++)
+if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
+exit (0); }
+
+EOF
+eval $ac_link
+if test -s conftest && (./conftest; exit) 2>/dev/null; then
+ :
+else
+ ac_cv_header_stdc=no
+fi
+fi
+rm -fr conftest*
+fi
+fi
+echo "$ac_t""$ac_cv_header_stdc" 1>&6
+if test $ac_cv_header_stdc = yes; then
+ cat >> confdefs.h <<\EOF
+#define STDC_HEADERS 1
+EOF
+
+fi
+
+for ac_hdr in fcntl.h limits.h sys/types.h sys/file.h sys/ioctl.h sys/time.h unistd.h
+do
+ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 826 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+if test "$ac_cv_header_stdc" != yes; then
+for ac_func in strchr memcpy
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 862 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+char $ac_func();
+
+int main() { return 0; }
+int t() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+
+fi
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in memory.h malloc.h
+do
+ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 914 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+fi
+
+case "$host" in
+*-sun-*) hplay=sun; for ac_hdr in sys/ioccom.h sys/audioio.h sun/audioio.h
+do
+ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 953 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+;;
+*-sgi-*) hplay=sgi ;;
+*-next-*) hplay=NeXT; for ac_hdr in libc.h
+do
+ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 990 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+ ;;
+*-*-linux*) hplay=linux ;;
+*-*-freebsd*) hplay=freebsd ;;
+*-*-hpux*) hplay=hpux ;;
+*-*-*) echo "Unknown host type $host" ;;
+esac
+
+echo $ac_n "checking for working const""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1029 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+
+/* Ultrix mips cc rejects this. */
+typedef int charset[2]; const charset x;
+/* SunOS 4.1.1 cc rejects this. */
+char const *const *ccp;
+char **p;
+/* NEC SVR4.0.2 mips cc rejects this. */
+struct point {int x, y;};
+static struct point const zero;
+/* AIX XL C 1.02.0.0 rejects this.
+ It does not let you subtract one const X* pointer from another in an arm
+ of an if-expression whose if-part is not a constant expression */
+const char *g = "string";
+ccp = &g + (g ? g-g : 0);
+/* HPUX 7.0 cc rejects these. */
+++ccp;
+p = (char**) ccp;
+ccp = (char const *const *) p;
+{ /* SCO 3.2v4 cc rejects this. */
+ char *t;
+ char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+ *t++ = 0;
+}
+{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
+ int x[] = {25, 17};
+ const int *foo = &x[0];
+ ++foo;
+}
+{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+ typedef const int *iptr;
+ iptr p = 0;
+ ++p;
+}
+{ /* AIX XL C 1.02.0.0 rejects this saying
+ "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
+}
+{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+ const int foo = 10;
+}
+
+; return 0; }
+EOF
+if eval $ac_compile; then
+ rm -rf conftest*
+ ac_cv_c_const=yes
+else
+ rm -rf conftest*
+ ac_cv_c_const=no
+fi
+rm -f conftest*
+
+fi
+echo "$ac_t""$ac_cv_c_const" 1>&6
+if test $ac_cv_c_const = no; then
+ cat >> confdefs.h <<\EOF
+#define const
+EOF
+
+fi
+
+echo $ac_n "checking for off_t""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1102 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#if STDC_HEADERS
+#include <stdlib.h>
+#endif
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "off_t" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_type_off_t=yes
+else
+ rm -rf conftest*
+ ac_cv_type_off_t=no
+fi
+rm -f conftest*
+
+fi
+echo "$ac_t""$ac_cv_type_off_t" 1>&6
+if test $ac_cv_type_off_t = no; then
+ cat >> confdefs.h <<\EOF
+#define off_t long
+EOF
+
+fi
+
+
+echo $ac_n "checking if we can use float in prototypes""... $ac_c" 1>&6
+cat > conftest.$ac_ext <<EOF
+#line 1131 "configure"
+#include "confdefs.h"
+#include "$srcdir/proto.h"
+int main() { return 0; }
+int t() {
+
+} int func PROTO((float a));
+int func(a) float a; {
+; return 0; }
+EOF
+if eval $ac_compile; then
+ rm -rf conftest*
+ echo "$ac_t""yes" 1>&6
+else
+ rm -rf conftest*
+
+cat >> confdefs.h <<\EOF
+#define NOPROTOFLOAT 1
+EOF
+
+echo "$ac_t""no" 1>&6
+
+fi
+rm -f conftest*
+
+
+if test -d $prefix/include; then
+ CPPFLAGS="$CPPFLAGS -I$prefix/include"
+fi
+
+if test -d $prefix/lib; then
+ LIBS="-L$prefix/lib $LIBS"
+fi
+
+# Check whether --with-gdbm or --without-gdbm was given.
+withval="$with_gdbm"
+if test -n "$withval"; then
+
+if test "$withval" != "" && test -d "$withval" ; then
+ CPPFLAGS="-I$withval $CPPFLAGS"
+ LIBS="-L$withval $LIBS"
+else
+ echo "--with-gdbm=$withval"
+fi
+fi
+
+
+# Check whether --with-aDict or --without-aDict was given.
+withval="$with_aDict"
+if test -n "$withval"; then
+
+if test "$withval" != "" && test -r "$withval" ; then
+ ADICT="$withval"
+ DICTS="$DICTS aDict.db"
+else
+ echo "Cannot read $withval"
+fi
+fi
+
+
+# Check whether --with-bDict or --without-bDict was given.
+withval="$with_bDict"
+if test -n "$withval"; then
+
+if test "$withval" != "" && test -r "$withval" ; then
+ BDICT="$withval"
+ DICTS="$DICTS bDict.db"
+else
+ echo "Cannot read $withval"
+fi
+fi
+
+
+CPPFLAGS="-I. -I$srcdir $CPPFLAGS"
+
+echo $ac_n "checking for -lgdbm""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_gdbm'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lgdbm $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1213 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+gdbm_open()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_gdbm=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_gdbm=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'gdbm`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo gdbm | tr '[a-z]' '[A-Z]'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lgdbm $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test "$ac_cv_lib_gdbm" = yes; then
+PROGS="$PROGS mkdictdb dlookup"
+else
+DICTS=""
+fi
+
+if test "$hplay" = sgi; then
+echo $ac_n "checking for -laudio""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_audio'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-laudio $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1259 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+ALopenport()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_audio=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_audio=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'audio`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo audio | tr '[a-z]' '[A-Z]'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-laudio $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+fi
+
+echo $ac_n "checking for -lM""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_M'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lM $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1300 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+atan()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_M=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_M=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'M`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo M | tr '[a-z]' '[A-Z]'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lM $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+echo $ac_n "checking for -lm""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_m'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lm $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1339 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+atan()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_m=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_m=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'m`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_lib=HAVE_LIB`echo m | tr '[a-z]' '[A-Z]'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_lib 1
+EOF
+
+ LIBS="-lm $LIBS"
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+# If we find X, set shell vars x_includes and x_libraries to the
+# paths, otherwise set no_x=yes.
+# Uses ac_ vars as temps to allow command line to override cache and checks.
+# --without-x overrides everything else, but does not touch the cache.
+echo $ac_n "checking for X""... $ac_c" 1>&6
+
+# Check whether --with-x or --without-x was given.
+withval="$with_x"
+if test -n "$withval"; then
+ :
+fi
+
+if test "x$with_x" = xno; then
+ no_x=yes
+else
+ if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
+ no_x=
+ else
+if eval "test \"`echo '$''{'ac_cv_path_x'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ # One or both of the vars are not set, and there is no cached value.
+no_x=yes
+rm -fr conftestdir
+if mkdir conftestdir; then
+ cd conftestdir
+ # Make sure to not put "make" in the Imakefile rules, since we grep it out.
+ cat > Imakefile <<'EOF'
+acfindx:
+ @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
+EOF
+ if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+ no_x=
+ # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+ eval `make acfindx 2>/dev/null | grep -v make`
+ # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+ if test ! -f $ac_im_usrlibdir/libX11.a && test -f $ac_im_libdir/libX11.a
+ then
+ ac_im_usrlibdir=$ac_im_libdir
+ fi
+ # Screen out bogus values from the imake configuration.
+ case "$ac_im_incroot" in
+ /usr/include) ;;
+ *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;;
+ esac
+ case "$ac_im_usrlibdir" in
+ /usr/lib | /lib) ;;
+ *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;;
+ esac
+ fi
+ cd ..
+ rm -fr conftestdir
+fi
+
+if test "$no_x" = yes; then
+test -z "$x_direct_test_library" && x_direct_test_library=Xt
+test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc
+test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h
+cat > conftest.$ac_ext <<EOF
+#line 1431 "configure"
+#include "confdefs.h"
+#include <$x_direct_test_include>
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ no_x= ac_x_includes=
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ for ac_dir in \
+ /usr/X11R6/include \
+ /usr/X11R5/include \
+ /usr/X11R4/include \
+ \
+ /usr/include/X11R6 \
+ /usr/include/X11R5 \
+ /usr/include/X11R4 \
+ \
+ /usr/local/X11R6/include \
+ /usr/local/X11R5/include \
+ /usr/local/X11R4/include \
+ \
+ /usr/local/include/X11R6 \
+ /usr/local/include/X11R5 \
+ /usr/local/include/X11R4 \
+ \
+ /usr/X11/include \
+ /usr/include/X11 \
+ /usr/local/X11/include \
+ /usr/local/include/X11 \
+ \
+ /usr/X386/include \
+ /usr/x386/include \
+ /usr/XFree86/include/X11 \
+ \
+ /usr/include \
+ /usr/local/include \
+ /usr/unsupported/include \
+ /usr/athena/include \
+ /usr/local/x11r5/include \
+ /usr/lpp/Xamples/include \
+ \
+ /usr/openwin/include \
+ /usr/openwin/share/include \
+ ; \
+ do
+ if test -r "$ac_dir/$x_direct_test_include"; then
+ no_x= ac_x_includes=$ac_dir
+ break
+ fi
+ done
+fi
+rm -f conftest*
+
+# Check for the libraries.
+# See if we find them without any special options.
+# Don't add to $LIBS permanently.
+ac_save_LIBS="$LIBS"
+LIBS="-l$x_direct_test_library $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1494 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+${x_direct_test_function}()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ LIBS="$ac_save_LIBS" no_x= ac_x_libraries=
+else
+ rm -rf conftest*
+ LIBS="$ac_save_LIBS"
+# First see if replacing the include by lib works.
+for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \
+ /usr/X11R6/lib \
+ /usr/X11R5/lib \
+ /usr/X11R4/lib \
+ \
+ /usr/lib/X11R6 \
+ /usr/lib/X11R5 \
+ /usr/lib/X11R4 \
+ \
+ /usr/local/X11R6/lib \
+ /usr/local/X11R5/lib \
+ /usr/local/X11R4/lib \
+ \
+ /usr/local/lib/X11R6 \
+ /usr/local/lib/X11R5 \
+ /usr/local/lib/X11R4 \
+ \
+ /usr/X11/lib \
+ /usr/lib/X11 \
+ /usr/local/X11/lib \
+ /usr/local/lib/X11 \
+ \
+ /usr/X386/lib \
+ /usr/x386/lib \
+ /usr/XFree86/lib/X11 \
+ \
+ /usr/lib \
+ /usr/local/lib \
+ /usr/unsupported/lib \
+ /usr/athena/lib \
+ /usr/local/x11r5/lib \
+ /usr/lpp/Xamples/lib \
+ \
+ /usr/openwin/lib \
+ /usr/openwin/share/lib \
+ ; \
+do
+ for ac_extension in a so sl; do
+ if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then
+ no_x= ac_x_libraries=$ac_dir
+ break 2
+ fi
+ done
+done
+fi
+rm -f conftest*
+
+fi
+if test "$no_x" = yes; then
+ ac_cv_path_x="no_x=yes"
+else
+ ac_cv_path_x="no_x= ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
+fi
+fi
+ fi
+ eval "$ac_cv_path_x"
+fi # $with_x != no
+
+if test "$no_x" = yes; then
+ echo "$ac_t""no" 1>&6
+else
+ test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+ test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+ ac_cv_path_x="no_x= ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
+ echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6
+fi
+
+if test "$no_x" = yes; then
+ # Not all programs may use this symbol, but it does not hurt to define it.
+ X_CFLAGS="$X_CFLAGS -DX_DISPLAY_MISSING"
+else
+ if test -n "$x_includes"; then
+ X_CFLAGS="$X_CFLAGS -I$x_includes"
+ fi
+
+ # It would be nice to have a more robust check for the -R ld option than
+ # just checking for Solaris.
+ # It would also be nice to do this for all -L options, not just this one.
+ if test -n "$x_libraries"; then
+ X_LIBS="$X_LIBS -L$x_libraries"
+ if test "`(uname) 2>/dev/null`" = SunOS &&
+ uname -r | grep '^5' >/dev/null; then
+ X_LIBS="$X_LIBS -R$x_libraries"
+ fi
+ fi
+
+ # Check for libraries that X11R6 Xt/Xaw programs need.
+
+ ac_save_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS -L$x_libraries"
+ # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+ # check for ICE first), but we must link in the order -lSM -lICE or
+ # we get undefined symbols. So assume we have SM if we have ICE.
+ # These have to be linked with before -lX11, unlike the other
+ # libraries we check for below, so use a different variable.
+ # --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
+ echo $ac_n "checking for -lICE""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_ICE'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lICE $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1612 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+IceConnectionNumber()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_ICE=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_ICE=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'ICE`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ LDFLAGS="$ac_save_LDFLAGS"
+
+ # Check for system-dependent libraries X programs must link with.
+
+ if test "$ISC" = yes; then
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+ else
+ # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X
+ # libraries were built with DECnet support. And karl@cs.umb.edu says
+ # the Alpha needs dnet_stub (dnet does not exist).
+ echo $ac_n "checking for -ldnet""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_dnet'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ldnet $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1655 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+dnet_ntoa()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_dnet=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_dnet=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'dnet`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test $ac_cv_lib_dnet = no; then
+ echo $ac_n "checking for -ldnet_stub""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_dnet_stub'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-ldnet_stub $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1689 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+dnet_ntoa()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_dnet_stub=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_dnet_stub=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'dnet_stub`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+
+ # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+ # to get the SysV transport functions.
+ # Not sure which flavor of 386 UNIX this is, but it seems harmless to
+ # check for it.
+ echo $ac_n "checking for -lnsl""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_nsl'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lnsl $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1728 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+t_accept()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_nsl=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_nsl=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'nsl`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+ # lieder@skyler.mavd.honeywell.com says without -lsocket,
+ # socket/setsockopt and other routines are undefined under SCO ODT 2.0.
+ # But -lsocket is broken on IRIX, according to simon@lia.di.epfl.ch.
+ if test "`(uname) 2>/dev/null`" != IRIX; then
+ echo $ac_n "checking for -lsocket""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_socket'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lsocket $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1766 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+socket()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_socket=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_socket=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'socket`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ X_EXTRA_LIBS="$X_EXTRA_LIBS -lsocket"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ fi
+ fi
+fi
+
+if test -n "$x_includes" ; then
+CPPFLAGS="$CPPFLAGS -I$x_includes"
+fi
+
+echo $ac_n "checking for -lsocket""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_socket'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lsocket $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1807 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+socket()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_socket=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_socket=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'socket`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ XLIBS="-lsocket $XLIBS"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+echo $ac_n "checking for -lnsl""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_nsl'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lnsl $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1840 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+inet_addr()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_nsl=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_nsl=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'nsl`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ XLIBS="-lnsl $XLIBS"
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+echo $ac_n "checking for -lX11""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_X11'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lX11 $X_LIBS $XLIBS $LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1873 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+XauReadAuth()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_X11=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_X11=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'X11`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+
+XLIBS="$X_LIBS -lX11 $XLIBS"
+cat >> confdefs.h <<\EOF
+#define HAVE_LIBX11 1
+EOF
+
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+for ac_hdr in audio/audiolib.h
+do
+ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 1914 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+if test "$ac_cv_header_audio_audiolib_h" = yes ; then
+ echo $ac_n "checking for -laudio""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_lib_audio'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-laudio $XLIBS $LIBS $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1950 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+AuOpenServer()
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ eval "ac_cv_lib_audio=yes"
+else
+ rm -rf conftest*
+ eval "ac_cv_lib_audio=no"
+fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+
+fi
+if eval "test \"`echo '$ac_cv_lib_'audio`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+
+ XLIBS="-laudio $XLIBS"
+ cat >> confdefs.h <<\EOF
+#define HAVE_NAS 1
+EOF
+
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ if test "$ac_cv_lib_audio" = yes; then
+ if test "$hplay" = dummy; then
+ hplay="na"
+ LIBS="$XLIBS $LIBS"
+ XLIBS=""
+ else
+ PROGS="$PROGS nasay"
+ fi
+ fi
+fi
+
+if test "$hplay" = sun; then
+cat > conftest.$ac_ext <<EOF
+#line 1995 "configure"
+#include "confdefs.h"
+
+int main() { return 0; }
+int t() {
+nonstandard_arithmetic();
+; return 0; }
+EOF
+if eval $ac_link; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define HAVE_NONSTDARITH 1
+EOF
+
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_prog_gcc = yes; then
+ echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_pattern="Autoconf.*'x'"
+ cat > conftest.$ac_ext <<EOF
+#line 2021 "configure"
+#include "confdefs.h"
+#include <sgtty.h>
+Autoconf TIOCGETP
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "$ac_pattern" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_prog_gcc_traditional=yes
+else
+ rm -rf conftest*
+ ac_cv_prog_gcc_traditional=no
+fi
+rm -f conftest*
+
+
+ if test $ac_cv_prog_gcc_traditional = no; then
+ cat > conftest.$ac_ext <<EOF
+#line 2039 "configure"
+#include "confdefs.h"
+#include <termio.h>
+Autoconf TCGETA
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "$ac_pattern" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_prog_gcc_traditional=yes
+fi
+rm -f conftest*
+
+ fi
+fi
+ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
+ if test $ac_cv_prog_gcc_traditional = yes; then
+ CC="$CC -traditional"
+ fi
+fi
+
+echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
+if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2064 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+#include <signal.h>
+#ifdef signal
+#undef signal
+#endif
+#ifdef __cplusplus
+extern "C"
+#endif
+void (*signal ()) ();
+int main() { return 0; }
+int t() {
+int i;
+; return 0; }
+EOF
+if eval $ac_compile; then
+ rm -rf conftest*
+ ac_cv_type_signal=void
+else
+ rm -rf conftest*
+ ac_cv_type_signal=int
+fi
+rm -f conftest*
+
+fi
+echo "$ac_t""$ac_cv_type_signal" 1>&6
+cat >> confdefs.h <<EOF
+#define RETSIGTYPE $ac_cv_type_signal
+EOF
+
+
+
+echo $ac_n "checking for GNU make""... $ac_c" 1>&6
+if make -v 2>/dev/null | grep -i 'GNU *Make' > /dev/null ; then
+make_dist=$srcdir/config/make_dist
+echo "$ac_t""yes" 1>&6
+else
+echo "$ac_t""no" 1>&6
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
+ >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+DEFS=-DHAVE_CONFIG_H
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.3"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
+$ac_vpsub
+$extrasub
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@CC@%$CC%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@CPP@%$CPP%g
+s%@X_CFLAGS@%$X_CFLAGS%g
+s%@X_PRE_LIBS@%$X_PRE_LIBS%g
+s%@X_LIBS@%$X_LIBS%g
+s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g
+s%@INSTALL@%$INSTALL%g
+s%@DICTS@%$DICTS%g
+s%@ADICT@%$ADICT%g
+s%@BDICT@%$BDICT%g
+s%@XLIBS@%$XLIBS%g
+s%@PROGS@%$PROGS%g
+s%@NOPROTOFLOAT@%$NOPROTOFLOAT%g
+s%@HAVE_NONSTDARITH@%$HAVE_NONSTDARITH%g
+/@make_dist@/r $make_dist
+s%@make_dist@%%g
+
+CEOF
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust relative srcdir, etc. for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
+fi; done
+rm -f conftest.subs
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='\([ ]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+CONFIG_HEADERS=${CONFIG_HEADERS-"config.h"}
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ echo creating $ac_file
+
+ rm -f conftest.frag conftest.in conftest.out
+ cp $ac_given_srcdir/$ac_file_in conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h. And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+# Maximum number of lines to put in a single here document.
+ac_max_here_lines=12
+
+rm -f conftest.tail
+while :
+do
+ ac_lines=`grep -c . conftest.vals`
+ # grep -c gives empty output for an empty file on some AIX systems.
+ if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+ # Write a limited-size here document to conftest.frag.
+ echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+ echo 'CEOF
+ sed -f conftest.frag conftest.in > conftest.out
+ rm -f conftest.in
+ mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+ rm -f conftest.vals
+ mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+ rm -f conftest.frag conftest.h
+ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
+ cat conftest.in >> conftest.h
+ rm -f conftest.in
+ if cmp -s $ac_file conftest.h 2>/dev/null; then
+ echo "$ac_file is unchanged"
+ rm -f conftest.h
+ else
+ rm -f $ac_file
+ mv conftest.h $ac_file
+ fi
+fi; done
+
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+ac_sources="config/${hplay}play.c"
+ac_dests="hplay.c"
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+srcdir=$ac_given_srcdir
+while test -n "$ac_sources"; do
+ set $ac_dests; ac_dest=$1; shift; ac_dests=$*
+ set $ac_sources; ac_source=$1; shift; ac_sources=$*
+
+ echo "linking $srcdir/$ac_source to $ac_dest"
+
+ if test ! -r $srcdir/$ac_source; then
+ { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
+ fi
+ rm -f $ac_dest
+
+ # Make relative symlinks.
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
+ # The dest file is in a subdirectory.
+ test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
+ ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dest_dir_suffix.
+ ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dest_dir_suffix= ac_dots=
+ fi
+
+ case "$srcdir" in
+ [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
+ *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
+ esac
+
+ # Make a symlink if possible; otherwise try a hard link.
+ if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
+ ln $srcdir/$ac_source $ac_dest; then :
+ else
+ { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
+ fi
+done
+
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
+
diff --git a/audio/rsynth/files/freebsdplay.c b/audio/rsynth/files/freebsdplay.c
new file mode 100644
index 00000000000..065b21fb9e1
--- /dev/null
+++ b/audio/rsynth/files/freebsdplay.c
@@ -0,0 +1,140 @@
+#include <config.h>
+
+/*****************************************************************/
+/*** ***/
+/*** Play out a file on FreeBSD ***/
+/*** (conf/linuxplay.c with changes) ***/
+/*** ***/
+/*****************************************************************/
+
+#include <useconfig.h>
+#include <stdio.h>
+#include <math.h>
+#include <errno.h>
+#include <ctype.h>
+
+#include <fcntl.h>
+#include <sys/file.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+#include <sys/signal.h>
+
+#include <sys/ioctl.h>
+
+#include <machine/soundcard.h>
+#include "proto.h"
+#include "getargs.h"
+#include "hplay.h"
+
+#define SAMP_RATE 8000
+long samp_rate = SAMP_RATE;
+
+/* Audio Parameters */
+
+static int dev_fd = -1;
+ /* file descriptor for audio device */
+char *dev_file = "/dev/dsp";
+
+static int linear_fd = -1;
+
+static char *linear_file = NULL;
+
+char *prog = "hplay";
+
+static int
+audio_open(void)
+{
+ dev_fd = open(dev_file, O_WRONLY | O_NDELAY);
+ if (dev_fd < 0)
+ {
+ perror(dev_file);
+ return 0;
+ }
+ return 1;
+}
+
+int
+audio_init(int argc, char *argv[])
+{
+ int rate_set = 0;
+ int use_audio = 1;
+
+ prog = argv[0];
+
+ argc = getargs("freebsd Audio",argc, argv,
+ "r", "%d", &rate_set, "Sample rate",
+ "a", NULL, &use_audio, "Audio enable",
+ NULL);
+
+ if (help_only)
+ return argc;
+
+ if (use_audio)
+ audio_open();
+
+ if (rate_set)
+ samp_rate = rate_set;
+
+ if (dev_fd > 0)
+ {
+ ioctl(dev_fd, SNDCTL_DSP_SPEED, &samp_rate);
+ printf("Actual sound rate: %ld\n", samp_rate);
+ }
+
+ return argc;
+}
+
+void
+audio_term()
+{
+ int dummy;
+
+ /* Close audio system */
+ if (dev_fd >= 0)
+ {
+ ioctl(dev_fd, SNDCTL_DSP_SYNC, &dummy);
+ close(dev_fd);
+ dev_fd = -1;
+ }
+
+ /* Finish linear file */
+ if (linear_fd >= 0)
+ {
+ ftruncate(linear_fd, lseek(linear_fd, 0L, SEEK_CUR));
+ close(linear_fd);
+ linear_fd = -1;
+ }
+}
+
+void
+audio_play(int n, short *data)
+{
+ if (n > 0)
+ {
+ unsigned char *converted = (unsigned char *) malloc(n);
+ int i;
+
+ if (converted == NULL)
+ {
+ fprintf(stderr, "Could not allocate memory for conversion\n");
+ exit(3);
+ }
+
+ for (i = 0; i < n; i++)
+ converted[i] = (data[i] - 32768) / 256;
+
+ if (linear_fd >= 0)
+ {
+ if (write(linear_fd, converted, n) != n)
+ perror("write");
+ }
+
+ if (dev_fd >= 0)
+ {
+ if (write(dev_fd, converted, n) != n)
+ perror("write");
+ }
+
+ free(converted);
+ }
+}
diff --git a/audio/rsynth/files/md5 b/audio/rsynth/files/md5
new file mode 100644
index 00000000000..47a70ccb500
--- /dev/null
+++ b/audio/rsynth/files/md5
@@ -0,0 +1 @@
+MD5 (rsynth-2.0.tar.gz) = 0546d21526a1ef4e7bd4b5b5ca26125f
diff --git a/audio/rsynth/patches/patch-aa b/audio/rsynth/patches/patch-aa
new file mode 100644
index 00000000000..44906e467d3
--- /dev/null
+++ b/audio/rsynth/patches/patch-aa
@@ -0,0 +1,9 @@
+*** naplay.c.ORIG Tue Nov 1 19:40:13 1994
+--- naplay.c Sat Jun 10 19:51:40 1995
+***************
+*** 1,3 ****
+--- 1,4 ----
++ #include <sys/types.h>
+ #include <useconfig.h>
+ #include <sys/time.h>
+ #include <sys/stat.h>
diff --git a/audio/rsynth/patches/patch-ab b/audio/rsynth/patches/patch-ab
new file mode 100644
index 00000000000..60772e54d8a
--- /dev/null
+++ b/audio/rsynth/patches/patch-ab
@@ -0,0 +1,30 @@
+*** configure.in.orig Tue Nov 8 14:30:51 1994
+--- configure.in Sat Jul 1 18:02:56 1995
+***************
+*** 11,17 ****
+ dbm=none
+ make_dist=/dev/null
+
+! AC_PREFIX_PROGRAM(gcc)
+
+ if test -z "$CC" && test -n "$GCC" ; then
+ CC=$GCC
+--- 11,18 ----
+ dbm=none
+ make_dist=/dev/null
+
+! dnl *sigh* - torstenb
+! dnl AC_PREFIX_PROGRAM(gcc)
+
+ if test -z "$CC" && test -n "$GCC" ; then
+ CC=$GCC
+***************
+*** 41,46 ****
+--- 42,48 ----
+ *-sgi-*) hplay=sgi ;;
+ *-next-*) hplay=NeXT; AC_CHECK_HEADERS(libc.h) ;;
+ *-*-linux*) hplay=linux ;;
++ *-*-freebsd*) hplay=freebsd ;;
+ *-*-hpux*) hplay=hpux ;;
+ *-*-*) echo "Unknown host type $host" ;;
+ esac
diff --git a/audio/rsynth/patches/patch-ac b/audio/rsynth/patches/patch-ac
new file mode 100644
index 00000000000..d2f780df5b1
--- /dev/null
+++ b/audio/rsynth/patches/patch-ac
@@ -0,0 +1,11 @@
+--- ./Makefile.in.org Tue Nov 8 05:30:52 1994
++++ ./Makefile.in Mon Jul 3 21:29:28 1995
+@@ -67,7 +67,7 @@
+ for f in $(PROGS); do \
+ $(INSTALL_PROG) $$f $(BIN_DIR); \
+ done
+- $(INSTALL) -d $(LIB_DIR)
++ if [ ! -d $(LIB_DIR) ]; then mkdir -p $(LIB_DIR); fi
+ for f in $(DICTS); do \
+ $(INSTALL_DATA) $$f $(LIB_DIR); \
+ done
diff --git a/audio/rsynth/pkg/COMMENT b/audio/rsynth/pkg/COMMENT
new file mode 100644
index 00000000000..942e8a8538f
--- /dev/null
+++ b/audio/rsynth/pkg/COMMENT
@@ -0,0 +1 @@
+Speech synthesizer.
diff --git a/audio/rsynth/pkg/DESCR b/audio/rsynth/pkg/DESCR
new file mode 100644
index 00000000000..d4122f31b47
--- /dev/null
+++ b/audio/rsynth/pkg/DESCR
@@ -0,0 +1,15 @@
+This is a text to speech system produced by integrating various pieces
+of code and tables of data, which are all (I believe) in the public domain.
+
+The Oxford Text Archive has for several years maintained copies of several
+machine-readable dictionaries along with its extensive (if
+unsystematic) collections of other machine-readable texts. This document
+gives some further details of the various dictionaries available, and
+summarises the conditions under which copies of them are currently
+distributed.
+
+The Oxford Text Archive Shortlist (available on request via electronic
+mail and by FTP) gives up to date brief details of all texts held in
+the Archive. Send electronic mail to ARCHIVE@VAX.OXFORD.AC.UK. For
+anonymous FTP, look in the directory ota on ota.ox.ac.uk (129.67.1.165)
+
diff --git a/audio/rsynth/pkg/PLIST b/audio/rsynth/pkg/PLIST
new file mode 100644
index 00000000000..76a90edc9a9
--- /dev/null
+++ b/audio/rsynth/pkg/PLIST
@@ -0,0 +1,2 @@
+bin/say
+bin/nasay
diff --git a/audio/sox/Makefile b/audio/sox/Makefile
new file mode 100644
index 00000000000..781d32573a9
--- /dev/null
+++ b/audio/sox/Makefile
@@ -0,0 +1,24 @@
+# New ports collection makefile for: sox - Sound Exchange
+# Version required: 12p12
+# Date created: 17 Oct 1994
+# Whom: torstenb
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:03 augustss Exp $
+#
+
+DISTNAME= soxgamma
+PKGNAME= sox-12.12
+CATEGORIES= audio
+MASTER_SITES= http://www.spies.com/Sox/Archive/
+
+MAINTAINER= torstenb@FreeBSD.ORG
+
+NO_WRKSUBDIR= yes
+MAKEFILE= Makefile.unx
+MAN1= sox.1
+
+do-install:
+ @${INSTALL_PROGRAM} ${WRKSRC}/sox ${PREFIX}/bin
+ @${INSTALL_MAN} ${WRKSRC}/sox.man ${PREFIX}/man/man1/sox.1
+
+.include <bsd.port.mk>
diff --git a/audio/sox/files/md5 b/audio/sox/files/md5
new file mode 100644
index 00000000000..b325642f174
--- /dev/null
+++ b/audio/sox/files/md5
@@ -0,0 +1 @@
+MD5 (soxgamma.tar.gz) = ed5586a59ee9fed5e7cea90e46a6c51b
diff --git a/audio/sox/patches/patch-aa b/audio/sox/patches/patch-aa
new file mode 100644
index 00000000000..090adb37503
--- /dev/null
+++ b/audio/sox/patches/patch-aa
@@ -0,0 +1,61 @@
+*** sbdsp.c.orig Thu Aug 18 06:11:01 1994
+--- sbdsp.c Mon Jan 27 02:47:53 1997
+***************
+*** 21,27 ****
+ #include <i386/isa/sblast.h>
+ #else
+ #ifdef LINUXSOUND
+! #include <linux/soundcard.h>
+ #else
+ #include <sys/sb.h>
+ #endif
+--- 21,27 ----
+ #include <i386/isa/sblast.h>
+ #else
+ #ifdef LINUXSOUND
+! #include <machine/soundcard.h>
+ #else
+ #include <sys/sb.h>
+ #endif
+***************
+*** 78,84 ****
+ ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, &ft->info.rate);
+ #else
+ #if defined(LINUXSOUND)
+! ioctl(fileno(ft->fp), SNDCTL_DSP_SPEED, ft->info.rate);
+ #else
+ ioctl(fileno(ft->fp), DSP_IOCTL_VOICE, 0);
+ ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, ft->info.rate);
+--- 78,88 ----
+ ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, &ft->info.rate);
+ #else
+ #if defined(LINUXSOUND)
+! #if SOUND_VERSION >= 200
+! ioctl(fileno(ft->fp), SOUND_PCM_WRITE_RATE, &ft->info.rate);
+! #else
+! ioctl(fileno(ft->fp), SOUND_PCM_WRITE_RATE, ft->info.rate);
+! #endif
+ #else
+ ioctl(fileno(ft->fp), DSP_IOCTL_VOICE, 0);
+ ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, ft->info.rate);
+***************
+*** 148,154 ****
+ #else
+ #if defined(LINUXSOUND)
+ ioctl(fileno(ft->fp), SNDCTL_DSP_SYNC, 0);
+! ioctl(fileno(ft->fp), SNDCTL_DSP_SPEED, ft->info.rate);
+ #else
+ ioctl(fileno(ft->fp), DSP_IOCTL_VOICE, 1);
+ ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, ft->info.rate);
+--- 152,162 ----
+ #else
+ #if defined(LINUXSOUND)
+ ioctl(fileno(ft->fp), SNDCTL_DSP_SYNC, 0);
+! #if SOUND_VERSION >= 200
+! ioctl(fileno(ft->fp), SOUND_PCM_WRITE_RATE, &ft->info.rate);
+! #else
+! ioctl(fileno(ft->fp), SOUND_PCM_WRITE_RATE, ft->info.rate);
+! #endif
+ #else
+ ioctl(fileno(ft->fp), DSP_IOCTL_VOICE, 1);
+ ioctl(fileno(ft->fp), DSP_IOCTL_SPEED, ft->info.rate);
diff --git a/audio/sox/patches/patch-ab b/audio/sox/patches/patch-ab
new file mode 100644
index 00000000000..e00a39ff672
--- /dev/null
+++ b/audio/sox/patches/patch-ab
@@ -0,0 +1,16 @@
+--- Makefile.unx.orig Sat Oct 8 09:14:48 1994
++++ Makefile.unx Mon Jan 27 15:09:32 1997
+@@ -153,6 +153,13 @@
+ # RM = del /q
+
+
++
++# FreeBSD 1.x / 2.x / 3.x
++CFLAGS = -O -DLINUXSOUND -D_HAVE_PARAM_H
++CC = cc
++AR = ar r
++RANLIB = ranlib
++
+ all: sox
+
+ sox: sox.o $(SOUNDLIB)
diff --git a/audio/sox/patches/patch-ac b/audio/sox/patches/patch-ac
new file mode 100644
index 00000000000..3cbfe90b75f
--- /dev/null
+++ b/audio/sox/patches/patch-ac
@@ -0,0 +1,11 @@
+--- au.c.orig Wed Aug 3 22:13:29 1994
++++ au.c Thu Apr 24 13:37:59 1997
+@@ -299,6 +299,8 @@
+ wblong(ft, magic);
+
+ /* hdr_size = SUN_HDRSIZE; /* + strlen(ft->comment); */
++ if (ft->comment == NULL)
++ ft->comment = "";
+ hdr_size = SUN_HDRSIZE + strlen(ft->comment);
+ wblong(ft, hdr_size);
+
diff --git a/audio/sox/pkg/COMMENT b/audio/sox/pkg/COMMENT
new file mode 100644
index 00000000000..85288a2b2fd
--- /dev/null
+++ b/audio/sox/pkg/COMMENT
@@ -0,0 +1 @@
+SOund eXchange - universal sound sample translator.
diff --git a/audio/sox/pkg/DESCR b/audio/sox/pkg/DESCR
new file mode 100644
index 00000000000..01c81932b85
--- /dev/null
+++ b/audio/sox/pkg/DESCR
@@ -0,0 +1,15 @@
+sox translates sound samples between different file formats,
+and performs various sound effects.
+
+This release understands "raw" files in various binary formats,
+raw textual data,
+Sound Blaster .VOC files, IRCAM SoundFile files, SUN Sparcstation
+.au files, mutant DEC .au files, Apple/SGI AIFF files,
+CD-R (music CD format), Macintosh HCOM files, Sounder files,
+NeXT .snd files, SUN ADPCM (compressed) .au files,
+and Soundtool (DOS) files.
+
+The sound effects include changing the sample rate, adding echo
+delay lines, applying low-, high, and band-pass filtering,
+reversing a sample in order to search for Satanic messages,
+and the infamous Fender Vibro effect.
diff --git a/audio/sox/pkg/PLIST b/audio/sox/pkg/PLIST
new file mode 100644
index 00000000000..8a16686b665
--- /dev/null
+++ b/audio/sox/pkg/PLIST
@@ -0,0 +1,2 @@
+bin/sox
+man/man1/sox.1.gz
diff --git a/audio/splay/Makefile b/audio/splay/Makefile
new file mode 100644
index 00000000000..53d0c4a2594
--- /dev/null
+++ b/audio/splay/Makefile
@@ -0,0 +1,18 @@
+# New ports collection makefile for: splay
+# Version required: 0.3
+# Date created: 1 Apr 1997
+# Whom: junker@jazz.snu.ac.kr
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:05 augustss Exp $
+#
+
+DISTNAME= splay-0.5
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_SUNSITE}
+MASTER_SITE_SUBDIR= apps/sound/players/
+
+MAINTAINER= junker@jazz.snu.ac.kr
+
+GNU_CONFIGURE= yes
+
+.include <bsd.port.mk>
diff --git a/audio/splay/files/md5 b/audio/splay/files/md5
new file mode 100644
index 00000000000..2563a9b3a0d
--- /dev/null
+++ b/audio/splay/files/md5
@@ -0,0 +1 @@
+MD5 (splay-0.5.tar.gz) = 6c98edfb97961c4f89c6a4b8e9aac405
diff --git a/audio/splay/patches/patch-aa b/audio/splay/patches/patch-aa
new file mode 100644
index 00000000000..253006d4b40
--- /dev/null
+++ b/audio/splay/patches/patch-aa
@@ -0,0 +1,19 @@
+*** mpegsound/rawplayer.cc Thu Mar 27 22:18:47 1997
+--- mpegsound/rawplayer.cc Tue Apr 1 19:33:46 1997
+***************
+*** 8,14 ****
+
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+! #include <sys/soundcard.h>
+
+ #include "mpegsound.h"
+
+--- 8,14 ----
+
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
+! #include <machine/soundcard.h>
+
+ #include "mpegsound.h"
+
diff --git a/audio/splay/patches/patch-ab b/audio/splay/patches/patch-ab
new file mode 100644
index 00000000000..cce91b282d0
--- /dev/null
+++ b/audio/splay/patches/patch-ab
@@ -0,0 +1,11 @@
+--- src/cmd/cmd.cc.orig Sat Aug 9 16:31:03 1997
++++ src/cmd/cmd.cc Sat Aug 9 16:31:15 1997
+@@ -15,7 +15,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/ioctl.h>
+-#include <sys/soundcard.h>
++#include <machine/soundcard.h>
+
+ #include <mpegsound.h>
+
diff --git a/audio/splay/pkg/COMMENT b/audio/splay/pkg/COMMENT
new file mode 100644
index 00000000000..d757aaf70be
--- /dev/null
+++ b/audio/splay/pkg/COMMENT
@@ -0,0 +1 @@
+An audio player/decoder that decodes MPEG Layer I,II,III and WAV files.
diff --git a/audio/splay/pkg/DESCR b/audio/splay/pkg/DESCR
new file mode 100644
index 00000000000..614ef9bd715
--- /dev/null
+++ b/audio/splay/pkg/DESCR
@@ -0,0 +1,14 @@
+splay-0.3
+---------
+
+Splay program uses the MPEG/Wave Sound library to play sound files in
+several formats, notably the MPEG audio and Wave format. This early version
+has only limited functionally and a simplistic user interface.
+
+This program have NO WARRANTY.
+You can use this program under GPL.
+You can use these libraries under Library GPL.
+
+* This version of splay was not compiled with pthread library.
+--
+Port by Choi Jun Ho <junker@jazz.snu.ac.kr>
diff --git a/audio/splay/pkg/PLIST b/audio/splay/pkg/PLIST
new file mode 100644
index 00000000000..df1c853561d
--- /dev/null
+++ b/audio/splay/pkg/PLIST
@@ -0,0 +1 @@
+bin/splay
diff --git a/audio/timidity/Makefile b/audio/timidity/Makefile
new file mode 100644
index 00000000000..a3685eb2c52
--- /dev/null
+++ b/audio/timidity/Makefile
@@ -0,0 +1,36 @@
+# New ports collection makefile for: timidity
+# Homepage: http://www.cgs.fi/~tt/timidity/
+# Version required: 0.2i
+# Date created: 17 Nov 1996
+# Whom: ache
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:06 augustss Exp $
+#
+
+DISTNAME= timidity-0.2i
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.cdrom.com/pub/demos/music/samples/ \
+ http://www.cgs.fi/~tt/timidity/
+TIINS= dgguspat.zip
+DISTFILES= ${TIINS} ${DISTNAME}.tar.gz
+
+MAINTAINER= ache@FreeBSD.ORG
+
+NO_CDROM= "Uses copyrighted patches"
+
+BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
+
+EXTRACT_ONLY= ${DISTNAME}.tar.gz
+INSTALL_TARGET= install.all
+MAN1= timidity.1
+
+do-configure:
+ @cd ${WRKSRC} && \
+ sed "s=%PREFIX%=${PREFIX}=" < gravis.cfg > gravis.cfg.new && \
+ mv gravis.cfg.new gravis.cfg
+
+post-install:
+ cd ${PREFIX}/lib/timidity/patch && \
+ unzip -o -q -L ${DISTDIR}/${TIINS}
+
+.include <bsd.port.mk>
diff --git a/audio/timidity/files/md5 b/audio/timidity/files/md5
new file mode 100644
index 00000000000..f39b8934296
--- /dev/null
+++ b/audio/timidity/files/md5
@@ -0,0 +1,2 @@
+MD5 (dgguspat.zip) = 94affd73c5b53ff0d5e12df1bc55c53d
+MD5 (timidity-0.2i.tar.gz) = 7dedd75232aaa7729e50c76cdd379b82
diff --git a/audio/timidity/patches/patch-aa b/audio/timidity/patches/patch-aa
new file mode 100644
index 00000000000..3f12b08b1ce
--- /dev/null
+++ b/audio/timidity/patches/patch-aa
@@ -0,0 +1,85 @@
+*** config.h.orig Sat Jun 1 16:54:49 1996
+--- config.h Sun Nov 17 10:00:29 1996
+***************
+*** 217,222 ****
+--- 217,238 ----
+ # endif
+ #endif /* linux */
+
++ #ifdef __FreeBSD__
++ #include <errno.h>
++ #include <machine/endian.h>
++ #if BYTE_ORDER == LITTLE_ENDIAN
++ #undef BIG_ENDIAN
++ #undef PDP_ENDIAN
++ #elif BYTE_ORDER == BIG_ENDIAN
++ #undef LITTLE_ENDIAN
++ #undef PDP_ENDIAN
++ #else
++ # error No valid byte sex defined
++ #endif
++ #define USE_LDEXP
++ #define PI M_PI
++ #endif
++
+ /* Win32 on Intel machines */
+ #ifdef __WIN32__
+ # define LITTLE_ENDIAN
+***************
+*** 254,266 ****
+--- 270,292 ----
+ #ifdef LITTLE_ENDIAN
+ #define LE_SHORT(x) x
+ #define LE_LONG(x) x
++ #ifdef __FreeBSD__
++ #define BE_SHORT(x) __byte_swap_word(x)
++ #define BE_LONG(x) __byte_swap_long(x)
++ #else
+ #define BE_SHORT(x) XCHG_SHORT(x)
+ #define BE_LONG(x) XCHG_LONG(x)
++ #endif
+ #else
+ #define BE_SHORT(x) x
+ #define BE_LONG(x) x
++ #ifdef __FreeBSD__
++ #define LE_SHORT(x) __byte_swap_word(x)
++ #define LE_LONG(x) __byte_swap_long(x)
++ #else
+ #define LE_SHORT(x) XCHG_SHORT(x)
+ #define LE_LONG(x) XCHG_LONG(x)
++ #endif
+ #endif
+
+ #define MAX_AMPLIFICATION 800
+*** mix.c.orig Mon May 20 17:09:46 1996
+--- mix.c Sun Nov 17 10:01:36 1996
+***************
+*** 23,29 ****
+--- 23,33 ----
+
+ #include <math.h>
+ #include <stdio.h>
++ #ifdef __FreeBSD__
++ #include <stdlib.h>
++ #else
+ #include <malloc.h>
++ #endif
+
+ #include "config.h"
+ #include "common.h"
+*** resample.c.orig Mon May 20 17:09:47 1996
+--- resample.c Sun Nov 17 09:59:29 1996
+***************
+*** 22,28 ****
+--- 22,32 ----
+
+ #include <math.h>
+ #include <stdio.h>
++ #ifdef __FreeBSD__
++ #include <stdlib.h>
++ #else
+ #include <malloc.h>
++ #endif
+
+ #include "config.h"
+ #include "common.h"
diff --git a/audio/timidity/patches/patch-ab b/audio/timidity/patches/patch-ab
new file mode 100644
index 00000000000..34e8d69c27a
--- /dev/null
+++ b/audio/timidity/patches/patch-ab
@@ -0,0 +1,150 @@
+*** Makefile.orig Sun May 26 13:26:46 1996
+--- Makefile Sun Nov 17 13:09:19 1996
+***************
+*** 24,45 ****
+ # But where to change without revealing my secret identity?
+
+ ########### Compiler and flags.
+! CC = gcc
+! DEBUGFLAGS = -Wall -O2
+
+ ########### Install.
+! INSTALL = /usr/bin/install
+
+ # Where to install the executable
+! BIN_DIR = /usr/local/bin
+
+ # Where to install the manual pages
+! MAN_DIR = /usr/local/man/man1
+
+ # Where to install the patches, config files, and MIDI files.
+ # If you change this, it's a good idea to recompile the binary,
+ # or you'll need to invoke timidity with the -L option.
+! TIMID_DIR = /usr/local/lib/timidity
+
+ # Where to install the Tcl code, if you use the Tcl code that is.
+ TCL_DIR = $(TIMID_DIR)
+--- 24,45 ----
+ # But where to change without revealing my secret identity?
+
+ ########### Compiler and flags.
+! #CC = gcc
+! DEBUGFLAGS = -Wall
+
+ ########### Install.
+! #INSTALL = /usr/bin/install
+
+ # Where to install the executable
+! BIN_DIR = ${PREFIX}/bin
+
+ # Where to install the manual pages
+! MAN_DIR = ${PREFIX}/man/man1
+
+ # Where to install the patches, config files, and MIDI files.
+ # If you change this, it's a good idea to recompile the binary,
+ # or you'll need to invoke timidity with the -L option.
+! TIMID_DIR = ${PREFIX}/lib/timidity
+
+ # Where to install the Tcl code, if you use the Tcl code that is.
+ TCL_DIR = $(TIMID_DIR)
+***************
+*** 93,100 ****
+ # Select the ncurses full-screen interface
+ SYSTEM += -DIA_NCURSES
+ SYSEXTRAS += ncurs_c.c
+! EXTRAINCS += -I/usr/include/ncurses
+! EXTRALIBS += -lncurses
+
+ ## Select the S-Lang full-screen interface
+ #SYSTEM += -DIA_SLANG
+--- 93,100 ----
+ # Select the ncurses full-screen interface
+ SYSTEM += -DIA_NCURSES
+ SYSEXTRAS += ncurs_c.c
+! #EXTRAINCS += -I/usr/include/ncurses
+! EXTRALIBS += -lncurses -lmytinfo
+
+ ## Select the S-Lang full-screen interface
+ #SYSTEM += -DIA_SLANG
+***************
+*** 112,120 ****
+ #EXTRALIBS += -lgen
+
+ # Select the Tcl/Tk interface
+! SYSTEM += -DTCLTK -DWISH=\"wishx\" -DTKPROGPATH=\"$(TCL_DIR)/tkmidity.tcl\"
+! SYSEXTRAS += tk_c.c
+! INST_TK = install.tk
+ #EXTRAINCS +=
+ #EXTRALIBS +=
+
+--- 112,120 ----
+ #EXTRALIBS += -lgen
+
+ # Select the Tcl/Tk interface
+! #SYSTEM += -DTCLTK -DWISH=\"wishx\" -DTKPROGPATH=\"$(TCL_DIR)/tkmidity.tcl\"
+! #SYSEXTRAS += tk_c.c
+! #INST_TK = install.tk
+ #EXTRAINCS +=
+ #EXTRALIBS +=
+
+***************
+*** 136,142 ****
+ SDIST = timidity-lib-$(SUPPVERSION).tar.gz
+ SDISTZIP = tilib$(FNSUPPVERSION).zip
+
+! CFLAGS= $(DEBUGFLAGS) -DDEFAULT_PATH=\"$(TIMID_DIR)\" \
+ -DTIMID_VERSION=\"$(VERSION)\" $(SYSTEM) $(EXTRAINCS)
+
+ ########### All relevant files.. Anybody know autoconf?
+--- 136,142 ----
+ SDIST = timidity-lib-$(SUPPVERSION).tar.gz
+ SDISTZIP = tilib$(FNSUPPVERSION).zip
+
+! CFLAGS+= $(DEBUGFLAGS) -DDEFAULT_PATH=\"$(TIMID_DIR)\" \
+ -DTIMID_VERSION=\"$(VERSION)\" $(SYSTEM) $(EXTRAINCS)
+
+ ########### All relevant files.. Anybody know autoconf?
+***************
+*** 228,237 ****
+ wav2pat: wav2pat.c
+ $(CC) $(CFLAGS) -o wav2pat wav2pat.c
+
+! depends depend dep:
+! $(CC) $(CFLAGS) -MM $(CSRCS) $(OPTSRCS) $(TOOLSRCS) > depends
+!
+! include depends
+
+ ########### Installation targets
+
+--- 228,237 ----
+ wav2pat: wav2pat.c
+ $(CC) $(CFLAGS) -o wav2pat wav2pat.c
+
+! #depends depend dep:
+! # $(CC) $(CFLAGS) -MM $(CSRCS) $(OPTSRCS) $(TOOLSRCS) > depends
+! #
+! #include depends
+
+ ########### Installation targets
+
+***************
+*** 262,270 ****
+ mkdir -p $(TIMID_DIR)
+ $(INSTALL) -m 644 $(CONFIGF) $(TIMID_DIR)
+
+! install.patch: $(PATCHF)
+ mkdir -p $(TIMID_DIR)/patch
+! $(INSTALL) -m 644 $(PATCHF) $(TIMID_DIR)/patch
+
+ install.tk: $(ALLTCLF)
+ $(INSTALL) -m 644 $(ALLTCLF) $(TCL_DIR)
+--- 262,270 ----
+ mkdir -p $(TIMID_DIR)
+ $(INSTALL) -m 644 $(CONFIGF) $(TIMID_DIR)
+
+! install.patch: #$(PATCHF)
+ mkdir -p $(TIMID_DIR)/patch
+! # $(INSTALL) -m 644 $(PATCHF) $(TIMID_DIR)/patch
+
+ install.tk: $(ALLTCLF)
+ $(INSTALL) -m 644 $(ALLTCLF) $(TCL_DIR)
diff --git a/audio/timidity/patches/patch-ac b/audio/timidity/patches/patch-ac
new file mode 100644
index 00000000000..ad4e745c08e
--- /dev/null
+++ b/audio/timidity/patches/patch-ac
@@ -0,0 +1,40 @@
+*** timidity.cfg.bak Mon May 22 02:40:27 1995
+--- timidity.cfg Sun Nov 17 10:50:44 1996
+***************
+*** 34,42 ****
+ # This sets up the default patches in the TiMidity support package
+ # "timidity-lib-0.1.tar.gz":
+
+! bank 0
+! 0 patch/acpiano.pat
+! 24 patch/nylongt2.pat
+
+ ##############################################################################
+ # If you have Dustin McCartney's "wowpats" patches, you can source the
+--- 34,42 ----
+ # This sets up the default patches in the TiMidity support package
+ # "timidity-lib-0.1.tar.gz":
+
+! #bank 0
+! # 0 patch/acpiano.pat
+! # 24 patch/nylongt2.pat
+
+ ##############################################################################
+ # If you have Dustin McCartney's "wowpats" patches, you can source the
+***************
+*** 67,73 ****
+ # Note that midia.cfg sources gravis.cfg in turn, since the filenames are
+ # almost identical.
+ #
+! #source midia.cfg
+ #
+
+
+--- 67,73 ----
+ # Note that midia.cfg sources gravis.cfg in turn, since the filenames are
+ # almost identical.
+ #
+! source midia.cfg
+ #
+
+
diff --git a/audio/timidity/patches/patch-ad b/audio/timidity/patches/patch-ad
new file mode 100644
index 00000000000..6cb4b1fbb2c
--- /dev/null
+++ b/audio/timidity/patches/patch-ad
@@ -0,0 +1,13 @@
+*** gravis.cfg.bak Mon May 20 20:10:15 1996
+--- gravis.cfg Sun Nov 17 12:43:31 1996
+***************
+*** 3,8 ****
+--- 3,10 ----
+ # programs.
+ #
+
++ dir %PREFIX%/lib/timidity/patch
++
+ bank 0
+
+ 0 acpiano
diff --git a/audio/timidity/pkg/COMMENT b/audio/timidity/pkg/COMMENT
new file mode 100644
index 00000000000..46e4a463861
--- /dev/null
+++ b/audio/timidity/pkg/COMMENT
@@ -0,0 +1 @@
+MIDI to WAV renderer and player
diff --git a/audio/timidity/pkg/DESCR b/audio/timidity/pkg/DESCR
new file mode 100644
index 00000000000..0a7ddfe0523
--- /dev/null
+++ b/audio/timidity/pkg/DESCR
@@ -0,0 +1,5 @@
+TiMidity is a MIDI to WAVE converter using Gravis Ultra-
+sound-compatible patch files to generate digital audio
+data from General MIDI files. The data can be stored in a
+file for processing, or played in real time through an
+audio device.
diff --git a/audio/timidity/pkg/PLIST b/audio/timidity/pkg/PLIST
new file mode 100644
index 00000000000..48e11d087d3
--- /dev/null
+++ b/audio/timidity/pkg/PLIST
@@ -0,0 +1,205 @@
+bin/timidity
+bin/bag
+bin/wav2pat
+man/man1/timidity.1.gz
+lib/timidity/timidity.cfg
+lib/timidity/gsdrum.cfg
+lib/timidity/gravis.cfg
+lib/timidity/midia.cfg
+lib/timidity/wowpats.cfg
+lib/timidity/mt32.cfg
+lib/timidity/patch/acbass.pat
+lib/timidity/patch/accordn.pat
+lib/timidity/patch/acguitar.pat
+lib/timidity/patch/acpiano.pat
+lib/timidity/patch/agogo.pat
+lib/timidity/patch/agogohi.pat
+lib/timidity/patch/agogolo.pat
+lib/timidity/patch/altosax.pat
+lib/timidity/patch/applause.pat
+lib/timidity/patch/atmosphr.pat
+lib/timidity/patch/aurora.pat
+lib/timidity/patch/bagpipes.pat
+lib/timidity/patch/banjo.pat
+lib/timidity/patch/barisax.pat
+lib/timidity/patch/basslead.pat
+lib/timidity/patch/bassoon.pat
+lib/timidity/patch/belltree.pat
+lib/timidity/patch/blank.pat
+lib/timidity/patch/bongohi.pat
+lib/timidity/patch/bongolo.pat
+lib/timidity/patch/bottle.pat
+lib/timidity/patch/bowglass.pat
+lib/timidity/patch/britepno.pat
+lib/timidity/patch/c550kc_1.pat
+lib/timidity/patch/c550sn10.pat
+lib/timidity/patch/c550sn_6.pat
+lib/timidity/patch/c550vibs.pat
+lib/timidity/patch/cabasa.pat
+lib/timidity/patch/calliope.pat
+lib/timidity/patch/carillon.pat
+lib/timidity/patch/castinet.pat
+lib/timidity/patch/celeste.pat
+lib/timidity/patch/cello.pat
+lib/timidity/patch/charang.pat
+lib/timidity/patch/chiflead.pat
+lib/timidity/patch/choir.pat
+lib/timidity/patch/church.pat
+lib/timidity/patch/claps.pat
+lib/timidity/patch/clarinet.pat
+lib/timidity/patch/clave.pat
+lib/timidity/patch/clavinet.pat
+lib/timidity/patch/cleangtr.pat
+lib/timidity/patch/concrtna.pat
+lib/timidity/patch/congahi1.pat
+lib/timidity/patch/congahi2.pat
+lib/timidity/patch/congalo.pat
+lib/timidity/patch/contraba.pat
+lib/timidity/patch/cowbell.pat
+lib/timidity/patch/crystal.pat
+lib/timidity/patch/cuica1.pat
+lib/timidity/patch/cuica2.pat
+lib/timidity/patch/cymbell.pat
+lib/timidity/patch/cymchina.pat
+lib/timidity/patch/cymcrsh1.pat
+lib/timidity/patch/cymcrsh2.pat
+lib/timidity/patch/cymride1.pat
+lib/timidity/patch/cymride2.pat
+lib/timidity/patch/cymsplsh.pat
+lib/timidity/patch/distgtr.pat
+lib/timidity/patch/doo.pat
+lib/timidity/patch/echovox.pat
+lib/timidity/patch/englhorn.pat
+lib/timidity/patch/epiano1.pat
+lib/timidity/patch/epiano2.pat
+lib/timidity/patch/fantasia.pat
+lib/timidity/patch/fiddle.pat
+lib/timidity/patch/flute.pat
+lib/timidity/patch/fngrbass.pat
+lib/timidity/patch/frenchrn.pat
+lib/timidity/patch/freshair.pat
+lib/timidity/patch/fretless.pat
+lib/timidity/patch/fx-blow.pat
+lib/timidity/patch/fx-fret.pat
+lib/timidity/patch/ghostie.pat
+lib/timidity/patch/glocken.pat
+lib/timidity/patch/gtrharm.pat
+lib/timidity/patch/guiro1.pat
+lib/timidity/patch/guiro2.pat
+lib/timidity/patch/halopad.pat
+lib/timidity/patch/harmonca.pat
+lib/timidity/patch/harp.pat
+lib/timidity/patch/helicptr.pat
+lib/timidity/patch/highq.pat
+lib/timidity/patch/hihatcl.pat
+lib/timidity/patch/hihatop.pat
+lib/timidity/patch/hihatpd.pat
+lib/timidity/patch/hitbrass.pat
+lib/timidity/patch/homeorg.pat
+lib/timidity/patch/honky.pat
+lib/timidity/patch/hrpschrd.pat
+lib/timidity/patch/jazzgtr.pat
+lib/timidity/patch/jingles.pat
+lib/timidity/patch/jungle.pat
+lib/timidity/patch/kalimba.pat
+lib/timidity/patch/kick1.pat
+lib/timidity/patch/kick2.pat
+lib/timidity/patch/koto.pat
+lib/timidity/patch/lead5th.pat
+lib/timidity/patch/maracas.pat
+lib/timidity/patch/marcato.pat
+lib/timidity/patch/marimba.pat
+lib/timidity/patch/metalpad.pat
+lib/timidity/patch/metbell.pat
+lib/timidity/patch/metclick.pat
+lib/timidity/patch/musicbox.pat
+lib/timidity/patch/mutegtr.pat
+lib/timidity/patch/mutetrum.pat
+lib/timidity/patch/nyguitar.pat
+lib/timidity/patch/oboe.pat
+lib/timidity/patch/ocarina.pat
+lib/timidity/patch/odguitar.pat
+lib/timidity/patch/orchhit.pat
+lib/timidity/patch/percorg.pat
+lib/timidity/patch/piccolo.pat
+lib/timidity/patch/pickbass.pat
+lib/timidity/patch/pistol.pat
+lib/timidity/patch/pizzcato.pat
+lib/timidity/patch/polysyn.pat
+lib/timidity/patch/recorder.pat
+lib/timidity/patch/reedorg.pat
+lib/timidity/patch/revcym.pat
+lib/timidity/patch/ringwhsl.pat
+lib/timidity/patch/rockorg.pat
+lib/timidity/patch/santur.pat
+lib/timidity/patch/sawwave.pat
+lib/timidity/patch/scratch1.pat
+lib/timidity/patch/scratch2.pat
+lib/timidity/patch/seashore.pat
+lib/timidity/patch/shakazul.pat
+lib/timidity/patch/shaker.pat
+lib/timidity/patch/shamisen.pat
+lib/timidity/patch/shannai.pat
+lib/timidity/patch/sitar.pat
+lib/timidity/patch/slap.pat
+lib/timidity/patch/slapbas1.pat
+lib/timidity/patch/slapbas2.pat
+lib/timidity/patch/slowstr.pat
+lib/timidity/patch/snare1.pat
+lib/timidity/patch/snare2.pat
+lib/timidity/patch/soundtrk.pat
+lib/timidity/patch/sprnosax.pat
+lib/timidity/patch/sqrclick.pat
+lib/timidity/patch/sqrwave.pat
+lib/timidity/patch/startrak.pat
+lib/timidity/patch/steeldrm.pat
+lib/timidity/patch/stickrim.pat
+lib/timidity/patch/sticks.pat
+lib/timidity/patch/surdo1.pat
+lib/timidity/patch/surdo2.pat
+lib/timidity/patch/sweeper.pat
+lib/timidity/patch/synbass1.pat
+lib/timidity/patch/synbass2.pat
+lib/timidity/patch/synbras1.pat
+lib/timidity/patch/synbras2.pat
+lib/timidity/patch/synpiano.pat
+lib/timidity/patch/synstr1.pat
+lib/timidity/patch/synstr2.pat
+lib/timidity/patch/syntom.pat
+lib/timidity/patch/taiko.pat
+lib/timidity/patch/tamborin.pat
+lib/timidity/patch/telephon.pat
+lib/timidity/patch/tenorsax.pat
+lib/timidity/patch/timbaleh.pat
+lib/timidity/patch/timbalel.pat
+lib/timidity/patch/timpani.pat
+lib/timidity/patch/tomhi1.pat
+lib/timidity/patch/tomhi2.pat
+lib/timidity/patch/tomlo1.pat
+lib/timidity/patch/tomlo2.pat
+lib/timidity/patch/tommid1.pat
+lib/timidity/patch/tommid2.pat
+lib/timidity/patch/toms.pat
+lib/timidity/patch/tremstr.pat
+lib/timidity/patch/triangl1.pat
+lib/timidity/patch/triangl2.pat
+lib/timidity/patch/trombone.pat
+lib/timidity/patch/trumpet.pat
+lib/timidity/patch/tuba.pat
+lib/timidity/patch/tubebell.pat
+lib/timidity/patch/unicorn.pat
+lib/timidity/patch/vibes.pat
+lib/timidity/patch/vibslap.pat
+lib/timidity/patch/viola.pat
+lib/timidity/patch/violin.pat
+lib/timidity/patch/voices.pat
+lib/timidity/patch/voxlead.pat
+lib/timidity/patch/warmpad.pat
+lib/timidity/patch/whistle.pat
+lib/timidity/patch/whistle1.pat
+lib/timidity/patch/whistle2.pat
+lib/timidity/patch/woodblk.pat
+lib/timidity/patch/woodblk1.pat
+lib/timidity/patch/woodblk2.pat
+lib/timidity/patch/woodflut.pat
+lib/timidity/patch/xylophon.pat
diff --git a/audio/tosha/Makefile b/audio/tosha/Makefile
new file mode 100644
index 00000000000..e3474885631
--- /dev/null
+++ b/audio/tosha/Makefile
@@ -0,0 +1,17 @@
+# New ports collection makefile for: tosha
+# Version required: 0.05
+# Date created: 21 May 1997
+# Whom: Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:09 augustss Exp $
+#
+
+DISTNAME= tosha-0.05
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.tu-clausthal.de/pub/unix/audio/
+
+MAINTAINER= oliver.fromme@heim3.tu-clausthal.de
+
+MAN1= pcmfade.1 pcmplay.1 tosha.1
+
+.include <bsd.port.mk>
diff --git a/audio/tosha/files/md5 b/audio/tosha/files/md5
new file mode 100644
index 00000000000..1bbc1e55e71
--- /dev/null
+++ b/audio/tosha/files/md5
@@ -0,0 +1 @@
+MD5 (tosha-0.05.tar.gz) = a8de61c231018cd6044270a3936c3e08
diff --git a/audio/tosha/patches/patch-aa b/audio/tosha/patches/patch-aa
new file mode 100644
index 00000000000..4b463008d68
--- /dev/null
+++ b/audio/tosha/patches/patch-aa
@@ -0,0 +1,29 @@
+--- Makefile.orig Wed May 21 01:57:17 1997
++++ Makefile Sun May 25 10:53:33 1997
+@@ -5,7 +5,6 @@
+ # Wed May 21 01:51:37 MET DST 1997
+ #
+
+-PREFIX=/usr/local
+ BINDIR=$(PREFIX)/bin
+ MANDIR=$(PREFIX)/man
+ SECTION=1
+@@ -16,7 +15,7 @@
+ ###### ######
+ ###################################################
+
+-CFLAGS=-O2 -Wall -ansi
++# CFLAGS=-O2 -Wall -ansi
+ # CFLAGS=-g -Wall -ansi -pedantic
+
+ all: tosha pcmplay pcmfade
+@@ -40,9 +39,6 @@
+ install -s -g bin -o bin -m 755 tosha pcmplay pcmfade $(BINDIR)
+ install -c -g bin -o bin -m 644 tosha.1 pcmplay.1 pcmfade.1 \
+ $(MANDIR)/man$(SECTION)
+- gzip -f -9 $(MANDIR)/man$(SECTION)/tosha.1 \
+- $(MANDIR)/man$(SECTION)/pcmplay.1 \
+- $(MANDIR)/man$(SECTION)/pcmfade.1
+
+ clean:
+ rm -f *.o *~ *core tosha pcmplay pcmfade
diff --git a/audio/tosha/pkg/COMMENT b/audio/tosha/pkg/COMMENT
new file mode 100644
index 00000000000..4d1236dd99a
--- /dev/null
+++ b/audio/tosha/pkg/COMMENT
@@ -0,0 +1 @@
+Read CD digital audio data through the SCSI bus.
diff --git a/audio/tosha/pkg/DESCR b/audio/tosha/pkg/DESCR
new file mode 100644
index 00000000000..9d2d0fab898
--- /dev/null
+++ b/audio/tosha/pkg/DESCR
@@ -0,0 +1,9 @@
+"tosha" reads one or more CD-DA (digital audio) tracks or absolute
+sectors and writes them into a single or multiple files, or to the
+standard output.
+
+The digital audio data is read through the SCSI bus; thus tosha
+does NOT work with IDE/ATAPI CD-ROM drives nor with proprietary
+interfaces.
+
+Oliver Fromme <oliver.fromme@heim3.tu-clausthal.de>
diff --git a/audio/tosha/pkg/PLIST b/audio/tosha/pkg/PLIST
new file mode 100644
index 00000000000..e0f00a030e5
--- /dev/null
+++ b/audio/tosha/pkg/PLIST
@@ -0,0 +1,6 @@
+bin/tosha
+bin/pcmplay
+bin/pcmfade
+man/man1/tosha.1.gz
+man/man1/pcmplay.1.gz
+man/man1/pcmfade.1.gz
diff --git a/audio/tracker/Makefile b/audio/tracker/Makefile
new file mode 100644
index 00000000000..0c74e58858f
--- /dev/null
+++ b/audio/tracker/Makefile
@@ -0,0 +1,35 @@
+# New ports collection makefile for: tracker
+# Version required: 5.3
+# Date created: 2 Oct 1994
+# Whom: swallace
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:12 augustss Exp $
+#
+
+DISTNAME= tracker-5.3
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.ens.fr/pub/dmi/users/espie/beta/
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= ache@FreeBSD.ORG
+
+RESTRICTED= "Non-redistributable beta"
+
+WRKSRC= ${WRKDIR}/tracker
+USE_GMAKE= yes
+MAKE_FLAGS= MACHINE=freebsd CC=$(CC) INSTALL="$(INSTALL)" \
+ INST_BIN_OPT="-c -s -m $(BINMODE) -o $(BINOWN) -g $(BINGRP)" \
+ INST_MAN_OPT="-c -m 644 -o $(BINOWN) -g $(BINGRP)" \
+ COMPRESSION_FILE=$(PREFIX)/etc/compression_methods \
+ -f
+
+post-install:
+ cd ${WRKSRC}/Docs && \
+ makeinfo --no-split tracker.texinfo -o tracker.info && \
+ gzip -f tracker.info && \
+ $(INSTALL_MAN) tracker.info.gz ${PREFIX}/info && \
+ rm -f tracker.info.gz *.orig
+ -${MKDIR} ${PREFIX}/share/doc/tracker
+ cp -R ${WRKSRC}/Docs/* ${PREFIX}/share/doc/tracker
+
+.include <bsd.port.mk>
diff --git a/audio/tracker/files/md5 b/audio/tracker/files/md5
new file mode 100644
index 00000000000..1d55a893893
--- /dev/null
+++ b/audio/tracker/files/md5
@@ -0,0 +1 @@
+MD5 (tracker-5.3.tgz) = b1fc0f2cbdd0ff0dd79889f45d58f411
diff --git a/audio/tracker/patches/patch-aa b/audio/tracker/patches/patch-aa
new file mode 100644
index 00000000000..470698aacd7
--- /dev/null
+++ b/audio/tracker/patches/patch-aa
@@ -0,0 +1,73 @@
+*** Makefile.orig Tue May 7 19:20:50 1996
+--- Makefile Tue Nov 12 06:56:18 1996
+***************
+*** 20,26 ****
+
+ OPTS=-c
+
+! PREFIX=/users/algo/espie/pub
+ # Destination directory for tracker binaries and manpage.
+ #
+ # If you don't wish to use the 'make install' and 'make install.man'
+--- 20,26 ----
+
+ OPTS=-c
+
+! PREFIX?=/users/algo/espie/pub
+ # Destination directory for tracker binaries and manpage.
+ #
+ # If you don't wish to use the 'make install' and 'make install.man'
+***************
+*** 166,172 ****
+ UI_linux = Unix/
+ SHELL_linux = /bin/sh
+
+! CFLAGS_freebsd = -O2 -funroll-loops -finline-functions -fno-strength-reduce
+ LIBS_freebsd = -lm
+ AUDIODIR_freebsd=PCux/
+ CONFIG_freebsd = PCux/freebsd_
+--- 166,172 ----
+ UI_linux = Unix/
+ SHELL_linux = /bin/sh
+
+! CFLAGS_freebsd = -O2 -funroll-loops -finline-functions
+ LIBS_freebsd = -lm
+ AUDIODIR_freebsd=PCux/
+ CONFIG_freebsd = PCux/freebsd_
+***************
+*** 250,256 ****
+ display$O prefs$O autoinit$O $(UI)ui$O empty$O color$O version$O \
+ st_virt$O automaton$O
+
+! all: tracker${EXE} randomize${EXE} splitmod${EXE} Docs/tracker.text
+
+ config.h: $(CONFIG)config.h
+ rm -f config.h
+--- 250,256 ----
+ display$O prefs$O autoinit$O $(UI)ui$O empty$O color$O version$O \
+ st_virt$O automaton$O
+
+! all: tracker${EXE} randomize${EXE}
+
+ config.h: $(CONFIG)config.h
+ rm -f config.h
+***************
+*** 272,280 ****
+ install:
+ $(INSTALL) $(INST_BIN_OPT) tracker $(BIN_DIR)
+ $(INSTALL) $(INST_BIN_OPT) randomize $(BIN_DIR)
+- $(INSTALL) $(INST_BIN_OPT) splitmod $(BIN_DIR)
+ [ -f ${COMPRESSION_FILE} ] || \
+! $(INSTALL) $(INST_MAN_OPT) compression_methods ${COMPRESSION_FILE}
+
+ # no manpage available, use the texinfo manual.
+ install.man:
+--- 272,279 ----
+ install:
+ $(INSTALL) $(INST_BIN_OPT) tracker $(BIN_DIR)
+ $(INSTALL) $(INST_BIN_OPT) randomize $(BIN_DIR)
+ [ -f ${COMPRESSION_FILE} ] || \
+! $(INSTALL) $(INST_MAN_OPT) Lib/compression_methods ${COMPRESSION_FILE}
+
+ # no manpage available, use the texinfo manual.
+ install.man:
diff --git a/audio/tracker/patches/patch-ab b/audio/tracker/patches/patch-ab
new file mode 100644
index 00000000000..6d56391fa6b
--- /dev/null
+++ b/audio/tracker/patches/patch-ab
@@ -0,0 +1,33 @@
+*** Docs/tracker.texinfo.orig Thu Apr 11 21:21:05 1996
+--- Docs/tracker.texinfo Tue Nov 12 07:08:17 1996
+***************
+*** 979,992 ****
+ * Other Architectures: Porting tracker.
+ @end menu
+
+! @node Aix, Amiga, Architecture dependent problems, Architecture Dependent problems
+ @subsection Aix
+
+ The Aix port is slightly outdated and won't run with most recent versions of
+ Aix. There is nothing I can do about it until somebody sends me an up-to-date
+ version as I don't have access to Aix machines.
+
+! @node Amiga, DECstation, Architecture dependent problems, Architecture dependent problems
+ @subsection Amiga
+
+ There is currently one Amiga version running under AmigaDos.
+--- 979,992 ----
+ * Other Architectures: Porting tracker.
+ @end menu
+
+! @node Aix, Amiga, Architecture dependent problems, Architecture dependent problems
+ @subsection Aix
+
+ The Aix port is slightly outdated and won't run with most recent versions of
+ Aix. There is nothing I can do about it until somebody sends me an up-to-date
+ version as I don't have access to Aix machines.
+
+! @node Amiga, DECstation, Aix, Architecture dependent problems
+ @subsection Amiga
+
+ There is currently one Amiga version running under AmigaDos.
diff --git a/audio/tracker/patches/patch-ac b/audio/tracker/patches/patch-ac
new file mode 100644
index 00000000000..5bee61206a4
--- /dev/null
+++ b/audio/tracker/patches/patch-ac
@@ -0,0 +1,24 @@
+*** Arch/PCux/audio.c.bak Fri Apr 12 20:30:37 1996
+--- Arch/PCux/audio.c Tue Nov 12 08:40:29 1996
+***************
+*** 9,14 ****
+--- 9,17 ----
+ #include <unistd.h>
+ #include <fcntl.h>
+ #include "extern.h"
++ #include "prefs.h"
++ #include "autoinit.h"
++ #include "watched_var.h"
+
+ struct options_set *port_options=0;
+
+***************
+*** 116,121 ****
+--- 119,125 ----
+ }
+ samples_max = buf_max / dsize;
+ current_freq = f;
++ set_watched_scalar(FREQUENCY, f);
+ total = 0;
+ return f;
+ }
diff --git a/audio/tracker/pkg/COMMENT b/audio/tracker/pkg/COMMENT
new file mode 100644
index 00000000000..3391e61af2b
--- /dev/null
+++ b/audio/tracker/pkg/COMMENT
@@ -0,0 +1 @@
+MOD player.
diff --git a/audio/tracker/pkg/DESCR b/audio/tracker/pkg/DESCR
new file mode 100644
index 00000000000..2246f24fd3e
--- /dev/null
+++ b/audio/tracker/pkg/DESCR
@@ -0,0 +1,6 @@
+Tracker plays soundtracker music modules on a Unix machine.
+Soundtracker modules originated on the amiga, where several composing
+playing programs are available, that give results mostly compatible
+with each other. tracker just plays the specified files in sequence
+according with the current options.
+
diff --git a/audio/tracker/pkg/PLIST b/audio/tracker/pkg/PLIST
new file mode 100644
index 00000000000..a69959ebfb2
--- /dev/null
+++ b/audio/tracker/pkg/PLIST
@@ -0,0 +1,88 @@
+bin/tracker
+bin/randomize
+etc/compression_methods
+info/tracker.info.gz
+share/doc/tracker/Html/Aix.html
+share/doc/tracker/Html/Introduction.html
+share/doc/tracker/Html/Availability.html
+share/doc/tracker/Html/Registration.html
+share/doc/tracker/Html/Reporting_bugs.html
+share/doc/tracker/Html/History.html
+share/doc/tracker/Html/Installation.html
+share/doc/tracker/Html/Configure_tracker.html
+share/doc/tracker/Html/Generic_problems.html
+share/doc/tracker/Html/Architecture_dependent_problems.html
+share/doc/tracker/Html/Performance_issues.html
+share/doc/tracker/Html/Amiga.html
+share/doc/tracker/Html/DECstation.html
+share/doc/tracker/Html/HP$2fUX.html
+share/doc/tracker/Html/Linux$2fFreeBSD.html
+share/doc/tracker/Html/MM1$2fOS9.html
+share/doc/tracker/Html/NeXtStep.html
+share/doc/tracker/Html/OS$2f2.html
+share/doc/tracker/Html/Silicon_Graphics.html
+share/doc/tracker/Html/Sparc.html
+share/doc/tracker/Html/Usage.html
+share/doc/tracker/Html/Technical_Information.html
+share/doc/tracker/Html/Tracker_memory_consumption.html
+share/doc/tracker/Html/The_Protracker_format.html
+share/doc/tracker/Html/The_Protracker_file_format.html
+share/doc/tracker/Html/Decoding_pattern_information.html
+share/doc/tracker/Html/Soundtracker_and_Protracker_tempo.html
+share/doc/tracker/Html/Protracker_finetunes.html
+share/doc/tracker/Html/Sample_numbers_and_note_periods.html
+share/doc/tracker/Html/Base_effects.html
+share/doc/tracker/Html/Arpeggio.html
+share/doc/tracker/Html/Portamento_up.html
+share/doc/tracker/Html/Portamento_down.html
+share/doc/tracker/Html/Tone_portamento.html
+share/doc/tracker/Html/Vibrato.html
+share/doc/tracker/Html/Tone_portamento_$2b_Volume_slide.html
+share/doc/tracker/Html/Vibrato_$2b_Volume_slide.html
+share/doc/tracker/Html/Tremolo.html
+share/doc/tracker/Html/Set_sample_offset.html
+share/doc/tracker/Html/Slide_volume.html
+share/doc/tracker/Html/Far_jump.html
+share/doc/tracker/Html/Set_volume.html
+share/doc/tracker/Html/Pattern_break.html
+share/doc/tracker/Html/Set_tempo.html
+share/doc/tracker/Html/Protracker_extended_effects.html
+share/doc/tracker/Html/Set_filter.html
+share/doc/tracker/Html/Fine_portamento_up.html
+share/doc/tracker/Html/Fine_portamento_down.html
+share/doc/tracker/Html/Glissando_control.html
+share/doc/tracker/Html/Set_vibrato_waveform.html
+share/doc/tracker/Html/Set_finetune.html
+share/doc/tracker/Html/Loop_pattern.html
+share/doc/tracker/Html/Set_tremolo_waveform.html
+share/doc/tracker/Html/Retrig_note.html
+share/doc/tracker/Html/Fine_volume_slide_up.html
+share/doc/tracker/Html/Fine_volume_slide_down.html
+share/doc/tracker/Html/Cut_note.html
+share/doc/tracker/Html/Delay_note.html
+share/doc/tracker/Html/Delay_pattern.html
+share/doc/tracker/Html/Invert_loop.html
+share/doc/tracker/Html/Amiga_audio_hardware.html
+share/doc/tracker/Html/Resampling_details.html
+share/doc/tracker/Html/Amiga_implementation.html
+share/doc/tracker/Html/aminet.html
+share/doc/tracker/Html/Credits.html
+share/doc/tracker/Html/Finding_a_specific_file.html
+share/doc/tracker/Html/Mirror_sites_of_Aminet.html
+share/doc/tracker/Html/Accessing_Aminet_on_the_Internet.html
+share/doc/tracker/Html/Accessing_Aminet_without_Internet.html
+share/doc/tracker/Html/Copyright_status_and_disclaimer.html
+share/doc/tracker/Html/Background_information.html
+share/doc/tracker/Html/Concept_Index.html
+share/doc/tracker/Html/NAS.html
+share/doc/tracker/Html/Porting_tracker.html
+share/doc/tracker/Html/NextStep.html
+share/doc/tracker/Html/Top.html
+share/doc/tracker/tracker.texinfo
+share/doc/tracker/tracker.readme
+share/doc/tracker/tracker.guide
+share/doc/tracker/tracker.doc
+share/doc/tracker/splitmod.readme
+share/doc/tracker/readme
+share/doc/tracker/protracker.fmt
+share/doc/tracker/FAQ
diff --git a/audio/workman/Makefile b/audio/workman/Makefile
new file mode 100644
index 00000000000..f1c264953d8
--- /dev/null
+++ b/audio/workman/Makefile
@@ -0,0 +1,22 @@
+# New ports collection makefile for: workman
+# Version required: 1.3
+# Date created: 25 Now 1995
+# Whom: Donald Burr <d_burr@ix.netcom.com>
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:16 augustss Exp $
+#
+
+DISTNAME= WorkMan-1.3
+PKGNAME= workman-1.3
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_XCONTRIB}
+MASTER_SITE_SUBDIR= applications/WorkMan
+
+MAINTAINER= d_burr@ix.netcom.com
+
+LIB_DEPENDS= xview\\.3\\.:${PORTSDIR}/x11/xview-lib
+
+WRKSRC= ${WRKDIR}/workman
+USE_IMAKE= yes
+
+.include <bsd.port.mk>
diff --git a/audio/workman/files/md5 b/audio/workman/files/md5
new file mode 100644
index 00000000000..bab3836fc62
--- /dev/null
+++ b/audio/workman/files/md5
@@ -0,0 +1 @@
+MD5 (WorkMan-1.3.tar.gz) = f8ffeeb68410a14fc8386a0e7f4351e6
diff --git a/audio/workman/patches/patch-aa b/audio/workman/patches/patch-aa
new file mode 100644
index 00000000000..969ffe59f27
--- /dev/null
+++ b/audio/workman/patches/patch-aa
@@ -0,0 +1,311 @@
+diff -c --recursive ./Makefile ../workman.new/./Makefile
+*** ./Makefile Tue Jun 13 22:37:18 1995
+--- ../workman.new/./Makefile Sun Nov 26 03:26:56 1995
+***************
+*** 4,12 ****
+ # If you want to use gcc, tell make about it here.
+ #
+
+! CC = gcc
+ #CC = cc
+
+ #
+ # Uncomment the following if you're compiling on Solaris 2.x.
+ #
+--- 4,14 ----
+ # If you want to use gcc, tell make about it here.
+ #
+
+! CC = gcc -O2 -m486
+ #CC = cc
+
++ RM=rm -f
++
+ #
+ # Uncomment the following if you're compiling on Solaris 2.x.
+ #
+***************
+*** 18,26 ****
+ # SOL2 line.
+ #
+
+! SOL2 = -DSYSV -DCODEC
+! LIBLOC = -R$(LIBDIR)
+! EXTRA_LIBS = -lsocket
+
+ #
+ # Uncomment the following if you want fast database lookups using the
+--- 20,28 ----
+ # SOL2 line.
+ #
+
+! #SOL2 = -DSYSV -DCODEC
+! #LIBLOC = -R$(LIBDIR)
+! #EXTRA_LIBS = -lsocket
+
+ #
+ # Uncomment the following if you want fast database lookups using the
+***************
+*** 29,58 ****
+ # to match your system type as listed in libdb's PORT directory.
+ #
+
+! DBCFLAGS = -DLIBDB -Idb.1.85/PORT/include -Idb.1.85/PORT/sunos.5.2
+! DBLIB = db.1.85/PORT/sunos.5.2/libdb.a
+
+ #
+ # Set these to the locations of your XView include files and libraries.
+ #
+
+! INCDIR = $(OPENWINHOME)/include
+! LIBDIR = $(OPENWINHOME)/lib
+
+ #
+ # Set these to the directory names in which to install the software and
+ # help files.
+ #
+
+! BINDIR = $(OPENWINHOME)/bin
+! HLPDIR = $(OPENWINHOME)/lib/help
+
+ #
+ # Set this to the directory containing manual pages. Manual pages will only
+ # be installed if you "make install.man".
+ #
+
+! MANDIR = $(OPENWINHOME)/man
+
+ #
+ # Set these to the manual sections (e.g. 1, 4, 5, l) for the program and
+--- 31,60 ----
+ # to match your system type as listed in libdb's PORT directory.
+ #
+
+! #DBCFLAGS = -DLIBDB -Idb.1.85/PORT/include -Idb.1.85/PORT/sunos.5.2
+! #DBLIB = db.1.85/PORT/sunos.5.2/libdb.a
+
+ #
+ # Set these to the locations of your XView include files and libraries.
+ #
+
+! INCDIR = /usr/include
+! LIBDIR = /usr/X11R6/lib
+
+ #
+ # Set these to the directory names in which to install the software and
+ # help files.
+ #
+
+! BINDIR = ${PREFIX}/bin
+! HLPDIR = ${PREFIX}/lib/help
+
+ #
+ # Set this to the directory containing manual pages. Manual pages will only
+ # be installed if you "make install.man".
+ #
+
+! MANDIR = ${PREFIX}/man
+
+ #
+ # Set these to the manual sections (e.g. 1, 4, 5, l) for the program and
+***************
+*** 83,89 ****
+ CFLAGS = -g
+ CPPFLAGS = -I$(INCDIR) $(SOL2)
+ LDFLAGS = -L$(LIBDIR) $(LIBLOC)
+! LDLIBS = -lxview -lolgx -lX11 $(EXTRA_LIBS) $(DBLIB) -ldl
+
+ # Standard targets.
+
+--- 85,91 ----
+ CFLAGS = -g
+ CPPFLAGS = -I$(INCDIR) $(SOL2)
+ LDFLAGS = -L$(LIBDIR) $(LIBLOC)
+! LDLIBS = -lxview -lolgx -lX11 $(EXTRA_LIBS) $(DBLIB) #-ldl
+
+ # Standard targets.
+
+***************
+*** 96,110 ****
+ $(CC) $(LDFLAGS) $(DBCFLAGS) buildindex.c $(DBLIB) -o $@
+
+ clean:
+! $(RM) $(OBJECTS) *.BAK *.delta core
+
+! install: $(PROGRAM)
+ cp $(PROGRAM) $(BINDIR)
+ chmod 755 $(BINDIR)/$(PROGRAM)
+ cp $(PROGRAM).info $(HLPDIR)
+ chmod 644 $(HLPDIR)/$(PROGRAM).info
+-
+- install.man: workman.man workmandb.man $(MANDIR)/man$(PEXT) $(MANDIR)/man$(DEXT)
+ cp workman.man $(MANDIR)/man$(PEXT)/workman.$(PEXT)
+ chmod 644 $(MANDIR)/man$(PEXT)/workman.$(PEXT)
+ cp workmandb.man $(MANDIR)/man$(DEXT)/workmandb.$(DEXT)
+--- 98,111 ----
+ $(CC) $(LDFLAGS) $(DBCFLAGS) buildindex.c $(DBLIB) -o $@
+
+ clean:
+! $(RM) $(OBJECTS) *.BAK *.delta *.core workman
+
+! install: $(PROGRAM) workman.man workmandb.man \
+! $(MANDIR)/man$(PEXT) $(MANDIR)/man$(DEXT)
+ cp $(PROGRAM) $(BINDIR)
+ chmod 755 $(BINDIR)/$(PROGRAM)
+ cp $(PROGRAM).info $(HLPDIR)
+ chmod 644 $(HLPDIR)/$(PROGRAM).info
+ cp workman.man $(MANDIR)/man$(PEXT)/workman.$(PEXT)
+ chmod 644 $(MANDIR)/man$(PEXT)/workman.$(PEXT)
+ cp workmandb.man $(MANDIR)/man$(DEXT)/workmandb.$(DEXT)
+diff -c --recursive ./plat_freebsd.c ../workman.new/./plat_freebsd.c
+*** ./plat_freebsd.c Mon Feb 20 09:29:55 1995
+--- ../workman.new/./plat_freebsd.c Sun Nov 26 03:29:22 1995
+***************
+*** 5,10 ****
+--- 5,13 ----
+ *
+ * Todd Pfaff, 3/20/94
+ *
++ * 11/26/95: Modified to work under FreeBSD 2.x
++ * by Donald Burr <d_burr@ix.netcom.com>
++ *
+ */
+ static char *ident = "@(#)plat_freebsd.c 1.2 2/20/95";
+
+***************
+*** 30,42 ****
+ #include "/sys/scsi/scsi_all.h"
+ #include "/sys/scsi/scsi_cd.h"
+ #else
+ #include <scsi/scsi_all.h>
+ #include <scsi/scsi_cd.h>
+ #endif
+
+ #include "struct.h"
+
+! #define DEFAULT_CD_DEVICE "/dev/rcd0d"
+
+ void *malloc();
+
+--- 33,49 ----
+ #include "/sys/scsi/scsi_all.h"
+ #include "/sys/scsi/scsi_cd.h"
+ #else
++ /*
+ #include <scsi/scsi_all.h>
+ #include <scsi/scsi_cd.h>
++ */
++ #include <scsi.h>
++ #include <sys/scsiio.h>
+ #endif
+
+ #include "struct.h"
+
+! #define DEFAULT_CD_DEVICE "/dev/rcd0c"
+
+ void *malloc();
+
+***************
+*** 163,169 ****
+ }
+
+ if (ioctl(d->fd, CDIOCREADSUBCHANNEL, &sc)) {
+! #ifdef __NetBSD__
+ /* we need to release the device so the kernel will notice
+ reloaded media */
+ (void) close(d->fd);
+--- 170,176 ----
+ }
+
+ if (ioctl(d->fd, CDIOCREADSUBCHANNEL, &sc)) {
+! #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+ /* we need to release the device so the kernel will notice
+ reloaded media */
+ (void) close(d->fd);
+***************
+*** 261,266 ****
+--- 268,276 ----
+
+ bzero((char *)&vol, sizeof(vol));
+
++ #define LEFT_PORT 0
++ #define RIGHT_PORT 1
++
+ vol.vol[LEFT_PORT] = left;
+ vol.vol[RIGHT_PORT] = right;
+
+***************
+*** 345,356 ****
+ if (fstatfs(stbuf.st_rdev, &buf) == 0)
+ return (-3);
+
+! #ifdef __NetBSD__
+ rval = ioctl(d->fd, CDIOCALLOW);
+ if (rval == 0)
+ #endif
+ rval = ioctl(d->fd, CDIOCEJECT);
+! #ifdef __NetBSD__
+ if (rval == 0)
+ rval = ioctl(d->fd, CDIOCPREVENT);
+ #endif
+--- 355,366 ----
+ if (fstatfs(stbuf.st_rdev, &buf) == 0)
+ return (-3);
+
+! #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+ rval = ioctl(d->fd, CDIOCALLOW);
+ if (rval == 0)
+ #endif
+ rval = ioctl(d->fd, CDIOCEJECT);
+! #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
+ if (rval == 0)
+ rval = ioctl(d->fd, CDIOCPREVENT);
+ #endif
+diff -c --recursive ./workman.man ../workman.new/./workman.man
+*** ./workman.man Thu Jun 15 23:52:13 1995
+--- ../workman.new/./workman.man Sun Nov 26 03:28:54 1995
+***************
+*** 151,157 ****
+ .TP
+ .I \-p file
+ Write the program's process ID to a different \fIfile\fP. By default, the
+! PID is written to "/tmp/.wm_pid" to allow signals to be sent more easily
+ (see the SIGNALS section below.)
+ .TP
+ .I \-n
+--- 151,157 ----
+ .TP
+ .I \-p file
+ Write the program's process ID to a different \fIfile\fP. By default, the
+! PID is written to "/var/run/workman.pid" to allow signals to be sent more easily
+ (see the SIGNALS section below.)
+ .TP
+ .I \-n
+***************
+*** 510,515 ****
+--- 510,516 ----
+ SVR4 port by Baruch Cochavy <bcochavy@iil.intel.com>.
+ .LP
+ FreeBSD port by Todd Pfaff <todd@flex.eng.mcmaster.ca>.
++ Modified to work under FreeBSD 2.x by Donald Burr <d_burr@ix.netcom.com>.
+ .LP
+ OSF/1 port by R.J. Edwards <rje@escact.ksc.nasa.gov>.
+ .LP
+diff -c --recursive ./workman_stubs.c ../workman.new/./workman_stubs.c
+*** ./workman_stubs.c Fri Jun 16 10:44:40 1995
+--- ../workman.new/./workman_stubs.c Sun Nov 26 03:26:57 1995
+***************
+*** 56,62 ****
+--- 56,67 ----
+ Panel_item quitbutton;
+ char *getenv(), *WMstrdup();
+
++ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
++ /* FreeBSD has a special directory for pidfiles, I guess. */
++ char *pidfile = "/var/run/workman.pid";
++ #else
+ char *pidfile = "/tmp/.wm_pid";
++ #endif
+ char * empty = "";
+ extern char *cd_device;
+
diff --git a/audio/workman/pkg/COMMENT b/audio/workman/pkg/COMMENT
new file mode 100644
index 00000000000..d47ceef85a6
--- /dev/null
+++ b/audio/workman/pkg/COMMENT
@@ -0,0 +1 @@
+Open Look-based CD player tool
diff --git a/audio/workman/pkg/DESCR b/audio/workman/pkg/DESCR
new file mode 100644
index 00000000000..dcd74c5cbf1
--- /dev/null
+++ b/audio/workman/pkg/DESCR
@@ -0,0 +1,13 @@
+[ From the WorkMan README ]
+
+WorkMan is a graphical tool for playing audio compact discs on a CD-ROM
+drive. It has most of the features available on standalone CD players,
+such as a shuffle mode, programmable playlists, and elapsed/remaining
+timers. But it also has extra features, foremost of which is the ability
+to store information about CDs in a database, then automatically extract
+that information when the CD is inserted later. WorkMan stores the
+artist's name, the disc title, the names of individual tracks, and even
+remembers which tracks you don't want to hear! All in an easy-to-use,
+attractive OPEN LOOK graphical interface.
+
+[ This port is maintained by: Donald Burr <d_burr@ix.netcom.com> ]
diff --git a/audio/workman/pkg/PLIST b/audio/workman/pkg/PLIST
new file mode 100644
index 00000000000..619ce09ac6a
--- /dev/null
+++ b/audio/workman/pkg/PLIST
@@ -0,0 +1,3 @@
+bin/workman
+lib/help/workman.info
+man/man1/workman.1.gz
diff --git a/audio/xcd/Makefile b/audio/xcd/Makefile
new file mode 100644
index 00000000000..3b9d7f2b0d6
--- /dev/null
+++ b/audio/xcd/Makefile
@@ -0,0 +1,20 @@
+# New ports collection makefile for: xcd
+# Version required: 1.6
+# Date created: 22 November 1994
+# Whom: jmz
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:18 augustss Exp $
+#
+
+DISTNAME= xcd-1.6
+CATEGORIES= audio tk80
+MASTER_SITES= ftp://ftp.obs-besancon.fr/pub/outgoing/
+
+MAINTAINER= jmz@FreeBSD.org
+
+RUN_DEPENDS= wish8.0:${PORTSDIR}/x11/tk80
+
+WRKSRC= ${WRKDIR}/xcd
+MAN1= cdplayer.1 xcd.1
+
+.include <bsd.port.mk>
diff --git a/audio/xcd/files/md5 b/audio/xcd/files/md5
new file mode 100644
index 00000000000..a7b743ded0a
--- /dev/null
+++ b/audio/xcd/files/md5
@@ -0,0 +1 @@
+MD5 (xcd-1.6.tar.gz) = 718427360102e84af3df3e37478623ce
diff --git a/audio/xcd/pkg/COMMENT b/audio/xcd/pkg/COMMENT
new file mode 100644
index 00000000000..671a4b3d427
--- /dev/null
+++ b/audio/xcd/pkg/COMMENT
@@ -0,0 +1 @@
+A Tcl/Tk CD player.
diff --git a/audio/xcd/pkg/DESCR b/audio/xcd/pkg/DESCR
new file mode 100644
index 00000000000..a05075ed0f7
--- /dev/null
+++ b/audio/xcd/pkg/DESCR
@@ -0,0 +1,10 @@
+Xcd is a simple GUI to control a CD player. It requires Tcl/Tk to be
+installed on your system.
+Xcd has the usual buttons to control a CD player: "play",
+"pause/resume", "stop", "eject", "next track", "previous track",
+"rewind", "forward" and a volume slider. Xcd displays continuously the
+current track number and the elapsed time of the track. Pressing the
+left mouse button on the "track" label causes Xcd to display the total
+number of the tracks and the total duration of the disk. Pressing the
+left mouse button on the "time" label causes xcd to display the
+duration of the current track.
diff --git a/audio/xcd/pkg/PLIST b/audio/xcd/pkg/PLIST
new file mode 100644
index 00000000000..d25ab2d67de
--- /dev/null
+++ b/audio/xcd/pkg/PLIST
@@ -0,0 +1,21 @@
+bin/cdplayer
+bin/xcd
+lib/xcd/eject.xbm
+lib/xcd/eject_s.xbm
+lib/xcd/ff.xbm
+lib/xcd/ff_s.xbm
+lib/xcd/next.xbm
+lib/xcd/next_s.xbm
+lib/xcd/pause.xbm
+lib/xcd/pause_s.xbm
+lib/xcd/play.xbm
+lib/xcd/play_s.xbm
+lib/xcd/prev.xbm
+lib/xcd/prev_s.xbm
+lib/xcd/rewind.xbm
+lib/xcd/rewind_s.xbm
+lib/xcd/stop.xbm
+lib/xcd/stop_s.xbm
+man/man1/cdplayer.1.gz
+man/man1/xcd.1.gz
+
diff --git a/audio/xcd/scripts/configure b/audio/xcd/scripts/configure
new file mode 100644
index 00000000000..d2d74e8a2f9
--- /dev/null
+++ b/audio/xcd/scripts/configure
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+cd $WRKSRC || exit 1;
+
+cat >> Makefile << END
+
+BINDIR = $PREFIX/bin
+CDDIR = $PREFIX/lib/xcd
+MANDIR = $PREFIX/man/man1
+
+END
+
+mv xcd.in xcd.in~
+sed -e 's/wish4\.1/wish8.0/' < xcd.in~ > xcd.in
+exit 0;
diff --git a/audio/xcdplayer/Makefile b/audio/xcdplayer/Makefile
new file mode 100644
index 00000000000..bcd00999734
--- /dev/null
+++ b/audio/xcdplayer/Makefile
@@ -0,0 +1,19 @@
+# New ports collection makefile for: xcdplayer
+# Version required: 2.2
+# Date created: 30 Sep 1994
+# Whom: swallace
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:20 augustss Exp $
+#
+
+DISTNAME= xcdplayer-2.2
+CATEGORIES= audio
+MASTER_SITES= ftp://ftp.x.org/R5contrib/ \
+ ftp://ftp.cdrom.com/pub/X11/R5contrib/
+EXTRACT_SUFX= .tar.Z
+
+MAINTAINER= swallace@FreeBSD.org
+
+USE_IMAKE= yes
+
+.include <bsd.port.mk>
diff --git a/audio/xcdplayer/files/cdrom_freebsd.c b/audio/xcdplayer/files/cdrom_freebsd.c
new file mode 100644
index 00000000000..6d164612a4d
--- /dev/null
+++ b/audio/xcdplayer/files/cdrom_freebsd.c
@@ -0,0 +1,601 @@
+/*
+ * Copyright (C) 1990 Regents of the University of California.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and that
+ * both that copyright notice and this permission notice appear in
+ * supporting documentation, and that the name of the University of
+ * California not be used in advertising or publicity pertaining to
+ * distribution of the software without specific, written prior
+ * permission. the University of California makes no representations
+ * about the suitability of this software for any purpose. It is provided
+ * "as is" without express or implied warranty.
+ */
+
+static int c;
+
+# include <stdio.h>
+# include <sys/file.h>
+# include <sys/types.h>
+# include <sys/param.h>
+# include <sys/stat.h>
+# include <string.h>
+# include <sys/buf.h>
+# include <sys/time.h>
+
+#include <sys/ioctl.h>
+#include <sys/disklabel.h>
+#include <sys/cdio.h>
+
+# include "debug.h"
+# include "cdrom_freebsd.h"
+
+extern char *device;
+static char cdrom[] = "/dev/rcd0c";
+static char cdrom1[] = "/dev/rmcd0c";
+
+cdrom_info cdi;
+char info_filename[256];
+FILE *disc_info = NULL;
+
+static int cdrom_fd = -1;
+
+get_stored_info()
+{
+ int i,n;
+ char line[100];
+ char *title;
+
+ if(disc_info) {
+ fclose(disc_info);
+ disc_info = NULL;
+ }
+
+ if ( cdi.maxtrack == 0) {
+ return(0);
+ }
+ for (i = 0, n = 0; i < cdi.maxtrack; i++)
+ n = n + ((i+1) * cdi.times[i]);
+ n = n / cdi.maxtrack;
+
+ disc_title = NULL;
+ if (cdInfoDir != NULL)
+ sprintf(info_filename, "%s/cd.%d", cdInfoDir, n);
+ else
+ sprintf(info_filename, "cd.%d", n);
+
+ if ((disc_info = fopen(info_filename, "r")) != NULL)
+ {
+ fgets(line, 100, disc_info);
+ title = strchr(line, ':');
+ if (title != NULL)
+ {
+ *(strchr(title, '\n')) = '\0';
+ disc_title = strdup(title + 1);
+ }
+ fgets(line, 100, disc_info);
+ sscanf(line, "Program: %s", program_str);
+ }
+ else {
+ disc_title = strdup(NOTITLESTR);
+ program_str[0] = 0;
+ }
+ if (disc_title == NULL) {
+ disc_title = strdup(NOTITLESTR);
+ }
+}
+
+int
+cdrom_open() {
+ int n;
+ extern void update_title();
+
+ if (cdrom_fd != -1)
+ return(cdi.curtrack);
+
+ if (device != NULL) {
+ if ((cdrom_fd = open(device, O_RDONLY)) == -1) {
+ perror(device);
+ return(-1);
+ }
+ } else {
+ if ( (cdrom_fd = open(cdrom, O_RDONLY)) == -1
+ && (cdrom_fd = open(cdrom1, O_RDONLY)) == -1
+ ) {
+ perror("open: ");
+ return(-1);
+ }
+ }
+
+ if (cdrom_get_times() == -1) {
+ cdrom_close();
+ return(-1);
+ }
+
+ if ((n = cdrom_get_curtrack()) == -1)
+ return(-1);
+
+ get_stored_info();
+
+ update_title();
+
+ if (cdi.state & CDROM_STATE_PLAY)
+ cdi.curtrack = n;
+
+ if (cdi.state & CDROM_STATE_SHUFFLE)
+ shuffle_setup();
+
+ return(cdi.curtrack);
+}
+
+void
+cdrom_close() {
+ if (cdrom_fd == -1)
+ return;
+
+ if (cdi.times != NULL) {
+ free((char *) cdi.times);
+ free((char *) cdi.addrs);
+ cdi.times = NULL;
+ cdi.addrs = NULL;
+ }
+
+ (void) close(cdrom_fd);
+ cdrom_fd = -1;
+}
+
+
+int
+cdrom_start() {
+ if (cdrom_fd == -1)
+ return(-1);
+
+ if (ioctl(cdrom_fd, CDIOCSTART) == -1) {
+ perror("ioctl(cdromstart)");
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_stop() {
+ if (cdrom_fd == -1)
+ return(-1);
+
+ if (ioctl(cdrom_fd, CDIOCSTOP) == -1) {
+ perror("ioctl(cdromstop)");
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_eject() {
+ if (cdrom_fd == -1)
+ return(-1);
+
+ if (ioctl(cdrom_fd, CDIOCALLOW) == -1) {
+ perror("ioctl(cdromallow)");
+ return(-1);
+ }
+
+ if (ioctl(cdrom_fd, CDIOCEJECT) == -1) {
+ perror("ioctl(cdromeject)");
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_pause() {
+ if (cdrom_fd == -1)
+ return(-1);
+
+ if (ioctl(cdrom_fd, CDIOCPAUSE) == -1) {
+ perror("ioctl(cdrompause)");
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_resume() {
+ if (cdrom_fd == -1)
+ return(-1);
+
+ if (ioctl(cdrom_fd, CDIOCRESUME) == -1) {
+ perror("ioctl(cdromresume)");
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_volume(left_vol, right_vol)
+ int left_vol;
+ int right_vol;
+{
+ struct ioc_vol vol;
+
+ if (cdrom_fd == -1)
+ return(-1);
+
+ vol.vol[0] = left_vol;
+ vol.vol[1] = right_vol;
+ vol.vol[2] = 0;
+ vol.vol[3] = 0;
+
+ if (ioctl(cdrom_fd, CDIOCSETVOL, &vol) == -1) {
+ perror("ioctl(cdromvolctrl)");
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_get_times() {
+ struct ioc_toc_header tochdr;
+ extern unsigned short *ushort_malloc();
+ extern struct msf *msf_malloc();
+ unsigned long trk, trk_total, otime;
+ struct msf msf;
+
+ if (cdrom_read_tochdr(&tochdr) == -1)
+ return(-1);
+
+ cdi.mintrack = tochdr.starting_track;
+ cdi.maxtrack = tochdr.ending_track;
+
+ if (cdi.times != NULL)
+ {
+ free((char *) cdi.times);
+ free((char *) cdi.addrs);
+ cdi.times = NULL;
+ cdi.addrs = NULL;
+ }
+
+ cdi.times = ushort_malloc(cdi.maxtrack - cdi.mintrack + 1);
+ cdi.addrs = msf_malloc(cdi.maxtrack - cdi.mintrack + 2);
+
+ otime = 0;
+
+ for (trk = cdi.mintrack; trk <= cdi.maxtrack; trk++) {
+ if (cdrom_get_msf(trk, &msf, &trk_total) == -1)
+ return(-1);
+
+ /* record start address for each track (track 1 starts at 0)*/
+ cdi.addrs[trk - cdi.mintrack] = msf;
+
+ trk_total -= otime;
+
+ /* use start time of next track as length of previous */
+ if (otime != 0)
+ {
+ cdi.times[trk - cdi.mintrack - 1] = trk_total;
+ }
+
+ otime += trk_total;
+
+ }
+
+ /* find start of leadout to get length of last track */
+ if (cdrom_get_msf(CDROM_LEADOUT, &msf, &trk_total) == -1)
+ return(-1);
+
+ /* recode leadout start address */
+ cdi.addrs[trk - cdi.mintrack] = msf;
+ trk_total -= otime;
+ otime += trk_total;
+
+ cdi.times[trk - cdi.mintrack - 1] = trk_total;
+ return(0);
+}
+
+int
+cdrom_get_curtrack() {
+ struct cd_sub_channel_info data;
+
+ if (cdrom_read_subchannel(&data) == -1)
+ return(-1);
+
+ switch (data.header.audio_status) {
+ case CD_AS_AUDIO_INVALID:
+ return(-1);
+
+ /* playing track subchnl.cdsc_trk */
+ case CD_AS_PLAY_IN_PROGRESS:
+ return((int) data.what.position.track_number);
+
+ /* paused on track subchnl.cdsc_trk */
+ case CD_AS_PLAY_PAUSED:
+ return((int) data.what.position.track_number);
+
+ /* punt */
+ case CD_AS_PLAY_COMPLETED:
+ return(0);
+
+ case CD_AS_PLAY_ERROR:
+ return(-1);
+
+ /* punt */
+ case CD_AS_NO_STATUS:
+ debug_printf(1, "cdrom_get_curtrack: no status\n");
+ return(0);
+ }
+
+ /* bad value in cdsc_audiostatus */
+ return(-1);
+}
+
+int
+cdrom_get_msf(track, msf, length)
+ unsigned long track;
+ struct msf *msf;
+ unsigned long *length;
+{
+ struct cd_toc_entry data;
+
+ if (cdrom_read_tocentry(track, &data, sizeof(data)) == -1)
+ return(-1);
+
+ msf->minute = data.addr.msf.minute;
+ msf->second = data.addr.msf.second;
+ msf->frame = data.addr.msf.frame;
+ *length = (((unsigned int) msf->minute) * 60) + (unsigned int) msf->second;
+ return(0);
+}
+
+int
+cdrom_get_curmsf(msf)
+ struct msf *msf;
+{
+ struct cd_sub_channel_info data;
+
+ if (cdrom_read_subchannel(&data) == -1)
+ return(-1);
+
+ msf->minute = data.what.position.absaddr.msf.minute;
+ msf->second = data.what.position.absaddr.msf.second;
+ msf->frame = data.what.position.absaddr.msf.frame;
+ return (0);
+}
+
+int
+cdrom_play_track(start_track, end_track)
+ unsigned char start_track;
+ unsigned char end_track;
+{
+ struct ioc_play_track ti;
+ struct ioc_play_msf play_addr;
+ char *addr;
+
+ if (cdrom_fd == -1)
+ return(-1);
+
+ play_addr.start_m = cdi.addrs[start_track - cdi.mintrack].minute;
+ play_addr.start_s = cdi.addrs[start_track - cdi.mintrack].second;
+ play_addr.start_f = cdi.addrs[start_track - cdi.mintrack].frame;
+ play_addr.end_m = cdi.addrs[end_track - cdi.mintrack + 1].minute;
+ play_addr.end_s = cdi.addrs[end_track - cdi.mintrack + 1].second;
+ play_addr.end_f = cdi.addrs[end_track - cdi.mintrack + 1].frame - 1;
+
+ if(play_addr.end_f >= 75) {
+ play_addr.end_f = 74;
+ play_addr.end_s--;
+ }
+ if(play_addr.end_s >= 60) {
+ play_addr.end_s = 59;
+ play_addr.end_m--;
+ }
+ addr = (char *)&play_addr;
+ if (ioctl(cdrom_fd, CDIOCPLAYMSF, &play_addr) == -1) {
+ perror("ioctl(cdromplaymsftrk)");
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_play_msf(start_msf, end_msf)
+ struct msf *start_msf;
+ struct msf *end_msf;
+{
+ struct ioc_play_msf play_addr;
+
+ if (cdrom_fd == -1)
+ return(-1);
+
+ play_addr.start_m = start_msf->minute;
+ play_addr.start_s = start_msf->second;
+ play_addr.start_f = start_msf->frame;
+ play_addr.end_m = end_msf->minute;
+ play_addr.end_s = end_msf->second;
+ play_addr.end_f = end_msf->frame;
+
+ if (ioctl(cdrom_fd, CDIOCPLAYMSF, &play_addr) == -1) {
+ perror("ioctl(cdromplaymsf)");
+ return(-1);
+ }
+
+ return(0);
+}
+
+
+int
+cdrom_read_subchannel(data)
+ struct cd_sub_channel_info *data;
+{
+ struct ioc_read_subchannel subchnl;
+
+ if (cdrom_fd == -1)
+ return(-1);
+
+ subchnl.address_format = CD_MSF_FORMAT;
+ subchnl.data_format = CD_CURRENT_POSITION;
+ subchnl.data_len = /* sizeof(struct cd_sub_channel_info)*/ 16;
+ subchnl.track = 0;
+ subchnl.data = data;
+
+ if (ioctl(cdrom_fd, CDIOCREADSUBCHANNEL, (char *) &subchnl) == -1) {
+ fprintf(stderr, "ioctl(cdromsubchnl): ");
+ perror(cdrom);
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_read_track(track, data)
+ unsigned int track;
+ struct cd_sub_channel_info *data;
+{
+ struct ioc_read_subchannel subchnl;
+
+ if (cdrom_fd == -1)
+ return(-1);
+
+ subchnl.address_format = CD_MSF_FORMAT;
+ subchnl.data_format = CD_TRACK_INFO;
+ subchnl.data_len = /* sizeof(struct cd_sub_channel_info)*/ 24;
+ subchnl.track = track;
+ subchnl.data = data;
+
+ if (ioctl(cdrom_fd, CDIOCREADSUBCHANNEL, (char *) &subchnl) == -1) {
+ fprintf(stderr, "ioctl(cdromsubchnltrk): ");
+ perror(cdrom);
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_read_tocentry(track, data, size)
+ unsigned int track;
+ struct cd_toc_entry *data;
+ int size;
+{
+ struct ioc_read_toc_entry tocentry;
+
+ if (cdrom_fd == -1)
+ return(-1);
+
+ tocentry.starting_track = (unsigned char)track;
+ tocentry.address_format = CD_MSF_FORMAT;
+ tocentry.data_len = /* sizeof(struct cd_toc_entry)*/ size;
+ tocentry.data = data;
+
+ if (ioctl(cdrom_fd, CDIOREADTOCENTRYS, (char *) &tocentry) == -1) {
+ perror("ioctl(cdromreadtocentry)");
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_read_tochdr(tochdr)
+ struct ioc_toc_header *tochdr;
+{
+ if (cdrom_fd == -1)
+ return(-1);
+
+ if (ioctl(cdrom_fd, CDIOREADTOCHEADER, (char *) tochdr) == -1) {
+ perror("ioctl(cdromreadtochdr): ");
+ return(-1);
+ }
+
+ return(0);
+}
+
+int
+cdrom_status() {
+ struct cd_sub_channel_info data;
+
+ if (cdrom_read_subchannel(&data) == -1)
+ return(-1);
+
+ switch (data.header.audio_status) {
+ case CD_AS_AUDIO_INVALID:
+ return(CDROM_INVALID);
+
+ case CD_AS_PLAY_IN_PROGRESS:
+ return(CDROM_PLAYING);
+
+ case CD_AS_PLAY_PAUSED:
+ return(CDROM_PAUSED);
+
+ case CD_AS_PLAY_COMPLETED:
+ return(CDROM_COMPLETED);
+
+ case CD_AS_PLAY_ERROR:
+ return(CDROM_ERROR);
+
+ case CD_AS_NO_STATUS:
+ return(CDROM_NO_STATUS);
+ }
+
+ return(-1);
+}
+
+unsigned short *
+ushort_malloc(n)
+ int n;
+{
+ extern char *calloc();
+ unsigned short *ptr;
+
+ ptr = (unsigned short *) calloc(n, sizeof(unsigned short));
+ if (ptr == NULL) {
+ perror("calloc");
+ exit(1);
+ }
+
+ return(ptr);
+}
+
+struct msf *
+msf_malloc(n)
+ int n;
+{
+ extern char *calloc();
+ struct msf *ptr;
+
+ ptr = (struct msf *) calloc(n, sizeof(struct msf));
+ if (ptr == NULL) {
+ perror("calloc");
+ exit(1);
+ }
+
+ return(ptr);
+}
+
+int
+cdrom_disp_cdi() {
+ int trk;
+
+ fprintf(stderr,"CDI structure:\n");
+ fprintf(stderr,"\tcurtrack: %d\n",cdi.curtrack);
+ fprintf(stderr,"\tmin: %d max: %d total: %d\n",
+ cdi.mintrack, cdi.maxtrack, cdi.ntracks);
+ fprintf(stderr,"\tdur: %d state: %2x\n",cdi.duration, cdi.state);
+ fprintf(stderr,"\tcurrand: %d lastprog: %d\n",
+ cdi.currand, cdi.lastprog);
+ fprintf(stderr,"\n\tTracklist:\n");
+ if (cdi.maxtrack != cdi.mintrack) {
+ for (trk=0; trk<=cdi.maxtrack-cdi.mintrack+1; trk++) {
+ fprintf(stderr,"\t%3d: %d %02d:%02d %d\n",trk,cdi.times[trk],
+ cdi.addrs[trk].minute,cdi.addrs[trk].second,
+ cdi.addrs[trk].frame);
+ }
+ }
+}
diff --git a/audio/xcdplayer/files/cdrom_freebsd.h b/audio/xcdplayer/files/cdrom_freebsd.h
new file mode 100644
index 00000000000..f65872bcf53
--- /dev/null
+++ b/audio/xcdplayer/files/cdrom_freebsd.h
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 1990 Regents of the University of California.
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and
+ * its documentation for any purpose is hereby granted without fee,
+ * provided that the above copyright notice appear in all copies and that
+ * both that copyright notice and this permission notice appear in
+ * supporting documentation, and that the name of the University of
+ * California not be used in advertising or publicity pertaining to
+ * distribution of the software without specific, written prior
+ * permission. the University of California makes no representations
+ * about the suitability of this software for any purpose. It is provided
+ * "as is" without express or implied warranty.
+ */
+
+# include <X11/Intrinsic.h>
+
+# define NOTITLESTR "No Title"
+# define NODISCSTR "No Disc"
+
+# define bit(n) (1 << (n))
+
+/* bits for cdrom_state */
+# define CDROM_STATE_PLAY bit(0)
+# define CDROM_STATE_PAUSE bit(1)
+# define CDROM_STATE_STOP bit(2)
+# define CDROM_STATE_EJECTED bit(3)
+# define CDROM_STATE_CYCLE bit(4)
+# define CDROM_STATE_SHUFFLE bit(5)
+# define CDROM_STATE_PROGRAM bit(6)
+
+/* return codes from cdrom_status() */
+# define CDROM_INVALID 1
+# define CDROM_PLAYING 2
+# define CDROM_PAUSED 3
+# define CDROM_COMPLETED 4
+# define CDROM_ERROR 5
+# define CDROM_NO_STATUS 6
+
+#define STILL_MOUNTED 1
+#define UNMOUNTED 0
+#define CDROM_LEADOUT 0xAA
+#define CDROM_MSF 0x02
+
+struct msf {
+ unsigned char minute;
+ unsigned char second;
+ unsigned char frame;
+};
+
+struct prognode {
+ unsigned char track;
+ Widget button;
+ struct prognode *next;
+ struct prognode *prev;
+};
+
+typedef struct _cdrom_info {
+ unsigned char curtrack; /* current track playing */
+ unsigned char mintrack; /* first audio track */
+ unsigned char maxtrack; /* last audio track */
+ unsigned char ntracks; /* size of random track list */
+ int duration; /* seconds played so far */
+ int state; /* state of cd-rom drive */
+ short currand; /* index into random track list */
+ short lastprog; /* number of selections in prog.*/
+ unsigned short *times; /* duration of each track */
+ struct msf *addrs; /* starting minute/second/frames*/
+ struct prognode *selection; /* currently selected prog. trk */
+ struct prognode *program; /* list of programmed tracks */
+} cdrom_info;
+
+extern int cdrom_open();
+extern void cdrom_close();
+extern int cdrom_start();
+extern int cdrom_stop();
+extern int cdrom_eject();
+extern int cdrom_pause();
+extern int cdrom_resume();
+extern int cdrom_volume();
+extern int cdrom_get_times();
+extern int cdrom_get_curtrack();
+extern int cdrom_get_msf();
+extern int cdrom_get_curmsf();
+extern int cdrom_play_track();
+extern int cdrom_play_msf();
+extern int cdrom_read_tocentry();
+extern int cdrom_read_tochdr();
+extern int cdrom_status();
+
+extern cdrom_info cdi;
+extern char *disc_title;
+extern char program_str[];
+extern char *cdInfoDir;
+
diff --git a/audio/xcdplayer/files/md5 b/audio/xcdplayer/files/md5
new file mode 100644
index 00000000000..10f4d1c6546
--- /dev/null
+++ b/audio/xcdplayer/files/md5
@@ -0,0 +1 @@
+MD5 (xcdplayer-2.2.tar.Z) = d5d1d86abc4a0f5e2ea99a40ee63f98d
diff --git a/audio/xcdplayer/patches/patch-aa b/audio/xcdplayer/patches/patch-aa
new file mode 100644
index 00000000000..dd840196aee
--- /dev/null
+++ b/audio/xcdplayer/patches/patch-aa
@@ -0,0 +1,171 @@
+*** XCdplayer.ad Tue Jan 12 10:59:41 1993
+--- /users/swallace/work/xcdplayer/XCdplayer.ad Wed Feb 23 07:36:31 1994
+***************
+*** 19,29 ****
+
+ XCdplayer*logoLabel.foreground: Gold
+ XCdplayer*logoLabel.background: Black
+- XCdplayer*icon*foreground: Gold
+
+ XCdplayer*versionLabel.Font: -misc-fixed-medium-r-normal--8-*
+ XCdplayer*versionLabel.foreground: Black
+! XCdplayer*versionLabel.width: 130
+ XCdplayer*versionLabel.fromHoriz: logoLabel
+
+ ! replayThreshold is the number of seconds that must be played before the
+--- 19,28 ----
+
+ XCdplayer*logoLabel.foreground: Gold
+ XCdplayer*logoLabel.background: Black
+
+ XCdplayer*versionLabel.Font: -misc-fixed-medium-r-normal--8-*
+ XCdplayer*versionLabel.foreground: Black
+! XCdplayer*versionLabel.width: 110
+ XCdplayer*versionLabel.fromHoriz: logoLabel
+
+ ! replayThreshold is the number of seconds that must be played before the
+***************
+*** 33,48 ****
+
+ ! scanSkipInterval is the number of seconds skipped at each fast-forward or
+ ! reverse.
+! XCdplayer*scanSkipInterval: 3
+ ! pauseSkipInterval is the number of seconds skipped at each fast-forward or
+ ! reverse if the CD is paused.
+! XCdplayer*pauseSkipInterval: 15
+
+ ! scanPauseInterval is the number of seconds between each fast_forward or
+ ! reverse while holding down the buttons. (Sun CDs have a dreadfully long
+ ! start-up time for the audio to actually become audible, so "hearing the
+ ! track" while scanning isn't very feasible.)
+! XCdplayer*scanPauseInterval: 0.062
+ ! pausePauseInterval does the same thing when the disc is paused.
+ XCdplayer*pausePauseInterval: 0.5
+
+--- 32,47 ----
+
+ ! scanSkipInterval is the number of seconds skipped at each fast-forward or
+ ! reverse.
+! XCdplayer*scanSkipInterval: 5
+ ! pauseSkipInterval is the number of seconds skipped at each fast-forward or
+ ! reverse if the CD is paused.
+! XCdplayer*pauseSkipInterval: 20
+
+ ! scanPauseInterval is the number of seconds between each fast_forward or
+ ! reverse while holding down the buttons. (Sun CDs have a dreadfully long
+ ! start-up time for the audio to actually become audible, so "hearing the
+ ! track" while scanning isn't very feasible.)
+! XCdplayer*scanPauseInterval: 0.25
+ ! pausePauseInterval does the same thing when the disc is paused.
+ XCdplayer*pausePauseInterval: 0.5
+
+***************
+*** 56,62 ****
+ XCdplayer*Viewport.allowHoriz: True
+ XCdplayer*Viewport.useBottom: True
+ XCdplayer*Viewport.forceBars: False
+! XCdplayer*Viewport.width: 188
+ XCdplayer*Viewport.height: 30
+ XCdplayer*Viewport*thickness: 8
+ XCdplayer*Viewport.resizable: False
+--- 55,61 ----
+ XCdplayer*Viewport.allowHoriz: True
+ XCdplayer*Viewport.useBottom: True
+ XCdplayer*Viewport.forceBars: False
+! XCdplayer*Viewport.width: 160
+ XCdplayer*Viewport.height: 30
+ XCdplayer*Viewport*thickness: 8
+ XCdplayer*Viewport.resizable: False
+***************
+*** 88,98 ****
+ XCdplayer*Toggle.right: ChainLeft
+ XCdplayer*Toggle.background: Ivory
+
+! XCdplayer*ledsLabel.horizDistance: 20
+ XCdplayer*ledsLabel.fromVert: versionLabel
+ XCdplayer*ledsLabel.fromHoriz: logoLabel
+
+! XCdplayer*trackButton.horizDistance: 8
+ XCdplayer*trackButton.fromVert: versionLabel
+ XCdplayer*trackButton.fromHoriz: ledsLabel
+ XCdplayer*trackButton.borderWidth: 2
+--- 87,97 ----
+ XCdplayer*Toggle.right: ChainLeft
+ XCdplayer*Toggle.background: Ivory
+
+! XCdplayer*ledsLabel.horizDistance: 4
+ XCdplayer*ledsLabel.fromVert: versionLabel
+ XCdplayer*ledsLabel.fromHoriz: logoLabel
+
+! XCdplayer*trackButton.horizDistance: 4
+ XCdplayer*trackButton.fromVert: versionLabel
+ XCdplayer*trackButton.fromHoriz: ledsLabel
+ XCdplayer*trackButton.borderWidth: 2
+***************
+*** 108,134 ****
+ XCdplayer*timerButton.left: ChainRight
+ XCdplayer*timerButton.right: ChainRight
+
+! XCdplayer*volumeScrollbar.horizDistance:8
+ XCdplayer*volumeScrollbar.fromHoriz: logoLabel
+ XCdplayer*volumeScrollbar.fromVert: trackButton
+ XCdplayer*volumeScrollbar.orientation: horizontal
+! XCdplayer*volumeScrollbar.length: 120
+ XCdplayer*volumeScrollbar.right: ChainRight
+ XCdplayer*volumeScrollbar.left: ChainRight
+ XCdplayer*volumeScrollbar.background: green
+ XCdplayer*volumeScrollbar.foreground: white
+! XCdplayer*volumeScrollbar.thumb: black
+
+ XCdplayer*titleBarViewport.fromVert: volumeScrollbar
+- XCdplayer*titleBarViewport.forceBars: true
+ XCdplayer*titleBar.borderwidth: 0
+ XCdplayer*titleBar.highlightThickness: 1
+ XCdplayer*titleBar.foreground: Red
+ XCdplayer*titleBar.background: Ivory
+-
+- XCdplayer*titleDialog.Text.translations:#override\
+- <Key>Return: done()
+-
+ XCdplayer*buttonsForm.fromVert: logoForm
+ XCdplayer*buttonsForm.borderWidth: 1
+
+--- 107,128 ----
+ XCdplayer*timerButton.left: ChainRight
+ XCdplayer*timerButton.right: ChainRight
+
+! XCdplayer*volumeScrollbar.horizDistance:4
+ XCdplayer*volumeScrollbar.fromHoriz: logoLabel
+ XCdplayer*volumeScrollbar.fromVert: trackButton
+ XCdplayer*volumeScrollbar.orientation: horizontal
+! XCdplayer*volumeScrollbar.length: 93
+ XCdplayer*volumeScrollbar.right: ChainRight
+ XCdplayer*volumeScrollbar.left: ChainRight
+ XCdplayer*volumeScrollbar.background: green
+ XCdplayer*volumeScrollbar.foreground: white
+! XCdplayer*volumeScrollbar.thumb: black
+
+ XCdplayer*titleBarViewport.fromVert: volumeScrollbar
+ XCdplayer*titleBar.borderwidth: 0
+ XCdplayer*titleBar.highlightThickness: 1
+ XCdplayer*titleBar.foreground: Red
+ XCdplayer*titleBar.background: Ivory
+ XCdplayer*buttonsForm.fromVert: logoForm
+ XCdplayer*buttonsForm.borderWidth: 1
+
+*** Imakefile Tue Jan 12 10:59:29 1993
+--- /users/swallace/work/xcdplayer/Imakefile Fri Sep 30 17:09:19 1994
+***************
+*** 15,20 ****
+--- 15,25 ----
+
+ LOCAL_LIBRARIES = XawClientLibs
+ LINTLIBS = -lXaw -lXt -lX11
++ SRCS = main.c top_setup.c logo_setup.c button_setup.c cdrom_callb.c\
++ cdrom_freebsd.c internals.c shuffle.c program.c leds.c debug.c
++
++ OBJS = main.o top_setup.o logo_setup.o button_setup.o cdrom_callb.o\
++ cdrom_freebsd.o internals.o shuffle.o program.o leds.o debug.o
+ #ifdef SunArchitecture
+ SRCS = main.c top_setup.c logo_setup.c button_setup.c cdrom_callb.c\
+ cdrom_sun.c internals.c shuffle.c program.c leds.c debug.c
diff --git a/audio/xcdplayer/patches/patch-ab b/audio/xcdplayer/patches/patch-ab
new file mode 100644
index 00000000000..ed31ad63007
--- /dev/null
+++ b/audio/xcdplayer/patches/patch-ab
@@ -0,0 +1,266 @@
+*** button_setup.c Tue Jan 12 10:59:47 1993
+--- /users/swallace/work/xcdplayer/button_setup.c Wed Feb 23 07:36:36 1994
+***************
+*** 20,25 ****
+--- 20,28 ----
+ # include <X11/Xaw/Toggle.h>
+
+ # include "cdrom_globs.h"
++ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
++ # include "cdrom_freebsd.h"
++ #endif
+ #ifdef sun
+ # include "cdrom_sun.h"
+ #endif
+***************
+*** 44,49 ****
+--- 47,69 ----
+ # include "ff.xbm"
+ # include "pgm.xbm"
+
++ void title_dialog_setup();
++ static void play_button_setup();
++ static void stop_button_setup();
++ static void pause_button_setup();
++ static void prev_button_setup();
++ static void next_button_setup();
++ static void eject_button_setup();
++ #ifdef sgi
++ void audio_button_setup();
++ #endif
++ static void quit_button_setup();
++ static void cycle_button_setup();
++ static void shuffle_button_setup();
++ static void rew_button_setup();
++ static void ff_button_setup();
++ static void pgm_button_setup();
++ void buttons_reset();
+
+ static Widget buttons_form_widget;
+ static Widget play_button_widget;
+***************
+*** 71,95 ****
+ Widget parent_widget;
+ {
+ Arg args[1];
+-
+- extern void title_dialog_setup();
+- extern void play_button_setup();
+- extern void stop_button_setup();
+- extern void pause_button_setup();
+- extern void prev_button_setup();
+- extern void next_button_setup();
+- extern void eject_button_setup();
+- #ifdef sgi
+- extern void audio_button_setup();
+- #endif
+- extern void quit_button_setup();
+- extern void cycle_button_setup();
+- extern void shuffle_button_setup();
+- extern void rew_button_setup();
+- extern void ff_button_setup();
+- extern void pgm_button_setup();
+- extern void buttons_reset();
+-
+
+ buttons_form_widget = XtCreateManagedWidget("buttonsForm",
+ formWidgetClass,
+--- 91,96 ----
+*** cdrom_callb.c Tue Jan 12 10:59:48 1993
+--- /users/swallace/work/xcdplayer/cdrom_callb.c Wed Feb 23 07:36:41 1994
+***************
+*** 22,27 ****
+--- 22,30 ----
+
+ # include "debug.h"
+ # include "cdrom_globs.h"
++ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
++ # include "cdrom_freebsd.h"
++ #endif
+ #ifdef sun
+ # include "cdrom_sun.h"
+ #endif
+*** internals.c Tue Jan 12 10:59:45 1993
+--- /users/swallace/work/xcdplayer/internals.c Wed Feb 23 07:36:47 1994
+***************
+*** 22,27 ****
+--- 22,30 ----
+
+ # include "debug.h"
+ # include "cdrom_globs.h"
++ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
++ # include "cdrom_freebsd.h"
++ #endif
+ #ifdef sun
+ # include "cdrom_sun.h"
+ #endif
+***************
+*** 29,35 ****
+ # include "cdrom_sgi.h"
+ #endif
+
+!
+ static XtIntervalId ivid = -1;
+ static XtIntervalId scanivid = -1;
+ static XtIntervalId stativid = -1;
+--- 32,38 ----
+ # include "cdrom_sgi.h"
+ #endif
+
+! static void scan_update();
+ static XtIntervalId ivid = -1;
+ static XtIntervalId scanivid = -1;
+ static XtIntervalId stativid = -1;
+***************
+*** 170,176 ****
+ struct msf track_start;
+ struct msf start_addr, end_addr;
+ int curtrack;
+- extern void scan_update();
+
+ if (cdrom_get_curmsf(&start_addr) == -1) {
+ debug_printf(1, "rew: error reading location\n");
+--- 173,178 ----
+***************
+*** 304,310 ****
+ struct msf start_addr, end_addr, next_start;
+ char t;
+ int curtrack;
+- extern void scan_update();
+
+ if (cdrom_get_curmsf(&start_addr) == -1) {
+ debug_printf(1, "ff: error reading location\n");
+--- 306,311 ----
+*** logo_setup.c Tue Jan 12 10:59:46 1993
+--- /users/swallace/work/xcdplayer/logo_setup.c Wed Feb 23 07:36:52 1994
+***************
+*** 28,33 ****
+--- 28,36 ----
+ # include <stdio.h>
+
+ # include "cdrom_globs.h"
++ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
++ # include "cdrom_freebsd.h"
++ #endif
+ #ifdef sun
+ # include "cdrom_sun.h"
+ #endif
+***************
+*** 55,73 ****
+ Widget title_done_widget;
+
+ static int vol;
+
+ void
+ logo_setup(parent_widget)
+ Widget parent_widget;
+ {
+- extern void leds_label_setup();
+- extern void cb_track_button();
+- extern void cb_timer_button();
+- extern void volume_jump_proc();
+- extern void volume_scroll_proc();
+- extern void popup_title_dialog();
+- extern void popdown_title_dialog();
+-
+ Widget version_label_widget;
+ char version_string[80];
+
+--- 58,76 ----
+ Widget title_done_widget;
+
+ static int vol;
++ extern void leds_label_setup();
++ static void cb_track_button();
++ static void cb_timer_button();
++ static void volume_jump_proc();
++ static void volume_scroll_proc();
++ static void popup_title_dialog();
++ static void popdown_title_dialog();
++
+
+ void
+ logo_setup(parent_widget)
+ Widget parent_widget;
+ {
+ Widget version_label_widget;
+ char version_string[80];
+
+*** program.c Tue Jan 12 10:59:49 1993
+--- /users/swallace/work/xcdplayer/program.c Wed Feb 23 07:36:55 1994
+***************
+*** 27,36 ****
+
+ # include <stdio.h>
+ # include <string.h>
+! # include <malloc.h>
+
+ # include "debug.h"
+ # include "cdrom_globs.h"
+ #ifdef sun
+ # include "cdrom_sun.h"
+ #endif
+--- 27,39 ----
+
+ # include <stdio.h>
+ # include <string.h>
+! # include <sys/malloc.h>
+
+ # include "debug.h"
+ # include "cdrom_globs.h"
++ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
++ # include "cdrom_freebsd.h"
++ #endif
+ #ifdef sun
+ # include "cdrom_sun.h"
+ #endif
+***************
+*** 52,57 ****
+--- 55,69 ----
+ static Boolean adding_to_new_track = False;
+ static struct prognode *current_node = NULL;
+
++ static void cb_move_program_ptr();
++ static void cb_clear_program();
++ static void cb_cancel_program();
++ static void cb_save_program();
++ static void cb_trackbuttons();
++ static void cb_add_10();
++ static void cb_new_track();
++ static void cb_program_all();
++
+ void
+ program_form_setup (parent_widget)
+ Widget parent_widget;
+***************
+*** 66,80 ****
+ Widget cancel_button;
+ Widget save_button;
+ Widget all_button;
+-
+- extern void cb_move_program_ptr();
+- extern void cb_clear_program();
+- extern void cb_cancel_program();
+- extern void cb_save_program();
+- extern void cb_trackbuttons();
+- extern void cb_add_10();
+- extern void cb_new_track();
+- extern void cb_program_all();
+
+ /*
+ * create program form as a non-managed widget, because this
+--- 78,83 ----
+*** shuffle.c Tue Jan 12 10:59:38 1993
+--- /users/swallace/work/xcdplayer/shuffle.c Wed Feb 23 07:36:59 1994
+***************
+*** 18,23 ****
+--- 18,26 ----
+
+ # include "debug.h"
+ # include "cdrom_globs.h"
++ #if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__)
++ # include "cdrom_freebsd.h"
++ #endif
+ #ifdef sun
+ # include "cdrom_sun.h"
+ #endif
diff --git a/audio/xcdplayer/pkg/COMMENT b/audio/xcdplayer/pkg/COMMENT
new file mode 100644
index 00000000000..c0923e8065b
--- /dev/null
+++ b/audio/xcdplayer/pkg/COMMENT
@@ -0,0 +1 @@
+CD player for X.
diff --git a/audio/xcdplayer/pkg/DESCR b/audio/xcdplayer/pkg/DESCR
new file mode 100644
index 00000000000..c2dc089d5cf
--- /dev/null
+++ b/audio/xcdplayer/pkg/DESCR
@@ -0,0 +1,8 @@
+XCdplayer 2.2
+
+XCdplayer is a graphical user interface for controlling the CD-ROM
+drive under the X Window System. It provides visual feedback and
+gives the user facilities for mode selection, device control,
+scanning, and programming.
+
+Ported to FreeBSD by Steven Wallace, swallace@ece.uci.edu
diff --git a/audio/xcdplayer/pkg/PLIST b/audio/xcdplayer/pkg/PLIST
new file mode 100644
index 00000000000..a277881efec
--- /dev/null
+++ b/audio/xcdplayer/pkg/PLIST
@@ -0,0 +1,3 @@
+bin/xcdplayer
+lib/X11/app-defaults/XCdplayer
+man/man1/xcdplayer.1.gz
diff --git a/audio/xcdplayer/scripts/pre-configure b/audio/xcdplayer/scripts/pre-configure
new file mode 100644
index 00000000000..63dfa0f722b
--- /dev/null
+++ b/audio/xcdplayer/scripts/pre-configure
@@ -0,0 +1,8 @@
+#!/bin/sh
+#
+# $Id: pre-configure,v 1.1.1.1 1997/10/28 23:19:24 augustss Exp $
+#
+
+cp ${CURDIR}/files/cdrom_freebsd.c ${WRKSRC}
+cp ${CURDIR}/files/cdrom_freebsd.h ${WRKSRC}
+cp ${WRKSRC}/xcdplayer.1 ${WRKSRC}/xcdplayer.man
diff --git a/audio/xmcd/Makefile b/audio/xmcd/Makefile
new file mode 100644
index 00000000000..003ed732256
--- /dev/null
+++ b/audio/xmcd/Makefile
@@ -0,0 +1,23 @@
+# New ports collection makefile for: xmcd
+# Version required: 2.2
+# Date created: 16 Februar 1995
+# Whom: Gennady Sorokopud <gena@NetVision.net.il>
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:25 augustss Exp $
+#
+
+DISTNAME= xmcd-2.2
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_XCONTRIB}
+MASTER_SITE_SUBDIR= applications/xmcd
+
+MAINTAINER= deischen@iworks.InterWorks.org
+
+REQUIRES_MOTIF= yes
+USE_IMAKE= yes
+IS_INTERACTIVE= yes # asks a lot of questions
+
+post-install:
+ ${CP} ${WRKSRC}/README ${PREFIX}/lib/X11/xmcd
+
+.include <bsd.port.mk>
diff --git a/audio/xmcd/files/md5 b/audio/xmcd/files/md5
new file mode 100644
index 00000000000..4562ae2314c
--- /dev/null
+++ b/audio/xmcd/files/md5
@@ -0,0 +1 @@
+MD5 (xmcd-2.2.tar.gz) = aec0ee581c93247d6282ca70a3f2ca08
diff --git a/audio/xmcd/patches/patch-aa b/audio/xmcd/patches/patch-aa
new file mode 100644
index 00000000000..ee4bcf547f6
--- /dev/null
+++ b/audio/xmcd/patches/patch-aa
@@ -0,0 +1,88 @@
+*** ./xmcd_d/Imakefile.orig Thu Apr 4 21:42:31 1996
+--- ./xmcd_d/Imakefile Thu Apr 4 23:31:17 1996
+***************
+*** 43,49 ****
+ * #include "Motif.tmpl"
+ * #include "Motif.rules"
+ */
+! LOCAL_LIBRARIES= XmClientLibs
+
+
+ /**** Optional defines: Change as you see fit. *****************************
+--- 43,49 ----
+ * #include "Motif.tmpl"
+ * #include "Motif.rules"
+ */
+! LOCAL_LIBRARIES= ${MOTIFLIB} XawClientLibs
+
+
+ /**** Optional defines: Change as you see fit. *****************************
+***************
+*** 67,78 ****
+ DEFINES=
+ #endif
+
+
+ /*
+ * Add local include path
+ */
+ INCLUDES=-I..
+-
+
+ /*
+ * C Source files
+--- 67,78 ----
+ DEFINES=
+ #endif
+
++ MANSUFFIX = 1
+
+ /*
+ * Add local include path
+ */
+ INCLUDES=-I..
+
+ /*
+ * C Source files
+*** cda_d/Imakefile.orig Tue Aug 12 19:13:31 1997
+--- cda_d/Imakefile Sun Sep 7 15:34:34 1997
+***************
+*** 95,101 ****
+ #if defined(__QNX__)
+ LOCAL_LIBRARIES=-lncurses
+ #else
+! LOCAL_LIBRARIES=-lcurses
+ #endif /* __QNX__ */
+ #endif /* SINIX */
+ #endif /* ultrix */
+--- 95,101 ----
+ #if defined(__QNX__)
+ LOCAL_LIBRARIES=-lncurses
+ #else
+! LOCAL_LIBRARIES=-lcurses -lmytinfo
+ #endif /* __QNX__ */
+ #endif /* SINIX */
+ #endif /* ultrix */
+***************
+*** 104,109 ****
+--- 104,110 ----
+ #endif /* LinuxArchitecture */
+ #endif /* SunArchitecture */
+
++ MANSUFFIX = 1
+
+ /*
+ * C Source files
+*** ./dbconv_d/Imakefile.orig Thu Apr 4 23:33:09 1996
+--- ./dbconv_d/Imakefile Thu Apr 4 23:33:53 1996
+***************
+*** 24,29 ****
+--- 24,31 ----
+ *
+ */
+
++ MANSUFFIX = 1
++
+
+ /*
+ * Add local include path
diff --git a/audio/xmcd/patches/patch-ab b/audio/xmcd/patches/patch-ab
new file mode 100644
index 00000000000..b4646bbae0c
--- /dev/null
+++ b/audio/xmcd/patches/patch-ab
@@ -0,0 +1,138 @@
+*** install.sh.orig Tue Aug 12 19:12:27 1997
+--- install.sh Sun Sep 7 16:23:43 1997
+***************
+*** 48,53 ****
+--- 48,56 ----
+ ERRFILE=/tmp/xmcd.err
+ TMPFILE=/tmp/xmcdinst.$$
+
++ # Flag for indicating we do not want to prompt the user if possible.
++ NO_PROMPT=1
++
+ #
+ # Utility functions
+ #
+***************
+*** 586,592 ****
+
+ while :
+ do
+! if getstr "\nEnter X binary directory\n[${BINDIR}]:"
+ then
+ if [ -d "$ANS" ]
+ then
+--- 589,599 ----
+
+ while :
+ do
+! if [ -n "$NO_PROMPT" ]
+! then
+! $ECHO "X binary directory - using ${BINDIR}"
+! break
+! elif getstr "\nEnter X binary directory\n[${BINDIR}]:"
+ then
+ if [ -d "$ANS" ]
+ then
+***************
+*** 634,640 ****
+
+ while :
+ do
+! if getstr "\nEnter X library directory\n[${LIBDIR}]:"
+ then
+ if [ -d "$ANS" ]
+ then
+--- 641,651 ----
+
+ while :
+ do
+! if [ -n "$NO_PROMPT" ]
+! then
+! $ECHO "X library directory - using ${LIBDIR}"
+! break
+! elif getstr "\nEnter X library directory\n[${LIBDIR}]:"
+ then
+ if [ -d "$ANS" ]
+ then
+***************
+*** 657,663 ****
+ APPDEFAULTSDIR=$LIBDIR/app-defaults
+ while :
+ do
+! if getstr "\nEnter X app-defaults directory\n[${APPDEFAULTSDIR}]:"
+ then
+ if [ -d "$ANS" ]
+ then
+--- 668,678 ----
+ APPDEFAULTSDIR=$LIBDIR/app-defaults
+ while :
+ do
+! if [ -n "$NO_PROMPT" ]
+! then
+! $ECHO "X app-defaults directory - using ${LIBDIR}"
+! break
+! elif getstr "\nEnter X app-defaults directory\n[${APPDEFAULTSDIR}]:"
+ then
+ if [ -d "$ANS" ]
+ then
+***************
+*** 680,686 ****
+ XMCDLIB=$LIBDIR/xmcd
+ while :
+ do
+! if getstr "\nEnter xmcd library directory\n[${XMCDLIB}]:"
+ then
+ if [ -d "$ANS" ]
+ then
+--- 695,705 ----
+ XMCDLIB=$LIBDIR/xmcd
+ while :
+ do
+! if [ -n "$NO_PROMPT" ]
+! then
+! $ECHO "xmcd library directory - using ${XMCDLIB}"
+! break
+! elif getstr "\nEnter xmcd library directory\n[${XMCDLIB}]:"
+ then
+ if [ -d "$ANS" ]
+ then
+***************
+*** 733,739 ****
+ $ECHO "\n\nThe on-line manual directory is where the man pages in"
+ $ECHO "in the xmcd package will be installed."
+
+! if getstr "\nEnter on-line manual directory\n[${MANDIR}]:"
+ then
+ MANDIR=$ANS
+ fi
+--- 752,761 ----
+ $ECHO "\n\nThe on-line manual directory is where the man pages in"
+ $ECHO "in the xmcd package will be installed."
+
+! if [ -n "$NO_PROMPT" ]
+! then
+! $ECHO "xmcd on-line manual directory - using ${MANDIR}"
+! elif getstr "\nEnter on-line manual directory\n[${MANDIR}]:"
+ then
+ MANDIR=$ANS
+ fi
+***************
+*** 758,764 ****
+ MANSUFFIX=1
+ fi
+
+! if getstr "\nEnter on-line manual file name suffix\n[${MANSUFFIX}]:"
+ then
+ MANSUFFIX=$ANS
+ fi
+--- 780,789 ----
+ MANSUFFIX=1
+ fi
+
+! if [ -n "$NO_PROMPT" ]
+! then
+! $ECHO "xmcd on-line manual file name suffix - using ${MANSUFFIX}"
+! elif getstr "\nEnter on-line manual file name suffix\n[${MANSUFFIX}]:"
+ then
+ MANSUFFIX=$ANS
+ fi
diff --git a/audio/xmcd/pkg/COMMENT b/audio/xmcd/pkg/COMMENT
new file mode 100644
index 00000000000..76dcbc12d27
--- /dev/null
+++ b/audio/xmcd/pkg/COMMENT
@@ -0,0 +1 @@
+Motif CD player.
diff --git a/audio/xmcd/pkg/DESCR b/audio/xmcd/pkg/DESCR
new file mode 100644
index 00000000000..761dcb3fc50
--- /dev/null
+++ b/audio/xmcd/pkg/DESCR
@@ -0,0 +1,14 @@
+Xmcd is a program that allows the use of the CD-ROM drive
+as a full-featured stereo compact-disc player for the X
+window system.
+
+Most of the features found on real CD players are
+available in xmcd, such as shuffle and repeat, track
+programming functions, a numeric keypad and track warp
+slider for direct track access. Additional functions
+include sample play, A to B segment play, volume control,
+balance control, etc. Several automation options are also
+available on CD load, eject, play completion and program
+exit. A Channel Routing feature allow you to select from
+several stereo or mono routing options. The volume
+control slider taper characteristics can also be altered.
diff --git a/audio/xmcd/pkg/PLIST b/audio/xmcd/pkg/PLIST
new file mode 100644
index 00000000000..117a6751ce8
--- /dev/null
+++ b/audio/xmcd/pkg/PLIST
@@ -0,0 +1,148 @@
+bin/xmcd
+bin/cda
+bin/wm2xmcd
+lib/X11/app-defaults/XMcd
+lib/X11/xmcd/help/Ab.btn
+lib/X11/xmcd/help/DbProg.btn
+lib/X11/xmcd/help/DdCancel.btn
+lib/X11/xmcd/help/DdClr.btn
+lib/X11/xmcd/help/DdOk.btn
+lib/X11/xmcd/help/DpAbout.btn
+lib/X11/xmcd/help/DpAddPgm.btn
+lib/X11/xmcd/help/DpCancel.btn
+lib/X11/xmcd/help/DpClrPgm.btn
+lib/X11/xmcd/help/DpDExt.btn
+lib/X11/xmcd/help/DpLink.btn
+lib/X11/xmcd/help/DpLoad.btn
+lib/X11/xmcd/help/DpSave.btn
+lib/X11/xmcd/help/DpSend.btn
+lib/X11/xmcd/help/DpTExt.btn
+lib/X11/xmcd/help/DpTimSel.btn
+lib/X11/xmcd/help/DsCancel.btn
+lib/X11/xmcd/help/DsOk.btn
+lib/X11/xmcd/help/DtCancel.btn
+lib/X11/xmcd/help/DtClr.btn
+lib/X11/xmcd/help/DtOk.btn
+lib/X11/xmcd/help/Eject.btn
+lib/X11/xmcd/help/Ff.btn
+lib/X11/xmcd/help/Help.btn
+lib/X11/xmcd/help/Keypad.btn
+lib/X11/xmcd/help/KpCancel.btn
+lib/X11/xmcd/help/KpClear.btn
+lib/X11/xmcd/help/KpEnter.btn
+lib/X11/xmcd/help/KpNum.btn
+lib/X11/xmcd/help/KpSel.btn
+lib/X11/xmcd/help/LsCancel.btn
+lib/X11/xmcd/help/LsOk.btn
+lib/X11/xmcd/help/NextDisc.btn
+lib/X11/xmcd/help/NextIdx.btn
+lib/X11/xmcd/help/NextTrk.btn
+lib/X11/xmcd/help/OpBalCtr.btn
+lib/X11/xmcd/help/OpOk.btn
+lib/X11/xmcd/help/OpReset.btn
+lib/X11/xmcd/help/OpSave.btn
+lib/X11/xmcd/help/Options.btn
+lib/X11/xmcd/help/PlayPaus.btn
+lib/X11/xmcd/help/Power.btn
+lib/X11/xmcd/help/PrevDisc.btn
+lib/X11/xmcd/help/PrevIdx.btn
+lib/X11/xmcd/help/PrevTrk.btn
+lib/X11/xmcd/help/Rew.btn
+lib/X11/xmcd/help/Sample.btn
+lib/X11/xmcd/help/Stop.btn
+lib/X11/xmcd/help/Time.btn
+lib/X11/xmcd/help/DbMode.lbl
+lib/X11/xmcd/help/Disc.lbl
+lib/X11/xmcd/help/DiscId.lbl
+lib/X11/xmcd/help/DiscTitl.lbl
+lib/X11/xmcd/help/Index.lbl
+lib/X11/xmcd/help/Keypad.lbl
+lib/X11/xmcd/help/PlayMode.lbl
+lib/X11/xmcd/help/ProgMode.lbl
+lib/X11/xmcd/help/RptCnt.lbl
+lib/X11/xmcd/help/Time.lbl
+lib/X11/xmcd/help/TimeMode.lbl
+lib/X11/xmcd/help/Track.lbl
+lib/X11/xmcd/help/TrkTitle.lbl
+lib/X11/xmcd/help/DdDisc.txw
+lib/X11/xmcd/help/DpDTitle.txw
+lib/X11/xmcd/help/DpPgmSeq.txw
+lib/X11/xmcd/help/DpTTitle.txw
+lib/X11/xmcd/help/DtTrack.txw
+lib/X11/xmcd/help/KpWarp.scl
+lib/X11/xmcd/help/Level.scl
+lib/X11/xmcd/help/OpBal.scl
+lib/X11/xmcd/help/DpTrk.lsw
+lib/X11/xmcd/help/DsDir.lsw
+lib/X11/xmcd/help/LsLink.lsw
+lib/X11/xmcd/help/OpChRt.rbx
+lib/X11/xmcd/help/OpExit.rbx
+lib/X11/xmcd/help/OpLoad.rbx
+lib/X11/xmcd/help/OpVolTpr.rbx
+lib/X11/xmcd/help/Main.cbx
+lib/X11/xmcd/help/OpChgr.cbx
+lib/X11/xmcd/help/OpDone.cbx
+lib/X11/xmcd/help/OpEject.cbx
+lib/X11/xmcd/help/OpLoad.cbx
+lib/X11/xmcd/cddb/misc/4102560a
+lib/X11/xmcd/pixmaps/xmcd.icon
+lib/X11/xmcd/pixmaps/xmcd_a.px
+lib/X11/xmcd/pixmaps/xmcd_b.px
+lib/X11/xmcd/pixmaps/xmcd.xpm
+lib/X11/xmcd/config/common.cfg
+lib/X11/xmcd/config/device.cfg
+lib/X11/xmcd/config/.tbl/Acer
+lib/X11/xmcd/config/.tbl/Apple
+lib/X11/xmcd/config/.tbl/Aztech
+lib/X11/xmcd/config/.tbl/Chinon
+lib/X11/xmcd/config/.tbl/Compaq
+lib/X11/xmcd/config/.tbl/Compro
+lib/X11/xmcd/config/.tbl/Creative
+lib/X11/xmcd/config/.tbl/DEC
+lib/X11/xmcd/config/.tbl/Goldstar
+lib/X11/xmcd/config/.tbl/HP
+lib/X11/xmcd/config/.tbl/Hitachi
+lib/X11/xmcd/config/.tbl/IBM
+lib/X11/xmcd/config/.tbl/Longshin
+lib/X11/xmcd/config/.tbl/MDI
+lib/X11/xmcd/config/.tbl/MediaVis
+lib/X11/xmcd/config/.tbl/Mitsumi
+lib/X11/xmcd/config/.tbl/NEC
+lib/X11/xmcd/config/.tbl/Nakamich
+lib/X11/xmcd/config/.tbl/Okano
+lib/X11/xmcd/config/.tbl/Opticsto
+lib/X11/xmcd/config/.tbl/Orchid
+lib/X11/xmcd/config/.tbl/Panasoni
+lib/X11/xmcd/config/.tbl/Philips
+lib/X11/xmcd/config/.tbl/Pioneer
+lib/X11/xmcd/config/.tbl/Plextor
+lib/X11/xmcd/config/.tbl/Procom
+lib/X11/xmcd/config/.tbl/SGI
+lib/X11/xmcd/config/.tbl/Sanyo
+lib/X11/xmcd/config/.tbl/Sony
+lib/X11/xmcd/config/.tbl/Stratus
+lib/X11/xmcd/config/.tbl/Sun
+lib/X11/xmcd/config/.tbl/Teac
+lib/X11/xmcd/config/.tbl/Toshiba
+lib/X11/xmcd/config/.tbl/Yamaha
+lib/X11/xmcd/config/config.sh
+man/man1/xmcd.1.gz
+man/man1/cda.1.gz
+man/man1/wm2xmcd.1.gz
+@dirrm lib/X11/xmcd/pixmaps
+@dirrm lib/X11/xmcd/help
+@dirrm lib/X11/xmcd/config/.tbl
+@dirrm lib/X11/xmcd/config
+@dirrm lib/X11/xmcd/cddb/soundtrack
+@dirrm lib/X11/xmcd/cddb/rock
+@dirrm lib/X11/xmcd/cddb/reggae
+@dirrm lib/X11/xmcd/cddb/newage
+@dirrm lib/X11/xmcd/cddb/misc
+@dirrm lib/X11/xmcd/cddb/jazz
+@dirrm lib/X11/xmcd/cddb/folk
+@dirrm lib/X11/xmcd/cddb/data
+@dirrm lib/X11/xmcd/cddb/country
+@dirrm lib/X11/xmcd/cddb/classical
+@dirrm lib/X11/xmcd/cddb/blues
+@dirrm lib/X11/xmcd/cddb
+@dirrm lib/X11/xmcd
diff --git a/audio/xmix/Makefile b/audio/xmix/Makefile
new file mode 100644
index 00000000000..e86dd8bb73d
--- /dev/null
+++ b/audio/xmix/Makefile
@@ -0,0 +1,26 @@
+# New ports collection makefile for: xmix
+# Version required: 2.1
+# Date created: 30 June 1995
+# Whom: janek@gaja.ipan.lublin.pl
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:27 augustss Exp $
+#
+
+DISTNAME= xmix-2.1
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_SUNSITE}
+MASTER_SITE_SUBDIR= apps/sound/mixers
+
+PATCH_SITES= ${MASTER_SITES}
+PATCHFILES= xmix-2.1.mixers.patch
+
+MAINTAINER= janek@gaja.ipan.lublin.pl
+
+USE_IMAKE= yes
+WRKSRC= $(WRKDIR)/xmix
+
+pre-install:
+ ${CP} ${WRKSRC}/xmix.1 ${WRKSRC}/xmix.man
+ ${INSTALL_DATA} $(WRKSRC)/XMix ${PREFIX}/lib/X11/app-defaults
+
+.include <bsd.port.mk>
diff --git a/audio/xmix/files/md5 b/audio/xmix/files/md5
new file mode 100644
index 00000000000..722803ecfee
--- /dev/null
+++ b/audio/xmix/files/md5
@@ -0,0 +1,2 @@
+MD5 (xmix-2.1.mixers.patch) = 26786ade59dd22f01700be2e8d2239c3
+MD5 (xmix-2.1.tar.gz) = 9216b84746fc66179dcd93696b139d68
diff --git a/audio/xmix/patches/patch-aa b/audio/xmix/patches/patch-aa
new file mode 100644
index 00000000000..97750e6f155
--- /dev/null
+++ b/audio/xmix/patches/patch-aa
@@ -0,0 +1,37 @@
+diff -rc ../../xmix.orig/Imakefile ./Imakefile
+*** ../../xmix.orig/Imakefile Fri Jun 30 18:49:35 1995
+--- ./Imakefile Fri Jun 30 20:11:30 1995
+***************
+*** 14,17 ****
+
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+
+! NormalProgramTarget(xmix,$(OBJS1),,$(LOCAL_LIBRARIES),)
+--- 14,19 ----
+
+ LOCAL_LIBRARIES = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
+
+! PROGRAM = $(PROGRAMS)
+!
+! ComplexProgramTarget_1($(PROGRAM),$(LOCAL_LIBRARIES),)
+Only in ./: Imakefile.orig
+diff -rc ../../xmix.orig/xmix.c ./xmix.c
+*** ../../xmix.orig/xmix.c Fri Jun 30 20:09:41 1995
+--- ./xmix.c Fri Jun 30 20:11:49 1995
+***************
+*** 77,83 ****
+ #include "square_empty.bit"
+ #include "square_with_x.bit"
+
+! #include <linux/soundcard.h>
+
+ #define SOUND_FULL_SCALE 100.0
+ #define MAX_SOUND_VOL 95
+--- 77,83 ----
+ #include "square_empty.bit"
+ #include "square_with_x.bit"
+
+! #include <machine/soundcard.h>
+
+ #define SOUND_FULL_SCALE 100.0
+ #define MAX_SOUND_VOL 95
diff --git a/audio/xmix/pkg/COMMENT b/audio/xmix/pkg/COMMENT
new file mode 100644
index 00000000000..5c9366fe6a7
--- /dev/null
+++ b/audio/xmix/pkg/COMMENT
@@ -0,0 +1 @@
+Mixer for X Window System.
diff --git a/audio/xmix/pkg/DESCR b/audio/xmix/pkg/DESCR
new file mode 100644
index 00000000000..1a9ea491327
--- /dev/null
+++ b/audio/xmix/pkg/DESCR
@@ -0,0 +1,4 @@
+This is the xmix sound mixer for the sound drivers in the FreeBSD
+It was originally written for Linux by Hal Brand (brand@netcom.com).
+
+This is version 2.1.
diff --git a/audio/xmix/pkg/PLIST b/audio/xmix/pkg/PLIST
new file mode 100644
index 00000000000..70c43961941
--- /dev/null
+++ b/audio/xmix/pkg/PLIST
@@ -0,0 +1,3 @@
+bin/xmix
+lib/X11/app-defaults/XMix
+man/man1/xmix.1.gz
diff --git a/audio/xmmix/Makefile b/audio/xmmix/Makefile
new file mode 100644
index 00000000000..95b87567da3
--- /dev/null
+++ b/audio/xmmix/Makefile
@@ -0,0 +1,19 @@
+# New ports collection makefile for: xmmix
+# Version required: 1.2
+# Date created: Mon Aug 5 10:54:25 CDT 1996
+# Whom: erich@FreeBSD.org
+#
+# $Id: Makefile,v 1.1.1.1 1997/10/28 23:19:29 augustss Exp $
+#
+
+DISTNAME= xmmix-1.2
+CATEGORIES= audio
+MASTER_SITES= ${MASTER_SITE_XCONTRIB}
+MASTER_SITE_SUBDIR= applications/
+
+MAINTAINER= erich@FreeBSD.org
+
+USE_IMAKE= yes
+REQUIRES_MOTIF= yes
+
+.include <bsd.port.mk>
diff --git a/audio/xmmix/files/md5 b/audio/xmmix/files/md5
new file mode 100644
index 00000000000..561dd13e4f0
--- /dev/null
+++ b/audio/xmmix/files/md5
@@ -0,0 +1 @@
+MD5 (xmmix-1.2.tar.gz) = 5a6556ec9a84888d7e77ba59c2128843
diff --git a/audio/xmmix/patches/patch-aa b/audio/xmmix/patches/patch-aa
new file mode 100644
index 00000000000..c3f4a3d6091
--- /dev/null
+++ b/audio/xmmix/patches/patch-aa
@@ -0,0 +1,22 @@
+--- ./appenv.h.org Sun Jul 14 10:48:59 1996
++++ ./appenv.h Mon Aug 19 04:05:16 1996
+@@ -59,7 +59,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/ioctl.h>
+-#include <sys/soundcard.h>
++#include <machine/soundcard.h>
+ #include <stdlib.h>
+ #include <stdio.h>
+ #include <errno.h>
+--- ./Imakefile.org Sun Jul 14 10:48:56 1996
++++ ./Imakefile Mon Aug 19 04:09:48 1996
+@@ -43,7 +43,7 @@
+ * #include "Motif.tmpl"
+ * #include "Motif.rules"
+ */
+-LOCAL_LIBRARIES= XmClientLibs
++LOCAL_LIBRARIES= ${MOTIFLIB} ${XTOOLLIB} ${XLIB}
+
+
+ /*
diff --git a/audio/xmmix/pkg/COMMENT b/audio/xmmix/pkg/COMMENT
new file mode 100644
index 00000000000..8f237039785
--- /dev/null
+++ b/audio/xmmix/pkg/COMMENT
@@ -0,0 +1 @@
+a Motif based audio mixer
diff --git a/audio/xmmix/pkg/DESCR b/audio/xmmix/pkg/DESCR
new file mode 100644
index 00000000000..6a1b9c19c9c
--- /dev/null
+++ b/audio/xmmix/pkg/DESCR
@@ -0,0 +1,20 @@
+From the README:
+
+ Xmmix is a sound mixer utility for the X Window System using the
+ OSF/Motif interface. It requires the Unix Sound System (formerly
+ "VoxWare") sound driver by Hannu Savolainen (hannu@voxware.pp.fi).
+
+ For those of you with access to the WWW (via Netscape, NCSA Mosaic
+ or other WWW browser), The URL for the xmmix home page is as
+ follows:
+
+ http://sunsite.unc.edu/~cddb/xmmix/
+
+ This home page provides up-to-date information about the
+ current release version, online README file, FTP service to get
+ the software, an interactive form to send comments and
+ suggestions, and late breaking announcement, if any.
+
+I don't have hardware to test all the features, but it looks ok.
+eric.
+erich@FreeBSD.org
diff --git a/audio/xmmix/pkg/PLIST b/audio/xmmix/pkg/PLIST
new file mode 100644
index 00000000000..6f5532e5441
--- /dev/null
+++ b/audio/xmmix/pkg/PLIST
@@ -0,0 +1,4 @@
+bin/xmmix
+lib/X11/app-defaults/XMmix
+lib/X11/xmmix.hlp
+man/man1/xmmix.1.gz