summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO27
-rw-r--r--PKGBUILD34
-rw-r--r--fluidsynth-dssi4
-rw-r--r--fluidsynth-dssi-libfluidsynth2.patch36
4 files changed, 101 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..675f232771c4
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,27 @@
+pkgbase = fluidsynth-dssi
+ pkgdesc = A FluidSynth soundfont-playing plugin
+ pkgver = 1.0.0
+ pkgrel = 1
+ url = http://dssi.sourceforge.net/download.html#FluidSynth-DSSI
+ arch = i686
+ arch = x86_64
+ license = LGPL
+ makedepends = dssi
+ makedepends = pkgconfig
+ makedepends = automake
+ makedepends = autoconf
+ depends = liblo>=0.12
+ depends = fluidsynth
+ depends = ladspa
+ depends = alsa-lib
+ depends = gtk2
+ options = !libtool
+ source = https://phoenixnap.dl.sourceforge.net/project/dssi/fluidsynth-dssi/1.0.0/fluidsynth-dssi-1.0.0.tar.gz
+ source = fluidsynth-dssi-libfluidsynth2.patch
+ source = fluidsynth-dssi
+ md5sums = 6c9f660f0df4d2aad5076de75b2a0a67
+ md5sums = a75b8b0458825751d55a748e04108aee
+ md5sums = b4bb457b3124188069e49a23102edcbc
+
+pkgname = fluidsynth-dssi
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..262e7fd2d2bd
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Rio Liu <rio6.liu@gmail.com>
+pkgname=fluidsynth-dssi
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="A FluidSynth soundfont-playing plugin"
+arch=('i686' 'x86_64')
+url="http://dssi.sourceforge.net/download.html#FluidSynth-DSSI"
+license=('LGPL')
+depends=('liblo>=0.12' 'fluidsynth' 'ladspa' 'alsa-lib' 'gtk2')
+makedepends=('dssi' 'pkgconfig' 'automake' 'autoconf')
+options=('!libtool')
+source=("https://phoenixnap.dl.sourceforge.net/project/dssi/fluidsynth-dssi/${pkgver}/fluidsynth-dssi-${pkgver}.tar.gz"
+ "fluidsynth-dssi-libfluidsynth2.patch"
+ fluidsynth-dssi)
+md5sums=('6c9f660f0df4d2aad5076de75b2a0a67'
+ 'a75b8b0458825751d55a748e04108aee'
+ 'b4bb457b3124188069e49a23102edcbc')
+
+prepare() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ patch --forward --strip=1 --input="${srcdir}/fluidsynth-dssi-libfluidsynth2.patch"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ ./configure --prefix=/usr
+ make || return 1
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR=${pkgdir} install || return 1
+ install -D -m755 ${srcdir}/fluidsynth-dssi ${pkgdir}/usr/bin/fluidsynth-dssi
+}
diff --git a/fluidsynth-dssi b/fluidsynth-dssi
new file mode 100644
index 000000000000..bbf86afc6c99
--- /dev/null
+++ b/fluidsynth-dssi
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+export DSSI_PATH=/usr/lib/dssi
+exec jack-dssi-host fluidsynth-dssi.so
diff --git a/fluidsynth-dssi-libfluidsynth2.patch b/fluidsynth-dssi-libfluidsynth2.patch
new file mode 100644
index 000000000000..17e791340cd8
--- /dev/null
+++ b/fluidsynth-dssi-libfluidsynth2.patch
@@ -0,0 +1,36 @@
+diff --unified --recursive --text fluidsynth-dssi-1.0.0.orig/src/fluidsynth-dssi.c fluidsynth-dssi-1.0.0.new/src/fluidsynth-dssi.c
+--- fluidsynth-dssi-1.0.0.orig/src/fluidsynth-dssi.c 2008-11-16 09:41:35.000000000 -0800
++++ fluidsynth-dssi-1.0.0.new/src/fluidsynth-dssi.c 2019-09-22 13:03:54.789171736 -0700
+@@ -167,7 +167,7 @@
+ fsd_sfont_t *sfont;
+ int palloc;
+ fluid_sfont_t *fluid_sfont;
+- fluid_preset_t preset;
++ fluid_preset_t *preset;
+
+ /* soundfont already loaded? */
+ sfont = fsd_find_loaded_soundfont(path);
+@@ -206,8 +206,8 @@
+ return NULL;
+ }
+ fluid_sfont = fluid_synth_get_sfont_by_id(fsd_synth.fluid_synth, sfont->sfont_id);
+- fluid_sfont->iteration_start(fluid_sfont);
+- while (fluid_sfont->iteration_next(fluid_sfont, &preset)) {
++ fluid_sfont_iteration_start(fluid_sfont);
++ while (preset = fluid_sfont_iteration_next(fluid_sfont)) {
+ if (sfont->preset_count == palloc) {
+ palloc *= 2;
+ sfont->presets = (DSSI_Program_Descriptor *)realloc(sfont->presets,
+@@ -219,9 +219,9 @@
+ return NULL;
+ }
+ }
+- sfont->presets[sfont->preset_count].Bank = preset.get_banknum(&preset);
+- sfont->presets[sfont->preset_count].Program = preset.get_num(&preset);
+- sfont->presets[sfont->preset_count].Name = preset.get_name(&preset);
++ sfont->presets[sfont->preset_count].Bank = fluid_preset_get_banknum(preset);
++ sfont->presets[sfont->preset_count].Program = fluid_preset_get_num(preset);
++ sfont->presets[sfont->preset_count].Name = fluid_preset_get_name(preset);
+ sfont->preset_count++;
+ }
+