muse: upgrade 3.1 / rework / fix build / re-add to packagegroups/musicians-world

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
Andreas Müller
2020-02-27 07:46:17 +01:00
parent d8da6c6501
commit 6c81fcaf1b
5 changed files with 161 additions and 184 deletions

View File

@@ -0,0 +1,31 @@
From e65afafddba1872c9983e891df7f8a7276a638aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Wed, 26 Feb 2020 21:57:06 +0100
Subject: [PATCH] Do not try to find aeffectx.h - it is not found for unknown
reasons
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Inappropriate [OE-specific]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
muse3/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/muse3/CMakeLists.txt b/muse3/CMakeLists.txt
index 2746a50f..ebf97d10 100644
--- a/muse3/CMakeLists.txt
+++ b/muse3/CMakeLists.txt
@@ -451,7 +451,6 @@ SET (AEFFECT_H_FOUND FALSE)
SET (VST_NATIVE_SUPPORT FALSE)
if (ENABLE_VST_NATIVE)
- find_file(VST_HEADER_CHECK aeffectx.h PATHS ${VST_HEADER_PATH} NO_DEFAULT_PATH)
if (VST_HEADER_CHECK STREQUAL "VST_HEADER_CHECK-NOTFOUND")
message("Native VST support disabled")
else (VST_HEADER_CHECK STREQUAL "VST_HEADER_CHECK-NOTFOUND")
--
2.21.0

View File

@@ -1,146 +0,0 @@
From 6e352b874ddffc6185e499cda12c1731d14a3708 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@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
Upstream-Status: Submitted [1]
[1] https://github.com/muse-sequencer/muse/pull/630
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
synti/fluidsynth/fluidsynti.cpp | 44 ++++++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/synti/fluidsynth/fluidsynti.cpp b/synti/fluidsynth/fluidsynti.cpp
index 11f51e57..75322d7e 100644
--- a/synti/fluidsynth/fluidsynti.cpp
+++ b/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;
}
}
--
2.14.4

View File

@@ -0,0 +1,104 @@
From 73f7b916692a9d0a6fbdb2603cdcc6109b3198cd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Wed, 26 Feb 2020 22:12:35 +0100
Subject: [PATCH] muse-find-unused-wavs: convert to pythomn3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream-Status: Pending
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
muse3/utils/muse-find-unused-wavs | 46 +++++++++++++++----------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/muse3/utils/muse-find-unused-wavs b/muse3/utils/muse-find-unused-wavs
index 5aaf2707..3bc4e009 100755
--- a/muse3/utils/muse-find-unused-wavs
+++ b/muse3/utils/muse-find-unused-wavs
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
#=============================================================================
# MusE
@@ -31,29 +31,29 @@ dirlist = os.listdir(".")
wavs=[]
-print "muse-find-unused-wavs - check wav file usage in all *.med files in current dir."
-print ""
-print "This utility scans all med files in the current dir, maps their"
-print "wave file usage to what is currently available in current dir."
-print "The output is printed."
-print "Files no longer used are moved to the subdir 'unused'"
-print "Press enter to continue."
-print ""
-raw_input()
+print("muse-find-unused-wavs - check wav file usage in all *.med files in current dir.")
+print("")
+print("This utility scans all med files in the current dir, maps their")
+print("wave file usage to what is currently available in current dir.")
+print("The output is printed.")
+print("Files no longer used are moved to the subdir 'unused'")
+print("Press enter to continue.")
+print("")
+input()
for line in dirlist:
if (line.endswith( ".wav")):
#print "HA!", line
wavs.append(line)
-print "===================================================="
-print "===================================================="
-print " These wave files were found in current directory:\n"
+print("====================================================")
+print("====================================================")
+print(" These wave files were found in current directory:\n")
if wavs == []:
- print "No files were found."
+ print("No files were found.")
sys.exit(0)
else:
for f in wavs:
- print f
+ print(f)
for line in dirlist:
if (line.endswith( ".med") ):
@@ -65,16 +65,16 @@ for line in dirlist:
#print "found %s removing %s"%(line, wav)
wavs.remove(wav)
-print "===================================================="
-print " These wave files were unused:\n"
+print("====================================================")
+print(" These wave files were unused:\n")
if wavs == []:
- print "None"
+ print("None")
else:
for f in wavs:
- print f
+ print(f)
- print "moving to new subdir unused, press Enter to continue"
- raw_input()
+ print("moving to new subdir unused, press Enter to continue")
+ input()
try:
os.mkdir('unused')
@@ -82,6 +82,6 @@ else:
pass
for f in wavs:
shutil.move(f,'unused')
-print "===================================================="
-print "===================================================="
+print("====================================================")
+print("====================================================")
--
2.21.0

