From 485d14ff08be5ae9b64ae5cdd79eeeb3fdade801 Mon Sep 17 00:00:00 2001 From: Javier Serrano Polo Date: Sat, 22 Jul 2006 03:24:09 +0000 Subject: [PATCH] - trigger automation only when time has changed - remove references from patterns when closing the application git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@250 0778d3d1-df1d-0410-868b-ea421aaaa00d --- src/core/track.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/core/track.cpp b/src/core/track.cpp index d5411eb0f..967a41933 100644 --- a/src/core/track.cpp +++ b/src/core/track.cpp @@ -1500,6 +1500,14 @@ track::~track() delete m_trackWidget; m_trackWidget = NULL; } + + QPtrListIterator it( m_automation_patterns ); + automationPattern * pattern ; + while( ( pattern = it.current() ) ) + { + ++it; + pattern->forgetTrack(); + } } @@ -1757,8 +1765,14 @@ void track::removeAutomationPattern( automationPattern * _pattern ) -void track::sendMidiTime( const midiTime & _time ) +bool track::sendMidiTime( const midiTime & _time ) { + if( m_last_time_sent == _time ) + { + return( FALSE ); + } + m_last_time_sent = _time; + QPtrListIterator it( m_automation_patterns ); automationPattern * pattern ; while( ( pattern = it.current() ) ) @@ -1766,6 +1780,7 @@ void track::sendMidiTime( const midiTime & _time ) ++it; pattern->processMidiTime( _time ); } + return( TRUE ); }