commit a5b88596852e8161919ae30cfd972ceb308f540c
Author: Jacek Konieczny <[email protected]>
Date:   Tue Nov 20 21:49:02 2018 +0100

    Version: 1.2.0-rc7, build with fluidsynth 2.0

 bash_completion_install.patch |  16 +++
 cmake_buildef.patch           |  13 --
 fluidsynth2.patch             | 315 ++++++++++++++++++++++++++++++++++++++++++
 lmms.spec                     |  69 ++++++---
 logical-not-parentheses.patch |  13 --
 static_inline.patch           |  45 ------
 6 files changed, 381 insertions(+), 90 deletions(-)
---
diff --git a/lmms.spec b/lmms.spec
index d56e0dd..133275b 100644
--- a/lmms.spec
+++ b/lmms.spec
@@ -1,25 +1,40 @@
+
+%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.1.3
-Release:       1
+Version:       1.2.0
+Release:       0.%{_rc}.%{rel}
 License:       GPL V2
 Group:         X11/Applications/Sound
-Source0:       
https://github.com/LMMS/lmms/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 88d9e66d240b711c37315e3c9da644a1
-Patch0:                cmake_buildef.patch
-Patch1:                static_inline.patch
-Patch2:                logical-not-parentheses.patch
+Source0:       
https://github.com/LMMS/lmms/archive/v%{version}-%{_rc}/%{name}-%{version}-%{_rc}.tar.gz
+# Source0-md5: 4d527a7f4fc38b105eac55fbd49cf2bb
+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: QtCore-devel >= 4.5
-BuildRequires: QtGui-devel >= 4.5
-BuildRequires: QtXml-devel >= 4.5
+BuildRequires: Carla-devel >= 1.9.5
+BuildRequires: Mesa-libGL-devel
+BuildRequires: Qt5Core-devel
+BuildRequires: Qt5Gui-devel
+BuildRequires: Qt5Xml-devel
 BuildRequires: SDL-devel
 BuildRequires: alsa-lib-devel
 BuildRequires: cmake
 BuildRequires: fftw3-single-devel >= 3.0.0
 BuildRequires: fluidsynth-devel >= 1.0.7
 BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: kf5-extra-cmake-modules
+BuildRequires: lame-libs-devel
+BuildRequires: libgig-devel
 BuildRequires: libogg-devel
 BuildRequires: libsamplerate-devel >= 0.1.8
 BuildRequires: libsndfile-devel >= 1.0.11
@@ -27,9 +42,11 @@ BuildRequires:       libvorbis-devel
 BuildRequires: pkgconfig
 BuildRequires: portaudio-devel
 BuildRequires: pulseaudio-devel
-BuildRequires: qt4-build
-BuildRequires: qt4-qmake
+BuildRequires: qt5-build
+BuildRequires: qt5-qmake
 BuildRequires: xorg-lib-libXft-devel
+# the VSD loader requires 32-bit devel files
+#BuildRequires:        wine-devel
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -65,16 +82,27 @@ LMMS library.
 Biblioteka LMMS.
 
 %prep
-%setup -q
+%setup -q -n %{name}-%{version}-%{_rc} -a1 -a2
+
+rmdir src/3rdparty/rpmalloc/rpmalloc
+ln -s ../../../rpmalloc-%{rpmalloc_version} src/3rdparty/rpmalloc/rpmalloc
+
+rmdir src/3rdparty/qt5-x11embed
+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
-%patch2 -p1
 
 %build
 install -d build
 cd build
 %cmake .. \
+       -DWANT_QT5=ON \
        -DCMAKE_INSTALL_PREFIX=%{_prefix} \
+       -DWANT_VST_NOWINE=ON \
 %if "%{_lib}" == "lib64"
        -DLIB_SUFFIX=64
 %endif
