diff --git a/recipes-musicians/muse/muse/0001-Do-not-try-to-find-aeffectx.h-it-is-not-found-for-un.patch b/recipes-musicians/muse/muse/0001-Do-not-try-to-find-aeffectx.h-it-is-not-found-for-un.patch new file mode 100644 index 0000000..0157ae7 --- /dev/null +++ b/recipes-musicians/muse/muse/0001-Do-not-try-to-find-aeffectx.h-it-is-not-found-for-un.patch @@ -0,0 +1,31 @@ +From e65afafddba1872c9983e891df7f8a7276a638aa Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +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 +--- + 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 + diff --git a/recipes-musicians/muse/muse/0001-fluidsynth-Follow-API-change-introduced-in-fluidsynt.patch b/recipes-musicians/muse/muse/0001-fluidsynth-Follow-API-change-introduced-in-fluidsynt.patch deleted file mode 100644 index cfb3428..0000000 --- a/recipes-musicians/muse/muse/0001-fluidsynth-Follow-API-change-introduced-in-fluidsynt.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 6e352b874ddffc6185e499cda12c1731d14a3708 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Andreas=20M=C3=BCller?= -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 ---- - 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 ""; -+#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 - diff --git a/recipes-musicians/muse/muse/0002-muse-find-unused-wavs-convert-to-pythomn3.patch b/recipes-musicians/muse/muse/0002-muse-find-unused-wavs-convert-to-pythomn3.patch new file mode 100644 index 0000000..c674b4c --- /dev/null +++ b/recipes-musicians/muse/muse/0002-muse-find-unused-wavs-convert-to-pythomn3.patch @@ -0,0 +1,104 @@ +From 73f7b916692a9d0a6fbdb2603cdcc6109b3198cd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= +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 +--- + 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 + diff --git a/recipes-musicians/muse/muse_git.bb b/recipes-musicians/muse/muse_git.bb index fcb9c09..0093e17 100644 --- a/recipes-musicians/muse/muse_git.bb +++ b/recipes-musicians/muse/muse_git.bb @@ -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" diff --git a/recipes-support/packagegroups/musicians-world.bb b/recipes-support/packagegroups/musicians-world.bb index ca8d2d1..6bb7f4b 100644 --- a/recipes-support/packagegroups/musicians-world.bb +++ b/recipes-support/packagegroups/musicians-world.bb @@ -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 \