[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