From e07f9a3b648d8ce168f247217509677ecd38811d Mon Sep 17 00:00:00 2001 From: Hyunjin Song Date: Wed, 1 Aug 2018 14:35:16 +0900 Subject: [PATCH] Don't use dummy controllers for connections if not loading projects (#4493) Remove the need of ControllerConnection::finalizeConnections when not loading projects. Fix ZynAddSubFX knob disconnection when exporting. --- plugins/LadspaEffect/LadspaEffect.cpp | 3 --- plugins/zynaddsubfx/ZynAddSubFx.cpp | 2 -- src/core/ControllerConnection.cpp | 18 ++++++++++++------ 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/plugins/LadspaEffect/LadspaEffect.cpp b/plugins/LadspaEffect/LadspaEffect.cpp index 72b195314..a274bef6d 100644 --- a/plugins/LadspaEffect/LadspaEffect.cpp +++ b/plugins/LadspaEffect/LadspaEffect.cpp @@ -121,9 +121,6 @@ void LadspaEffect::changeSampleRate() // the IDs of re-created controls have been saved and now need to be // resolved again AutomationPattern::resolveAllIDs(); - - // make sure, connections are ok - ControllerConnection::finalizeConnections(); } diff --git a/plugins/zynaddsubfx/ZynAddSubFx.cpp b/plugins/zynaddsubfx/ZynAddSubFx.cpp index 8c1da751f..adc337542 100644 --- a/plugins/zynaddsubfx/ZynAddSubFx.cpp +++ b/plugins/zynaddsubfx/ZynAddSubFx.cpp @@ -645,8 +645,6 @@ void ZynAddSubFxView::toggleUI() connect( model->m_remotePlugin, SIGNAL( clickedCloseButton() ), m_toggleUIButton, SLOT( toggle() ) ); } - - ControllerConnection::finalizeConnections(); } } diff --git a/src/core/ControllerConnection.cpp b/src/core/ControllerConnection.cpp index 4f04cbc20..af398d389 100644 --- a/src/core/ControllerConnection.cpp +++ b/src/core/ControllerConnection.cpp @@ -204,16 +204,22 @@ void ControllerConnection::loadSettings( const QDomElement & _this ) } else { - if( _this.attribute( "id", "-1" ).toInt() >= 0 ) - { - m_controllerId = _this.attribute( "id" ).toInt(); - } - else + m_controllerId = _this.attribute( "id", "-1" ).toInt(); + if( m_controllerId < 0 ) { qWarning( "controller index invalid\n" ); m_controllerId = -1; } - m_controller = Controller::create( Controller::DummyController, NULL ); + + if (!Engine::getSong()->isLoadingProject() && m_controllerId != -1) + { + setController( Engine::getSong()-> + controllers().at( m_controllerId ) ); + } + else + { + m_controller = Controller::create( Controller::DummyController, NULL ); + } } }