aboutsummaryrefslogtreecommitdiffstats
path: root/audio/timidity
diff options
context:
space:
mode:
authormarino <marino@FreeBSD.org>2014-05-11 07:40:37 +0800
committermarino <marino@FreeBSD.org>2014-05-11 07:40:37 +0800
commitcff86af0d9d29aa965df11a473d3402e9d75abea (patch)
tree9718026000795ce87e17ca3ace6cc6c449b27c7f /audio/timidity
parent450ca243bf79db7adac313196722417080e9b28a (diff)
downloadfreebsd-ports-gnome-cff86af0d9d29aa965df11a473d3402e9d75abea.tar.gz
freebsd-ports-gnome-cff86af0d9d29aa965df11a473d3402e9d75abea.tar.zst
freebsd-ports-gnome-cff86af0d9d29aa965df11a473d3402e9d75abea.zip
audio/timidity & guspat: Add guspat as alternative for goemon
Neither port is currently maintained PR: ports/177074 Submitted by: Green Dog Approved by: timidity maintainer (Kevin Zheng) before he dropped it
Diffstat (limited to 'audio/timidity')
-rw-r--r--audio/timidity/Makefile29
-rw-r--r--audio/timidity/files/patch-Makefile (renamed from audio/timidity/files/patch-ab)0
-rw-r--r--audio/timidity/files/patch-aa32
-rw-r--r--audio/timidity/files/patch-ae177
-rw-r--r--audio/timidity/files/patch-af27
-rw-r--r--audio/timidity/files/patch-ag87
-rw-r--r--audio/timidity/files/patch-common.c11
-rw-r--r--audio/timidity/files/patch-config.h25
-rw-r--r--audio/timidity/files/patch-dumb_c.c4
-rw-r--r--audio/timidity/files/patch-instrum.c11
-rw-r--r--audio/timidity/files/patch-linux_a.c139
-rw-r--r--audio/timidity/files/patch-mix.c14
-rw-r--r--audio/timidity/files/patch-playmidi.c11
-rw-r--r--audio/timidity/files/patch-raw_a.c10
-rw-r--r--audio/timidity/files/patch-readmidi.c11
-rw-r--r--audio/timidity/files/patch-resample.c14
-rw-r--r--audio/timidity/files/patch-timidity.c11
-rw-r--r--audio/timidity/files/patch-timidity.cfg (renamed from audio/timidity/files/patch-ac)16
-rw-r--r--audio/timidity/files/patch-wav2pat.c11
-rw-r--r--audio/timidity/files/patch-wave_a.c10
-rw-r--r--audio/timidity/pkg-plist510
21 files changed, 573 insertions, 587 deletions
diff --git a/audio/timidity/Makefile b/audio/timidity/Makefile
index 8bd2525016e9..4ac754c16d26 100644
--- a/audio/timidity/Makefile
+++ b/audio/timidity/Makefile
@@ -4,9 +4,8 @@ PORTNAME= timidity
PORTVERSION= 0.2i
PORTREVISION= 1
CATEGORIES= audio
-MASTER_SITES= http://www.onicos.com/staff/iz/timidity/dist/:timidity \
- http://www.anime.net/~goemon/timidity/:tiins
-DISTFILES= ${TIINS}:tiins ${DISTNAME}.tar.gz:timidity
+MASTER_SITES+= http://www.onicos.com/staff/iz/timidity/dist/:timidity
+DISTFILES+= ${DISTNAME}.tar.gz:timidity
EXTRACT_ONLY= ${DISTNAME}.tar.gz
MAINTAINER= ports@FreeBSD.org
@@ -17,14 +16,38 @@ CONFLICTS= timidity++-2.13.*
TIINS= goemon.tgz
INSTALL_TARGET= install.all
+OPTIONS_DEFINE= GUSPAT
+GUSPAT_DESC= Use audio/guspat instead of included sound fonts (goemon)
+
+.include <bsd.port.options.mk>
+
+# Set up sound fonts from audio/guspat.
+.if ${PORT_OPTIONS:MGUSPAT}
+RUN_DEPENDS+= ${LOCALBASE}/share/guspat/power.cfg:${PORTSDIR}/audio/guspat
+TDIR= ${LOCALBASE}/share/timidity
+TCONFIG= timidity.cfg-guspat
+PLIST_SUB+= GOEMON="@comment "
+.else
+# Set up default sound fonts (goemon).
+MASTER_SITES+= http://www.anime.net/~goemon/timidity/:tiins
+DISTFILES+= ${TIINS}:tiins
+TDIR= ${PREFIX}/lib/timidity
+TCONFIG= goemon.cfg
+PLIST_SUB+= GOEMON=""
+.endif
+
post-patch:
${REINPLACE_CMD} -e 's,machine/soundcard.h,sys/soundcard.h,' \
${WRKSRC}/linux_a.c
+ ${REINPLACE_CMD} -e 's|%%TDIR%%|${TDIR}| ; s|%%TCONFIG%%|${TCONFIG}|' \
+ ${WRKSRC}/timidity.cfg
post-install:
+.if ! ${PORT_OPTIONS:MGUSPAT}
cd ${STAGEDIR}${PREFIX}/lib/timidity && \
${TAR} --no-same-owner --no-same-permissions -zxf ${DISTDIR}/${TIINS} && \
${REINPLACE_CMD} -i "" -e 's,dir goemon,dir ${PREFIX}/lib/timidity/goemon,' \
goemon.cfg
+.endif
.include <bsd.port.mk>
diff --git a/audio/timidity/files/patch-ab b/audio/timidity/files/patch-Makefile
index d1c7db256a70..d1c7db256a70 100644
--- a/audio/timidity/files/patch-ab
+++ b/audio/timidity/files/patch-Makefile
diff --git a/audio/timidity/files/patch-aa b/audio/timidity/files/patch-aa
deleted file mode 100644
index c6f1c4dc1d23..000000000000
--- a/audio/timidity/files/patch-aa
+++ /dev/null
@@ -1,32 +0,0 @@
-*** 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/files/patch-ae b/audio/timidity/files/patch-ae
deleted file mode 100644
index bc2666e7cfc4..000000000000
--- a/audio/timidity/files/patch-ae
+++ /dev/null
@@ -1,177 +0,0 @@
-*** linux_a.c.orig Mon May 20 17:09:46 1996
---- linux_a.c Tue Jun 16 21:40:17 1998
-***************
-*** 71,82 ****
- then 8-bit unsigned if it fails. If you have a sound device that
- can't handle either, let me know. */
-
- static int open_output(void)
- {
- int fd, tmp, i, warnings=0;
-
- /* Open the audio device */
-! fd=open(dpm.name, O_RDWR | O_NDELAY);
- if (fd<0)
- {
- ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "%s: %s",
---- 71,85 ----
- then 8-bit unsigned if it fails. If you have a sound device that
- can't handle either, let me know. */
-
-+ /* Flag for Luigi Rizzo new sound driver (as opposed to VoxWare) */
-+ static int luigi_driver = 0;
-+
- static int open_output(void)
- {
- int fd, tmp, i, warnings=0;
-
- /* Open the audio device */
-! fd=open(dpm.name, O_RDWR);
- if (fd<0)
- {
- ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "%s: %s",
-***************
-*** 84,89 ****
---- 87,109 ----
- return -1;
- }
-
-+ /* Figure out if we're running with the Luigi driver or
-+ the original VoxWare driver, with code based on dburr/luigi
-+ in ports/5607. It'd be great if we could do this before
-+ opening the audio device, but oh well... */
-+ #if defined(AIOGFMT) /* only defined in Luigi driver */
-+ {
-+ snd_chan_param s;
-+ int i;
-+ i = ioctl(fd, AIOGFMT, &s);
-+ if (i != -1)
-+ luigi_driver = 1;
-+ }
-+ #endif
-+
-+ ctl->cmsg(CMSG_INFO, VERB_VERBOSE, "Using %s sound driver",
-+ luigi_driver ? "luigi" : "VoxWare");
-+
- /* They can't mean these */
- dpm.encoding &= ~(PE_ULAW|PE_BYTESWAP);
-
-***************
-*** 92,97 ****
---- 112,140 ----
- the other one. */
-
- i=tmp=(dpm.encoding & PE_16BIT) ? 16 : 8;
-+ if (luigi_driver)
-+ {
-+ if (dpm.encoding & PE_16BIT) {
-+ int fmt = AFMT_S16_LE ;
-+
-+ if (ioctl(fd, SNDCTL_DSP_SETFMT, &fmt) < 0 || fmt != AFMT_S16_LE) {
-+ fmt = AFMT_U8 ;
-+ if (ioctl(fd, SNDCTL_DSP_SETFMT, &fmt) < 0 || fmt != AFMT_U8) {
-+ ctl->cmsg(CMSG_ERROR, VERB_NORMAL,
-+ "%s doesn't support 16- or 8-bit sample width",
-+ dpm.name);
-+ close(fd);
-+ return -1;
-+ }
-+ ctl->cmsg(CMSG_WARNING, VERB_VERBOSE,
-+ "Sample width adjusted to %d bits", tmp);
-+ dpm.encoding ^= PE_16BIT;
-+ warnings = 1;
-+ }
-+ }
-+ }
-+ else
-+ {
- if (ioctl(fd, SNDCTL_DSP_SAMPLESIZE, &tmp)<0 || tmp!=i)
- {
- /* Try the other one */
-***************
-*** 109,114 ****
---- 152,158 ----
- dpm.encoding ^= PE_16BIT;
- warnings=1;
- }
-+ }
- if (dpm.encoding & PE_16BIT)
- dpm.encoding |= PE_SIGNED;
- else
-***************
-*** 163,168 ****
---- 207,214 ----
- /* Set buffer fragments (in extra_param[0]) */
-
- tmp=AUDIO_BUFFER_BITS;
-+ if (luigi_driver)
-+ tmp += 2;
- if (!(dpm.encoding & PE_MONO)) tmp++;
- if (dpm.encoding & PE_16BIT) tmp++;
- tmp |= (dpm.extra_param[0]<<16);
-***************
-*** 189,216 ****
- return warnings;
- }
-
- static void output_data(int32 *buf, int32 count)
- {
- if (!(dpm.encoding & PE_MONO)) count*=2; /* Stereo samples */
-
-! if (dpm.encoding & PE_16BIT)
-! {
- /* Convert data to signed 16-bit PCM */
- s32tos16(buf, count);
-!
-! /* Write the data out. Linux likes to give an EINTR if you suspend
-! a program while waiting on a write, so we may need to retry. */
-! while ((-1==write(dpm.fd, buf, count * 2)) && errno==EINTR)
-! ;
-! }
-! else
-! {
- /* Convert to 8-bit unsigned and write out. */
- s32tou8(buf, count);
-!
-! while ((-1==write(dpm.fd, buf, count)) && errno==EINTR)
-! ;
- }
- }
-
- static void close_output(void)
---- 235,269 ----
- return warnings;
- }
-
-+ /* output_data comes from Luigi's linux_a.c. This version seems to allow
-+ for partial writes to the sound device, where as the original version
-+ doesn't. */
- static void output_data(int32 *buf, int32 count)
- {
-+ char *p;
-+ int res, l;
-+
- if (!(dpm.encoding & PE_MONO)) count*=2; /* Stereo samples */
-
-! if (dpm.encoding & PE_16BIT) {
- /* Convert data to signed 16-bit PCM */
- s32tos16(buf, count);
-! res = count*2;
-! } else {
- /* Convert to 8-bit unsigned and write out. */
- s32tou8(buf, count);
-! res = count;
-! }
-! for (p = (char *) buf; res > 0; res -= l) {
-! again:
-! l = write(dpm.fd, p, res);
-! if (l < 0) {
-! if (errno == EINTR)
-! goto again;
-! return;
- }
-+ p += l;
-+ }
- }
-
- static void close_output(void)
diff --git a/audio/timidity/files/patch-af b/audio/timidity/files/patch-af
deleted file mode 100644
index dad932efd2fc..000000000000
--- a/audio/timidity/files/patch-af
+++ /dev/null
@@ -1,27 +0,0 @@
-*** config.h.orig Sat Jun 1 07:54:49 1996
---- config.h Sat Sep 18 15:32:38 1999
-***************
-*** 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
diff --git a/audio/timidity/files/patch-ag b/audio/timidity/files/patch-ag
deleted file mode 100644
index 2d24e035ec23..000000000000
--- a/audio/timidity/files/patch-ag
+++ /dev/null
@@ -1,87 +0,0 @@
---- common.c 2003/02/08 01:42:31 1.1
-+++ common.c 2003/02/08 01:53:36
-@@ -24,7 +24,7 @@
- #include <stdio.h>
- #include <stdlib.h>
-
--#if defined(SOLARIS) || defined(__WIN32__)
-+#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
- #include <string.h>
- #else
- #include <strings.h>
---- instrum.c 2003/02/08 01:42:31 1.1
-+++ instrum.c 2003/02/08 01:53:50
-@@ -25,7 +25,7 @@
-
- #include <stdio.h>
-
--#if defined(SOLARIS) || defined(__WIN32__)
-+#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
- #include <string.h>
- #else
- #include <strings.h>
---- playmidi.c 2003/02/08 01:42:31 1.1
-+++ playmidi.c 2003/02/08 01:54:18
-@@ -27,7 +27,7 @@
- #endif
- #include <stdlib.h>
-
--#if defined(SOLARIS) || defined(__WIN32__)
-+#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
- # include <string.h>
- #else
- #include <strings.h>
---- raw_a.c 2003/02/08 01:42:31 1.1
-+++ raw_a.c 2003/02/08 01:54:38
-@@ -35,6 +35,7 @@
-
- #ifdef __FreeBSD__
- #include <stdio.h>
-+#include <string.h>
- #endif
-
- #include "config.h"
---- readmidi.c 2003/02/08 01:42:31 1.1
-+++ readmidi.c 2003/02/08 01:53:19
-@@ -23,7 +23,7 @@
- #include <stdlib.h>
- #include <errno.h>
-
--#if defined(SOLARIS) | defined(__WIN32__)
-+#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
- # include <string.h>
- #else
- #include <strings.h>
---- timidity.c 2003/02/08 01:42:31 1.1
-+++ timidity.c 2003/02/08 01:54:51
-@@ -21,7 +21,7 @@
- #include <stdio.h>
- #include <stdlib.h>
-
--#if defined(SOLARIS) || defined(__WIN32__)
-+#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
- #include <string.h>
- #else
- #include <strings.h>
---- wav2pat.c 2003/02/08 01:42:31 1.1
-+++ wav2pat.c 2003/02/08 01:55:29
-@@ -28,7 +28,7 @@
- #include <unistd.h>
- #include <fcntl.h>
-
--#ifdef SOLARIS
-+#if defined(SOLARIS) || defined(__FreeBSD__)
- #include <string.h>
- #else
- #include <strings.h>
---- wave_a.c 2003/02/08 01:42:31 1.1
-+++ wave_a.c 2003/02/08 01:55:45
-@@ -35,6 +35,7 @@
-
- #ifdef __FreeBSD__
- #include <stdio.h>
-+#include <string.h>
- #endif
-
- #include "config.h"
-
diff --git a/audio/timidity/files/patch-common.c b/audio/timidity/files/patch-common.c
new file mode 100644
index 000000000000..62f92114a610
--- /dev/null
+++ b/audio/timidity/files/patch-common.c
@@ -0,0 +1,11 @@
+--- ./common.c.orig 1996-06-01 07:20:19.000000000 -0500
++++ ./common.c 2013-04-21 10:18:23.000000000 -0500
+@@ -24,7 +24,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+
+-#if defined(SOLARIS) || defined(__WIN32__)
++#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
+ #include <string.h>
+ #else
+ #include <strings.h>
diff --git a/audio/timidity/files/patch-config.h b/audio/timidity/files/patch-config.h
new file mode 100644
index 000000000000..9330b30fb8e4
--- /dev/null
+++ b/audio/timidity/files/patch-config.h
@@ -0,0 +1,25 @@
+--- ./config.h.orig 1996-06-01 07:54:49.000000000 -0500
++++ ./config.h 2013-04-21 10:18:23.000000000 -0500
+@@ -217,6 +217,22 @@
+ # 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
diff --git a/audio/timidity/files/patch-dumb_c.c b/audio/timidity/files/patch-dumb_c.c
index d143d75c04da..2b740bd6aa96 100644
--- a/audio/timidity/files/patch-dumb_c.c
+++ b/audio/timidity/files/patch-dumb_c.c
@@ -1,5 +1,5 @@
---- dumb_c.c.orig Mon May 20 16:01:17 1996
-+++ dumb_c.c Tue Dec 4 23:45:01 2001
+--- ./dumb_c.c.orig 1996-05-20 09:01:17.000000000 -0500
++++ ./dumb_c.c 2013-04-21 10:18:23.000000000 -0500
@@ -66,10 +66,12 @@
ctl_expression, ctl_panning, ctl_sustain, ctl_pitch_bend
};
diff --git a/audio/timidity/files/patch-instrum.c b/audio/timidity/files/patch-instrum.c
new file mode 100644
index 000000000000..33d53c6241d5
--- /dev/null
+++ b/audio/timidity/files/patch-instrum.c
@@ -0,0 +1,11 @@
+--- ./instrum.c.orig 1996-05-20 08:15:10.000000000 -0500
++++ ./instrum.c 2013-04-21 10:18:23.000000000 -0500
+@@ -25,7 +25,7 @@
+
+ #include <stdio.h>
+
+-#if defined(SOLARIS) || defined(__WIN32__)
++#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
+ #include <string.h>
+ #else
+ #include <strings.h>
diff --git a/audio/timidity/files/patch-linux_a.c b/audio/timidity/files/patch-linux_a.c
new file mode 100644
index 000000000000..0d383938cdc0
--- /dev/null
+++ b/audio/timidity/files/patch-linux_a.c
@@ -0,0 +1,139 @@
+--- ./linux_a.c.orig 1996-05-20 08:09:46.000000000 -0500
++++ ./linux_a.c 2013-04-21 10:18:23.000000000 -0500
+@@ -71,12 +71,15 @@
+ then 8-bit unsigned if it fails. If you have a sound device that
+ can't handle either, let me know. */
+
++/* Flag for Luigi Rizzo new sound driver (as opposed to VoxWare) */
++static int luigi_driver = 0;
++
+ static int open_output(void)
+ {
+ int fd, tmp, i, warnings=0;
+
+ /* Open the audio device */
+- fd=open(dpm.name, O_RDWR | O_NDELAY);
++ fd=open(dpm.name, O_RDWR);
+ if (fd<0)
+ {
+ ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "%s: %s",
+@@ -84,6 +87,23 @@
+ return -1;
+ }
+
++ /* Figure out if we're running with the Luigi driver or
++ the original VoxWare driver, with code based on dburr/luigi
++ in ports/5607. It'd be great if we could do this before
++ opening the audio device, but oh well... */
++#if defined(AIOGFMT) /* only defined in Luigi driver */
++ {
++ snd_chan_param s;
++ int i;
++ i = ioctl(fd, AIOGFMT, &s);
++ if (i != -1)
++ luigi_driver = 1;
++ }
++#endif
++
++ ctl->cmsg(CMSG_INFO, VERB_VERBOSE, "Using %s sound driver",
++ luigi_driver ? "luigi" : "VoxWare");
++
+ /* They can't mean these */
+ dpm.encoding &= ~(PE_ULAW|PE_BYTESWAP);
+
+@@ -92,6 +112,29 @@
+ the other one. */
+
+ i=tmp=(dpm.encoding & PE_16BIT) ? 16 : 8;
++ if (luigi_driver)
++ {
++ if (dpm.encoding & PE_16BIT) {
++ int fmt = AFMT_S16_LE ;
++
++ if (ioctl(fd, SNDCTL_DSP_SETFMT, &fmt) < 0 || fmt != AFMT_S16_LE) {
++ fmt = AFMT_U8 ;
++ if (ioctl(fd, SNDCTL_DSP_SETFMT, &fmt) < 0 || fmt != AFMT_U8) {
++ ctl->cmsg(CMSG_ERROR, VERB_NORMAL,
++ "%s doesn't support 16- or 8-bit sample width",
++ dpm.name);
++ close(fd);
++ return -1;
++ }
++ ctl->cmsg(CMSG_WARNING, VERB_VERBOSE,
++ "Sample width adjusted to %d bits", tmp);
++ dpm.encoding ^= PE_16BIT;
++ warnings = 1;
++ }
++ }
++ }
++ else
++ {
+ if (ioctl(fd, SNDCTL_DSP_SAMPLESIZE, &tmp)<0 || tmp!=i)
+ {
+ /* Try the other one */
+@@ -109,6 +152,7 @@
+ dpm.encoding ^= PE_16BIT;
+ warnings=1;
+ }
++ }
+ if (dpm.encoding & PE_16BIT)
+ dpm.encoding |= PE_SIGNED;
+ else
+@@ -163,6 +207,8 @@
+ /* Set buffer fragments (in extra_param[0]) */
+
+ tmp=AUDIO_BUFFER_BITS;
++ if (luigi_driver)
++ tmp += 2;
+ if (!(dpm.encoding & PE_MONO)) tmp++;
+ if (dpm.encoding & PE_16BIT) tmp++;
+ tmp |= (dpm.extra_param[0]<<16);
+@@ -189,28 +235,35 @@
+ return warnings;
+ }
+
++/* output_data comes from Luigi's linux_a.c. This version seems to allow
++ for partial writes to the sound device, where as the original version
++ doesn't. */
+ static void output_data(int32 *buf, int32 count)
+ {
++ char *p;
++ int res, l;
++
+ if (!(dpm.encoding & PE_MONO)) count*=2; /* Stereo samples */
+
+- if (dpm.encoding & PE_16BIT)
+- {
++ if (dpm.encoding & PE_16BIT) {
+ /* Convert data to signed 16-bit PCM */
+ s32tos16(buf, count);
+-
+- /* Write the data out. Linux likes to give an EINTR if you suspend
+- a program while waiting on a write, so we may need to retry. */
+- while ((-1==write(dpm.fd, buf, count * 2)) && errno==EINTR)
+- ;
+- }
+- else
+- {
++ res = count*2;
++ } else {
+ /* Convert to 8-bit unsigned and write out. */
+ s32tou8(buf, count);
+-
+- while ((-1==write(dpm.fd, buf, count)) && errno==EINTR)
+- ;
++ res = count;
++ }
++ for (p = (char *) buf; res > 0; res -= l) {
++again:
++ l = write(dpm.fd, p, res);
++ if (l < 0) {
++ if (errno == EINTR)
++ goto again;
++ return;
+ }
++ p += l;
++ }
+ }
+
+ static void close_output(void)
diff --git a/audio/timidity/files/patch-mix.c b/audio/timidity/files/patch-mix.c
new file mode 100644
index 000000000000..44b50f10c021
--- /dev/null
+++ b/audio/timidity/files/patch-mix.c
@@ -0,0 +1,14 @@
+--- ./mix.c.orig 1996-05-20 08:09:46.000000000 -0500
++++ ./mix.c 2013-04-21 10:18:23.000000000 -0500
+@@ -23,7 +23,11 @@
+
+ #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/files/patch-playmidi.c b/audio/timidity/files/patch-playmidi.c
new file mode 100644
index 000000000000..4d313ea223e5
--- /dev/null
+++ b/audio/timidity/files/patch-playmidi.c
@@ -0,0 +1,11 @@
+--- ./playmidi.c.orig 1996-05-20 08:09:46.000000000 -0500
++++ ./playmidi.c 2013-04-21 10:18:23.000000000 -0500
+@@ -27,7 +27,7 @@
+ #endif
+ #include <stdlib.h>
+
+-#if defined(SOLARIS) || defined(__WIN32__)
++#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
+ # include <string.h>
+ #else
+ #include <strings.h>
diff --git a/audio/timidity/files/patch-raw_a.c b/audio/timidity/files/patch-raw_a.c
new file mode 100644
index 000000000000..35dc2e936265
--- /dev/null
+++ b/audio/timidity/files/patch-raw_a.c
@@ -0,0 +1,10 @@
+--- ./raw_a.c.orig 1996-05-20 08:09:47.000000000 -0500
++++ ./raw_a.c 2013-04-21 10:18:23.000000000 -0500
+@@ -35,6 +35,7 @@
+
+ #ifdef __FreeBSD__
+ #include <stdio.h>
++#include <string.h>
+ #endif
+
+ #include "config.h"
diff --git a/audio/timidity/files/patch-readmidi.c b/audio/timidity/files/patch-readmidi.c
new file mode 100644
index 000000000000..3282b42d223a
--- /dev/null
+++ b/audio/timidity/files/patch-readmidi.c
@@ -0,0 +1,11 @@
+--- ./readmidi.c.orig 1996-05-20 08:09:47.000000000 -0500
++++ ./readmidi.c 2013-04-21 10:18:23.000000000 -0500
+@@ -23,7 +23,7 @@
+ #include <stdlib.h>
+ #include <errno.h>
+
+-#if defined(SOLARIS) | defined(__WIN32__)
++#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
+ # include <string.h>
+ #else
+ #include <strings.h>
diff --git a/audio/timidity/files/patch-resample.c b/audio/timidity/files/patch-resample.c
new file mode 100644
index 000000000000..254f5bbd294f
--- /dev/null
+++ b/audio/timidity/files/patch-resample.c
@@ -0,0 +1,14 @@
+--- ./resample.c.orig 1996-05-20 08:09:47.000000000 -0500
++++ ./resample.c 2013-04-21 10:18:23.000000000 -0500
+@@ -22,7 +22,11 @@
+
+ #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/files/patch-timidity.c b/audio/timidity/files/patch-timidity.c
new file mode 100644
index 000000000000..db44a7a11ea7
--- /dev/null
+++ b/audio/timidity/files/patch-timidity.c
@@ -0,0 +1,11 @@
+--- ./timidity.c.orig 1996-05-21 14:16:20.000000000 -0500
++++ ./timidity.c 2013-04-21 10:18:23.000000000 -0500
+@@ -21,7 +21,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+
+-#if defined(SOLARIS) || defined(__WIN32__)
++#if defined(SOLARIS) || defined(__WIN32__) || defined(__FreeBSD__)
+ #include <string.h>
+ #else
+ #include <strings.h>
diff --git a/audio/timidity/files/patch-ac b/audio/timidity/files/patch-timidity.cfg
index 76b2da1f5441..7d6b7fe47fe1 100644
--- a/audio/timidity/files/patch-ac
+++ b/audio/timidity/files/patch-timidity.cfg
@@ -1,6 +1,14 @@
---- timidity.cfg.orig Mon May 22 02:40:27 1995
-+++ timidity.cfg Mon Jan 4 03:55:42 1999
-@@ -34,9 +34,9 @@
+--- ./timidity.cfg.orig 1995-05-21 17:40:27.000000000 -0500
++++ ./timidity.cfg 2013-04-21 10:18:23.000000000 -0500
+@@ -27,16 +27,16 @@
+ # If you've moved things around since compiling, uncomment and edit this to
+ # point to the library directory:
+ #
+-#dir /usr/local/lib/timidity
++dir %%TDIR%%
+ #
+
+ ##############################################################################
# This sets up the default patches in the TiMidity support package
# "timidity-lib-0.1.tar.gz":
@@ -17,7 +25,7 @@
#source midia.cfg
#
-+source goemon.cfg
++source %%TCONFIG%%
##############################################################################
# End of configuration file
diff --git a/audio/timidity/files/patch-wav2pat.c b/audio/timidity/files/patch-wav2pat.c
new file mode 100644
index 000000000000..ccecf7f127d4
--- /dev/null
+++ b/audio/timidity/files/patch-wav2pat.c
@@ -0,0 +1,11 @@
+--- ./wav2pat.c.orig 1996-05-20 08:09:47.000000000 -0500
++++ ./wav2pat.c 2013-04-21 10:18:23.000000000 -0500
+@@ -28,7 +28,7 @@
+ #include <unistd.h>
+ #include <fcntl.h>
+
+-#ifdef SOLARIS
++#if defined(SOLARIS) || defined(__FreeBSD__)
+ #include <string.h>
+ #else
+ #include <strings.h>
diff --git a/audio/timidity/files/patch-wave_a.c b/audio/timidity/files/patch-wave_a.c
new file mode 100644
index 000000000000..89b6121d813f
--- /dev/null
+++ b/audio/timidity/files/patch-wave_a.c
@@ -0,0 +1,10 @@
+--- ./wave_a.c.orig 1996-05-20 08:10:15.000000000 -0500
++++ ./wave_a.c 2013-04-21 10:18:23.000000000 -0500
+@@ -35,6 +35,7 @@
+
+ #ifdef __FreeBSD__
+ #include <stdio.h>
++#include <string.h>
+ #endif
+
+ #include "config.h"
diff --git a/audio/timidity/pkg-plist b/audio/timidity/pkg-plist
index 62b0cf9a500e..8e98a49c15d4 100644
--- a/audio/timidity/pkg-plist
+++ b/audio/timidity/pkg-plist
@@ -1,257 +1,257 @@
bin/timidity
bin/bag
bin/wav2pat
-lib/timidity/goemon.cfg
-lib/timidity/goemon/acbass.pat
-lib/timidity/goemon/accordn.pat
-lib/timidity/goemon/acguitar2.pat
-lib/timidity/goemon/agogo.pat
-lib/timidity/goemon/agogohi.pat
-lib/timidity/goemon/agogolo.pat
-lib/timidity/goemon/airpipe.pat
-lib/timidity/goemon/altosax.pat
-lib/timidity/goemon/an_trmp1.pat
-lib/timidity/goemon/applause.pat
-lib/timidity/goemon/atmosphr.pat
-lib/timidity/goemon/aurora.pat
-lib/timidity/goemon/bagpipes.pat
-lib/timidity/goemon/banjo.pat
-lib/timidity/goemon/barisax.pat
-lib/timidity/goemon/basslead.pat
-lib/timidity/goemon/bassoon.pat
-lib/timidity/goemon/bellpad.pat
-lib/timidity/goemon/bells.pat
-lib/timidity/goemon/belltree.pat
-lib/timidity/goemon/bongohi.pat
-lib/timidity/goemon/bongolo.pat
-lib/timidity/goemon/bottleit.pat
-lib/timidity/goemon/bowglass.pat
-lib/timidity/goemon/britenss.pat
-lib/timidity/goemon/britepno.pat
-lib/timidity/goemon/cabasa.pat
-lib/timidity/goemon/carillon.pat
-lib/timidity/goemon/castinet.pat
-lib/timidity/goemon/celeste.pat
-lib/timidity/goemon/cello.pat
-lib/timidity/goemon/charang.pat
-lib/timidity/goemon/chiflead.pat
-lib/timidity/goemon/choir.pat
-lib/timidity/goemon/church.pat
-lib/timidity/goemon/claps.pat
-lib/timidity/goemon/clarinet.pat
-lib/timidity/goemon/clave.pat
-lib/timidity/goemon/clavinet.pat
-lib/timidity/goemon/cleangtr.pat
-lib/timidity/goemon/concrtna.pat
-lib/timidity/goemon/congahi1.pat
-lib/timidity/goemon/congahi2.pat
-lib/timidity/goemon/congalo.pat
-lib/timidity/goemon/contraba.pat
-lib/timidity/goemon/cowbell.pat
-lib/timidity/goemon/cuica1.pat
-lib/timidity/goemon/cuica2.pat
-lib/timidity/goemon/cymbell.pat
-lib/timidity/goemon/cymchina.pat
-lib/timidity/goemon/cymcrsh1.pat
-lib/timidity/goemon/cymcrsh2.pat
-lib/timidity/goemon/cymride1.pat
-lib/timidity/goemon/cymride2.pat
-lib/timidity/goemon/cymsplsh.pat
-lib/timidity/goemon/digitel.pat
-lib/timidity/goemon/distgtr2.pat
-lib/timidity/goemon/englhorn.pat
-lib/timidity/goemon/epiano1.pat
-lib/timidity/goemon/epiano2.pat
-lib/timidity/goemon/fiddle.pat
-lib/timidity/goemon/flute.pat
-lib/timidity/goemon/fngrbass.pat
-lib/timidity/goemon/frenchrn.pat
-lib/timidity/goemon/freshair.pat
-lib/timidity/goemon/fretless.pat
-lib/timidity/goemon/fretnoyz.pat
-lib/timidity/goemon/fx-blow.pat
-lib/timidity/goemon/ghostie.pat
-lib/timidity/goemon/glocken.pat
-lib/timidity/goemon/gsdrum00/bank.inf
-lib/timidity/goemon/gsdrum00/bongohi.pat
-lib/timidity/goemon/gsdrum00/bongolo.pat
-lib/timidity/goemon/gsdrum00/cabasa.pat
-lib/timidity/goemon/gsdrum00/congahi1.pat
-lib/timidity/goemon/gsdrum00/congahi2.pat
-lib/timidity/goemon/gsdrum00/congalo.pat
-lib/timidity/goemon/gsdrum00/cowbell.pat
-lib/timidity/goemon/gsdrum00/cuica1.pat
-lib/timidity/goemon/gsdrum00/cuica2.pat
-lib/timidity/goemon/gsdrum00/cymbell.pat
-lib/timidity/goemon/gsdrum00/cymchina.pat
-lib/timidity/goemon/gsdrum00/cymcrsh1.pat
-lib/timidity/goemon/gsdrum00/cymcrsh2.pat
-lib/timidity/goemon/gsdrum00/cymride1.pat
-lib/timidity/goemon/gsdrum00/cymride2.pat
-lib/timidity/goemon/gsdrum00/cymsplsh.pat
-lib/timidity/goemon/gsdrum00/gsdrum00.doc
-lib/timidity/goemon/gsdrum00/gsdrum00.txt
-lib/timidity/goemon/gsdrum00/guiro1.pat
-lib/timidity/goemon/gsdrum00/guiro2.pat
-lib/timidity/goemon/gsdrum00/hihatcl.pat
-lib/timidity/goemon/gsdrum00/hihatop.pat
-lib/timidity/goemon/gsdrum00/hihatpd.pat
-lib/timidity/goemon/gsdrum00/kick1.pat
-lib/timidity/goemon/gsdrum00/kick2.pat
-lib/timidity/goemon/gsdrum00/scratch1.pat
-lib/timidity/goemon/gsdrum00/scratch2.pat
-lib/timidity/goemon/gsdrum00/shaker.pat
-lib/timidity/goemon/gsdrum00/snare1.pat
-lib/timidity/goemon/gsdrum00/snare2.pat
-lib/timidity/goemon/gsdrum00/stickrim.pat
-lib/timidity/goemon/gsdrum00/tamborin.pat
-lib/timidity/goemon/gsdrum00/tomhi1.pat
-lib/timidity/goemon/gsdrum00/tomhi2.pat
-lib/timidity/goemon/gsdrum00/tomlo1.pat
-lib/timidity/goemon/gsdrum00/tomlo2.pat
-lib/timidity/goemon/gsdrum00/tommid1.pat
-lib/timidity/goemon/gsdrum00/tommid2.pat
-lib/timidity/goemon/gsdrum00/woodblk1.pat
-lib/timidity/goemon/gsdrum00/woodblk2.pat
-lib/timidity/goemon/gsdrum08/bank.inf
-lib/timidity/goemon/gsdrum08/gsdrum08.doc
-lib/timidity/goemon/gsdrum08/gsdrum08.txt
-lib/timidity/goemon/gsdrum08/roomhi1.pat
-lib/timidity/goemon/gsdrum08/roomhi2.pat
-lib/timidity/goemon/gsdrum08/roomlow1.pat
-lib/timidity/goemon/gsdrum08/roomlow2.pat
-lib/timidity/goemon/gsdrum08/roommid1.pat
-lib/timidity/goemon/gsdrum08/roommid2.pat
-lib/timidity/goemon/gsdrum40/bank.inf
-lib/timidity/goemon/gsdrum40/br_slap.pat
-lib/timidity/goemon/gsdrum40/br_swirl.pat
-lib/timidity/goemon/gsdrum40/br_swish.pat
-lib/timidity/goemon/gsdrum40/gsdrum40.bak
-lib/timidity/goemon/gsdrum40/gsdrum40.doc
-lib/timidity/goemon/gsdrum40/gsdrum40.txt
-lib/timidity/goemon/gsdrum40/hihatcl.pat
-lib/timidity/goemon/gsdrum40/hihatop.pat
-lib/timidity/goemon/gtrharm.pat
-lib/timidity/goemon/guiro1.pat
-lib/timidity/goemon/guiro2.pat
-lib/timidity/goemon/gunshot.pat
-lib/timidity/goemon/halopad.pat
-lib/timidity/goemon/hammond.pat
-lib/timidity/goemon/harmonca.pat
-lib/timidity/goemon/harp.pat
-lib/timidity/goemon/helicptr.pat
-lib/timidity/goemon/highq.pat
-lib/timidity/goemon/hihatcl.pat
-lib/timidity/goemon/hihatop.pat
-lib/timidity/goemon/hihatpd.pat
-lib/timidity/goemon/hitbrass.pat
-lib/timidity/goemon/homeorg.pat
-lib/timidity/goemon/honky.pat
-lib/timidity/goemon/hrpschrd.pat
-lib/timidity/goemon/jazzgtr2.pat
-lib/timidity/goemon/jingles.pat
-lib/timidity/goemon/jungle.pat
-lib/timidity/goemon/kalimba.pat
-lib/timidity/goemon/kick1.pat
-lib/timidity/goemon/kick2.pat
-lib/timidity/goemon/koto.pat
-lib/timidity/goemon/lcalliop.pat
-lib/timidity/goemon/lead5th.pat
-lib/timidity/goemon/maracas.pat
-lib/timidity/goemon/marcato.pat
-lib/timidity/goemon/marimba.pat
-lib/timidity/goemon/metalpad.pat
-lib/timidity/goemon/metbell.pat
-lib/timidity/goemon/metclick.pat
-lib/timidity/goemon/mutegtr2.pat
-lib/timidity/goemon/mutetrum.pat
-lib/timidity/goemon/nyguitar.pat
-lib/timidity/goemon/ob8.pat
-lib/timidity/goemon/oboe.pat
-lib/timidity/goemon/ocarina.pat
-lib/timidity/goemon/odguitar.pat
-lib/timidity/goemon/orchhit.pat
-lib/timidity/goemon/percorg.pat
-lib/timidity/goemon/piccolo.pat
-lib/timidity/goemon/pickbass.pat
-lib/timidity/goemon/pizzcato.pat
-lib/timidity/goemon/recorder.pat
-lib/timidity/goemon/reedorg.pat
-lib/timidity/goemon/revcym.pat
-lib/timidity/goemon/rhodes.pat
-lib/timidity/goemon/rvrbxylo.pat
-lib/timidity/goemon/santur.pat
-lib/timidity/goemon/sawwave.pat
-lib/timidity/goemon/scratch1.pat
-lib/timidity/goemon/scratch2.pat
-lib/timidity/goemon/seagulls.pat
-lib/timidity/goemon/shakazul.pat
-lib/timidity/goemon/shaker.pat
-lib/timidity/goemon/shamisen.pat
-lib/timidity/goemon/shannai.pat
-lib/timidity/goemon/sitar.pat
-lib/timidity/goemon/slap.pat
-lib/timidity/goemon/slapbas1.pat
-lib/timidity/goemon/slapbas2.pat
-lib/timidity/goemon/slapbass.pat
-lib/timidity/goemon/snare1.pat
-lib/timidity/goemon/snare2.pat
-lib/timidity/goemon/sologrnd.pat
-lib/timidity/goemon/soundtrk.pat
-lib/timidity/goemon/spctbell.pat
-lib/timidity/goemon/sprnosax.pat
-lib/timidity/goemon/sqrclick.pat
-lib/timidity/goemon/sqrwave.pat
-lib/timidity/goemon/startrak.pat
-lib/timidity/goemon/steeldrm.pat
-lib/timidity/goemon/stickrim.pat
-lib/timidity/goemon/sticks.pat
-lib/timidity/goemon/strings.pat
-lib/timidity/goemon/surdo1.pat
-lib/timidity/goemon/surdo2.pat
-lib/timidity/goemon/sweeper.pat
-lib/timidity/goemon/synbass1.pat
-lib/timidity/goemon/synbass2.pat
-lib/timidity/goemon/synbras1.pat
-lib/timidity/goemon/synbras2.pat
-lib/timidity/goemon/synstr1.pat
-lib/timidity/goemon/synstr2.pat
-lib/timidity/goemon/syntom.pat
-lib/timidity/goemon/synvoic1.pat
-lib/timidity/goemon/taiko.pat
-lib/timidity/goemon/tamborin.pat
-lib/timidity/goemon/tenorsax.pat
-lib/timidity/goemon/timbaleh.pat
-lib/timidity/goemon/timbalel.pat
-lib/timidity/goemon/timpani.pat
-lib/timidity/goemon/tomhi1.pat
-lib/timidity/goemon/tomhi2.pat
-lib/timidity/goemon/tomlo1.pat
-lib/timidity/goemon/tomlo2.pat
-lib/timidity/goemon/tommid1.pat
-lib/timidity/goemon/tommid2.pat
-lib/timidity/goemon/toms.pat
-lib/timidity/goemon/tremstr.pat
-lib/timidity/goemon/triangl1.pat
-lib/timidity/goemon/triangl2.pat
-lib/timidity/goemon/trombone.pat
-lib/timidity/goemon/tuba.pat
-lib/timidity/goemon/tubebell.pat
-lib/timidity/goemon/unicorn.pat
-lib/timidity/goemon/vibes.pat
-lib/timidity/goemon/vibslap.pat
-lib/timidity/goemon/viola.pat
-lib/timidity/goemon/violin.pat
-lib/timidity/goemon/voicedoo.pat
-lib/timidity/goemon/voices.pat
-lib/timidity/goemon/warmpad.pat
-lib/timidity/goemon/whistle.pat
-lib/timidity/goemon/whistle1.pat
-lib/timidity/goemon/whistle2.pat
-lib/timidity/goemon/woodblk.pat
-lib/timidity/goemon/woodblk1.pat
-lib/timidity/goemon/woodblk2.pat
-lib/timidity/goemon/woodflut.pat
+%%GOEMON%%lib/timidity/goemon.cfg
+%%GOEMON%%lib/timidity/goemon/acbass.pat
+%%GOEMON%%lib/timidity/goemon/accordn.pat
+%%GOEMON%%lib/timidity/goemon/acguitar2.pat
+%%GOEMON%%lib/timidity/goemon/agogo.pat
+%%GOEMON%%lib/timidity/goemon/agogohi.pat
+%%GOEMON%%lib/timidity/goemon/agogolo.pat
+%%GOEMON%%lib/timidity/goemon/airpipe.pat
+%%GOEMON%%lib/timidity/goemon/altosax.pat
+%%GOEMON%%lib/timidity/goemon/an_trmp1.pat
+%%GOEMON%%lib/timidity/goemon/applause.pat
+%%GOEMON%%lib/timidity/goemon/atmosphr.pat
+%%GOEMON%%lib/timidity/goemon/aurora.pat
+%%GOEMON%%lib/timidity/goemon/bagpipes.pat
+%%GOEMON%%lib/timidity/goemon/banjo.pat
+%%GOEMON%%lib/timidity/goemon/barisax.pat
+%%GOEMON%%lib/timidity/goemon/basslead.pat
+%%GOEMON%%lib/timidity/goemon/bassoon.pat
+%%GOEMON%%lib/timidity/goemon/bellpad.pat
+%%GOEMON%%lib/timidity/goemon/bells.pat
+%%GOEMON%%lib/timidity/goemon/belltree.pat
+%%GOEMON%%lib/timidity/goemon/bongohi.pat
+%%GOEMON%%lib/timidity/goemon/bongolo.pat
+%%GOEMON%%lib/timidity/goemon/bottleit.pat
+%%GOEMON%%lib/timidity/goemon/bowglass.pat
+%%GOEMON%%lib/timidity/goemon/britenss.pat
+%%GOEMON%%lib/timidity/goemon/britepno.pat
+%%GOEMON%%lib/timidity/goemon/cabasa.pat
+%%GOEMON%%lib/timidity/goemon/carillon.pat
+%%GOEMON%%lib/timidity/goemon/castinet.pat
+%%GOEMON%%lib/timidity/goemon/celeste.pat
+%%GOEMON%%lib/timidity/goemon/cello.pat
+%%GOEMON%%lib/timidity/goemon/charang.pat
+%%GOEMON%%lib/timidity/goemon/chiflead.pat
+%%GOEMON%%lib/timidity/goemon/choir.pat
+%%GOEMON%%lib/timidity/goemon/church.pat
+%%GOEMON%%lib/timidity/goemon/claps.pat
+%%GOEMON%%lib/timidity/goemon/clarinet.pat
+%%GOEMON%%lib/timidity/goemon/clave.pat
+%%GOEMON%%lib/timidity/goemon/clavinet.pat
+%%GOEMON%%lib/timidity/goemon/cleangtr.pat
+%%GOEMON%%lib/timidity/goemon/concrtna.pat
+%%GOEMON%%lib/timidity/goemon/congahi1.pat
+%%GOEMON%%lib/timidity/goemon/congahi2.pat
+%%GOEMON%%lib/timidity/goemon/congalo.pat
+%%GOEMON%%lib/timidity/goemon/contraba.pat
+%%GOEMON%%lib/timidity/goemon/cowbell.pat
+%%GOEMON%%lib/timidity/goemon/cuica1.pat
+%%GOEMON%%lib/timidity/goemon/cuica2.pat
+%%GOEMON%%lib/timidity/goemon/cymbell.pat
+%%GOEMON%%lib/timidity/goemon/cymchina.pat
+%%GOEMON%%lib/timidity/goemon/cymcrsh1.pat
+%%GOEMON%%lib/timidity/goemon/cymcrsh2.pat
+%%GOEMON%%lib/timidity/goemon/cymride1.pat
+%%GOEMON%%lib/timidity/goemon/cymride2.pat
+%%GOEMON%%lib/timidity/goemon/cymsplsh.pat
+%%GOEMON%%lib/timidity/goemon/digitel.pat
+%%GOEMON%%lib/timidity/goemon/distgtr2.pat
+%%GOEMON%%lib/timidity/goemon/englhorn.pat
+%%GOEMON%%lib/timidity/goemon/epiano1.pat
+%%GOEMON%%lib/timidity/goemon/epiano2.pat
+%%GOEMON%%lib/timidity/goemon/fiddle.pat
+%%GOEMON%%lib/timidity/goemon/flute.pat
+%%GOEMON%%lib/timidity/goemon/fngrbass.pat
+%%GOEMON%%lib/timidity/goemon/frenchrn.pat
+%%GOEMON%%lib/timidity/goemon/freshair.pat
+%%GOEMON%%lib/timidity/goemon/fretless.pat
+%%GOEMON%%lib/timidity/goemon/fretnoyz.pat
+%%GOEMON%%lib/timidity/goemon/fx-blow.pat
+%%GOEMON%%lib/timidity/goemon/ghostie.pat
+%%GOEMON%%lib/timidity/goemon/glocken.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/bank.inf
+%%GOEMON%%lib/timidity/goemon/gsdrum00/bongohi.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/bongolo.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cabasa.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/congahi1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/congahi2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/congalo.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cowbell.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cuica1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cuica2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cymbell.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cymchina.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cymcrsh1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cymcrsh2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cymride1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cymride2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/cymsplsh.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/gsdrum00.doc
+%%GOEMON%%lib/timidity/goemon/gsdrum00/gsdrum00.txt
+%%GOEMON%%lib/timidity/goemon/gsdrum00/guiro1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/guiro2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/hihatcl.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/hihatop.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/hihatpd.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/kick1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/kick2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/scratch1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/scratch2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/shaker.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/snare1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/snare2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/stickrim.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/tamborin.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/tomhi1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/tomhi2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/tomlo1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/tomlo2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/tommid1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/tommid2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/woodblk1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum00/woodblk2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum08/bank.inf
+%%GOEMON%%lib/timidity/goemon/gsdrum08/gsdrum08.doc
+%%GOEMON%%lib/timidity/goemon/gsdrum08/gsdrum08.txt
+%%GOEMON%%lib/timidity/goemon/gsdrum08/roomhi1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum08/roomhi2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum08/roomlow1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum08/roomlow2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum08/roommid1.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum08/roommid2.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum40/bank.inf
+%%GOEMON%%lib/timidity/goemon/gsdrum40/br_slap.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum40/br_swirl.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum40/br_swish.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum40/gsdrum40.bak
+%%GOEMON%%lib/timidity/goemon/gsdrum40/gsdrum40.doc
+%%GOEMON%%lib/timidity/goemon/gsdrum40/gsdrum40.txt
+%%GOEMON%%lib/timidity/goemon/gsdrum40/hihatcl.pat
+%%GOEMON%%lib/timidity/goemon/gsdrum40/hihatop.pat
+%%GOEMON%%lib/timidity/goemon/gtrharm.pat
+%%GOEMON%%lib/timidity/goemon/guiro1.pat
+%%GOEMON%%lib/timidity/goemon/guiro2.pat
+%%GOEMON%%lib/timidity/goemon/gunshot.pat
+%%GOEMON%%lib/timidity/goemon/halopad.pat
+%%GOEMON%%lib/timidity/goemon/hammond.pat
+%%GOEMON%%lib/timidity/goemon/harmonca.pat
+%%GOEMON%%lib/timidity/goemon/harp.pat
+%%GOEMON%%lib/timidity/goemon/helicptr.pat
+%%GOEMON%%lib/timidity/goemon/highq.pat
+%%GOEMON%%lib/timidity/goemon/hihatcl.pat
+%%GOEMON%%lib/timidity/goemon/hihatop.pat
+%%GOEMON%%lib/timidity/goemon/hihatpd.pat
+%%GOEMON%%lib/timidity/goemon/hitbrass.pat
+%%GOEMON%%lib/timidity/goemon/homeorg.pat
+%%GOEMON%%lib/timidity/goemon/honky.pat
+%%GOEMON%%lib/timidity/goemon/hrpschrd.pat
+%%GOEMON%%lib/timidity/goemon/jazzgtr2.pat
+%%GOEMON%%lib/timidity/goemon/jingles.pat
+%%GOEMON%%lib/timidity/goemon/jungle.pat
+%%GOEMON%%lib/timidity/goemon/kalimba.pat
+%%GOEMON%%lib/timidity/goemon/kick1.pat
+%%GOEMON%%lib/timidity/goemon/kick2.pat
+%%GOEMON%%lib/timidity/goemon/koto.pat
+%%GOEMON%%lib/timidity/goemon/lcalliop.pat
+%%GOEMON%%lib/timidity/goemon/lead5th.pat
+%%GOEMON%%lib/timidity/goemon/maracas.pat
+%%GOEMON%%lib/timidity/goemon/marcato.pat
+%%GOEMON%%lib/timidity/goemon/marimba.pat
+%%GOEMON%%lib/timidity/goemon/metalpad.pat
+%%GOEMON%%lib/timidity/goemon/metbell.pat
+%%GOEMON%%lib/timidity/goemon/metclick.pat
+%%GOEMON%%lib/timidity/goemon/mutegtr2.pat
+%%GOEMON%%lib/timidity/goemon/mutetrum.pat
+%%GOEMON%%lib/timidity/goemon/nyguitar.pat
+%%GOEMON%%lib/timidity/goemon/ob8.pat
+%%GOEMON%%lib/timidity/goemon/oboe.pat
+%%GOEMON%%lib/timidity/goemon/ocarina.pat
+%%GOEMON%%lib/timidity/goemon/odguitar.pat
+%%GOEMON%%lib/timidity/goemon/orchhit.pat
+%%GOEMON%%lib/timidity/goemon/percorg.pat
+%%GOEMON%%lib/timidity/goemon/piccolo.pat
+%%GOEMON%%lib/timidity/goemon/pickbass.pat
+%%GOEMON%%lib/timidity/goemon/pizzcato.pat
+%%GOEMON%%lib/timidity/goemon/recorder.pat
+%%GOEMON%%lib/timidity/goemon/reedorg.pat
+%%GOEMON%%lib/timidity/goemon/revcym.pat
+%%GOEMON%%lib/timidity/goemon/rhodes.pat
+%%GOEMON%%lib/timidity/goemon/rvrbxylo.pat
+%%GOEMON%%lib/timidity/goemon/santur.pat
+%%GOEMON%%lib/timidity/goemon/sawwave.pat
+%%GOEMON%%lib/timidity/goemon/scratch1.pat
+%%GOEMON%%lib/timidity/goemon/scratch2.pat
+%%GOEMON%%lib/timidity/goemon/seagulls.pat
+%%GOEMON%%lib/timidity/goemon/shakazul.pat
+%%GOEMON%%lib/timidity/goemon/shaker.pat
+%%GOEMON%%lib/timidity/goemon/shamisen.pat
+%%GOEMON%%lib/timidity/goemon/shannai.pat
+%%GOEMON%%lib/timidity/goemon/sitar.pat
+%%GOEMON%%lib/timidity/goemon/slap.pat
+%%GOEMON%%lib/timidity/goemon/slapbas1.pat
+%%GOEMON%%lib/timidity/goemon/slapbas2.pat
+%%GOEMON%%lib/timidity/goemon/slapbass.pat
+%%GOEMON%%lib/timidity/goemon/snare1.pat
+%%GOEMON%%lib/timidity/goemon/snare2.pat
+%%GOEMON%%lib/timidity/goemon/sologrnd.pat
+%%GOEMON%%lib/timidity/goemon/soundtrk.pat
+%%GOEMON%%lib/timidity/goemon/spctbell.pat
+%%GOEMON%%lib/timidity/goemon/sprnosax.pat
+%%GOEMON%%lib/timidity/goemon/sqrclick.pat
+%%GOEMON%%lib/timidity/goemon/sqrwave.pat
+%%GOEMON%%lib/timidity/goemon/startrak.pat
+%%GOEMON%%lib/timidity/goemon/steeldrm.pat
+%%GOEMON%%lib/timidity/goemon/stickrim.pat
+%%GOEMON%%lib/timidity/goemon/sticks.pat
+%%GOEMON%%lib/timidity/goemon/strings.pat
+%%GOEMON%%lib/timidity/goemon/surdo1.pat
+%%GOEMON%%lib/timidity/goemon/surdo2.pat
+%%GOEMON%%lib/timidity/goemon/sweeper.pat
+%%GOEMON%%lib/timidity/goemon/synbass1.pat
+%%GOEMON%%lib/timidity/goemon/synbass2.pat
+%%GOEMON%%lib/timidity/goemon/synbras1.pat
+%%GOEMON%%lib/timidity/goemon/synbras2.pat
+%%GOEMON%%lib/timidity/goemon/synstr1.pat
+%%GOEMON%%lib/timidity/goemon/synstr2.pat
+%%GOEMON%%lib/timidity/goemon/syntom.pat
+%%GOEMON%%lib/timidity/goemon/synvoic1.pat
+%%GOEMON%%lib/timidity/goemon/taiko.pat
+%%GOEMON%%lib/timidity/goemon/tamborin.pat
+%%GOEMON%%lib/timidity/goemon/tenorsax.pat
+%%GOEMON%%lib/timidity/goemon/timbaleh.pat
+%%GOEMON%%lib/timidity/goemon/timbalel.pat
+%%GOEMON%%lib/timidity/goemon/timpani.pat
+%%GOEMON%%lib/timidity/goemon/tomhi1.pat
+%%GOEMON%%lib/timidity/goemon/tomhi2.pat
+%%GOEMON%%lib/timidity/goemon/tomlo1.pat
+%%GOEMON%%lib/timidity/goemon/tomlo2.pat
+%%GOEMON%%lib/timidity/goemon/tommid1.pat
+%%GOEMON%%lib/timidity/goemon/tommid2.pat
+%%GOEMON%%lib/timidity/goemon/toms.pat
+%%GOEMON%%lib/timidity/goemon/tremstr.pat
+%%GOEMON%%lib/timidity/goemon/triangl1.pat
+%%GOEMON%%lib/timidity/goemon/triangl2.pat
+%%GOEMON%%lib/timidity/goemon/trombone.pat
+%%GOEMON%%lib/timidity/goemon/tuba.pat
+%%GOEMON%%lib/timidity/goemon/tubebell.pat
+%%GOEMON%%lib/timidity/goemon/unicorn.pat
+%%GOEMON%%lib/timidity/goemon/vibes.pat
+%%GOEMON%%lib/timidity/goemon/vibslap.pat
+%%GOEMON%%lib/timidity/goemon/viola.pat
+%%GOEMON%%lib/timidity/goemon/violin.pat
+%%GOEMON%%lib/timidity/goemon/voicedoo.pat
+%%GOEMON%%lib/timidity/goemon/voices.pat
+%%GOEMON%%lib/timidity/goemon/warmpad.pat
+%%GOEMON%%lib/timidity/goemon/whistle.pat
+%%GOEMON%%lib/timidity/goemon/whistle1.pat
+%%GOEMON%%lib/timidity/goemon/whistle2.pat
+%%GOEMON%%lib/timidity/goemon/woodblk.pat
+%%GOEMON%%lib/timidity/goemon/woodblk1.pat
+%%GOEMON%%lib/timidity/goemon/woodblk2.pat
+%%GOEMON%%lib/timidity/goemon/woodflut.pat
lib/timidity/gravis.cfg
lib/timidity/gsdrum.cfg
lib/timidity/midia.cfg
@@ -259,8 +259,8 @@ lib/timidity/mt32.cfg
lib/timidity/timidity.cfg
lib/timidity/wowpats.cfg
man/man1/timidity.1.gz
-@dirrm lib/timidity/goemon/gsdrum40
-@dirrm lib/timidity/goemon/gsdrum08
-@dirrm lib/timidity/goemon/gsdrum00
-@dirrm lib/timidity/goemon
+%%GOEMON%%@dirrm lib/timidity/goemon/gsdrum40
+%%GOEMON%%@dirrm lib/timidity/goemon/gsdrum08
+%%GOEMON%%@dirrm lib/timidity/goemon/gsdrum00
+%%GOEMON%%@dirrm lib/timidity/goemon
@dirrm lib/timidity