diff options
author | Rio6 | 2019-09-22 13:21:11 -0700 |
---|---|---|
committer | Rio6 | 2019-09-22 13:21:11 -0700 |
commit | bb1c76b1fcc201c31fcc4850b6c7447506ead785 (patch) | |
tree | ffd88bb8d84af0755065fbf992b12ce3aa578833 | |
download | aur-bb1c76b1fcc201c31fcc4850b6c7447506ead785.tar.gz |
DSSI plugin for Fluidsynth
-rw-r--r-- | .SRCINFO | 27 | ||||
-rw-r--r-- | PKGBUILD | 34 | ||||
-rw-r--r-- | fluidsynth-dssi | 4 | ||||
-rw-r--r-- | fluidsynth-dssi-libfluidsynth2.patch | 36 |
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++; + } + |