From 523e5d048b5c28bf15f2a11412cbb8ca986f7af1 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Thu, 15 Jan 2015 15:32:55 -0500 Subject: [PATCH 01/12] Bump version for stable-1.1 patch release --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1933f6a1e..749d7cb35 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,7 @@ INCLUDE(FindPkgConfig) SET(VERSION_MAJOR "1") SET(VERSION_MINOR "1") -SET(VERSION_PATCH "0") +SET(VERSION_PATCH "1") #SET(VERSION_SUFFIX "") SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") IF(VERSION_SUFFIX) From d8e552de80f4a7d2834843b808369315cb5b4b40 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Thu, 15 Jan 2015 22:15:04 +0100 Subject: [PATCH 02/12] Fix calcSlope1 was not declared errors --- plugins/monstro/Monstro.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/monstro/Monstro.cpp b/plugins/monstro/Monstro.cpp index dc5161959..d93af4407 100644 --- a/plugins/monstro/Monstro.cpp +++ b/plugins/monstro/Monstro.cpp @@ -784,7 +784,7 @@ inline void MonstroSynth::updateModulators( float * env1, float * env2, float * } else if( m_env_phase[i] < 2.0f ) // attack phase { - env[i][f] = calcSlope1( fraction( m_env_phase[i] ) ); + env[i][f] = calcSlope( i, fraction( m_env_phase[i] ) ); m_env_phase[i] = qMin( 2.0f, m_env_phase[i] + m_env_att[i] ); } else if( m_env_phase[i] < 3.0f ) // hold phase @@ -794,7 +794,7 @@ inline void MonstroSynth::updateModulators( float * env1, float * env2, float * } else if( m_env_phase[i] < 4.0f ) // decay phase { - const sample_t s = calcSlope1( 1.0f - fraction( m_env_phase[i] ) ); + const sample_t s = calcSlope( i, 1.0f - fraction( m_env_phase[i] ) ); if( s <= m_env_sus[i] ) { env[i][f] = m_env_sus[i]; @@ -808,7 +808,7 @@ inline void MonstroSynth::updateModulators( float * env1, float * env2, float * } else if( m_env_phase[i] < 5.0f ) // release phase { - env[i][f] = calcSlope1( 1.0f - fraction( m_env_phase[i] ) ); + env[i][f] = calcSlope( i, 1.0f - fraction( m_env_phase[i] ) ); m_env_phase[i] += m_env_rel[i]; } else env[i][f] = 0.0f; From 1ba3088554edf3e2e830ef84992e64a7e85e55ea Mon Sep 17 00:00:00 2001 From: Dave French Date: Mon, 19 Jan 2015 14:04:57 +0000 Subject: [PATCH 03/12] Proposed fix for 1649 for stable-1.1 --- plugins/stk/mallets/mallets.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/plugins/stk/mallets/mallets.cpp b/plugins/stk/mallets/mallets.cpp index c22ea0f23..c82003200 100644 --- a/plugins/stk/mallets/mallets.cpp +++ b/plugins/stk/mallets/mallets.cpp @@ -81,15 +81,6 @@ malletsInstrument::malletsInstrument( InstrumentTrack * _instrument_track ): !QFileInfo( configManager::inst()->stkDir() + QDir::separator() + "sinewave.raw" ).exists() ) { - // try to inform user about missing Stk-installation - if( m_filesMissing && engine::hasGUI() ) - { - QMessageBox::information( 0, tr( "Missing files" ), - tr( "Your Stk-installation seems to be " - "incomplete. Please make sure " - "the full Stk-package is installed!" ), - QMessageBox::Ok ); - } // ModalBar m_presetsModel.addItem( tr( "Marimba" ) ); @@ -334,6 +325,16 @@ malletsInstrumentView::malletsInstrumentView( malletsInstrument * _instrument, m_spreadKnob->setLabel( tr( "Spread" ) ); m_spreadKnob->move( 190, 140 ); m_spreadKnob->setHintText( tr( "Spread:" ) + " ", "" ); + + // try to inform user about missing Stk-installation + if( _instrument->m_filesMissing && engine::hasGUI() ) + { + QMessageBox::information( 0, tr( "Missing files" ), + tr( "Your Stk-installation seems to be " + "incomplete. Please make sure " + "the full Stk-package is installed!" ), + QMessageBox::Ok ); + } } From ffe7e8b8fae63e25f23a538d6ad7ccff0b30f387 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Thu, 22 Jan 2015 22:24:23 +0100 Subject: [PATCH 04/12] Travis: updated name of PPA with MinGW-X packages for Precise --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4dd7576f8..cfd45e665 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ env: - TARGET_OS=win32 - TARGET_OS=win64 before_install: - - if [ $TARGET_OS != linux ]; then sudo add-apt-repository ppa:tobydox/mingw -y; fi + - if [ $TARGET_OS != linux ]; then sudo add-apt-repository ppa:tobydox/mingw-x-precise -y; fi - sudo apt-get update -qq install: - if [ $TARGET_OS != linux ]; then sudo apt-get install -y nsis cloog-isl libmpc2 mingw32; fi From d64e93b41a502814968d540c232230fc0be87b9b Mon Sep 17 00:00:00 2001 From: Fastigium Date: Sat, 7 Feb 2015 15:21:01 +0100 Subject: [PATCH 05/12] RT-safe fix for race condition causing #1662 --- src/core/FxMixer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/FxMixer.cpp b/src/core/FxMixer.cpp index 7f78afc9f..b99acc356 100644 --- a/src/core/FxMixer.cpp +++ b/src/core/FxMixer.cpp @@ -98,8 +98,8 @@ inline void FxChannel::processed() void FxChannel::incrementDeps() { - m_dependenciesMet.ref(); - if( m_dependenciesMet >= m_receives.size() && ! m_queued ) + int i = m_dependenciesMet.fetchAndAddOrdered( 1 ) + 1; + if( i >= m_receives.size() && ! m_queued ) { m_queued = true; MixerWorkerThread::addJob( this ); From 9e3f344c704449e82e475efb1f9f55e970ef8a90 Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Tue, 10 Feb 2015 10:19:05 -0500 Subject: [PATCH 06/12] Bump version for stable-1.1 patch release --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 749d7cb35..95dcbe859 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,7 @@ INCLUDE(FindPkgConfig) SET(VERSION_MAJOR "1") SET(VERSION_MINOR "1") -SET(VERSION_PATCH "1") +SET(VERSION_PATCH "2") #SET(VERSION_SUFFIX "") SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") IF(VERSION_SUFFIX) From 9312c920139070c6d666f2706ba2468dca24eb2e Mon Sep 17 00:00:00 2001 From: Dave French Date: Sat, 31 Jan 2015 12:43:14 +0000 Subject: [PATCH 07/12] Save and load the mute flag for automation patterns --- src/core/AutomationPattern.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/AutomationPattern.cpp b/src/core/AutomationPattern.cpp index 67894080f..5de57b439 100644 --- a/src/core/AutomationPattern.cpp +++ b/src/core/AutomationPattern.cpp @@ -391,6 +391,7 @@ void AutomationPattern::saveSettings( QDomDocument & _doc, QDomElement & _this ) _this.setAttribute( "name", name() ); _this.setAttribute( "prog", QString::number( progressionType() ) ); _this.setAttribute( "tens", QString::number( getTension() ) ); + _this.setAttribute( "mute", QString::number( isMuted() ) ); for( timeMap::const_iterator it = m_timeMap.begin(); it != m_timeMap.end(); ++it ) @@ -425,6 +426,7 @@ void AutomationPattern::loadSettings( const QDomElement & _this ) setProgressionType( static_cast( _this.attribute( "prog" ).toInt() ) ); setTension( _this.attribute( "tens" ) ); + setMuted(_this.attribute( "mute", QString::number( false ) ).toInt() ); for( QDomNode node = _this.firstChild(); !node.isNull(); node = node.nextSibling() ) From 3cc2091620a6c7119d7bc815743f5d1e44c0a448 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 15 Feb 2015 20:02:46 +0100 Subject: [PATCH 08/12] Fixed path to FLTK DLL mingw-x-fltk >= 1.3.3 has the FLTK DLL inside the bin directory like all the other library packages as well. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 95dcbe859..640315737 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -484,7 +484,7 @@ IF(LMMS_BUILD_WIN32) "${MINGW_PREFIX}/bin/libvorbisfile-3.dll" "${MINGW_PREFIX}/bin/libjpeg-9.dll" "${MINGW_PREFIX}/bin/libogg-0.dll" - "${MINGW_PREFIX}/lib/libfltk.dll" + "${MINGW_PREFIX}/bin/libfltk.dll" "${MINGW_PREFIX}/bin/libfluidsynth.dll" "${MINGW_PREFIX}/bin/libfftw3f-3.dll" "${MINGW_PREFIX}/bin/libFLAC-8.dll" From d14f4511b2235906ad66c375ed9d4ad34db0283c Mon Sep 17 00:00:00 2001 From: Tres Finocchiaro Date: Sat, 7 Mar 2015 21:47:14 -0500 Subject: [PATCH 09/12] Remove compiler optimizations for mingw, bump version Fixes #1757 --- CMakeLists.txt | 2 +- plugins/vst_base/CMakeLists.txt | 2 +- plugins/vst_base/Win64/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 640315737..63af96cd9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -15,7 +15,7 @@ INCLUDE(FindPkgConfig) SET(VERSION_MAJOR "1") SET(VERSION_MINOR "1") -SET(VERSION_PATCH "2") +SET(VERSION_PATCH "3") #SET(VERSION_SUFFIX "") SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") IF(VERSION_SUFFIX) diff --git a/plugins/vst_base/CMakeLists.txt b/plugins/vst_base/CMakeLists.txt index 9706667ae..373604c53 100644 --- a/plugins/vst_base/CMakeLists.txt +++ b/plugins/vst_base/CMakeLists.txt @@ -6,7 +6,7 @@ IF(LMMS_BUILD_WIN32) ADD_DEFINITIONS(-DPTW32_STATIC_LIB) ADD_EXECUTABLE(RemoteVstPlugin "${CMAKE_CURRENT_SOURCE_DIR}/RemoteVstPlugin.cpp") TARGET_LINK_LIBRARIES(RemoteVstPlugin -lQtCore4 -lpthread -lgdi32 -lws2_32) - SET_TARGET_PROPERTIES(RemoteVstPlugin PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -O3") + SET_TARGET_PROPERTIES(RemoteVstPlugin PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -O0") ADD_CUSTOM_COMMAND(TARGET RemoteVstPlugin POST_BUILD COMMAND "${STRIP}" "${CMAKE_CURRENT_BINARY_DIR}/RemoteVstPlugin.exe") INSTALL(TARGETS RemoteVstPlugin RUNTIME DESTINATION "${PLUGIN_DIR}") diff --git a/plugins/vst_base/Win64/CMakeLists.txt b/plugins/vst_base/Win64/CMakeLists.txt index b16d50292..814c86667 100644 --- a/plugins/vst_base/Win64/CMakeLists.txt +++ b/plugins/vst_base/Win64/CMakeLists.txt @@ -5,7 +5,7 @@ ADD_EXECUTABLE(RemoteVstPlugin32 "${CMAKE_CURRENT_SOURCE_DIR}/../RemoteVstPlugin TARGET_LINK_LIBRARIES(RemoteVstPlugin32 -lQtCore4 -lpthread -lgdi32 -lws2_32) ADD_CUSTOM_COMMAND(TARGET RemoteVstPlugin32 POST_BUILD COMMAND "${STRIP}" "\"${CMAKE_CURRENT_BINARY_DIR}/RemoteVstPlugin32.exe\"") -SET_TARGET_PROPERTIES(RemoteVstPlugin32 PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -O3") +SET_TARGET_PROPERTIES(RemoteVstPlugin32 PROPERTIES COMPILE_FLAGS "${COMPILE_FLAGS} -O0") INSTALL(TARGETS RemoteVstPlugin32 RUNTIME DESTINATION "${PLUGIN_DIR}/32") INSTALL(FILES "${MINGW_PREFIX32}/bin/QtCore4.dll" "${MINGW_PREFIX32}/bin/zlib1.dll" "${MINGW_PREFIX32}/${CMAKE_SYSTEM_PROCESSOR32}-w64-mingw32/bin/libwinpthread-1.dll" From 898781484dad574c10c9355b7098462020e36f29 Mon Sep 17 00:00:00 2001 From: "Raine M. Ekman" Date: Thu, 19 Mar 2015 21:03:40 +0200 Subject: [PATCH 10/12] SFXR: Avoid NaNs by making envelope length minimum 1 sample (this time in the stable-1.1 branch) --- plugins/sfxr/sfxr.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/sfxr/sfxr.cpp b/plugins/sfxr/sfxr.cpp index 7c2f35bdb..4ac7a9e88 100644 --- a/plugins/sfxr/sfxr.cpp +++ b/plugins/sfxr/sfxr.cpp @@ -133,10 +133,18 @@ void SfxrSynth::resetSample( bool restart ) env_vol=0.0f; env_stage=0; env_time=0; + env_length[0]=(int)(s->m_attModel.value()*s->m_attModel.value()*100000.0f); env_length[1]=(int)(s->m_holdModel.value()*s->m_holdModel.value()*100000.0f); env_length[2]=(int)(s->m_decModel.value()*s->m_decModel.value()*100000.0f); + // These will be used as divisors later, let's avoid division by 0 + for(int i = 0; i < 3; ++i) + { + env_length[i] = (env_length[i] == 0) ? 1 : env_length[i]; + } + + fphase=pow(s->m_phaserOffsetModel.value(), 2.0f)*1020.0f; if(s->m_phaserOffsetModel.value()<0.0f) fphase=-fphase; fdphase=pow(s->m_phaserSweepModel.value(), 2.0f)*1.0f; From 0462be7afc6e0028ff94b753706d1a0c568c72cc Mon Sep 17 00:00:00 2001 From: "Raine M. Ekman" Date: Sat, 21 Mar 2015 12:05:06 +0200 Subject: [PATCH 11/12] SFXR: Removed conditional, moved ensuring env_length!=0 to initial calculation --- plugins/sfxr/sfxr.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/plugins/sfxr/sfxr.cpp b/plugins/sfxr/sfxr.cpp index 4ac7a9e88..1d15c1c88 100644 --- a/plugins/sfxr/sfxr.cpp +++ b/plugins/sfxr/sfxr.cpp @@ -134,16 +134,9 @@ void SfxrSynth::resetSample( bool restart ) env_stage=0; env_time=0; - env_length[0]=(int)(s->m_attModel.value()*s->m_attModel.value()*100000.0f); - env_length[1]=(int)(s->m_holdModel.value()*s->m_holdModel.value()*100000.0f); - env_length[2]=(int)(s->m_decModel.value()*s->m_decModel.value()*100000.0f); - - // These will be used as divisors later, let's avoid division by 0 - for(int i = 0; i < 3; ++i) - { - env_length[i] = (env_length[i] == 0) ? 1 : env_length[i]; - } - + env_length[0]=(int)(s->m_attModel.value()*s->m_attModel.value()*99999.0f)+1; + env_length[1]=(int)(s->m_holdModel.value()*s->m_holdModel.value()*99999.0f)+1; + env_length[2]=(int)(s->m_decModel.value()*s->m_decModel.value()*99999.0f)+1; fphase=pow(s->m_phaserOffsetModel.value(), 2.0f)*1020.0f; if(s->m_phaserOffsetModel.value()<0.0f) fphase=-fphase; From 66086820cecd6a032e2e35d34923a8fb5aa82872 Mon Sep 17 00:00:00 2001 From: falkTX Date: Fri, 17 Apr 2015 20:59:46 +0200 Subject: [PATCH 12/12] Implement NATIVE_HOST_OPCODE_HOST_IDLE in carla plugin --- plugins/carlabase/carla.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/carlabase/carla.cpp b/plugins/carlabase/carla.cpp index db14178a2..f7ec0bb3f 100644 --- a/plugins/carlabase/carla.cpp +++ b/plugins/carlabase/carla.cpp @@ -263,6 +263,9 @@ intptr_t CarlaInstrument::handleDispatcher(const NativeHostDispatcherOpcode opco case NATIVE_HOST_OPCODE_UI_UNAVAILABLE: handleUiClosed(); break; + case NATIVE_HOST_OPCODE_HOST_IDLE: + qApp->processEvents(); + break; } return ret;