Index: audio/lmms/Makefile =================================================================== --- audio/lmms/Makefile (revision 493352) +++ audio/lmms/Makefile (working copy) @@ -3,8 +3,7 @@ PORTNAME= lmms DISTVERSIONPREFIX= v -DISTVERSION= 1.2.0-rc7 -PORTREVISION= 3 +DISTVERSION= 1.2.0-rc8 PORTEPOCH= 2 CATEGORIES= audio Index: audio/lmms/distinfo =================================================================== --- audio/lmms/distinfo (revision 493352) +++ audio/lmms/distinfo (working copy) @@ -1,6 +1,6 @@ -TIMESTAMP = 1540773254 -SHA256 (LMMS-lmms-v1.2.0-rc7_GH0.tar.gz) = 2efba2eda8ec3030ff6d446fd7bbe2245b38472f60c622b9e41053b1981fd592 -SIZE (LMMS-lmms-v1.2.0-rc7_GH0.tar.gz) = 16120037 +TIMESTAMP = 1550559783 +SHA256 (LMMS-lmms-v1.2.0-rc8_GH0.tar.gz) = 4511687e47f6159cb2a250528bcccaa38b36b78f345466d090514214888943e8 +SIZE (LMMS-lmms-v1.2.0-rc8_GH0.tar.gz) = 16224112 SHA256 (rampantpixels-rpmalloc-1.3.1_GH0.tar.gz) = 9bc0013a0bf8c01540821e84fef0cef067f1d857a01ceceac36f83bd6fedc106 SIZE (rampantpixels-rpmalloc-1.3.1_GH0.tar.gz) = 63517 SHA256 (lukas-w-qt5-x11embed-ec77d4ba40bebc0c53a016adb646b6fa65dd5faf_GH0.tar.gz) = 57213eb6da900412b182322e342366815c2cc2d3213cd948c2a7e405d6e41f06 Index: audio/lmms/files/patch-cmake_modules_BashCompletion.cmake =================================================================== --- audio/lmms/files/patch-cmake_modules_BashCompletion.cmake (nonexistent) +++ audio/lmms/files/patch-cmake_modules_BashCompletion.cmake (working copy) @@ -0,0 +1,13 @@ +BASHCOMP_SCRIPT doesn't really require bash. + +--- cmake/modules/BashCompletion.cmake.orig 2019-02-19 07:43:51 UTC ++++ cmake/modules/BashCompletion.cmake +@@ -71,7 +71,7 @@ ELSE() + SET(BASHCOMP_SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/install_${SCRIPT_NAME}_completion.sh") + + FILE(WRITE ${BASHCOMP_SCRIPT} "\ +-#!${BASH}\n\ ++#!/bin/sh\n\ + set -e\n\ + if [ -w \"${BASHCOMP_PKG_PATH}\" ]; then\n\ + BASHCOMP_PKG_PATH=\"${BASHCOMP_PKG_PATH}\"\n\ Property changes on: audio/lmms/files/patch-cmake_modules_BashCompletion.cmake ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: audio/lmms/files/patch-fluidsynth2 =================================================================== --- audio/lmms/files/patch-fluidsynth2 (revision 493352) +++ audio/lmms/files/patch-fluidsynth2 (nonexistent) @@ -1,304 +0,0 @@ -From 1f7cd3ed5af6640c0e38a2dc2d9be5a9ae036dc8 Mon Sep 17 00:00:00 2001 -From: Hyunjin Song -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.orig 2018-12-08 09:48:11 UTC -+++ 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 -+ * -+ * 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 -+ -+#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 - 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 - -new file mode 100644 ---- plugins/sf2_player/patches_dialog.cpp.orig 2018-09-25 07:47:51 UTC -+++ plugins/sf2_player/patches_dialog.cpp -@@ -143,7 +143,6 @@ void patchesDialog::setup ( fluid_synth_t * pSynth, in - 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, in - 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, in - 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, in - - // 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 -- 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 -- 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()); - } - } - } ---- plugins/sf2_player/patches_dialog.h.orig 2018-09-25 07:47:51 UTC -+++ plugins/sf2_player/patches_dialog.h -@@ -29,7 +29,7 @@ - #include "ui_patches_dialog.h" - #include "LcdSpinBox.h" - --#include -+#include "fluidsynthshims.h" - #include - #include - ---- plugins/sf2_player/sf2_player.cpp.orig 2018-09-25 07:47:51 UTC -+++ plugins/sf2_player/sf2_player.cpp -@@ -127,6 +127,29 @@ sf2Instrument::sf2Instrument( InstrumentTrack * _instr - // 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 -- pSoundFont->iteration_start( pSoundFont ); -- while( pSoundFont->iteration_next( pSoundFont, -- &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 = 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 ); - } - } - } ---- plugins/sf2_player/sf2_player.h.orig 2018-09-25 07:47:51 UTC -+++ 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; Property changes on: audio/lmms/files/patch-fluidsynth2 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: audio/lmms/pkg-plist =================================================================== --- audio/lmms/pkg-plist (revision 493352) +++ audio/lmms/pkg-plist (working copy) @@ -272,6 +272,7 @@ lib/libqx11embedcontainer.a man/man1/lmms.1.gz share/applications/lmms.desktop +share/bash-completion/completions/lmms share/icons/hicolor/128x128/apps/lmms.png share/icons/hicolor/128x128/mimetypes/application-x-lmms-project.png share/icons/hicolor/128x128@2/apps/lmms.png @@ -312,6 +313,7 @@ %%DATADIR%%/locale/fr.qm %%DATADIR%%/locale/gl.qm %%DATADIR%%/locale/hu_HU.qm +%%DATADIR%%/locale/id.qm %%DATADIR%%/locale/it.qm %%DATADIR%%/locale/ja.qm %%DATADIR%%/locale/ko.qm