mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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@gentoo.org>
This commit is contained in:
94
kde-apps/minuet/files/minuet-19.08.3-fluidsynth-2.patch
Normal file
94
kde-apps/minuet/files/minuet-19.08.3-fluidsynth-2.patch
Normal file
@@ -0,0 +1,94 @@
|
||||
From d707ab85c60d68e0310559df4608d86680cc811a Mon Sep 17 00:00:00 2001
|
||||
From: Tom Moebert <tom.mbrt@googlemail.com>
|
||||
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
|
||||
33
kde-apps/minuet/minuet-19.08.3-r1.ebuild
Normal file
33
kde-apps/minuet/minuet-19.08.3-r1.ebuild
Normal file
@@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
ECM_HANDBOOK="forceoptional"
|
||||
KFMIN=5.60.0
|
||||
QTMIN=5.12.3
|
||||
inherit ecm kde.org
|
||||
|
||||
DESCRIPTION="Music Education software by KDE"
|
||||
HOMEPAGE="https://minuet.kde.org/"
|
||||
LICENSE="GPL-2" # TODO: CHECK
|
||||
SLOT="5"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
DEPEND="
|
||||
>=kde-frameworks/kcoreaddons-${KFMIN}:5
|
||||
>=kde-frameworks/kcrash-${KFMIN}:5
|
||||
>=kde-frameworks/ki18n-${KFMIN}:5
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:5
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtsvg-${QTMIN}:5
|
||||
>=dev-qt/qtquickcontrols2-${QTMIN}:5
|
||||
media-sound/fluidsynth:=
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-fluidsynth-2.patch" )
|
||||
34
kde-apps/minuet/minuet-19.12.1-r1.ebuild
Normal file
34
kde-apps/minuet/minuet-19.12.1-r1.ebuild
Normal file
@@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
ECM_HANDBOOK="forceoptional"
|
||||
KFMIN=5.63.0
|
||||
QTMIN=5.12.3
|
||||
inherit ecm kde.org
|
||||
|
||||
DESCRIPTION="Music Education software by KDE"
|
||||
HOMEPAGE="https://minuet.kde.org/"
|
||||
|
||||
LICENSE="GPL-2" # TODO: CHECK
|
||||
SLOT="5"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
DEPEND="
|
||||
>=kde-frameworks/kcoreaddons-${KFMIN}:5
|
||||
>=kde-frameworks/kcrash-${KFMIN}:5
|
||||
>=kde-frameworks/ki18n-${KFMIN}:5
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:5
|
||||
>=dev-qt/qtgui-${QTMIN}:5
|
||||
>=dev-qt/qtsvg-${QTMIN}:5
|
||||
>=dev-qt/qtquickcontrols2-${QTMIN}:5
|
||||
media-sound/fluidsynth:=
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${PN}-19.08.3-fluidsynth-2.patch" )
|
||||
Reference in New Issue
Block a user