From fac300738618cd4fd4470d94902f078cbd790bde Mon Sep 17 00:00:00 2001 From: Javier Serrano Polo Date: Mon, 7 Aug 2006 20:30:47 +0000 Subject: [PATCH] - set modified flag if there's a manual BPM change - set tempo if BPM value has changed - allow further processing on muted tracks git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@287 0778d3d1-df1d-0410-868b-ea421aaaa00d --- src/core/song_editor.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/core/song_editor.cpp b/src/core/song_editor.cpp index dead29865..e76a016ef 100644 --- a/src/core/song_editor.cpp +++ b/src/core/song_editor.cpp @@ -165,6 +165,8 @@ songEditor::songEditor( engine * _engine ) : m_bpmSpinBox->setLabel( tr( "TEMPO/BPM" ) ); connect( m_bpmSpinBox, SIGNAL( valueChanged( int ) ), this, SLOT( setTempo( int ) ) ); + connect( m_bpmSpinBox, SIGNAL( manualChange() ), this, + SLOT( setModified() ) ); toolTip::add( m_bpmSpinBox, tr( "tempo of song" ) ); #ifdef QT4 @@ -755,9 +757,7 @@ void songEditor::zoomingChanged( const QString & _zfac ) void songEditor::setTempo( int _new_bpm ) { - m_bpmSpinBox->setInitValue( - tLimit( _new_bpm, MIN_BPM, MAX_BPM ) ); - setModified(); + m_bpmSpinBox->setInitValue( _new_bpm ); eng()->updateFramesPerTact64th(); emit tempoChanged( _new_bpm ); } @@ -1063,16 +1063,13 @@ void songEditor::processNextBuffer( void ) total_frames_played, tco_num ); } - // loop through all tracks and play them if they're not muted + // loop through all tracks and play them for( trackVector::iterator it = tv.begin(); it != tv.end(); ++it ) { - if( ( *it )->muted() == FALSE ) - { - ( *it )->play( m_playPos[m_playMode], + ( *it )->play( m_playPos[m_playMode], (f_cnt_t)current_frame, played_frames, total_frames_played, tco_num ); - } } // update frame-counters @@ -1470,7 +1467,7 @@ void songEditor::createNewProject( void ) track::create( track::BB_TRACK, this ); m_loadingProject = TRUE; - setTempo( DEFAULT_BPM ); + m_bpmSpinBox->setInitValue( DEFAULT_BPM ); m_masterVolumeSlider->setInitValue( 100 ); m_masterPitchSlider->setInitValue( 0 ); m_loadingProject = FALSE; @@ -1530,8 +1527,8 @@ void FASTCALL songEditor::loadProject( const QString & _file_name ) if( node.nodeName() == "bpm" && node.toElement().attribute( "value" ).toInt() > 0 ) { - setTempo( node.toElement().attribute( "value" - ).toInt() ); + m_bpmSpinBox->setInitValue( node.toElement() + .attribute( "value" ).toInt() ); } else if( node.nodeName() == "mastervol" ) {