From e924888eb63f406c18f46b8d62e6b6969c4e5349 Mon Sep 17 00:00:00 2001 From: Tobias Doerffel Date: Sun, 30 Mar 2014 12:23:10 +0200 Subject: [PATCH] BbTrack: replaced static numOfBBTrack() by proper index() method --- include/bb_track.h | 8 +++++++- src/core/song.cpp | 3 +-- src/tracks/bb_track.cpp | 29 ++++++++++------------------- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/include/bb_track.h b/include/bb_track.h index d951ea963..f9001f61e 100644 --- a/include/bb_track.h +++ b/include/bb_track.h @@ -58,6 +58,8 @@ public: return qRgb( 128, 182, 175 ); } + int bbTrackIndex(); + virtual trackContentObjectView * createView( trackView * _tv ); private: @@ -122,9 +124,13 @@ public: virtual void loadTrackSpecificSettings( const QDomElement & _this ); static bbTrack * findBBTrack( int _bb_num ); - static int numOfBBTrack( track * _track ); static void swapBBTracks( track * _track1, track * _track2 ); + int index() + { + return s_infoMap[this]; + } + bool automationDisabled( track * _track ) { return( m_disabledTracks.contains( _track ) ); diff --git a/src/core/song.cpp b/src/core/song.cpp index 2d60cbec1..6300c3217 100644 --- a/src/core/song.cpp +++ b/src/core/song.cpp @@ -666,8 +666,7 @@ void song::addBBTrack() { engine::mixer()->lock(); track * t = track::create( track::BBTrack, this ); - engine::getBBTrackContainer()->setCurrentBB( - bbTrack::numOfBBTrack( t ) ); + engine::getBBTrackContainer()->setCurrentBB( dynamic_cast( t )->index() ); engine::mixer()->unlock(); } diff --git a/src/tracks/bb_track.cpp b/src/tracks/bb_track.cpp index ff2b9b76f..cc156599e 100644 --- a/src/tracks/bb_track.cpp +++ b/src/tracks/bb_track.cpp @@ -50,8 +50,7 @@ bbTCO::bbTCO( track * _track, unsigned int _color ) : trackContentObject( _track ), m_color( _color > 0 ? _color : defaultColor() ) { - tact_t t = engine::getBBTrackContainer()->lengthOfBB( - bbTrack::numOfBBTrack( getTrack() ) ); + tact_t t = engine::getBBTrackContainer()->lengthOfBB( bbTrackIndex() ); if( t > 0 ) { saveJournallingState( false ); @@ -110,6 +109,12 @@ void bbTCO::loadSettings( const QDomElement & _this ) +int bbTCO::bbTrackIndex() +{ + return dynamic_cast( getTrack() )->index(); +} + + trackContentObjectView * bbTCO::createView( trackView * _tv ) { @@ -190,8 +195,7 @@ void bbTCOView::paintEvent( QPaintEvent * ) lingrad.setColorAt( 1, col.light( 70 ) ); p.fillRect( rect(), lingrad ); - tact_t t = engine::getBBTrackContainer()->lengthOfBB( - bbTrack::numOfBBTrack( m_bbTCO->getTrack() ) ); + tact_t t = engine::getBBTrackContainer()->lengthOfBB( m_bbTCO->bbTrackIndex() ); if( m_bbTCO->length() > MidiTime::ticksPerTact() && t > 0 ) { for( int x = static_cast( t * pixelsPerTact() ); @@ -230,7 +234,7 @@ void bbTCOView::paintEvent( QPaintEvent * ) void bbTCOView::openInBBEditor() { - engine::getBBTrackContainer()->setCurrentBB( bbTrack::numOfBBTrack( m_bbTCO->getTrack() ) ); + engine::getBBTrackContainer()->setCurrentBB( m_bbTCO->bbTrackIndex() ); engine::mainWindow()->toggleBBEditorWin( true ); } @@ -504,18 +508,6 @@ bbTrack * bbTrack::findBBTrack( int _bb_num ) -int bbTrack::numOfBBTrack( track * _track ) -{ - if( dynamic_cast( _track ) != NULL ) - { - return s_infoMap[dynamic_cast( _track )]; - } - return 0; -} - - - - void bbTrack::swapBBTracks( track * _track1, track * _track2 ) { bbTrack * t1 = dynamic_cast( _track1 ); @@ -577,8 +569,7 @@ bool bbTrackView::close() void bbTrackView::clickedTrackLabel() { - engine::getBBTrackContainer()->setCurrentBB( - bbTrack::numOfBBTrack( m_bbTrack ) ); + engine::getBBTrackContainer()->setCurrentBB( m_bbTrack->index() ); engine::getBBEditor()->show(); /* foreach( bbTrackView * tv, trackContainerView()->findChildren() )