diff --git a/ChangeLog b/ChangeLog index c1c892d22..fedfa94be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2008-07-16 Tobias Doerffel + * src/gui/main_window.cpp: + added minimal width and height when restoring subwindow-states + + * include/bb_track_container.h: + * src/core/bb_track_container.cpp: + * src/core/song.cpp: + added quirk for fixing projects with broken positions of TCOs inside + BB-tracks + + * src/core/automation_pattern.cpp: + update views after resolving IDs for drawing bars with proper range + * src/tracks/automation_track.cpp: fixed behaviour of automation-tracks in BB-editor (closes #2014486) diff --git a/include/bb_track_container.h b/include/bb_track_container.h index 8f61c024a..51bb87188 100644 --- a/include/bb_track_container.h +++ b/include/bb_track_container.h @@ -60,6 +60,7 @@ public: void swapBB( int _bb1, int _bb2 ); void updateBBTrack( trackContentObject * _tco ); + void fixIncorrectPositions( void ); public slots: diff --git a/src/core/bb_track_container.cpp b/src/core/bb_track_container.cpp index 9e2d15628..92e39470a 100644 --- a/src/core/bb_track_container.cpp +++ b/src/core/bb_track_container.cpp @@ -163,6 +163,21 @@ void bbTrackContainer::updateBBTrack( trackContentObject * _tco ) +void bbTrackContainer::fixIncorrectPositions( void ) +{ + trackList tl = tracks(); + for( trackList::iterator it = tl.begin(); it != tl.end(); ++it ) + { + for( int i = 0; i < numOfBBs(); ++i ) + { + ( *it )->getTCO( i )->movePosition( midiTime( i, 0 ) ); + } + } +} + + + + void bbTrackContainer::play( void ) { if( engine::getSong()->isPlaying() ) diff --git a/src/core/song.cpp b/src/core/song.cpp index d37f93951..3dc1832f4 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -925,6 +925,10 @@ void song::loadProject( const QString & _file_name ) node = node.nextSibling(); } + // quirk for fixing projects with broken positions of TCOs inside + // BB-tracks + engine::getBBTrackContainer()->fixIncorrectPositions(); + // Connect controller links to their controllers // now that everything is loaded controllerConnection::finalizeConnections();