Merge pull request #2917 from jasp00/pattern

Resize only patterns from BB editor
This commit is contained in:
Javier Serrano Polo
2016-07-15 23:51:03 +00:00
committed by GitHub
2 changed files with 30 additions and 18 deletions

View File

@@ -135,6 +135,8 @@ protected slots:
private:
void resizeToFirstTrack();
InstrumentTrack * m_instrumentTrack;
PatternTypes m_patternType;

View File

@@ -65,26 +65,11 @@ Pattern::Pattern( InstrumentTrack * _instrument_track ) :
m_steps( MidiTime::stepsPerTact() )
{
setName( _instrument_track->name() );
// Resize this track to be the same as existing tracks in the BB
const TrackContainer::TrackList & tracks =
m_instrumentTrack->trackContainer()->tracks();
for(unsigned int trackID = 0; trackID < tracks.size(); ++trackID)
if( _instrument_track->trackContainer()
== Engine::getBBTrackContainer() )
{
if(tracks.at(trackID)->type() == Track::InstrumentTrack)
{
if(tracks.at(trackID) != m_instrumentTrack)
{
unsigned int currentTCO = m_instrumentTrack->
getTCOs().indexOf(this);
m_steps = static_cast<Pattern *>
(tracks.at(trackID)->getTCO(currentTCO))
->m_steps;
}
break;
}
resizeToFirstTrack();
}
init();
setAutoResize( true );
}
@@ -135,6 +120,31 @@ Pattern::~Pattern()
void Pattern::resizeToFirstTrack()
{
// Resize this track to be the same as existing tracks in the BB
const TrackContainer::TrackList & tracks =
m_instrumentTrack->trackContainer()->tracks();
for(unsigned int trackID = 0; trackID < tracks.size(); ++trackID)
{
if(tracks.at(trackID)->type() == Track::InstrumentTrack)
{
if(tracks.at(trackID) != m_instrumentTrack)
{
unsigned int currentTCO = m_instrumentTrack->
getTCOs().indexOf(this);
m_steps = static_cast<Pattern *>
(tracks.at(trackID)->getTCO(currentTCO))
->m_steps;
}
break;
}
}
}
void Pattern::init()
{
connect( Engine::getSong(), SIGNAL( timeSignatureChanged( int, int ) ),