View File

@@ -1,7 +1,7 @@
SUMMARY = "MusE is a digital audio workstation"
HOMEPAGE = "http://muse-sequencer.org/"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=328283dc167a7b37ffdc59f524a7fc4d"
LIC_FILES_CHKSUM = "file://muse3/COPYING;md5=328283dc167a7b37ffdc59f524a7fc4d"
DEPENDS += " \
qtbase \
@@ -15,37 +15,43 @@ DEPENDS += " \
serd \
lilv \
lv2 \
lmms \
harfbuzz \
rubberband \
"
# Note: lmms is in DEPENDS for supplying VST header aeffectx.h only
inherit cmake_qt5 pkgconfig gtk-icon-cache features_check mime qt5-translation
inherit cmake_qt5 pkgconfig gtk-icon-cache features_check mime qt5-translation mime-xdg
SRC_URI = " \
git://github.com/muse-sequencer/muse.git \
file://0001-fluidsynth-Follow-API-change-introduced-in-fluidsynt.patch \
file://0001-Do-not-try-to-find-aeffectx.h-it-is-not-found-for-un.patch \
file://0002-muse-find-unused-wavs-convert-to-pythomn3.patch \
"
SRCREV = "1fde7ca69b1b7988595f4cfb58eae5c566324cac"
PV = "3.0.2+git${SRCPV}"
S = "${WORKDIR}/git/muse3"
SRCREV = "50f4b71eab801aa49f35b66fdfdca9ab02e08238"
PV = "3.1.0"
S = "${WORKDIR}/git"
OECMAKE_SOURCEPATH = "${S}/muse3"
EXTRA_OECMAKE += " \
-DLIB_INSTALL_DIR=${libdir} \
-DMODULES_BUILD_STATIC=1 \
-DCMAKE_SHARED_LINKER_FLAGS=-Wl,--no-undefined \
-DVST_HEADER_PATH=${S}/muse3/vestige \
-DENABLE_VST_VESTIGE=1 \
\
-DENABLE_LV2=1 \
-DENABLE_DSSI=1 \
-DENABLE_FLUID=1 \
-DENABLE_VST_NATIVE=1 \
"
# -DENABLE_EXPERIMENTAL=1 won't work
# -DENABLE_VST_NATIVE=1
# Have no idea where flags are lost. Anyway driver would fail
# | driver/libmuse_driver.so: error: undefined reference to 'pthread_cancel'
# | driver/libmuse_driver.so: error: undefined reference to 'pthread_create'
# | driver/libmuse_driver.so: error: undefined reference to 'pthread_join'
# | driver/libmuse_driver.so: error: undefined reference to 'dlsym'
# | collect2: error: ld returned 1 exit status
LDFLAGS += "-lpthread -ldl"
do_install_append() {
# remove python script to convert songs from very old muse to avoid
# python rdeps
rm -f ${D}${datadir}/muse-3.1/utils/muse-song-convert.py
}
QT_TRANSLATION_FILES = "${datadir}/*/locale/*.qm"
FILES_${PN}-locale = "${datadir}/muse-3.0/locale"
@@ -53,27 +59,8 @@ FILES_${PN}-locale = "${datadir}/muse-3.0/locale"
FILES_${PN} += " \
${datadir}/mime \
${datadir}/metainfo \
\
${datadir}/muse-3.0/didyouknow.txt \
${datadir}/muse-3.0/splash.png \
\
${datadir}/muse-3.0/demos \
${datadir}/muse-3.0/drummaps \
${datadir}/muse-3.0/instruments \
${datadir}/muse-3.0/metronome \
${datadir}/muse-3.0/plugins \
${datadir}/muse-3.0/presets \
${datadir}/muse-3.0/pybridge \
${datadir}/muse-3.0/scoreglyphs \
${datadir}/muse-3.0/scripts \
${datadir}/muse-3.0/themes \
${datadir}/muse-3.0/templates \
${datadir}/muse-3.0/utils \
${datadir}/muse-3.0/wallpapers \
\
${libdir}/muse-3.0/synthi \
${libdir}/muse-3.0/modules \
${libdir}/muse-3.0/plugins \
${datadir}/muse-3.1 \
${libdir}/muse-3.1 \
"
RDEPENDS_${PN} += "python"
RDEPENDS_${PN} += "python3-core"

View File

@@ -86,6 +86,7 @@ RDEPENDS_${PN} += " \
lrdf \
lsp-plugins-standalone lsp-plugins-ladspa lsp-plugins-lv2 lsp-plugins-vst \
mixxx \
muse \
nekobee \
ninjas2-standalone ninjas2-lv2 ninjas2-vst \
noise-repellent \