commit: 1fa35b19dfd58e4d86d2da17aa582b3f1dc76929 Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> AuthorDate: Tue Jan 21 15:48:04 2020 +0000 Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> CommitDate: Tue Jan 21 16:36:53 2020 +0000 URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=1fa35b19
kde-apps/minuet: Backport fix for fluidsynth-2 API support See also: https://phabricator.kde.org/D26558 Package-Manager: Portage-2.3.84, Repoman-2.3.20 Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> .../minuet/files/minuet-19.08.3-fluidsynth-2.patch | 94 ++++++++++++++++++++++ kde-apps/minuet/minuet-19.12.49.9999.ebuild | 2 + 2 files changed, 96 insertions(+) diff --git a/kde-apps/minuet/files/minuet-19.08.3-fluidsynth-2.patch b/kde-apps/minuet/files/minuet-19.08.3-fluidsynth-2.patch new file mode 100644 index 0000000000..9bb3c5bad1 --- /dev/null +++ b/kde-apps/minuet/files/minuet-19.08.3-fluidsynth-2.patch @@ -0,0 +1,94 @@ +From d707ab85c60d68e0310559df4608d86680cc811a Mon Sep 17 00:00:00 2001 +From: Tom Moebert <[email protected]> +Date: Sat, 18 Jan 2020 00:26:30 +0100 +Subject: Port to fluidsynth 2.0.0 API + +Summary: +This includes necessary adaptations for fluidsynth 2.0. All changes are backward-compatible to fluidsynth 1.1. For details, see: + +http://www.fluidsynth.org/api/index.html#NewIn2_0_0 + +Reviewers: #minuet + +Subscribers: asturmlechner, aacid, kde-edu + +Tags: #minuet, #kde_edu + +Differential Revision: https://phabricator.kde.org/D26558 +--- + .../fluidsynthsoundcontroller.cpp | 22 ++++++++++++++++++---- + .../fluidsynthsoundcontroller.h | 1 + + 2 files changed, 19 insertions(+), 4 deletions(-) + +diff --git a/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.cpp b/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.cpp +index 67e6826..7252914 100644 +--- a/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.cpp ++++ b/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.cpp +@@ -34,13 +34,14 @@ FluidSynthSoundController::FluidSynthSoundController(QObject *parent) + : Minuet::ISoundController(parent), + m_audioDriver(0), + m_sequencer(0), +- m_song(0) ++ m_song(0), ++ m_unregisteringEvent(0) + { + m_tempo = 60; + + m_settings = new_fluid_settings(); +- fluid_settings_setstr(m_settings, "synth.reverb.active", "no"); +- fluid_settings_setstr(m_settings, "synth.chorus.active", "no"); ++ fluid_settings_setint(m_settings, "synth.reverb.active", 0); ++ fluid_settings_setint(m_settings, "synth.chorus.active", 0); + + m_synth = new_fluid_synth(m_settings); + +@@ -55,6 +56,9 @@ FluidSynthSoundController::FluidSynthSoundController(QObject *parent) + if (fluid_res == FLUID_FAILED) + qCritical() << "Error when loading soundfont!"; + ++ m_unregisteringEvent = new_fluid_event(); ++ fluid_event_set_source(m_unregisteringEvent, -1); ++ + resetEngine(); + } + +@@ -63,6 +67,7 @@ FluidSynthSoundController::~FluidSynthSoundController() + deleteEngine(); + if (m_synth) delete_fluid_synth(m_synth); + if (m_settings) delete_fluid_settings(m_settings); ++ if (m_unregisteringEvent) delete_fluid_event(m_unregisteringEvent); + } + + void FluidSynthSoundController::setPitch(qint8 pitch) +@@ -240,7 +245,16 @@ void FluidSynthSoundController::resetEngine() + + void FluidSynthSoundController::deleteEngine() + { +- if (m_sequencer) delete_fluid_sequencer(m_sequencer); ++ if (m_sequencer) { ++#if FLUIDSYNTH_VERSION_MAJOR >= 2 ++ // explicit client unregistering required ++ fluid_sequencer_unregister_client(m_sequencer, m_callbackSeqID); ++ fluid_event_set_dest(m_unregisteringEvent, m_synthSeqID); ++ fluid_event_unregistering(m_unregisteringEvent); ++ fluid_sequencer_send_now(m_sequencer, m_unregisteringEvent); ++#endif ++ delete_fluid_sequencer(m_sequencer); ++ } + if (m_audioDriver) delete_fluid_audio_driver(m_audioDriver); + } + +diff --git a/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.h b/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.h +index afad46b..ed111c2 100644 +--- a/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.h ++++ b/src/plugins/fluidsynthsoundcontroller/fluidsynthsoundcontroller.h +@@ -63,6 +63,7 @@ private: + fluid_audio_driver_t *m_audioDriver; + fluid_sequencer_t *m_sequencer; + fluid_synth_t *m_synth; ++ fluid_event_t *m_unregisteringEvent; + + short m_synthSeqID; + short m_callbackSeqID; +-- +cgit v1.1 diff --git a/kde-apps/minuet/minuet-19.12.49.9999.ebuild b/kde-apps/minuet/minuet-19.12.49.9999.ebuild index d5a2f3b229..60632d896a 100644 --- a/kde-apps/minuet/minuet-19.12.49.9999.ebuild +++ b/kde-apps/minuet/minuet-19.12.49.9999.ebuild @@ -30,3 +30,5 @@ DEPEND=" media-sound/fluidsynth:= " RDEPEND="${DEPEND}" + +PATCHES=( "${FILESDIR}/${PN}-19.08.3-fluidsynth-2.patch" )
