[packages/lmms] - up to 1.2.2
baggins
baggins at pld-linux.org
Wed Jan 26 08:55:16 CET 2022
commit 8ae215e09b53bb84cb96232f9535c46650562fcd
Author: Jan Rękorajski <baggins at pld-linux.org>
Date: Wed Jan 26 08:54:50 2022 +0100
- up to 1.2.2
bash_completion_install.patch | 16 ---
fluidsynth2.patch | 315 ------------------------------------------
lmms.spec | 19 +--
3 files changed, 5 insertions(+), 345 deletions(-)
---
diff --git a/lmms.spec b/lmms.spec
index c35c61b..bb8a10a 100644
--- a/lmms.spec
+++ b/lmms.spec
@@ -2,24 +2,19 @@
%define rpmalloc_version 1.3.0
%define qt5_x11embed_version 022b39a1d496d72eb3e5b5188e5559f66afca957
-%define _rc rc7
-%define rel 1
-
Summary: Linux MultiMedia Studio
Summary(pl.UTF-8): MultiMedialne Studio Linuksa
Name: lmms
-Version: 1.2.0
-Release: 0.%{_rc}.%{rel}
+Version: 1.2.2
+Release: 1
License: GPL V2
Group: X11/Applications/Sound
-Source0: https://github.com/LMMS/lmms/archive/v%{version}-%{_rc}/%{name}-%{version}-%{_rc}.tar.gz
-# Source0-md5: 4d527a7f4fc38b105eac55fbd49cf2bb
+Source0: https://github.com/LMMS/lmms/archive/v%{version}/%{name}-%{version}.tar.gz
+# Source0-md5: 05ae14878db8bee074d520371e6cc779
Source1: https://github.com/rampantpixels/rpmalloc/archive/%{rpmalloc_version}/rpmalloc-%{rpmalloc_version}.tar.gz
# Source1-md5: 95109beaddeaafd20345ebe4e10c76ba
Source2: https://github.com/Lukas-W/qt5-x11embed/archive/%{qt5_x11embed_version}/qt5-x11embed-%{qt5_x11embed_version}.tar.gz
# Source2-md5: 193f7a94d1af51c2f85628fcbbf2bf49
-Patch0: fluidsynth2.patch
-Patch1: bash_completion_install.patch
URL: https://lmms.io/
BuildRequires: Carla-devel >= 2.0-0.rc2.3
BuildRequires: Mesa-libGL-devel
@@ -83,7 +78,7 @@ LMMS library.
Biblioteka LMMS.
%prep
-%setup -q -n %{name}-%{version}-%{_rc} -a1 -a2
+%setup -q -a1 -a2
rmdir src/3rdparty/rpmalloc/rpmalloc
ln -s ../../../rpmalloc-%{rpmalloc_version} src/3rdparty/rpmalloc/rpmalloc
@@ -94,9 +89,6 @@ ln -s ../../qt5-x11embed-%{qt5_x11embed_version} src/3rdparty/qt5-x11embed
rmdir qt5-x11embed-%{qt5_x11embed_version}/3rdparty/ECM
ln -s %{_datadir}/ECM qt5-x11embed-%{qt5_x11embed_version}/3rdparty/ECM
-%patch0 -p1
-%patch1 -p1
-
%build
install -d build
cd build
@@ -146,6 +138,5 @@ rm -rf $RPM_BUILD_ROOT
%defattr(644,root,root,755)
%dir %{_libdir}/lmms
%attr(755,root,root)%{_libdir}/lmms/*.so
-%attr(755,root,root)%{_libdir}/lmms/RemoteZynAddSubFx
%dir %{_libdir}/lmms/ladspa
%attr(755,root,root)%{_libdir}/lmms/ladspa/*.so
diff --git a/bash_completion_install.patch b/bash_completion_install.patch
deleted file mode 100644
index 7836c6f..0000000
--- a/bash_completion_install.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -dur lmms-1.2.0-rc7.orig/cmake/modules/BashCompletion.cmake lmms-1.2.0-rc7/cmake/modules/BashCompletion.cmake
---- lmms-1.2.0-rc7.orig/cmake/modules/BashCompletion.cmake 2018-09-25 09:47:51.000000000 +0200
-+++ lmms-1.2.0-rc7/cmake/modules/BashCompletion.cmake 2018-11-20 21:01:39.306149303 +0100
-@@ -78,9 +78,9 @@
- BASHCOMP_PKG_PATH=\"${BASHCOMP_PKG_PATH}\"\n\
- fi\n\
- echo -e \"\\nInstalling bash completion...\\n\"\n\
--mkdir -p \"\$BASHCOMP_PKG_PATH\"\n\
--cp \"${CMAKE_CURRENT_SOURCE_DIR}/${SCRIPT_NAME}\" \"\$BASHCOMP_PKG_PATH\"\n\
--chmod a+r \"\$BASHCOMP_PKG_PATH/${SCRIPT_NAME}\"\n\
-+mkdir -p \"\$DESTDIR\$BASHCOMP_PKG_PATH\"\n\
-+cp \"${CMAKE_CURRENT_SOURCE_DIR}/${SCRIPT_NAME}\" \"\$DESTDIR\$BASHCOMP_PKG_PATH\"\n\
-+chmod a+r \"\$DESTDIR\$BASHCOMP_PKG_PATH/${SCRIPT_NAME}\"\n\
- echo -e \"Bash completion for ${SCRIPT_NAME} has been installed to \$BASHCOMP_PKG_PATH/${SCRIPT_NAME}\"\n\
- ")
- INSTALL(CODE "EXECUTE_PROCESS(COMMAND chmod u+x \"install_${SCRIPT_NAME}_completion.sh\" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )")
diff --git a/fluidsynth2.patch b/fluidsynth2.patch
deleted file mode 100644
index 7106a01..0000000
--- a/fluidsynth2.patch
+++ /dev/null
@@ -1,315 +0,0 @@
-From 1f7cd3ed5af6640c0e38a2dc2d9be5a9ae036dc8 Mon Sep 17 00:00:00 2001
-From: Hyunjin Song <tteu.ingog at gmail.com>
-Date: Sun, 28 Oct 2018 10:31:33 +0900
-Subject: [PATCH] Allow building SF2 player with FluidSynth 2.x (#4678)
-
-Resolves the incompatibility between FluidSynth 1.x and 2.x
-due to some API changes by shimming some functions.
-
-Note that 1.x and 2.x are not binary compatible.
----
- plugins/sf2_player/fluidsynthshims.h | 88 +++++++++++++++++++++++++++
- plugins/sf2_player/patches_dialog.cpp | 44 ++++++++------
- plugins/sf2_player/patches_dialog.h | 2 +-
- plugins/sf2_player/sf2_player.cpp | 43 ++++++++++---
- plugins/sf2_player/sf2_player.h | 2 +-
- 5 files changed, 152 insertions(+), 27 deletions(-)
- create mode 100644 plugins/sf2_player/fluidsynthshims.h
-
-diff --git a/plugins/sf2_player/fluidsynthshims.h b/plugins/sf2_player/fluidsynthshims.h
-new file mode 100644
-index 0000000000..4302256ba3
---- /dev/null
-+++ b/plugins/sf2_player/fluidsynthshims.h
-@@ -0,0 +1,88 @@
-+/*
-+ * fluidsynthshims.h - a shim header for FluidSynth 2.0 API changes
-+ *
-+ * Copyright (c) 2018 Hyunjin Song <tteu.ingog at gmail.com>
-+ *
-+ * This file is part of LMMS - https://lmms.io
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2 of the License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public
-+ * License along with this program (see COPYING); if not, write to the
-+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
-+ * Boston, MA 02110-1301 USA.
-+ *
-+ */
-+
-+
-+#ifndef FLUIDSYNTHSHIMS_H
-+#define FLUIDSYNTHSHIMS_H
-+
-+#include <fluidsynth.h>
-+
-+#if FLUIDSYNTH_VERSION_MAJOR < 2
-+
-+inline const char* fluid_preset_get_name(fluid_preset_t* preset)
-+{
-+ return preset->get_name(preset);
-+}
-+
-+inline int fluid_preset_get_banknum(fluid_preset_t* preset)
-+{
-+ return preset->get_banknum(preset);
-+}
-+
-+inline int fluid_preset_get_num(fluid_preset_t* preset)
-+{
-+ return preset->get_num(preset);
-+}
-+
-+inline fluid_sfont_t* fluid_preset_get_sfont(fluid_preset_t* preset)
-+{
-+ return preset->sfont;
-+}
-+
-+inline char* fluid_sfont_get_name(fluid_sfont_t* sfont)
-+{
-+ return sfont->get_name(sfont);
-+}
-+
-+inline void fluid_sfont_iteration_start(fluid_sfont_t* sfont)
-+{
-+ sfont->iteration_start(sfont);
-+}
-+
-+// Due to the API change, we can't simply shim the 'fluid_sfont_iteration_next' function
-+inline fluid_preset_t* fluid_sfont_iteration_next_wrapper(fluid_sfont_t* sfont, fluid_preset_t* preset)
-+{
-+ return sfont->iteration_next(sfont, preset) ? preset : nullptr;
-+}
-+
-+#else // FLUIDSYNTH_VERSION_MAJOR < 2
-+
-+#define FLUID_REVERB_DEFAULT_ROOMSIZE 0.2f
-+#define FLUID_REVERB_DEFAULT_DAMP 0.0f
-+#define FLUID_REVERB_DEFAULT_WIDTH 0.5f
-+#define FLUID_REVERB_DEFAULT_LEVEL 0.9f
-+
-+#define FLUID_CHORUS_DEFAULT_N 3
-+#define FLUID_CHORUS_DEFAULT_LEVEL 2.0f
-+#define FLUID_CHORUS_DEFAULT_SPEED 0.3f
-+#define FLUID_CHORUS_DEFAULT_DEPTH 8.0f
-+
-+inline fluid_preset_t* fluid_sfont_iteration_next_wrapper(fluid_sfont_t* sfont, fluid_preset_t*)
-+{
-+ return fluid_sfont_iteration_next(sfont);
-+}
-+
-+#endif // FLUIDSYNTH_VERSION_MAJOR < 2
-+
-+#endif // FLUIDSYNTHSHIMS_H
-diff --git a/plugins/sf2_player/patches_dialog.cpp b/plugins/sf2_player/patches_dialog.cpp
-index 6ae791c155..189d996f30 100644
---- a/plugins/sf2_player/patches_dialog.cpp
-+++ b/plugins/sf2_player/patches_dialog.cpp
-@@ -143,7 +143,6 @@ void patchesDialog::setup ( fluid_synth_t * pSynth, int iChan,
- m_iChan = iChan;
-
-
-- fluid_preset_t preset;
- QTreeWidgetItem *pBankItem = NULL;
- // For all soundfonts (in reversed stack order) fill the available banks...
- int cSoundFonts = ::fluid_synth_sfcount(m_pSynth);
-@@ -151,11 +150,17 @@ void patchesDialog::setup ( fluid_synth_t * pSynth, int iChan,
- fluid_sfont_t *pSoundFont = ::fluid_synth_get_sfont(m_pSynth, i);
- if (pSoundFont) {
- #ifdef CONFIG_FLUID_BANK_OFFSET
-- int iBankOffset = ::fluid_synth_get_bank_offset(m_pSynth, pSoundFont->id);
-+ int iBankOffset = ::fluid_synth_get_bank_offset(m_pSynth, fluid_sfont_get_id(pSoundFont));
- #endif
-- pSoundFont->iteration_start(pSoundFont);
-- while (pSoundFont->iteration_next(pSoundFont, &preset)) {
-- int iBank = preset.get_banknum(&preset);
-+ fluid_sfont_iteration_start(pSoundFont);
-+#if FLUIDSYNTH_VERSION_MAJOR < 2
-+ fluid_preset_t preset;
-+ fluid_preset_t *pCurPreset = &preset;
-+#else
-+ fluid_preset_t *pCurPreset;
-+#endif
-+ while ((pCurPreset = fluid_sfont_iteration_next_wrapper(pSoundFont, pCurPreset))) {
-+ int iBank = fluid_preset_get_banknum(pCurPreset);
- #ifdef CONFIG_FLUID_BANK_OFFSET
- iBank += iBankOffset;
- #endif
-@@ -173,9 +178,9 @@ void patchesDialog::setup ( fluid_synth_t * pSynth, int iChan,
- m_iBank = 0;
- fluid_preset_t *pPreset = ::fluid_synth_get_channel_preset(m_pSynth, m_iChan);
- if (pPreset) {
-- m_iBank = pPreset->get_banknum(pPreset);
-+ m_iBank = fluid_preset_get_banknum(pPreset);
- #ifdef CONFIG_FLUID_BANK_OFFSET
-- m_iBank += ::fluid_synth_get_bank_offset(m_pSynth, (pPreset->sfont)->id);
-+ m_iBank += ::fluid_synth_get_bank_offset(m_pSynth, fluid_sfont_get_id(fluid_preset_get_sfont(sfont)));
- #endif
- }
-
-@@ -186,7 +191,7 @@ void patchesDialog::setup ( fluid_synth_t * pSynth, int iChan,
-
- // Set the selected program.
- if (pPreset)
-- m_iProg = pPreset->get_num(pPreset);
-+ m_iProg = fluid_preset_get_num(pPreset);
- QTreeWidgetItem *pProgItem = findProgItem(m_iProg);
- m_progListView->setCurrentItem(pProgItem);
- m_progListView->scrollToItem(pProgItem);
-@@ -312,7 +317,6 @@ void patchesDialog::bankChanged (void)
- // Clear up the program listview.
- m_progListView->setSortingEnabled(false);
- m_progListView->clear();
-- fluid_preset_t preset;
- QTreeWidgetItem *pProgItem = NULL;
- // For all soundfonts (in reversed stack order) fill the available programs...
- int cSoundFonts = ::fluid_synth_sfcount(m_pSynth);
-@@ -320,23 +324,29 @@ void patchesDialog::bankChanged (void)
- fluid_sfont_t *pSoundFont = ::fluid_synth_get_sfont(m_pSynth, i);
- if (pSoundFont) {
- #ifdef CONFIG_FLUID_BANK_OFFSET
-- int iBankOffset = ::fluid_synth_get_bank_offset(m_pSynth, pSoundFont->id);
-+ int iBankOffset = ::fluid_synth_get_bank_offset(m_pSynth, fluid_sfont_get_id(pSoundFont));
-+#endif
-+ fluid_sfont_iteration_start(pSoundFont);
-+#if FLUIDSYNTH_VERSION_MAJOR < 2
-+ fluid_preset_t preset;
-+ fluid_preset_t *pCurPreset = &preset;
-+#else
-+ fluid_preset_t *pCurPreset;
- #endif
-- pSoundFont->iteration_start(pSoundFont);
-- while (pSoundFont->iteration_next(pSoundFont, &preset)) {
-- int iBank = preset.get_banknum(&preset);
-+ while ((pCurPreset = fluid_sfont_iteration_next_wrapper(pSoundFont, pCurPreset))) {
-+ int iBank = fluid_preset_get_banknum(pCurPreset);
- #ifdef CONFIG_FLUID_BANK_OFFSET
- iBank += iBankOffset;
- #endif
-- int iProg = preset.get_num(&preset);
-+ int iProg = fluid_preset_get_num(pCurPreset);
- if (iBank == iBankSelected && !findProgItem(iProg)) {
- pProgItem = new patchItem(m_progListView, pProgItem);
- if (pProgItem) {
- pProgItem->setText(0, QString::number(iProg));
-- pProgItem->setText(1, preset.get_name(&preset));
-- //pProgItem->setText(2, QString::number(pSoundFont->id));
-+ pProgItem->setText(1, fluid_preset_get_name(pCurPreset));
-+ //pProgItem->setText(2, QString::number(fluid_sfont_get_id(pSoundFont)));
- //pProgItem->setText(3, QFileInfo(
-- // pSoundFont->get_name(pSoundFont)).baseName());
-+ // fluid_sfont_get_name(pSoundFont).baseName());
- }
- }
- }
-diff --git a/plugins/sf2_player/patches_dialog.h b/plugins/sf2_player/patches_dialog.h
-index f4523ff904..a2c88a79d1 100644
---- a/plugins/sf2_player/patches_dialog.h
-+++ b/plugins/sf2_player/patches_dialog.h
-@@ -29,7 +29,7 @@
- #include "ui_patches_dialog.h"
- #include "LcdSpinBox.h"
-
--#include <fluidsynth.h>
-+#include "fluidsynthshims.h"
- #include <QWidget>
- #include <QLabel>
-
-diff --git a/plugins/sf2_player/sf2_player.cpp b/plugins/sf2_player/sf2_player.cpp
-index 742f5fb8e1..f7a09f01e7 100644
---- a/plugins/sf2_player/sf2_player.cpp
-+++ b/plugins/sf2_player/sf2_player.cpp
-@@ -127,6 +127,29 @@ sf2Instrument::sf2Instrument( InstrumentTrack * _instrument_track ) :
- // everytime we load a new soundfont.
- m_synth = new_fluid_synth( m_settings );
-
-+#if FLUIDSYNTH_VERSION_MAJOR >= 2
-+ // Get the default values from the setting
-+ double settingVal;
-+
-+ fluid_settings_getnum_default(m_settings, "synth.reverb.room-size", &settingVal);
-+ m_reverbRoomSize.setInitValue(settingVal);
-+ fluid_settings_getnum_default(m_settings, "synth.reverb.damping", &settingVal);
-+ m_reverbDamping.setInitValue(settingVal);
-+ fluid_settings_getnum_default(m_settings, "synth.reverb.width", &settingVal);
-+ m_reverbWidth.setInitValue(settingVal);
-+ fluid_settings_getnum_default(m_settings, "synth.reverb.level", &settingVal);
-+ m_reverbLevel.setInitValue(settingVal);
-+
-+ fluid_settings_getnum_default(m_settings, "synth.chorus.nr", &settingVal);
-+ m_chorusNum.setInitValue(settingVal);
-+ fluid_settings_getnum_default(m_settings, "synth.chorus.level", &settingVal);
-+ m_chorusLevel.setInitValue(settingVal);
-+ fluid_settings_getnum_default(m_settings, "synth.chorus.speed", &settingVal);
-+ m_chorusSpeed.setInitValue(settingVal);
-+ fluid_settings_getnum_default(m_settings, "synth.chorus.depth", &settingVal);
-+ m_chorusDepth.setInitValue(settingVal);
-+#endif
-+
- loadFile( ConfigManager::inst()->defaultSoundfont() );
-
- updateSampleRate();
-@@ -392,7 +415,6 @@ QString sf2Instrument::getCurrentPatchName()
- int iBankSelected = m_bankNum.value();
- int iProgSelected = m_patchNum.value();
-
-- fluid_preset_t preset;
- // For all soundfonts (in reversed stack order) fill the available programs...
- int cSoundFonts = ::fluid_synth_sfcount( m_synth );
- for( int i = 0; i < cSoundFonts; i++ )
-@@ -403,21 +425,26 @@ QString sf2Instrument::getCurrentPatchName()
- #ifdef CONFIG_FLUID_BANK_OFFSET
- int iBankOffset =
- fluid_synth_get_bank_offset(
-- m_synth, pSoundFont->id );
-+ m_synth, fluid_sfont_get_id(pSoundFont) );
-+#endif
-+ fluid_sfont_iteration_start( pSoundFont );
-+#if FLUIDSYNTH_VERSION_MAJOR < 2
-+ fluid_preset_t preset;
-+ fluid_preset_t *pCurPreset = &preset;
-+#else
-+ fluid_preset_t *pCurPreset;
- #endif
-- pSoundFont->iteration_start( pSoundFont );
-- while( pSoundFont->iteration_next( pSoundFont,
-- &preset ) )
-+ while ((pCurPreset = fluid_sfont_iteration_next_wrapper(pSoundFont, pCurPreset)))
- {
-- int iBank = preset.get_banknum( &preset );
-+ int iBank = fluid_preset_get_banknum( pCurPreset );
- #ifdef CONFIG_FLUID_BANK_OFFSET
- iBank += iBankOffset;
- #endif
-- int iProg = preset.get_num( &preset );
-+ int iProg = fluid_preset_get_num( pCurPreset );
- if( iBank == iBankSelected && iProg ==
- iProgSelected )
- {
-- return preset.get_name( &preset );
-+ return fluid_preset_get_name( pCurPreset );
- }
- }
- }
-diff --git a/plugins/sf2_player/sf2_player.h b/plugins/sf2_player/sf2_player.h
-index 0d29c27e1f..eed7e24ab3 100644
---- a/plugins/sf2_player/sf2_player.h
-+++ b/plugins/sf2_player/sf2_player.h
-@@ -36,7 +36,7 @@
- #include "Knob.h"
- #include "LcdSpinBox.h"
- #include "LedCheckbox.h"
--#include "fluidsynth.h"
-+#include "fluidsynthshims.h"
- #include "MemoryManager.h"
-
- class sf2InstrumentView;
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/lmms.git/commitdiff/8ae215e09b53bb84cb96232f9535c46650562fcd
More information about the pld-cvs-commit
mailing list