[packages/muse] Version: 3.0.2, new fluidsynth and Qt compatibility
jajcus
jajcus at pld-linux.org
Thu Nov 22 21:36:13 CET 2018
commit a372a8f0d4c5c4bc96f21bbf6fb8402585f0ddb6
Author: Jacek Konieczny <jajcus at jajcus.net>
Date: Thu Nov 22 21:35:50 2018 +0100
Version: 3.0.2, new fluidsynth and Qt compatibility
fluidsynth2.patch | 139 +++++++++++++++++++++++++++++++++++++++++++
missing_includes.patch | 44 ++++++++++++++
muse-CMakeLists.txt.patch | 21 -------
muse.spec | 147 +++++++++++++++++++++++++++-------------------
4 files changed, 270 insertions(+), 81 deletions(-)
---
diff --git a/muse.spec b/muse.spec
index 7cd0c06..d414473 100644
--- a/muse.spec
+++ b/muse.spec
@@ -9,14 +9,15 @@
Summary: Linux Music Editor
Summary(pl.UTF-8): Edytor muzyczny dla Linuksa
Name: muse
-Version: 2.1.2
-Release: 2
-License: GPL
+Version: 3.0.2
+Release: 1
+License: GPL v2
Group: X11/Applications/Sound
Source0: http://downloads.sourceforge.net/lmuse/%{name}-%{version}.tar.gz
-# Source0-md5: ad917335ac05a3d62e3cd073af901001
+# Source0-md5: 6e992f0f9d58adc3a2e2444dece37dfe
Source1: %{name}.desktop
-Patch0: %{name}-CMakeLists.txt.patch
+Patch0: missing_includes.patch
+Patch1: fluidsynth2.patch
URL: http://muse.seh.de/
BuildRequires: QtDesigner-devel
BuildRequires: QtSvg-devel
@@ -24,7 +25,8 @@ BuildRequires: QtUiTools-devel
BuildRequires: alsa-lib-devel >= 0.9.0
BuildRequires: cmake >= 2.8.0
BuildRequires: dssi-devel >= 0.9.0
-%{?with_fluid:BuildRequires: fluidsynth-devel >= 0.9.0}
+%{?with_fluid:BuildRequires: fluidsynth-devel >= 2.0.0}
+BuildRequires: gtkmm-devel
BuildRequires: jack-audio-connection-kit-devel >= 0.103
BuildRequires: ladspa-devel
BuildRequires: lash-devel >= 0.2
@@ -32,10 +34,14 @@ BuildRequires: liblo >= 0.23
BuildRequires: libsamplerate-devel >= 0.1.0
BuildRequires: libsndfile-devel >= 1.0.25
BuildRequires: libuuid-devel >= 0.1.8
+BuildRequires: lilv-devel >= 0.22.0
+BuildRequires: lv2-devel >= 1.12.0
BuildRequires: rpmbuild(macros) >= 1.213
+BuildRequires: rtaudio-devel >= 4.0
+BuildRequires: sord-devel >= 0.14.0
Requires: gtk-update-icon-cache
Requires: hicolor-icon-theme
-Requires: lash
+Suggests: lash
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
@@ -58,12 +64,14 @@ Dokumentacja do anta.
%prep
%setup -q
-%patch0 -p0
+%patch0 -p1
+%patch1 -p2
%build
install -d build
cd build
%cmake \
+ -DMusE_DOC_DIR="%{_docdir}/%{name}-%{version}" \
../
%{__make}
@@ -79,6 +87,7 @@ cp -p packaging/muse_icon.png $RPM_BUILD_ROOT%{_pixmapsdir}/muse.png
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/*.a
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/synthi/*.a
+rm -f $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/COPYING
%clean
rm -rf $RPM_BUILD_ROOT
@@ -91,66 +100,84 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc ChangeLog README README.de README.effects-rack README.instruments README.ladspaguis README.shortcuts README.softsynth README.translate README.usage SECURITY NEWS COPYING AUTHORS
-%attr(755,root,root) %{_bindir}/muse2
+# do not use %doc, as it would remove files which are already there
+%{_docdir}/%{name}-%{version}/AUTHORS
+%{_docdir}/%{name}-%{version}/ChangeLog
+%{_docdir}/%{name}-%{version}/NEWS
+%{_docdir}/%{name}-%{version}/README*
+%{_docdir}/%{name}-%{version}/SECURITY
+%dir %{_docdir}/%{name}-%{version}/deicsonze
+%{_docdir}/%{name}-%{version}/deicsonze/*
+%dir %{_docdir}/%{name}-%{version}/fluidsynth
+%{_docdir}/%{name}-%{version}/fluidsynth/*
+%dir %{_docdir}/%{name}-%{version}/freeverb
+%{_docdir}/%{name}-%{version}/freeverb/*
+%dir %{_docdir}/%{name}-%{version}/simpledrums
+%{_docdir}/%{name}-%{version}/simpledrums/*
+%dir %{_docdir}/%{name}-%{version}/vam
+%{_docdir}/%{name}-%{version}/vam/*
+%attr(755,root,root) %{_bindir}/muse3
%attr(755,root,root) %{_bindir}/grepmidi
-%dir %{_libdir}/%{name}
-%dir %{_libdir}/%{name}/modules
-%dir %{_libdir}/%{name}/plugins
-%dir %{_libdir}/%{name}/synthi
-%attr(755,root,root) %{_libdir}/%{name}/modules/*.so
-%attr(755,root,root) %{_libdir}/%{name}/plugins/*
-%attr(755,root,root) %{_libdir}/%{name}/synthi/*
-%dir %{_datadir}/%{name}
-%dir %{_datadir}/%{name}/demos
-%dir %{_datadir}/%{name}/drummaps
-%dir %{_datadir}/%{name}/instruments
-%dir %{_datadir}/%{name}/locale
-%dir %{_datadir}/%{name}/plugins
-%dir %{_datadir}/%{name}/presets
-%dir %{_datadir}/%{name}/pybridge
-%dir %{_datadir}/%{name}/scoreglyphs
-%dir %{_datadir}/%{name}/scripts
-%dir %{_datadir}/%{name}/templates
-%dir %{_datadir}/%{name}/themes
-%dir %{_datadir}/%{name}/utils
-%dir %{_datadir}/%{name}/wallpapers
+%dir %{_libdir}/%{name}-3.0
+%dir %{_libdir}/%{name}-3.0/modules
+%dir %{_libdir}/%{name}-3.0/plugins
+%dir %{_libdir}/%{name}-3.0/synthi
+%attr(755,root,root) %{_libdir}/%{name}-3.0/modules/*.so
+%attr(755,root,root) %{_libdir}/%{name}-3.0/plugins/*
+%attr(755,root,root) %{_libdir}/%{name}-3.0/synthi/*
+%dir %{_datadir}/%{name}-3.0
+%dir %{_datadir}/%{name}-3.0/demos
+%dir %{_datadir}/%{name}-3.0/drummaps
+%dir %{_datadir}/%{name}-3.0/instruments
+%dir %{_datadir}/%{name}-3.0/locale
+%dir %{_datadir}/%{name}-3.0/metronome
+%dir %{_datadir}/%{name}-3.0/plugins
+%dir %{_datadir}/%{name}-3.0/presets
+%dir %{_datadir}/%{name}-3.0/pybridge
+%dir %{_datadir}/%{name}-3.0/scoreglyphs
+%dir %{_datadir}/%{name}-3.0/scripts
+%dir %{_datadir}/%{name}-3.0/templates
+%dir %{_datadir}/%{name}-3.0/themes
+%dir %{_datadir}/%{name}-3.0/utils
+%dir %{_datadir}/%{name}-3.0/wallpapers
%{_datadir}/mime/packages/muse.xml
-%{_datadir}/muse/didyouknow.txt
-%{_datadir}/muse/splash.png
-%{_datadir}/%{name}/demos/*
-%{_datadir}/%{name}/drummaps/*
-%{_datadir}/%{name}/instruments/*
-%{_datadir}/%{name}/locale/*
-%{_datadir}/%{name}/plugins/*
-%{_datadir}/%{name}/presets/*
-%{_datadir}/%{name}/pybridge/*
-%{_datadir}/%{name}/scoreglyphs/*
-%{_datadir}/%{name}/scripts/*
-%{_datadir}/%{name}/templates/*
-%{_datadir}/%{name}/themes/*
-%{_datadir}/%{name}/utils/*
-%{_datadir}/%{name}/wallpapers/*
+%{_datadir}/%{name}-3.0/didyouknow.txt
+%{_datadir}/%{name}-3.0/splash.png
+%{_datadir}/%{name}-3.0/demos/*
+%{_datadir}/%{name}-3.0/drummaps/*
+%{_datadir}/%{name}-3.0/instruments/*
+%{_datadir}/%{name}-3.0/locale/*
+%{_datadir}/%{name}-3.0/metronome/*
+%{_datadir}/%{name}-3.0/plugins/*
+%{_datadir}/%{name}-3.0/presets/*
+%{_datadir}/%{name}-3.0/pybridge/*
+%{_datadir}/%{name}-3.0/scoreglyphs/*
+%{_datadir}/%{name}-3.0/scripts/*
+%{_datadir}/%{name}-3.0/templates/*
+%{_datadir}/%{name}-3.0/themes/*
+%{_datadir}/%{name}-3.0/utils/*
+%{_datadir}/%{name}-3.0/wallpapers/*
%{_desktopdir}/muse.desktop
%{_pixmapsdir}/muse.png
%{_mandir}/man1/*
%{_iconsdir}/hicolor/64x64/apps/muse_icon.png
+/usr/share/metainfo/muse.appdata.xml
%files doc
%defattr(644,root,root,755)
-%dir %{_docdir}/%{name}
-%dir %{_docdir}/%{name}/muse_html
-%dir %{_docdir}/%{name}/muse_html/single
-%dir %{_docdir}/%{name}/muse_html/split
-%dir %{_docdir}/%{name}/muse_html/single/documentation
-%dir %{_docdir}/%{name}/muse_html/single/developer_docs
-%dir %{_docdir}/%{name}/muse_html/split/documentation
-%dir %{_docdir}/%{name}/muse_html/split/developer_docs
-%dir %{_docdir}/%{name}/muse_pdf
-%{_docdir}/%{name}/muse_pdf/*.pdf
-%{_docdir}/%{name}/muse_html/single/documentation/*
-%{_docdir}/%{name}/muse_html/single/developer_docs/*
-%{_docdir}/%{name}/muse_html/split/documentation/*
-%{_docdir}/%{name}/muse_html/split/developer_docs/*
+%dir %{_docdir}/%{name}-%{version}
+%dir %{_docdir}/%{name}-%{version}/muse_html
+%dir %{_docdir}/%{name}-%{version}/muse_html/single
+%dir %{_docdir}/%{name}-%{version}/muse_html/split
+%dir %{_docdir}/%{name}-%{version}/muse_html/single/documentation
+%dir %{_docdir}/%{name}-%{version}/muse_html/single/developer_docs
+%dir %{_docdir}/%{name}-%{version}/muse_html/split/documentation
+%dir %{_docdir}/%{name}-%{version}/muse_html/split/developer_docs
+%dir %{_docdir}/%{name}-%{version}/muse_pdf
+%{_docdir}/%{name}-%{version}/muse_pdf/*.pdf
+%{_docdir}/%{name}-%{version}/muse_html/single/documentation/*
+%{_docdir}/%{name}-%{version}/muse_html/single/developer_docs/*
+%{_docdir}/%{name}-%{version}/muse_html/split/documentation/*
+%{_docdir}/%{name}-%{version}/muse_html/split/developer_docs/*
diff --git a/fluidsynth2.patch b/fluidsynth2.patch
new file mode 100644
index 0000000..4081a02
--- /dev/null
+++ b/fluidsynth2.patch
@@ -0,0 +1,139 @@
+From 6e352b874ddffc6185e499cda12c1731d14a3708 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony at gmail.com>
+Date: Wed, 17 Oct 2018 23:17:31 +0200
+Subject: [PATCH] fluidsynth: Follow API change introduced in fluidsynth 2.0.0
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Andreas Müller <schnitzeltony at gmail.com>
+---
+ muse3/synti/fluidsynth/fluidsynti.cpp | 44 ++++++++++++++++++++++++++-
+ 1 file changed, 43 insertions(+), 1 deletion(-)
+
+diff --git a/muse3/synti/fluidsynth/fluidsynti.cpp b/muse3/synti/fluidsynth/fluidsynti.cpp
+index 11f51e57..75322d7e 100644
+--- a/muse3/synti/fluidsynth/fluidsynti.cpp
++++ b/muse3/synti/fluidsynth/fluidsynti.cpp
+@@ -155,16 +155,22 @@ FluidSynth::~FluidSynth()
+ std::cerr << DEBUG_ARGS << "Error unloading soundfont!" << fluid_synth_error(fluidsynth) << std::endl;
+ }
+
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ int err = delete_fluid_synth (fluidsynth);
++#else
++ delete_fluid_synth (fluidsynth);
++#endif
+ if(gui)
+ delete gui;
+
+ if (initBuffer)
+ delete [] initBuffer;
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ if (err == -1) {
+ std::cerr << DEBUG_ARGS << "error while destroying synth: " << fluid_synth_error(fluidsynth) << std::endl;
+ return;
+- }
++ }
++#endif
+ }
+
+ bool FluidSynth::init(const char* name)
+@@ -1368,7 +1374,11 @@ const char* FluidSynth::getPatchName(int i, int, bool /*drum*/) const
+ else {
+ fluid_preset_t *preset = fluid_synth_get_channel_preset(fluidsynth, i);
+ if (!preset) return "<unknown>";
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ return preset->get_name(preset);
++#else
++ return fluid_preset_get_name(preset);
++#endif
+ }
+ }
+ //---------------------------------------------------------
+@@ -1414,12 +1424,20 @@ const MidiPatch* FluidSynth::getFirstPatch (int channel) const
+ if (!channels[channel].drumchannel) {
+ for (unsigned bank = 0; bank < 128; ++bank) {
+ for (unsigned patch = 0; patch < 128; ++patch) {
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ preset = sfont->get_preset (sfont, bank, patch);
++#else
++ preset = fluid_sfont_get_preset (sfont, bank, patch);
++#endif
+ if (preset) {
+ midiPatch.hbank = bank;
+ midiPatch.lbank = 0xff; // Off
+ midiPatch.prog = patch;
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ midiPatch.name = preset->get_name (preset);
++#else
++ midiPatch.name = fluid_preset_get_name (preset);
++#endif
+ return &midiPatch;
+ }
+ }
+@@ -1429,12 +1447,20 @@ const MidiPatch* FluidSynth::getFirstPatch (int channel) const
+ else { //This is a drumchannel
+ int bank = 128;
+ for (unsigned patch = 0; patch < 128; ++patch) {
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ preset = sfont->get_preset (sfont, bank, patch);
++#else
++ preset = fluid_sfont_get_preset (sfont, bank, patch);
++#endif
+ if (preset) {
+ midiPatch.hbank = 0xff; // Off
+ midiPatch.lbank = 0xff; // Off
+ midiPatch.prog = patch;
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ midiPatch.name = preset->get_name(preset);
++#else
++ midiPatch.name = fluid_preset_get_name (preset);
++#endif
+ return &midiPatch;
+ }
+ }
+@@ -1466,13 +1492,21 @@ const MidiPatch* FluidSynth::getNextPatch (int channel, const MidiPatch* patch)
+
+ for (unsigned bank = patch->hbank; bank < 128; ++bank) {
+ for ( ; prog < 128; ++prog) {
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ preset = sfont->get_preset (sfont, bank, prog);
++#else
++ preset = fluid_sfont_get_preset (sfont, bank, prog);
++#endif
+ 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;
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ midiPatch.name = preset->get_name (preset);
++#else
++ midiPatch.name = fluid_preset_get_name (preset);
++#endif
+ return &midiPatch;
+ }
+ }
+@@ -1483,13 +1517,21 @@ const MidiPatch* FluidSynth::getNextPatch (int channel, const MidiPatch* patch)
+ unsigned bank = 128;
+ unsigned prog = patch->prog;
+ for (prog = patch->prog + 1; prog < 128; ++prog) {
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ preset = sfont->get_preset (sfont, bank, prog);
++#else
++ preset = fluid_sfont_get_preset (sfont, bank, prog);
++#endif
+ 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;
++#if FLUIDSYNTH_VERSION_MAJOR < 2
+ midiPatch.name = preset->get_name (preset);
++#else
++ midiPatch.name = fluid_preset_get_name (preset);
++#endif
+ return &midiPatch;
+ }
+ }
diff --git a/missing_includes.patch b/missing_includes.patch
new file mode 100644
index 0000000..95c1e40
--- /dev/null
+++ b/missing_includes.patch
@@ -0,0 +1,44 @@
+diff -dur -x '*~' muse-3.0.2.orig/muse/widgets/genset.h muse-3.0.2/muse/widgets/genset.h
+--- muse-3.0.2.orig/muse/widgets/genset.h 2017-12-04 22:01:19.000000000 +0100
++++ muse-3.0.2/muse/widgets/genset.h 2018-11-22 19:13:29.182616803 +0100
+@@ -29,6 +29,7 @@
+ #include "cobject.h"
+ #include "mdisettings.h"
+
++#include <QButtonGroup>
+ #include <QShowEvent>
+ #include <list>
+
+diff -dur -x '*~' muse-3.0.2.orig/muse/widgets/pastedialog.h muse-3.0.2/muse/widgets/pastedialog.h
+--- muse-3.0.2.orig/muse/widgets/pastedialog.h 2017-12-04 22:01:19.000000000 +0100
++++ muse-3.0.2/muse/widgets/pastedialog.h 2018-11-22 19:13:48.033847674 +0100
+@@ -25,6 +25,7 @@
+
+ #include "ui_pastedialogbase.h"
+ #include <QString>
++#include <QButtonGroup>
+
+ namespace MusECore {
+ class Xml;
+diff -dur -x '*~' muse-3.0.2.orig/synti/simpledrums2/simpledrumsgui.h muse-3.0.2/synti/simpledrums2/simpledrumsgui.h
+--- muse-3.0.2.orig/synti/simpledrums2/simpledrumsgui.h 2018-01-29 21:07:03.000000000 +0100
++++ muse-3.0.2/synti/simpledrums2/simpledrumsgui.h 2018-11-22 19:10:58.517743603 +0100
+@@ -35,6 +35,7 @@
+ #include <QGroupBox>
+ #include <QHeaderView>
+ #include <QComboBox>
++#include <QButtonGroup>
+ #include <widgets/meter.h>
+
+ #include "libsynti/gui.h"
+--- muse-3.0.2.orig/muse/mplugins/mitplugin.cpp 2017-12-04 22:01:18.000000000 +0100
++++ muse-3.0.2/muse/mplugins/mitplugin.cpp 2018-11-22 19:48:54.657286284 +0100
+@@ -35,6 +35,8 @@
+ #include "rhythm.h"
+ #endif
+
++#include <QAction>
++
+ namespace MusEGui {
+
+ //---------------------------------------------------------
diff --git a/muse-CMakeLists.txt.patch b/muse-CMakeLists.txt.patch
deleted file mode 100644
index 9d790be..0000000
--- a/muse-CMakeLists.txt.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- muse/widgets/CMakeLists.txt.old 2013-03-28 16:17:35.000000000 +0100
-+++ muse/widgets/CMakeLists.txt 2013-06-01 19:34:33.000000000 +0200
-@@ -271,6 +271,7 @@
- ##
- target_link_libraries ( widgets
- ${QT_LIBRARIES}
-+ X11
- icons
- instruments
- )
---- CMakeLists.txt.org 2013-06-01 19:43:43.000000000 +0200
-+++ CMakeLists.txt 2013-06-01 19:45:23.000000000 +0200
-@@ -86,7 +86,7 @@
- SET(MusE_VERSION_PATCH 0)
- SET(MusE_VERSION "2.1.2")
- SET(MusE_VERSION_FULL "2.1.2")
--SET(MusE_INSTALL_NAME "muse-2.1")
-+SET(MusE_INSTALL_NAME "muse")
- SET(MusE_EXEC_NAME "muse2")
-
- ## The directory where we will install the shared components:
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/muse.git/commitdiff/a372a8f0d4c5c4bc96f21bbf6fb8402585f0ddb6
More information about the pld-cvs-commit
mailing list