audio/TiMidity++: Updated for version 2.15.0.

Signed-off-by: Kyle Guinn <elyk03@gmail.com>
This commit is contained in:
Kyle Guinn 2018-12-31 20:19:23 -06:00 committed by Willy Sudiarto Raharjo
parent 8c4f4f8fa9
commit 6b0c5ed525
No known key found for this signature in database
GPG key ID: 887B8374D7333381
7 changed files with 60 additions and 335 deletions

View file

@ -1,21 +1,13 @@
TiMidity++ is a software synthesizer. It can play MIDI files by converting
them into PCM waveform data or other various audio file formats.
To add JACK support, install jack-audio-connection-kit and build with:
JACK=yes ./TiMidity++.SlackBuild
To add speex support, install speex and build with:
SPEEX=yes ./TiMidity++.SlackBuild
To use Xaw3d in Xaw interface, build with:
XAW3D=yes ./TiMidity++.SlackBuild
TiMidity++ can also be run as an ALSA sequencer client. To do this, make
/etc/rc.d/rc.timidity executable and add this line to /etc/rc.d/rc.local:
/etc/rc.d/rc.timidity start
/etc/rc.d/rc.timidity start
Optional dependencies are jack-audio-connection-kit, speex, and portaudio.
You will need a set of instrument patch files or soundbank fonts for
TiMidity++ to be of any use. The freepats and eawpats packages both provide
a set of patch files, as well as the fluid-soundfont package, so one of those
will be needed.
TiMidity++ to be of any use. Install freepats, eawpats, or fluid-soundfont
(or any combination of these) to satisfy this dependency.

View file