@@ -87,8 +115,7 @@ rm -rf $RPM_BUILD_ROOT
 %{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
-%{__rm} $RPM_BUILD_ROOT%{_datadir}/menu/lmms
-%{__rm} $RPM_BUILD_ROOT%{_includedir}/lmms/embed.cpp
+rm -r $RPM_BUILD_ROOT%{_iconsdir}/hicolor/*@2/*/*
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -103,12 +130,16 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/lmms.1*
 %{_datadir}/mime/packages/lmms.xml
 %{_datadir}/lmms
-%{_pixmapsdir}/lmms.png
+%{_iconsdir}/hicolor/*/apps/lmms.png
+%{_iconsdir}/hicolor/*/mimetypes/application-x-lmms-project.png
+%{_iconsdir}/hicolor/*/apps/lmms.svg
+%{_iconsdir}/hicolor/*/mimetypes/application-x-lmms-project.svg
+%{bash_compdir}/lmms
 
 %files devel
 %defattr(644,root,root,755)
-%dir %{_includedir}/lmms
-%{_includedir}/lmms/*.h
+%{_includedir}/lmms
+%{_libdir}/libqx11embedcontainer.a
 
 %files libs
 %defattr(644,root,root,755)
diff --git a/bash_completion_install.patch b/bash_completion_install.patch
new file mode 100644
index 0000000..7836c6f
--- /dev/null
+++ b/bash_completion_install.patch
@@ -0,0 +1,16 @@
+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/cmake_buildef.patch b/cmake_buildef.patch
deleted file mode 100644
index e59f7c1..0000000
--- a/cmake_buildef.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -dur lmms-1.1.3.orig/CMakeLists.txt lmms-1.1.3/CMakeLists.txt
---- lmms-1.1.3.orig/CMakeLists.txt     2015-03-08 03:47:14.000000000 +0100
-+++ lmms-1.1.3/CMakeLists.txt  2015-12-12 19:03:31.196480144 +0100
-@@ -436,8 +436,8 @@
- # Paths relative to lmms executable
--FILE(RELATIVE_PATH LIB_DIR_RELATIVE "/${BIN_DIR}" "/${LIB_DIR}")
--FILE(RELATIVE_PATH PLUGIN_DIR_RELATIVE "/${BIN_DIR}" "/${PLUGIN_DIR}")
-+FILE(RELATIVE_PATH LIB_DIR_RELATIVE "/usr/bin" "${LIB_DIR}")
-+FILE(RELATIVE_PATH PLUGIN_DIR_RELATIVE "/usr/bin" "${PLUGIN_DIR}")
- ADD_DEFINITIONS(-D'LIB_DIR="${LIB_DIR_RELATIVE}/"' 
-D'PLUGIN_DIR="${PLUGIN_DIR_RELATIVE}/"' ${PULSEAUDIO_DEFINITIONS} 
${PORTAUDIO_DEFINITIONS})
- INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}"
-                     "${CMAKE_BINARY_DIR}/include"
-                     "${CMAKE_SOURCE_DIR}"
diff --git a/fluidsynth2.patch b/fluidsynth2.patch
new file mode 100644
index 0000000..7106a01
--- /dev/null
+++ b/fluidsynth2.patch
@@ -0,0 +1,315 @@
+From 1f7cd3ed5af6640c0e38a2dc2d9be5a9ae036dc8 Mon Sep 17 00:00:00 2001
+From: Hyunjin Song <[email protected]>
+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 <[email protected]>
++ *
++ * 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;
diff --git a/logical-not-parentheses.patch b/logical-not-parentheses.patch
deleted file mode 100644
index 9fdf509..0000000
--- a/logical-not-parentheses.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -dur lmms-1.1.3.orig/src/core/AutomatableModel.cpp 
lmms-1.1.3.fixed/src/core/AutomatableModel.cpp
---- lmms-1.1.3.orig/src/core/AutomatableModel.cpp      2015-03-08 
03:47:14.000000000 +0100
-+++ lmms-1.1.3.fixed/src/core/AutomatableModel.cpp     2015-12-12 
18:27:26.937607923 +0100
-@@ -312,7 +312,7 @@
-                                                                       it != 
m_linkedModels.end(); ++it )
-               {
-                       if( (*it)->m_setValueDepth < 1 &&
--                              !(*it)->fittedValue( m_value ) !=
-+                              (!(*it)->fittedValue( m_value )) !=
-                                                        (*it)->m_value )
-                       {
-                               (*it)->setAutomatedValue( value );
-Only in lmms-1.1.3.fixed/src/core: AutomatableModel.cpp~
diff --git a/static_inline.patch b/static_inline.patch
deleted file mode 100644
index 931bba2..0000000
--- a/static_inline.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff -dur lmms-1.1.3.orig/plugins/LadspaEffect/swh/hermes_filter_1200.c 
lmms-1.1.3/plugins/LadspaEffect/swh/hermes_filter_1200.c
---- lmms-1.1.3.orig/plugins/LadspaEffect/swh/hermes_filter_1200.c      
2015-03-08 03:47:14.000000000 +0100
-+++ lmms-1.1.3/plugins/LadspaEffect/swh/hermes_filter_1200.c   2015-12-12 
18:42:29.272811379 +0100
-@@ -117,7 +117,7 @@
- 
- /* Run one sample through the SV filter. Filter is by andy@vellocet */
- 
--inline float run_svf(sv_filter *sv, float in) {
-+static inline float run_svf(sv_filter *sv, float in) {
-         float out;
-         int i;
- 
-@@ -144,7 +144,7 @@
-         return out;
- }
- 
--inline int wave_tbl(const float wave) {
-+static inline int wave_tbl(const float wave) {
-         switch (f_round(wave)) {
-                 case 0:
-                 return BLO_SINE;
-diff -dur lmms-1.1.3.orig/plugins/LadspaEffect/swh/imp_1199.c 
lmms-1.1.3/plugins/LadspaEffect/swh/imp_1199.c
---- lmms-1.1.3.orig/plugins/LadspaEffect/swh/imp_1199.c        2015-03-08 
03:47:14.000000000 +0100
-+++ lmms-1.1.3/plugins/LadspaEffect/swh/imp_1199.c     2015-12-12 
18:42:29.272811379 +0100
-@@ -77,7 +77,7 @@
- #ifdef __clang__
- void impulse2freq(int id, float *imp, unsigned int length, fftw_real *out)
- #else
--inline void impulse2freq(int id, float *imp, unsigned int length, fftw_real 
*out)
-+void impulse2freq(int id, float *imp, unsigned int length, fftw_real *out)
- #endif
- {
-   fftw_real impulse_time[MAX_FFT_LENGTH];
-diff -dur lmms-1.1.3.orig/plugins/LadspaEffect/swh/retro_flange_1208.c 
lmms-1.1.3/plugins/LadspaEffect/swh/retro_flange_1208.c
---- lmms-1.1.3.orig/plugins/LadspaEffect/swh/retro_flange_1208.c       
2015-03-08 03:47:14.000000000 +0100
-+++ lmms-1.1.3/plugins/LadspaEffect/swh/retro_flange_1208.c    2015-12-12 
18:42:29.276144738 +0100
-@@ -31,7 +31,7 @@
- 
- #define BASE_BUFFER 0.001 // Base buffer length (s)
- 
--inline LADSPA_Data sat(LADSPA_Data x, float q,  float dist) {
-+static inline LADSPA_Data sat(LADSPA_Data x, float q,  float dist) {
-         if (x == q) {
-                 return 1.0f / dist + q / (1.0f - f_exp(dist * q));
-         }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/lmms.git/commitdiff/a5b88596852e8161919ae30cfd972ceb308f540c

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to