community/csound to 6.12.2-3

This commit is contained in:
Kevin Mihelich 2019-02-18 15:14:12 +00:00
parent 3c0f6233e6
commit 86c434486e
2 changed files with 69 additions and 5 deletions

View file

@ -13,10 +13,10 @@ buildarch=22
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"
url="https://csound.com"
license=('LGPL')
# wiiuse needs release before add: https://github.com/rpavlik/wiiuse/issues/92
# libpd needs to be packaged: https://github.com/libpd/libpd/releases
@ -26,17 +26,22 @@ makedepends=('boost' 'cmake' 'cunit' 'doxygen' 'dssi' 'eigen' 'faust' 'fltk'
'libwebsockets' 'llvm' 'luajit' 'portmidi' 'portsmf' 'python2' 'stk' 'swig')
source=("${pkgbase}-${pkgver}.tar.gz::https://github.com/${pkgbase}/${pkgbase}/archive/${pkgver}.tar.gz"
"${pkgbase}.sh"
"fluidsynth2.patch"
"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'
'bf762db1079dde5b62f2bfe8ba649ac9e719b6ada535f3d67d048213133aeecb3caa3cb1e5bbf26fe78e4b1882e08be9bbea701bd49c914bfbf8d3ab7d83013b'
'eb287b9070c16d6cfbd890532d97eda34d72d8b5e5548a1a55ed7de91b2b913e04426cd50c94d0ac84221396002421077a5d22b3b67ce634c34a9aa1ceb53d9d'
'881bbdae5ab7fceb28199084173492eb8cc6477e72100739599e9d1448c607062efd1390b5cb19e03aeeae9c58eb608b61f36853dddb4d9141b86da31d00bc45')
'881bbdae5ab7fceb28199084173492eb8cc6477e72100739599e9d1448c607062efd1390b5cb19e03aeeae9c58eb608b61f36853dddb4d9141b86da31d00bc45'
'bf762db1079dde5b62f2bfe8ba649ac9e719b6ada535f3d67d048213133aeecb3caa3cb1e5bbf26fe78e4b1882e08be9bbea701bd49c914bfbf8d3ab7d83013b')
prepare() {
cd "${pkgbase}-${pkgver}"
# requires out-of-tree build
patch -Np1 -i ../fluidsynth2.patch
mkdir build
}
build() {

View file

@ -0,0 +1,59 @@
diff -ruN a/Opcodes/fluidOpcodes/fluidOpcodes.cpp b/Opcodes/fluidOpcodes/fluidOpcodes.cpp
--- a/Opcodes/fluidOpcodes/fluidOpcodes.cpp 2018-11-07 15:05:23.000000000 +0100
+++ b/Opcodes/fluidOpcodes/fluidOpcodes.cpp 2019-01-25 17:59:40.572147743 +0100
@@ -208,6 +208,7 @@
} 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;
@@ -218,6 +219,19 @@
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;
@@ -279,6 +293,7 @@
toa(iFluidSynth, fluidSynth);
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;
@@ -290,6 +305,19 @@
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());
}