@ -1,14 +1,33 @@
#!/bin/sh
# Slackware build script for TiMidity++
# Written by Kyle Guinn <elyk03@gmail.com>
# Copyright 2010-2018 Kyle Guinn <elyk03@gmail.com>
# Changes for Slackware 12.1 by Richard Hoyle <hoyle.richard@gmail.com>
# Modified by Michiel van Wessem. <michiel.van.wessem@gmail.com>
# Modified by Yair Kalvariski. <cesium2@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=TiMidity++
VERSION=${VERSION:-2.14.0}
BUILD=${BUILD:-3}
VERSION=${VERSION:-2.15.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -25,28 +44,24 @@ PKG=$TMP/package-$PRGNAM-$VERSION
OUTPUT=${OUTPUT:-/tmp}
DOCS="AUTHORS COPYING ChangeLog* INSTALL* NEWS README* TODO doc/C/README* doc/C/FAQ doc/C/CHANGES.02i"
ENABLE_AUDIO="alsa,oss,esd,ao,vorbis,flac"
ENABLE_DYNAMIC="gtk,ncurses,motif,tcltk,emacs,vt100,xaw"
# Support JACK. Requires JACK, of course.
# Disabled by default for those who don't want to install/configure it.
if [ "${JACK:-no}" = "yes" ]; then
# These should be supported in the full Slackware install.
ENABLE_AUDIO="alsa,oss,esd,ao,vorbis,flac"
# Auto-detect these optional dependencies.
if pkg-config --exists portaudio-2.0; then
ENABLE_AUDIO="$ENABLE_AUDIO,portaudio"
fi
if pkg-config --exists jack; then
ENABLE_AUDIO="$ENABLE_AUDIO,jack"
fi
# Support speex. Also disabled by default.
if [ "${SPEEX:-no}" = "yes" ]; then
if pkg-config --exists speex; then
ENABLE_AUDIO="$ENABLE_AUDIO,speex"
fi
# Use xaw3d library in xaw interface module. Disabled by default.
if [ "${XAW3D:-no}" = "yes" ]; then
WITH_XAW="xaw3d"
else
WITH_XAW="xaw"
fi
if [ "$ARCH" = "i586" ]; then
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
@ -72,11 +87,8 @@ chown -R root:root .
chmod -R u+w,go-w,a+rX-st .
# Patches:
# Include tcl's bitmaps in interface to reduce clutter (from git)
# Use tclsh (from git)
# Remove liboggflac autoconf clutter, as it has been merged into flac
# since FLAC-1.1.3
# Another patch from Gentoo (thanks) for tcl-tk-8.6
for patch in $CWD/patches/* ; do
patch -p1 < $patch
done
@ -91,20 +103,28 @@ EXTRACFLAGS="$SLKCFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--infodir=/usr/info \
--mandir=/usr/man \
--infodir=/usr/info \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--disable-dependency-tracking \
--enable-audio=${ENABLE_AUDIO} \
--enable-dynamic=${ENABLE_DYNAMIC} \
--enable-alsaseq \
--enable-server \
--enable-xdnd \
--enable-ncurses=dynamic \
--enable-slang=dynamic \
--enable-motif=dynamic \
--enable-tcltk=dynamic \
--enable-emacs=dynamic \
--enable-vt100=dynamic \
--enable-xaw=dynamic \
--enable-xskin=dynamic \
--enable-gtk=dynamic \
--enable-server=dynamic \
--enable-alsaseq=dynamic \
--enable-network \
--enable-spectrogram \
--enable-xdnd \
--with-default-path=/etc/timidity \
--with-module-dir=/usr/lib${LIBDIRSUFFIX}/timidity \
--with-xaw-resource-prefix=/etc/X11 \
--with-xawlib=${WITH_XAW} \
--build=$ARCH-slackware-linux
make

View file

@ -1,8 +1,8 @@
PRGNAM="TiMidity++"
VERSION="2.14.0"
HOMEPAGE="http://timidity.sourceforge.net/"
DOWNLOAD="http://downloads.sourceforge.net/timidity/TiMidity++-2.14.0.tar.xz"
MD5SUM="27927182d62ba24abbf447a9e9919c53"
VERSION="2.15.0"
HOMEPAGE="https://sourceforge.net/projects/timidity/"
DOWNLOAD="https://sourceforge.net/projects/timidity/files/TiMidity++/TiMidity++-2.15.0/TiMidity++-2.15.0.tar.xz"
MD5SUM="d85077febda2c85ffe9f9628023c2667"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""

View file

@ -133,7 +133,7 @@ diff -Nur a/autoconf/Makefile.am b/autoconf/Makefile.am
diff -Nur a/configure.in b/configure.in
--- a/configure.in 2012-06-28 17:14:25.000000000 +0300
+++ b/configure.in 2012-10-13 18:19:14.806923746 +0200
@@ -889,7 +889,7 @@
@@ -905,7 +905,7 @@
jack: JACK
ao: Libao
vorbis: Ogg Vorbis
@ -142,7 +142,7 @@ diff -Nur a/configure.in b/configure.in
speex: Ogg Speex
gogo: MP3 GOGO (Only Windows is supported)
],
@@ -1393,23 +1393,10 @@
@@ -1409,23 +1409,10 @@
AC_MSG_CHECKING(enable_audio=flac)
if test "x$au_enable_flac" = xyes; then
AC_MSG_RESULT([yes, configuring flac])
@ -167,7 +167,7 @@ diff -Nur a/configure.in b/configure.in
else
AC_MSG_RESULT(no)
fi
@@ -1423,11 +1410,6 @@
@@ -1439,11 +1426,6 @@
EXTRACT_CPPFLAGS(CPPFLAGS,CFLAGS,$LIBFLAC_CFLAGS)
LIBS="$LIBS $LIBFLAC_LIBS"
])

View file

@ -1,135 +0,0 @@
commit 009dd7494916089ca8a4a3c15c37bab4bc6fc7c7
Author: Yair K <cesium2@gmail.com>
Date: Mon Aug 20 09:32:05 2012 +0200
Include xbm bitmaps in the tcl interface itself
Include xbm bitmaps in the tcl interface itself rather than as files in the
system.
Also, include tcl.h a bit later to avoid a redefine warning on reverb.h.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
diff --git a/interface/Makefile.am b/interface/Makefile.am
index e45ce43..6ce4795 100644
--- a/interface/Makefile.am
+++ b/interface/Makefile.am
@@ -275,7 +275,7 @@ if ENABLE_DYNAMIC_XAW
install_xaw = install.xaw
endif
-install.tk: $(ALLTCLF) install.bitmaps
+install.tk: $(ALLTCLF)
test -d $(DESTDIR)$(TCL_DIR) || mkdir -p $(DESTDIR)$(TCL_DIR)
for f in $(ALLTCLF) ''; do case ".$$f" in .);; *) $(INSTALL_DATA) $$f $(DESTDIR)$(TCL_DIR);; esac; done
diff --git a/interface/tk_c.c b/interface/tk_c.c
index c5c9074..ff49568 100644
--- a/interface/tk_c.c
+++ b/interface/tk_c.c
@@ -46,8 +46,6 @@
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
-#include <tcl.h>
-#include <tk.h>
#include <sys/wait.h>
#include "timidity.h"
@@ -60,6 +58,9 @@
#include "miditrace.h"
#include "aq.h"
+#include <tcl.h>
+#include <tk.h>
+
#ifndef TKPROGPATH
#define TKPROGPATH PKGLIBDIR "/tkmidity.tcl"
#endif /* TKPROGPATH */
@@ -871,6 +872,21 @@ static Tcl_Interp *my_interp;
static int AppInit(Tcl_Interp *interp)
{
+#include "bitmaps/back.xbm"
+#include "bitmaps/fwrd.xbm"
+#include "bitmaps/next.xbm"
+#include "bitmaps/pause.xbm"
+#include "bitmaps/play.xbm"
+#include "bitmaps/prev.xbm"
+#include "bitmaps/quit.xbm"
+#include "bitmaps/stop.xbm"
+#include "bitmaps/timidity.xbm"
+
+#define DefineBitmap(Bitmap) do { \
+ Tk_DefineBitmap (interp, Tk_GetUid(#Bitmap), Bitmap##_bits, \
+ Bitmap##_width, Bitmap##_height); \
+ } while(0)
+
my_interp = interp;
if (Tcl_Init(interp) == TCL_ERROR) {
@@ -890,7 +906,19 @@ static int AppInit(Tcl_Interp *interp)
(ClientData)NULL, (Tcl_CmdDeleteProc*)NULL);
Tcl_CreateCommand(interp, "TraceUpdate", (Tcl_CmdProc*) TraceUpdate,
(ClientData)NULL, (Tcl_CmdDeleteProc*)NULL);
+
+ DefineBitmap(back);
+ DefineBitmap(fwrd);
+ DefineBitmap(next);
+ DefineBitmap(pause);
+ DefineBitmap(play);
+ DefineBitmap(prev);
+ DefineBitmap(quit);
+ DefineBitmap(stop);
+ DefineBitmap(timidity);
+
return TCL_OK;
+#undef DefineBitmap
}
/*ARGSUSED*/
diff --git a/interface/tkpanel.tcl b/interface/tkpanel.tcl
index e826c54..e64f509 100755
--- a/interface/tkpanel.tcl
+++ b/interface/tkpanel.tcl
@@ -87,7 +87,7 @@ proc InitGlobal {} {
wm title . "TkMidity"
wm iconname . "TkMidity"
global bitmap_path
- wm iconbitmap . @$bitmap_path/timidity.xbm
+ wm iconbitmap . "timidity"
}
@@ -825,22 +825,14 @@ proc CreateWindow {} {
global bitmap_path
frame .body.button -relief raised -bd 1
pack .body.button -side top -expand 1 -fill x
- button .body.button.play -bitmap @$bitmap_path/play.xbm\
- -command "PlayCmd"
- button .body.button.stop -bitmap @$bitmap_path/stop.xbm\
- -command "StopCmd"
- button .body.button.prev -bitmap @$bitmap_path/prev.xbm\
- -command "PrevCmd"
- button .body.button.back -bitmap @$bitmap_path/back.xbm\
- -command "BackwardCmd"
- button .body.button.fwrd -bitmap @$bitmap_path/fwrd.xbm\
- -command "ForwardCmd"
- button .body.button.next -bitmap @$bitmap_path/next.xbm\
- -command "NextCmd"
- button .body.button.pause -bitmap @$bitmap_path/pause.xbm\
- -command "PauseCmd"
- button .body.button.quit -bitmap @$bitmap_path/quit.xbm\
- -command "QuitCmd"
+ button .body.button.play -bitmap "play" -command "PlayCmd"
+ button .body.button.stop -bitmap "stop" -command "StopCmd"
+ button .body.button.prev -bitmap "prev" -command "PrevCmd"
+ button .body.button.back -bitmap "back" -command "BackwardCmd"
+ button .body.button.fwrd -bitmap "fwrd" -command "ForwardCmd"
+ button .body.button.next -bitmap "next" -command "NextCmd"
+ button .body.button.pause -bitmap "pause" -command "PauseCmd"
+ button .body.button.quit -bitmap "quit" -command "QuitCmd"
pack .body.button.play .body.button.pause\
.body.button.prev .body.button.back\
.body.button.stop\

View file

@ -1,139 +0,0 @@
commit 7cbdab2041e378486a74cd9d0ae0b39fb4d1af16
Author: TAMUKI Shoichi <tamuki@linet.gr.jp>
Date: Wed Sep 5 12:26:22 2012 +0900
Remove tclIndex due to autogenerated file
auto_mkindex will now run with tclsh instead of wish.
diff --git a/configure.in b/configure.in
index 286e459..dcc8442 100644
--- a/configure.in
+++ b/configure.in
@@ -36,7 +36,7 @@ dnl - add to -L LDFLAGS
dnl C_INCLUDE_PATH
dnl - add to -I CPPFLAGS
dnl MSYS - `yes' if cygnus or Mingw windows environment.
-dnl WISH - wish
+dnl TCLSH - tclsh
dnl LN_S - ln -s
dnl tcltk_dep - make dependencies for tcl/tk interface
dnl
@@ -59,7 +59,7 @@ AC_CONFIG_HEADERS([config.h interface.h])
AM_MAINTAINER_MODE
SHELL=${CONFIG_SHELL-"/bin/sh"}
-WISH=${WISH-"wish"}
+TCLSH=${TCLSH-"tclsh"}
dnl to use contains() macro (see autoconf/acinclude.m4)
CONTAINS_INIT
@@ -2287,7 +2287,7 @@ AC_SUBST(SHCFLAGS)
AC_SUBST(dynamic_targets)
AC_SUBST(so)
AC_SUBST(LN_S)
-AC_SUBST(WISH)
+AC_SUBST(TCLSH)
AC_SUBST(tcltk_dep)
AC_SUBST(program_transform_name)
AC_SUBST(INTERFACE_SRCS)
diff --git a/interface/Makefile.am b/interface/Makefile.am
index 6ce4795..6921a83 100644
--- a/interface/Makefile.am
+++ b/interface/Makefile.am
@@ -240,8 +240,7 @@ EXTRA_DIST = \
tkpanel.tcl \
browser.tcl \
misc.tcl \
- timidity.pel \
- tclIndex
+ timidity.pel
.ptcl.tcl:
sed -e 's@%TCL_DIR%@$(TCL_DIR)@g' $< > $@
@@ -249,6 +248,8 @@ EXTRA_DIST = \
sed -e 's@%BIN_DIR%@$(bindir)@g' $< > $@
clean:
rm -f tkmidity.tcl
+ rm -f tclIndex
+ rm -f timidity.el
rm -f *.$(OBJEXT)
rm -f *.$(so)
rm -f *.res
@@ -259,7 +260,7 @@ clean:
tclIndex: $(TCLSRCS)
rm -f tclIndex
- echo 'auto_mkindex . *.tcl; exit' | $(WISH)
+ echo 'auto_mkindex $(srcdir) *.tcl; exit' | $(TCLSH)
if ENABLE_TCLTK
install_tk = install.tk
diff --git a/interface/tclIndex b/interface/tclIndex
deleted file mode 100644
index e62cfcf..0000000
--- a/interface/tclIndex
+++ /dev/null
@@ -1,62 +0,0 @@
-# Tcl autoload index file, version 2.0
-# This file is generated by the "auto_mkindex" command
-# and sourced to set up indexing information for one or
-# more commands. Typically each line is a command that
-# sets an element in the auto_index array, where the
-# element name is the name of a command and the value is
-# a script that loads the command.
-
-set auto_index(InitGlobal) [list source [file join $dir tkpanel.tcl]]
-set auto_index(HandleInput) [list source [file join $dir tkpanel.tcl]]
-set auto_index(MakeShuffleList) [list source [file join $dir tkpanel.tcl]]
-set auto_index(AppendMsg) [list source [file join $dir tkpanel.tcl]]
-set auto_index(ClearMsg) [list source [file join $dir tkpanel.tcl]]
-set auto_index(SelectNumber) [list source [file join $dir tkpanel.tcl]]
-set auto_index(SetTime) [list source [file join $dir tkpanel.tcl]]
-set auto_index(DispButtonPlay) [list source [file join $dir tkpanel.tcl]]
-set auto_index(SetVolume) [list source [file join $dir tkpanel.tcl]]
-set auto_index(WriteMsg) [list source [file join $dir tkpanel.tcl]]
-set auto_index(JumpCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(VolumeCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(LoadCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(PlayCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(PauseCheck) [list source [file join $dir tkpanel.tcl]]
-set auto_index(PauseCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(StopCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(QuitCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(PrevCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(NextCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(ForwardCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(BackwardCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(VolUpCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(VolDownCmd) [list source [file join $dir tkpanel.tcl]]
-set auto_index(DispTables) [list source [file join $dir tkpanel.tcl]]
-set auto_index(SaveConfig) [list source [file join $dir tkpanel.tcl]]
-set auto_index(LoadConfig) [list source [file join $dir tkpanel.tcl]]
-set auto_index(InitCmdLine) [list source [file join $dir tkpanel.tcl]]
-set auto_index(SelectList) [list source [file join $dir tkpanel.tcl]]
-set auto_index(OpenFiles) [list source [file join $dir tkpanel.tcl]]
-set auto_index(CloseFiles) [list source [file join $dir tkpanel.tcl]]
-set auto_index(ToggleCurFileMode) [list source [file join $dir tkpanel.tcl]]
-set auto_index(CreateWindow) [list source [file join $dir tkpanel.tcl]]
-set auto_index(filebrowser) [list source [file join $dir browser.tcl]]
-set auto_index(fs:init) [list source [file join $dir browser.tcl]]
-set auto_index(fs:init-lbox) [list source [file join $dir browser.tcl]]
-set auto_index(fs:get-cur-lbox) [list source [file join $dir browser.tcl]]
-set auto_index(fs:select) [list source [file join $dir browser.tcl]]
-set auto_index(fs:selall) [list source [file join $dir browser.tcl]]
-set auto_index(fs:updir) [list source [file join $dir browser.tcl]]
-set auto_index(fs:changedir) [list source [file join $dir browser.tcl]]
-set auto_index(fs:update) [list source [file join $dir browser.tcl]]
-set auto_index(retrieve-filename) [list source [file join $dir misc.tcl]]
-set auto_index(sec2time) [list source [file join $dir misc.tcl]]
-set auto_index(numeric-bind) [list source [file join $dir misc.tcl]]
-set auto_index(my-listbox) [list source [file join $dir misc.tcl]]
-set auto_index(my-dialog) [list source [file join $dir misc.tcl]]
-set auto_index(warning) [list source [file join $dir misc.tcl]]
-set auto_index(error) [list source [file join $dir misc.tcl]]
-set auto_index(information) [list source [file join $dir misc.tcl]]
-set auto_index(question) [list source [file join $dir misc.tcl]]
-set auto_index(rootname) [list source [file join $dir misc.tcl]]
-set auto_index(my-random) [list source [file join $dir misc.tcl]]
-set auto_index(init-random) [list source [file join $dir misc.tcl]]

View file

@ -1,13 +0,0 @@
http://bugs.gentoo.org/451296
--- a/interface/tk_c.c
+++ b/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)