tags 946917 +patch thanks I whipped up a patch that makes this build, I have not tested it beyond that. There were two main fixes, the first is that delete_fluid_synth no longer returns an error code, the second is a few structures are now opaque and have to be accessed through accessors.
I also found I had to add a build-dependency on libegl-dev to make the configure script complete successfully. It seems that /usr/lib/x86_64-linux-gnu/libEGL.so has moved from libglvnd-dev to libegl-dev The debdiff is attached, I don't have any immediate plans to NMU, but I may do so later, especially if I get positive feedback about the patch from users.
diff -Nru muse-3.0.2+ds1/debian/changelog muse-3.0.2+ds1/debian/changelog --- muse-3.0.2+ds1/debian/changelog 2018-12-16 13:37:01.000000000 +0000 +++ muse-3.0.2+ds1/debian/changelog 2019-12-19 17:49:59.000000000 +0000 @@ -1,3 +1,13 @@ +muse (3.0.2+ds1-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix build with fluidsynth 2. + * Bump fluidsynth build-dependency since patch will make the code incompatible + with fluidsynth 1. + * Add build-depends on libegl-dev + + -- Peter Michael Green <plugw...@debian.org> Thu, 19 Dec 2019 17:49:59 +0000 + muse (3.0.2+ds1-1) unstable; urgency=medium * Team upload. diff -Nru muse-3.0.2+ds1/debian/control muse-3.0.2+ds1/debian/control --- muse-3.0.2+ds1/debian/control 2018-12-16 13:37:01.000000000 +0000 +++ muse-3.0.2+ds1/debian/control 2019-12-19 17:49:59.000000000 +0000 @@ -11,7 +11,7 @@ dssi-dev, libasound2-dev, libdssialsacompat-dev [!linux-any], - libfluidsynth-dev, + libfluidsynth-dev (>= 2), libjack-dev, liblilv-dev (>= 0.22), liblo-dev, @@ -21,7 +21,8 @@ libsord-dev (>= 0.14), lv2-dev (>= 1.12), qtbase5-dev, - qttools5-dev + qttools5-dev, + libegl-dev Standards-Version: 4.2.1 Homepage: http://www.muse-sequencer.org/ Vcs-Git: https://salsa.debian.org/multimedia-team/muse.git diff -Nru muse-3.0.2+ds1/debian/patches/0005-fluidsynth2.patch muse-3.0.2+ds1/debian/patches/0005-fluidsynth2.patch --- muse-3.0.2+ds1/debian/patches/0005-fluidsynth2.patch 1970-01-01 00:00:00.000000000 +0000 +++ muse-3.0.2+ds1/debian/patches/0005-fluidsynth2.patch 2019-12-19 17:49:59.000000000 +0000 @@ -0,0 +1,112 @@ +Description: Fix build with fluidsynth 2. + The changes consist of some adjustments for the fact that some structures are + nowopaque and the removal of error handling for delete_fluid_synth which no + longer returns an error value. +Author: Peter Michael Green <plugw...@debian.org> + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: <vendor|upstream|other>, <url of original patch> +Bug: <url in upstream bugtracker> +Bug-Debian: https://bugs.debian.org/<bugnumber> +Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber> +Forwarded: <no|not-needed|url proving that it has been forwarded> +Reviewed-By: <name and email of someone who approved the patch> +Last-Update: 2019-12-19 + +Index: muse-3.0.2+ds1/synti/fluidsynth/fluidsynti.cpp +=================================================================== +--- muse-3.0.2+ds1.orig/synti/fluidsynth/fluidsynti.cpp ++++ muse-3.0.2+ds1/synti/fluidsynth/fluidsynti.cpp +@@ -155,16 +155,12 @@ FluidSynth::~FluidSynth() + std::cerr << DEBUG_ARGS << "Error unloading soundfont!" << fluid_synth_error(fluidsynth) << std::endl; + } + +- int err = delete_fluid_synth (fluidsynth); ++ delete_fluid_synth (fluidsynth); + if(gui) + delete gui; + + if (initBuffer) + delete [] initBuffer; +- if (err == -1) { +- std::cerr << DEBUG_ARGS << "error while destroying synth: " << fluid_synth_error(fluidsynth) << std::endl; +- return; +- } + } + + bool FluidSynth::init(const char* name) +@@ -1368,7 +1364,7 @@ const char* FluidSynth::getPatchName(int + else { + fluid_preset_t *preset = fluid_synth_get_channel_preset(fluidsynth, i); + if (!preset) return "<unknown>"; +- return preset->get_name(preset); ++ return fluid_preset_get_name(preset); + } + } + //--------------------------------------------------------- +@@ -1414,12 +1410,12 @@ const MidiPatch* FluidSynth::getFirstPat + if (!channels[channel].drumchannel) { + for (unsigned bank = 0; bank < 128; ++bank) { + for (unsigned patch = 0; patch < 128; ++patch) { +- preset = sfont->get_preset (sfont, bank, patch); ++ preset = fluid_sfont_get_preset (sfont, bank, patch); + if (preset) { + midiPatch.hbank = bank; + midiPatch.lbank = 0xff; // Off + midiPatch.prog = patch; +- midiPatch.name = preset->get_name (preset); ++ midiPatch.name = fluid_preset_get_name (preset); + return &midiPatch; + } + } +@@ -1429,12 +1425,12 @@ const MidiPatch* FluidSynth::getFirstPat + else { //This is a drumchannel + int bank = 128; + for (unsigned patch = 0; patch < 128; ++patch) { +- preset = sfont->get_preset (sfont, bank, patch); ++ preset = fluid_sfont_get_preset (sfont, bank, patch); + if (preset) { + midiPatch.hbank = 0xff; // Off + midiPatch.lbank = 0xff; // Off + midiPatch.prog = patch; +- midiPatch.name = preset->get_name(preset); ++ midiPatch.name = fluid_preset_get_name(preset); + return &midiPatch; + } + } +@@ -1466,13 +1462,13 @@ const MidiPatch* FluidSynth::getNextPatc + + for (unsigned bank = patch->hbank; bank < 128; ++bank) { + for ( ; prog < 128; ++prog) { +- preset = sfont->get_preset (sfont, bank, prog); ++ preset = fluid_sfont_get_preset (sfont, bank, prog); + if (preset) { + //printf("Preset info: bank: %d prog: %d name: %s\n", bank, prog, preset->get_name(preset)); + midiPatch.hbank = bank; + midiPatch.lbank = 0xff; // Off + midiPatch.prog = prog; +- midiPatch.name = preset->get_name (preset); ++ midiPatch.name = fluid_preset_get_name (preset); + return &midiPatch; + } + } +@@ -1483,13 +1479,13 @@ const MidiPatch* FluidSynth::getNextPatc + unsigned bank = 128; + unsigned prog = patch->prog; + for (prog = patch->prog + 1; prog < 128; ++prog) { +- preset = sfont->get_preset (sfont, bank, prog); ++ preset = fluid_sfont_get_preset (sfont, bank, prog); + if (preset) { + //printf("Preset info: bank: %d prog: %d name: %s\n",bank, prog, preset->get_name(preset)); + midiPatch.hbank = 0xff; // Off + midiPatch.lbank = 0xff; // Off + midiPatch.prog = prog; +- midiPatch.name = preset->get_name (preset); ++ midiPatch.name = fluid_preset_get_name (preset); + return &midiPatch; + } + } diff -Nru muse-3.0.2+ds1/debian/patches/series muse-3.0.2+ds1/debian/patches/series --- muse-3.0.2+ds1/debian/patches/series 2018-12-16 13:18:40.000000000 +0000 +++ muse-3.0.2+ds1/debian/patches/series 2019-12-19 17:49:59.000000000 +0000 @@ -2,3 +2,4 @@ 0002-Add-f-option-to-desktop-file-Exec-key.patch 0003-Fixes-compile-issue-with-QButtonGroup.patch 0004-Added-missing-includes-needed-by-newer-Qt-5.11.patch +0005-fluidsynth2.patch