From a4b2aa28c447491daf2787d6d4bc9491cd2f8cbd Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 27 Jul 2008 18:13:25 +0000 Subject: [PATCH] when connecting object to automation-pattern which has no object connected yet, set default-value (closes #2026102) git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@1385 0778d3d1-df1d-0410-868b-ea421aaaa00d --- ChangeLog | 10 ++++++++++ include/automation_pattern.h | 5 +---- src/core/automation_pattern.cpp | 14 ++++++++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index b22d952a7c..faa17f9639 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2008-07-27 Tobias Doerffel + * include/instrument_track.h: + * src/tracks/instrument_track.cpp: + reverted previous change of some models from floatModel to intModel as + it caused crashes in knob-class + + * include/automation_pattern.h: + * src/core/automation_pattern.cpp: + when connecting object to automation-pattern which has no object + connected yet, set default-value (closes #2026102) + * plugins/vst_base/CMakeLists.txt: added missing support for out-of-tree builds diff --git a/include/automation_pattern.h b/include/automation_pattern.h index ffd0dcc0ef..a24b12904a 100644 --- a/include/automation_pattern.h +++ b/include/automation_pattern.h @@ -49,10 +49,7 @@ public: automationPattern( const automationPattern & _pat_to_copy ); virtual ~automationPattern(); - inline void addObject( automatableModel * _obj ) - { - m_objects += _obj; - } + void addObject( automatableModel * _obj ); const automatableModel * firstObject( void ) const; diff --git a/src/core/automation_pattern.cpp b/src/core/automation_pattern.cpp index 888dd0f7f5..9052e983ac 100644 --- a/src/core/automation_pattern.cpp +++ b/src/core/automation_pattern.cpp @@ -92,6 +92,20 @@ automationPattern::~automationPattern() +void automationPattern::addObject( automatableModel * _obj ) +{ + m_objects += _obj; + // been empty before? + if( m_objects.size() == 1 && !hasAutomation() ) + { + // then initialize default-value + putValue( 0, _obj->value(), FALSE ); + } +} + + + + const automatableModel * automationPattern::firstObject( void ) const { if( !m_objects.isEmpty() )