summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancisco Blas Izquierdo Riera (klondike) <klondike@xiscosoft.es>2013-10-01 02:43:32 +0200
committerFrancisco Blas Izquierdo Riera (klondike) <klondike@xiscosoft.es>2013-10-01 02:43:32 +0200
commit69b2fd4d874529c5823c9c5f5bdc483258f68449 (patch)
tree7167a843b7b6030a78b17c821a5e4a0e0774df59 /media-sound
parentBump the boost dependency so liblocale-mt is there (diff)
downloadklondike-69b2fd4d874529c5823c9c5f5bdc483258f68449.tar.gz
klondike-69b2fd4d874529c5823c9c5f5bdc483258f68449.tar.bz2
klondike-69b2fd4d874529c5823c9c5f5bdc483258f68449.zip
Add support for multiple soundfonts for timidity
Diffstat (limited to 'media-sound')
-rw-r--r--media-sound/timidity++/ChangeLog16
-rw-r--r--media-sound/timidity++/Manifest15
-rw-r--r--media-sound/timidity++/files/50timidity++-gentoo.el6
-rw-r--r--media-sound/timidity++/files/conf.d.timidity.227
-rw-r--r--media-sound/timidity++/files/init.d.timidity.320
-rw-r--r--media-sound/timidity++/files/init.d.timidity.420
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-params.patch22
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch28
-rw-r--r--media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch13
-rw-r--r--media-sound/timidity++/files/timidity.cfg-r124
-rw-r--r--media-sound/timidity++/files/timidity.desktop.210
-rw-r--r--media-sound/timidity++/files/timidity.service10
-rw-r--r--media-sound/timidity++/files/timidity.xpm56
-rw-r--r--media-sound/timidity++/metadata.xml5
-rw-r--r--media-sound/timidity++/timidity++-2.14.0-r2.ebuild182
15 files changed, 454 insertions, 0 deletions
diff --git a/media-sound/timidity++/ChangeLog b/media-sound/timidity++/ChangeLog
new file mode 100644
index 0000000..8434134
--- /dev/null
+++ b/media-sound/timidity++/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for media-sound/timidity++
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: $
+
+*timidity++-2.14.0-r2 (22 Sep 2013)
+
+ 22 Sep 2013; Francisco Blas Izquierdo Riera (klondike)
+ +files/50timidity++-gentoo.el, +timidity++-2.14.0-r2.ebuild,
+ +files/timidity++-2.14.0-params.patch,
+ +files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch,
+ +files/timidity++-2.14.0-tcltk86.patch, +files/conf.d.timidity.2,
+ +files/init.d.timidity.3, +files/init.d.timidity.4, +files/timidity.cfg-r1,
+ +files/timidity.desktop.2, +files/timidity.service, +files/timidity.xpm,
+ +metadata.xml:
+ Add support for the timidity soundfonts virtual package
+
diff --git a/media-sound/timidity++/Manifest b/media-sound/timidity++/Manifest
new file mode 100644
index 0000000..b433822
--- /dev/null
+++ b/media-sound/timidity++/Manifest
@@ -0,0 +1,15 @@
+AUX 50timidity++-gentoo.el 180 SHA256 a5ca92074ec2b79251bf33a1fb9c4007f528c036f951c6e4fa87311d7acc11a0 SHA512 21df87bf47d56c1072fc3942f3c988293106028dd0473dd1a03b66edc4e7586a3cf5150abdf3c932e44dc32a97ce9cbaa8016dcb28e5e60195f1fe9418ab3bd6 WHIRLPOOL 6b48cab95dc59524d11972ce36e81ac1b3bc13f38a4a45eb9e1098b3c2a47ee300ba82e618edb7f518544477ff5d34de1a47a7fc4bfe1659d5308ef6ae5f1764
+AUX conf.d.timidity.2 972 SHA256 a3a6fc74fc1353f2c5e7eda51a244fb3212cd5f33b407fe5ce1245ca2757593e SHA512 67668a6a00408ecc1e467be8f372b78be318e940d75c0fb856fadc5e5446e5d1a461c004856ab851968d6c146e662e766c09da6b815fd14b7675b92b975cabd9 WHIRLPOOL fe67d80414a6b4a88eae3bc3ae35a466f8e66378aa9190b804852d613392ba765d0e02b7743ee890ac37cdcb986fbf1b868c6f1cabf640e66cdd7b91c2b12c2c
+AUX init.d.timidity.3 502 SHA256 b11e108210446221ccc8344f07a780349197248194bde5956ca69552f7aa5b14 SHA512 ae3dac83f309eb2e6e2d364baaa3fc14dbba9be8b972798f910b6c4e98a5a135af4629b52e752fe42707d2ee6df36b2bfe67f004c73d52324a807ed0d986f741 WHIRLPOOL 9cc32f287a36541a887a0124bebbedb3eb124271982a2dccaccd20f090dee6b0266baf6942ff380639ca6bf07c25fd6a73e89d5136306e522f22f0777507187b
+AUX init.d.timidity.4 509 SHA256 e982455e275d34c0f2b66b94203c7380ecb2d06a59210ce7702564c858817161 SHA512 f1e723ff2cfed1766e636f8a71d8f12379fee0f49e723b2e3f51341239a8de238ac243f06fdc114f9b15ae6334e64ddad6c22fbd95936fafaf510bb2d485c130 WHIRLPOOL 7c75865342b8b9c9f31820d3b4d30c071afc76b2cbef093d2587a92509b06c301feac9a9d5d9d1b4fd0f928a4717f80d3ad6b0203c0c229603aa37dd6724bdb4
+AUX timidity++-2.14.0-params.patch 712 SHA256 cf78561c620f55c6dfc21f3650e9d0e55603aa991aef9c2179363bd3d608191f SHA512 63e2a1be6fec715680230de158d1fb09d5288a068288ac33b37320491ac29ec1c66f60d05ffb352c4a192540163e9c93369115fe606aa25295b727332e92874c WHIRLPOOL a6de7b97de6282980a2850636fc72a4ca47efc79afabe81417426015126d1e4f2cabbf040ca6b559b924d4ae44fe3ca930fb3a3042d54845d0c0095b0b7371d0
+AUX timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch 697 SHA256 1c0c5f672679750289b65bd8bfb42bd6ced489c2b085b2a4024351548499e9b5 SHA512 d5716b7977f5c013c61da2e9f3e233b17e3b4b95cb14b2e459bae3c69316440be899278b44566a1640d8d82b683811348c22f5e859512c523baee4939bc2a497 WHIRLPOOL 58e2ac706564baa1520c586420dd3ac044eb468812d74b35455c0469b36c7c9a6581d5db26c2b2c0ee66f919708f55e1b352de3696ab77ef6ef33a665ff4f504
+AUX timidity++-2.14.0-tcltk86.patch 308 SHA256 aae1aa02206ffa62e1e48746d59d965ba0d3eec4096c4e7ab70afc2628871505 SHA512 37e8a97fe1a09382234011ab253443ba9e9be78cdb7bb4dd03ee5756bda8e614bc627a091d10b480a3ef5bca9e3961c2f14e92a548782145d2bb61da991d5f62 WHIRLPOOL 2efae14055ce713ee8f5079c5829b8a06e4cfa1af8ddda9ec620d328d00ac53817795ef393f6d661b2f60b859cde3a4d8a14f8773906c497f5069cb09f4a0792
+AUX timidity.cfg-r1 669 SHA256 50fb27ea57cc225fcb8e8368e8afc130f2bba22d0787ebb6beacd2112550f9ce SHA512 98f0690bda6deed6022e97e74a6114334d5f965d646d7c7d150ac177f6eb78277e931ed0b4c5613ef16ba648eaad66a3ed72ed933ca936698ca81365151b223b WHIRLPOOL d2e0e504275c59177b936591c703b5ad1f75e9e00ed0331d3c5a2c720bf6b85f39e4e531b5639f83be74f24144c3dd00b897e51de07d2248c268f342b8b52475
+AUX timidity.desktop.2 257 SHA256 9e9d89fe6c03067d90d2786f0c41415cfa379b6d8635e1b206fffd7dd68e65aa SHA512 34312594866d77244d0eb77b4111a8e7998bd20bcb3542b036b1626d73bf4672eef677a926badceaaee517f1d32752b3e3b1ea4d3f2cc0703d66c1c740e0dc2e WHIRLPOOL 8fe3b0df3377c9146399c6b2cad7c9fa497dfae433cd903843caef1eb21ac2bc1b39631d5334ab4bc033e1e3e4525bfaecefe4c8f73b1a32d42b98d2b7fb8a55
+AUX timidity.service 190 SHA256 e0490abaded5d7a7d6c82e6a61669f486461c1e39c7d64ddd63b056f7b888c2f SHA512 1022c1e37e2a97fba414673860ec89bc146da208981dd50d9486c525b47c74ae146acef2d75ceec26335c3ab98b2c928ce480a161637990ecd737507a6c21b49 WHIRLPOOL 895c0bc5f8a6f0730f4c24fb7a4c68dee6a1e72abf4c9252a912752c047fae22ef14523a6a83d664e5faeb96cc8534d95dde000382519a9fb7f9bd741901964f
+AUX timidity.xpm 1522 SHA256 4b085a4b8af1648495dccc36bcb7b7637318ffb3e9c2011cc8ac43119a8b4db6 SHA512 1630fc235e450e5420c598357ad98eed6f04b1d1035fd6284dfeb2e633ce5d80135f89ea593d58b4eac2b9405383787e4d891b9c22ff8b5ac3ece64e9abe7d4e WHIRLPOOL 8d1279dac550131b15639602972861b90e724f5391eefa7f72b3c190681b2e5a081ab2380e3717e94ed0b05b4738bad627021588d872d76ff48ff8e8a142f56a
+DIST TiMidity++-2.14.0.tar.xz 1356476 SHA256 abf0c8367959e85c9e635b8fbd5183fc27bd380e0ef5e45de4158784538c86fc SHA512 d8fc06fa36e4dd42de80c61943da4cd9aec5f8aaf31057a9ededa633d2d48e64c4e53391378d82a7a46ffe4f96c756b010ea9727270f80b134ae1f8bad535bd3 WHIRLPOOL 0031a0e6519ead34c73ed3383d1d74b91b3e25c257854bd3325d25ec9c00bb55c036936ef4ef162ad13c255fefc4e46b802173e93b7ed575c92cf076ab03929b
+EBUILD timidity++-2.14.0-r2.ebuild 5062 SHA256 8e6e9190a850445265680e136e9b6ad4767b20e14d49644ad52c182a80176e76 SHA512 b884f36d009f66485ea4697d1f8f396741822c3caf84f835ee16ecb966da9573d1b6c0617ac41de0861d131a25db71d0af0504ad32e28cfa266c95694fb4d55a WHIRLPOOL 23b6ccdb8ba60052e870cc2b6d4f97bc065d71512bc381270203022e7211afb01f084205bf769048bada92d061e151a22237281481b3ffbb9e85f1ecc937ac23
+MISC ChangeLog 697 SHA256 415b1a37b0d22d16c879b5c40216fa2729b5fbe02dc6e906405bab67e812333b SHA512 31be77e299683deeabece1bfaa66cb086c12bef2147d1564c6df0e30b3db6345bad60e3367066889e111712b837e3e959325b43b818a4b1854559efeab3e5d3a WHIRLPOOL f124e4958f4f78c507a667fa315bfd6741d847bd89c9c221b020744032530cca134ca9f07693833eca13f0d8dda9d42a5a189349fe80875c9ca3cc33e7e15603
+MISC metadata.xml 158 SHA256 dfb5b47e6836db39fb187301dfcff1c2605e91d13d21db160806a563d8c75f9b SHA512 90f74979d228a35f81de50665ead63d228bc4f0d11f3def4832c9607f4242cbc4562db0a123bdcf2c4b6e0be78fc5565a65f75cdb53ed4c8d45544ebf74255dc WHIRLPOOL a90483bd4fa01ed5fa21bfe9f59c11b97c793146e3031eae342a3355c6dc2e4ef2b356af0bf711b5e16e16551c91d63ecdbb48e708df606017264e8bff5e9fe9
diff --git a/media-sound/timidity++/files/50timidity++-gentoo.el b/media-sound/timidity++/files/50timidity++-gentoo.el
new file mode 100644
index 0000000..3f9e35c
--- /dev/null
+++ b/media-sound/timidity++/files/50timidity++-gentoo.el
@@ -0,0 +1,6 @@
+
+;;; timidity++ site-lisp configuration
+
+(add-to-list 'load-path "@SITELISP@")
+(autoload 'timidity "timidity" "TiMidity Interface" t)
+(setq timidity-prog-path "/usr/bin/timidity")
diff --git a/media-sound/timidity++/files/conf.d.timidity.2 b/media-sound/timidity++/files/conf.d.timidity.2
new file mode 100644
index 0000000..0a153ca
--- /dev/null
+++ b/media-sound/timidity++/files/conf.d.timidity.2
@@ -0,0 +1,27 @@
+# TIMIDITY_OPTS
+# Command line arguements to be passed to timidity. -iA is always used
+# Common options:
+# -Os : Output to ALSA pcm device
+# -Oe : Output to esd
+# -On : Output to NAS
+#
+# -B<n>,<m> : Set number of buffer fragments(n), and buffer size(2^m)
+#
+# -EFreverb=0 : Disable MIDI reverb effect control
+# -EFreverb=1[,level] : Enable MIDI reverb effect control
+# `level' is optional to specify reverb level [0..127]
+# This effect is only available in stereo
+# (default)
+# -EFreverb=2 : Global reverb effect
+
+TIMIDITY_OPTS="-B2,8 -Os -EFreverb=0"
+
+# TIMIDITY_PCM_NAME
+# This option can be used to choose an alternate ALSA pcm device. This will
+# be most useful for users of the dmix alsa plugin or those with multiple
+# cards. If you don't know what this is, chances are you want the default.
+
+#TIMIDITY_PCM_NAME="default"
+
+#LADSPA plugins library path
+LADSPA_PATH="/usr/lib/ladspa"
diff --git a/media-sound/timidity++/files/init.d.timidity.3 b/media-sound/timidity++/files/init.d.timidity.3
new file mode 100644
index 0000000..444a914
--- /dev/null
+++ b/media-sound/timidity++/files/init.d.timidity.3
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+
+depend() {
+ after alsasound esound
+}
+
+start() {
+ ebegin "Starting TiMidity++ Virtual Midi Sequencer"
+ test -n "$TIMIDITY_PCM_NAME" && export TIMIDITY_PCM_NAME
+ start-stop-daemon --start --background --chdir /usr/share/timidity \
+ --chuid timidity:audio --make-pidfile --pidfile /var/run/timidity.pid \
+ --exec /usr/bin/timidity -- -iA ${TIMIDITY_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping TiMidity++"
+ start-stop-daemon --stop --quiet --pidfile /var/run/timidity.pid
+ eend $?
+}
diff --git a/media-sound/timidity++/files/init.d.timidity.4 b/media-sound/timidity++/files/init.d.timidity.4
new file mode 100644
index 0000000..e3dac7f
--- /dev/null
+++ b/media-sound/timidity++/files/init.d.timidity.4
@@ -0,0 +1,20 @@
+#!/sbin/runscript
+
+depend() {
+ after alsasound esound
+}
+
+start() {
+ ebegin "Starting TiMidity++ Virtual Midi Sequencer"
+ test -n "$TIMIDITY_PCM_NAME" && export TIMIDITY_PCM_NAME
+ start-stop-daemon --start --background --chdir /usr/share/timidity \
+ --user timidity --group audio --make-pidfile --pidfile /var/run/timidity.pid \
+ --exec /usr/bin/timidity -- -iA ${TIMIDITY_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping TiMidity++"
+ start-stop-daemon --stop --quiet --pidfile /var/run/timidity.pid
+ eend $?
+}
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-params.patch b/media-sound/timidity++/files/timidity++-2.14.0-params.patch
new file mode 100644
index 0000000..d56448b
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-params.patch
@@ -0,0 +1,22 @@
+--- configure.in
++++ configure.in
+@@ -2245,10 +2245,15 @@
+
+ AM_CONDITIONAL(W32READDIR, test "x$W32READDIR" = "xyes")
+
+-SET_UNIQ_WORDS(LDFLAGS,$LDFLAGS)
+-SET_UNIQ_WORDS(SHLDFLAGS,$SHLDFLAGS)
+-SET_UNIQ_WORDS(CFLAGS,$EXTRACFLAGS $CFLAGS)
+-SET_UNIQ_WORDS(CPPFLAGS,$CPPFLAGS $EXTRADEFS)
++# These break flags like --param wrt #276433
++# SET_UNIQ_WORDS(LDFLAGS,$LDFLAGS)
++# SET_UNIQ_WORDS(SHLDFLAGS,$SHLDFLAGS)
++# SET_UNIQ_WORDS(CFLAGS,$EXTRACFLAGS $CFLAGS)
++# SET_UNIQ_WORDS(CPPFLAGS,$CPPFLAGS $EXTRADEFS)
++LDFLAGS="$LDFLAGS"
++SHLDFLAGS="$SHLDFLAGS"
++CFLAGS="$EXTRACFLAGS $CFLAGS"
++CPPFLAGS="$CPPFLAGS $EXTRADEFS"
+
+ if test "x$oss_device" != x; then
+ AC_DEFINE_UNQUOTED(OSS_DEVICE,"$oss_device", oss device name)
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch b/media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch
new file mode 100644
index 0000000..a83a7db
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-revert-for-required-ctl_speana_data-function.patch
@@ -0,0 +1,28 @@
+This will revert part of the commit from:
+
+http://timidity.git.sourceforge.net/git/gitweb.cgi?p=timidity/timidity;a=commit;h=e73b53437dbc1e57e61dd4d0c1407784797b08d9
+
+Because otherwise TiMidity++ simply won't build as per:
+
+../interface/libinterface.a(xskin_c.o): In function `ctl_event':
+xskin_c.c:(.text+0x17c): undefined reference to `ctl_speana_data'
+collect2: error: ld returned 1 exit status
+
+--- interface/xskin_c.c
++++ interface/xskin_c.c
+@@ -228,7 +228,6 @@
+ }
+ }
+
+-#if 0
+ static void ctl_speana_data(double *val, int size) {
+
+ /* 0 <= val[n] <= (AMP*NCOLOR) */
+@@ -280,7 +279,6 @@
+
+ return;
+ }
+-#endif
+
+ /*ARGSUSED*/
+ static int ctl_open(int using_stdin, int using_stdout) {
diff --git a/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch b/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch
new file mode 100644
index 0000000..ea2c0ee
--- /dev/null
+++ b/media-sound/timidity++/files/timidity++-2.14.0-tcltk86.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/451296
+
+--- interface/tk_c.c
++++ interface/tk_c.c
+@@ -913,7 +913,7 @@
+ vsnprintf(buf, sizeof(buf), fmt, ap);
+ Tcl_Eval(my_interp, buf);
+ va_end(ap);
+- return my_interp->result;
++ return Tcl_GetStringResult(my_interp);
+ }
+
+ static const char *v_get2(const char *v1, const char *v2)
diff --git a/media-sound/timidity++/files/timidity.cfg-r1 b/media-sound/timidity++/files/timidity.cfg-r1
new file mode 100644
index 0000000..3923fb2
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.cfg-r1
@@ -0,0 +1,24 @@
+##############################################################################
+#
+# timidity-update core configuration file
+#
+# Easy process:
+#
+# 1. Change directory to patch directory
+# 2. Source current/timidity.cfg
+#
+# Current patch set will always be symlinked to current, so make sure that the
+# proper timidity.cfg is in there
+#
+#
+# - source /usr/share/timidity
+# - source ~/.timidity/current
+# - Make ~/.timidity/current point to the current patch set, or to whatever
+# the individual user sets
+# - If ~/.timidity/current isn't found, it will try
+# /usr/share/timidity/current
+#
+
+dir /usr/share/timidity
+dir ~/.timidity
+source current/timidity.cfg
diff --git a/media-sound/timidity++/files/timidity.desktop.2 b/media-sound/timidity++/files/timidity.desktop.2
new file mode 100644
index 0000000..00c7f1d
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.desktop.2
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Comment=Software sound renderer (MIDI sequencer, MOD player)
+Name=TiMidity++ MIDI sequencer
+Terminal=true
+NoDisplay=true
+Type=Application
+Exec=timidity %F
+Categories=AudioVideo;Audio;Sequencer;
+Icon=timidity
+MimeType=audio/midi;audio/x-mod;
diff --git a/media-sound/timidity++/files/timidity.service b/media-sound/timidity++/files/timidity.service
new file mode 100644
index 0000000..420d888
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=TiMidity++ Daemon
+After=sound.target
+
+[Service]
+EnvironmentFile=-/etc/conf.d/timidity
+ExecStart=/usr/bin/timidity -iA $TIMIDITY_OPTS
+
+[Install]
+WantedBy=multi-user.target
diff --git a/media-sound/timidity++/files/timidity.xpm b/media-sound/timidity++/files/timidity.xpm
new file mode 100644
index 0000000..dc56a6d
--- /dev/null
+++ b/media-sound/timidity++/files/timidity.xpm
@@ -0,0 +1,56 @@
+/* XPM */
+static char * timidity_xpm[] = {
+"32 32 21 1",
+" c None",
+". c #333399",
+"+ c #000000",
+"@ c #666699",
+"# c #FFFFFF",
+"$ c #DDDDDD",
+"% c #888888",
+"& c #999999",
+"* c #7777A4",
+"= c #4949A4",
+"- c #BBBBBB",
+"; c #111111",
+"> c #444444",
+", c #2B2B2B",
+"' c #555555",
+") c #FF9999",
+"! c #FF9966",
+"~ c #666666",
+"{ c #333333",
+"] c #FF0000",
+"^ c #00FF00",
+" . .. ",
+" . ... + ",
+" . ..@ +#+ + ",
+" .@@.. +#$#+%#+ ",
+" ....@ +#$#$#+$#+ ",
+" .... +#$#$#$#+$#+ ",
+" @...@ +#$#$#$#$#+$#+ ",
+" @.... +#$#$#$#$#$#+$#+ ",
+" @...@. %#$#$#$#$#$#$#&$#& ",
+" @...@ +++++++$#++$+++++&$++ ",
+" ...@ ++$++#++$++#++$$++$++$ ",
+" @..@ %++#++$++#++$++$&++$++ ",
+" ... %#++$++#++$++#++&$++#++ ",
+"*..@ .&++#++$++#++$++++++&++ ",
+"=.. ...&#$#$#$#$#$#&-$#$& ",
+"=.. ...+++++$++#+$+++++++ ++ ",
+"=.. .. .&#$#$#$$&-$#&& ",
+"=.. .. . +&$#$&+-$#&+ ",
+" ;;;;;;;;;;;;;;;;;;;>;;;;;;; ",
+",#%%%%%%%%%%%%%%%%%';#%%%%%'+ ",
+",%+++++++++++++++''>;%'''''>+ ",
+",%+#)))))))))))!;''>;%'%~+'>+ ",
+",'+);;!;!!;!!!!!;>>>;'>+++>>+ ",
+",'+)>!!;!!;!;!;!;>>>;'>>>>>>+ ",
+",'+!!!!!!!!!!!!!;>>{;'>%~+>>+ ",
+",'+;;;;;;;;;;;;;'>>{;'>+++>>+ ",
+",'>>>>>>>>>>>>>>>>>{;'>>>>>>+> ",
+",'%~'>>%~'>>'>'>'>>{;'>%~+>{++> ",
+",']++>>^++>>+>+>+>>{;'>+++>{++>>",
+",'>>>>>>>>>>>>>>{{{';'>>{{{'+>>~",
+" +++++++++++++++++++>+++++++>>~ ",
+" "};
diff --git a/media-sound/timidity++/metadata.xml b/media-sound/timidity++/metadata.xml
new file mode 100644
index 0000000..e1774e3
--- /dev/null
+++ b/media-sound/timidity++/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>sound</herd>
+</pkgmetadata>
diff --git a/media-sound/timidity++/timidity++-2.14.0-r2.ebuild b/media-sound/timidity++/timidity++-2.14.0-r2.ebuild
new file mode 100644
index 0000000..c8147e5
--- /dev/null
+++ b/media-sound/timidity++/timidity++-2.14.0-r2.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-sound/timidity++/timidity++-2.14.0-r1.ebuild,v 1.2 2013/05/03 12:03:50 ulm Exp $
+
+EAPI=5
+inherit autotools eutils elisp-common user systemd
+
+MY_PV=${PV/_/-}
+MY_P=TiMidity++-${MY_PV}
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="A handy MIDI to WAV converter with OSS and ALSA output support"
+HOMEPAGE="http://timidity.sourceforge.net/"
+SRC_URI="mirror://sourceforge/timidity/${MY_P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="motif oss nas X gtk vorbis tk slang alsa jack emacs ao speex flac ncurses"
+
+DEPEND="ncurses? ( >=sys-libs/ncurses-5 )
+ emacs? ( virtual/emacs )
+ gtk? ( x11-libs/gtk+:2 )
+ tk? ( >=dev-lang/tk-8.5.13 )
+ nas? ( >=media-libs/nas-1.4 )
+ alsa? ( media-libs/alsa-lib )
+ slang? ( sys-libs/slang )
+ jack? ( media-sound/jack-audio-connection-kit )
+ vorbis? ( media-libs/libvorbis )
+ flac? ( media-libs/flac )
+ speex? ( media-libs/speex )
+ ao? ( >=media-libs/libao-0.8.5 )
+ motif? ( >=x11-libs/motif-2.3:0 )
+ X? ( x11-libs/libXaw x11-libs/libXext >=media-libs/libpng-1.4.2 )"
+RDEPEND="${DEPEND}
+ alsa? ( media-sound/alsa-utils )
+ app-admin/eselect-timidity"
+
+PDEPEND="virtual/timidity-soundfont"
+
+SITEFILE=50${PN}-gentoo.el
+
+pkg_setup() {
+ enewgroup audio 18 # Just make sure it exists
+ enewuser timidity -1 -1 /var/lib/timidity audio
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-params.patch \
+ "${FILESDIR}"/${P}-revert-for-required-ctl_speana_data-function.patch \
+ "${FILESDIR}"/${P}-tcltk86.patch
+
+ eautoreconf
+}
+
+src_configure() {
+ export EXTRACFLAGS="${CFLAGS}" #385817
+
+ local myconf
+ local audios
+
+ use flac && audios="${audios},flac"
+ use speex && audios="${audios},speex"
+ use vorbis && audios="${audios},vorbis"
+
+ use oss && audios="${audios},oss"
+ use jack && audios="${audios},jack"
+ use ao && audios="${audios},ao"
+
+ if use nas; then
+ audios="${audios},nas"
+ myconf="${myconf} --with-nas-library=/usr/$(get_libdir)/libaudio.so --with-x"
+ use X || ewarn "Basic X11 support will be enabled because required by nas."
+ fi
+
+ if use alsa; then
+ audios="${audios},alsa"
+ myconf="${myconf} --with-default-output=alsa --enable-alsaseq"
+ fi
+
+ # We disable motif by default and then only enable it if it's requested.
+ if use motif; then
+ myconf="${myconf} --enable-motif --with-x"
+ use X || ewarn "Basic X11 support will be enabled because required by motif."
+ fi
+
+ econf \
+ --localstatedir=/var/state/timidity++ \
+ --with-lispdir="${SITELISP}/${PN}" \
+ --with-elf \
+ --enable-audio=${audios} \
+ --enable-server \
+ --enable-network \
+ --enable-dynamic \
+ --enable-vt100 \
+ --enable-spline=cubic \
+ $(use_enable emacs) \
+ $(use_enable slang) \
+ $(use_enable ncurses) \
+ $(use_with X x) \
+ $(use_enable X spectrogram) \
+ $(use_enable X wrd) \
+ $(use_enable X xskin) \
+ $(use_enable X xaw) \
+ $(use_enable gtk) \
+ $(use_enable tk tcltk) \
+ --disable-motif \
+ ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ dodoc AUTHORS ChangeLog*
+ dodoc NEWS README* "${FILESDIR}"/timidity.cfg-r1
+
+ # these are only for the ALSA sequencer mode
+ if use alsa; then
+ newconfd "${FILESDIR}"/conf.d.timidity.2 timidity
+ newinitd "${FILESDIR}"/init.d.timidity.4 timidity
+
+ systemd_dounit "${FILESDIR}"/timidity.service
+ fi
+
+ insinto /etc
+ newins "${FILESDIR}"/timidity.cfg-r1 timidity.cfg
+
+ dodir /usr/share/timidity
+ dosym /etc/timidity.cfg /usr/share/timidity/timidity.cfg
+
+ if use emacs; then
+ elisp-site-file-install "${FILESDIR}/${SITEFILE}"
+ fi
+
+ diropts -o timidity -g nobody -m 0700
+ keepdir /var/lib/timidity
+
+ doicon "${FILESDIR}"/timidity.xpm
+ newmenu "${FILESDIR}"/timidity.desktop.2 timidity.desktop
+
+ # Order of preference: gtk, X (Xaw), ncurses, slang
+ # Do not create menu item for terminal ones
+ local interface="-id"
+ local terminal="true"
+ local nodisplay="true"
+ if use gtk || use X; then
+ interface="-ia"
+ terminal="false"
+ nodisplay="false"
+ use gtk && interface="-ig"
+ elif use ncurses || use slang; then
+ local interface="-is"
+ use ncurses && interface="-in"
+ fi
+ sed -e "s/Exec=timidity/Exec=timidity ${interface}/" \
+ -e "s/Terminal=.*/Terminal=${terminal}/" \
+ -e "s/NoDisplay=.*/NoDisplay=${nodisplay}/" \
+ -i "${D}"/usr/share/applications/timidity.desktop || die
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+
+ elog "A timidity config file has been installed in /etc/timidity.cfg."
+ elog "Do not edit this file as it will interfere with the eselect timidity tool."
+ elog "The tool 'eselect timidity' can be used to switch between installed patchsets."
+
+ if use alsa; then
+ elog "An init script for the alsa timidity sequencer has been installed."
+ elog "If you wish to use the timidity virtual sequencer, edit /etc/conf.d/timidity"
+ elog "and run 'rc-update add timidity <runlevel> && /etc/init.d/timidity start'"
+ fi
+
+ if use sparc; then
+ elog "Only saving to wave file and ALSA soundback has been tested working."
+ fi
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}