[arch-commits] Commit in csound/trunk (PKGBUILD fluidsynth2.patch)

Brett Cornwall ainola at archlinux.org
Sun Feb 17 00:23:26 UTC 2019


    Date: Sunday, February 17, 2019 @ 00:23:14
  Author: ainola
Revision: 433984

upgpkg: csound 6.12.2-3 - Fluidsynth2 support

Added:
  csound/trunk/fluidsynth2.patch
Modified:
  csound/trunk/PKGBUILD

-------------------+
 PKGBUILD          |   11 +++++--
 fluidsynth2.patch |   73 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 81 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-02-16 22:29:01 UTC (rev 433983)
+++ PKGBUILD	2019-02-17 00:23:14 UTC (rev 433984)
@@ -6,7 +6,7 @@
 pkgbase=csound
 pkgname=('csound' 'csound-doc')
 pkgver=6.12.2
-pkgrel=2
+pkgrel=3
 pkgdesc="A programming language for sound rendering and signal processing."
 arch=('x86_64')
 url="http://csound.com"
@@ -20,16 +20,21 @@
 source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/${pkgbase}/${pkgbase}/archive/${pkgver}.tar.gz"
         "${pkgbase}.sh"
         "https://github.com/${pkgbase}/${pkgbase}/releases/download/${pkgver}/Csound${pkgver}_manual_html.zip"
-        "https://github.com/${pkgbase}/${pkgbase}/releases/download/${pkgver}/Csound${pkgver}_manual_pdf.zip")
+        "https://github.com/${pkgbase}/${pkgbase}/releases/download/${pkgver}/Csound${pkgver}_manual_pdf.zip"
+        "fluidsynth2.patch")
 sha512sums=('e00a1f74e38cc5edadcaa4ea2a38a79a010be21008cad091b46c79ed18242a925ab9279fc049b4e82f6944e4d6e815787b7f847b08ae3bba9bde60570aa96f58'
             '53a8ae1e61db2a3a492930ef0f0881b613ae47108c5e8de0a6e2aa28bcf7a5c93c7fea8b7fc2bbae29ab92e1e68bf94ba406be1255ad8ab5725ea9078c1fd6dc'
             'eb287b9070c16d6cfbd890532d97eda34d72d8b5e5548a1a55ed7de91b2b913e04426cd50c94d0ac84221396002421077a5d22b3b67ce634c34a9aa1ceb53d9d'
-            '881bbdae5ab7fceb28199084173492eb8cc6477e72100739599e9d1448c607062efd1390b5cb19e03aeeae9c58eb608b61f36853dddb4d9141b86da31d00bc45')
+            '881bbdae5ab7fceb28199084173492eb8cc6477e72100739599e9d1448c607062efd1390b5cb19e03aeeae9c58eb608b61f36853dddb4d9141b86da31d00bc45'
+            '11e9350a5578dfb294fe90dcfbf9db28d62010dd88cc4b91a4254c3080bd49bf03d0b95d210ad5e3741e45505f0cb2f0081b78131743a8b77d3bca6a3076620c')
 
 prepare() {
   cd "${pkgbase}-${pkgver}"
   # requires out-of-tree build
   mkdir build
+
+  # Until Fluidsynth 2 support is included in an official release
+  patch -p1 < ../fluidsynth2.patch
 }
 
 build() {

Added: fluidsynth2.patch
===================================================================
--- fluidsynth2.patch	                        (rev 0)
+++ fluidsynth2.patch	2019-02-17 00:23:14 UTC (rev 433984)
@@ -0,0 +1,73 @@
+diff --git a/Opcodes/fluidOpcodes/fluidOpcodes.cpp b/Opcodes/fluidOpcodes/fluidOpcodes.cpp
+index d6f4da0fd..735c1021c 100644
+--- a/Opcodes/fluidOpcodes/fluidOpcodes.cpp
++++ b/Opcodes/fluidOpcodes/fluidOpcodes.cpp
+@@ -208,16 +208,31 @@ public:
+     } else if (listPresets) {
+       fluid_sfont_t *fluidSoundfont =
+           fluid_synth_get_sfont_by_id(fluidSynth, soundFontId);
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+       fluid_preset_t fluidPreset;
+       fluidSoundfont->iteration_start(fluidSoundfont);
+       OPARMS oparms;
+       csound->GetOParms(csound, &oparms);
+       if (oparms.msglevel & 0x7)
+-        while (fluidSoundfont->iteration_next(fluidSoundfont, &fluidPreset)) {
++        while (fluidSoundfont->iteration_next(fluidSoundfont, &fluidPreset))
++        {
+           log(csound, "SoundFont: %3d  Bank: %3d  Preset: %3d  %s\n",
+               soundFontId, fluidPreset.get_banknum(&fluidPreset),
+               fluidPreset.get_num(&fluidPreset),
+               fluidPreset.get_name(&fluidPreset));
++#else
++      fluid_preset_t *fluidPreset;
++      fluid_sfont_iteration_start(fluidSoundfont);
++      OPARMS oparms;
++      csound->GetOParms(csound, &oparms);
++      if (oparms.msglevel & 0x7)
++        while (fluidPreset = fluid_sfont_iteration_next(fluidSoundfont))
++        {
++          log(csound, "SoundFont: %3d  Bank: %3d  Preset: %3d  %s\n",
++              soundFontId, fluid_preset_get_banknum(fluidPreset),
++              fluid_preset_get_num(fluidPreset),
++              fluid_preset_get_name(fluidPreset));
++#endif
+         }
+     }
+     return result;
+@@ -277,19 +292,32 @@ public:
+       LockGuard guard(csound, mutex);
+       int32_t result = OK;
+       toa(iFluidSynth, fluidSynth);
+-      fluid_sfont_t *fluidSoundfont =
+-        fluid_synth_get_sfont(fluidSynth, 0);
++      fluid_sfont_t *fluidSoundfont = fluid_synth_get_sfont(fluidSynth, 0);
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+       fluid_preset_t fluidPreset;
+       fluidSoundfont->iteration_start(fluidSoundfont);
+       OPARMS oparms;
+       csound->GetOParms(csound, &oparms);
+       if (oparms.msglevel & 0x7)
+         while (fluidSoundfont->iteration_next(fluidSoundfont, &fluidPreset))
+-          {
++        {
+             std::stringstream ss;
+             ss << "Bank: " << fluidPreset.get_banknum(&fluidPreset) <<
+               " Preset: " << fluidPreset.get_num(&fluidPreset) <<
+                 " Name: " << fluidPreset.get_name(&fluidPreset);
++#else
++      fluid_preset_t *fluidPreset;
++      fluid_sfont_iteration_start(fluidSoundfont);
++      OPARMS oparms;
++      csound->GetOParms(csound, &oparms);
++      if (oparms.msglevel & 0x7)
++        while (fluidPreset = fluid_sfont_iteration_next(fluidSoundfont))
++        {
++            std::stringstream ss;
++            ss << "Bank: " << fluid_preset_get_banknum(fluidPreset) <<
++              " Preset: " << fluid_preset_get_num(fluidPreset) <<
++                " Name: " << fluid_preset_get_name(fluidPreset);
++#endif
+           programs.push_back(ss.str());
+         }
+ 



More information about the arch-commits mailing list