Rename track class to Track
This commit is contained in:
@@ -201,7 +201,7 @@ MidiTime AutomationPattern::putValue( const MidiTime & _time,
|
||||
|
||||
// we need to maximize our length in case we're part of a hidden
|
||||
// automation track as the user can't resize this pattern
|
||||
if( getTrack() && getTrack()->type() == track::HiddenAutomationTrack )
|
||||
if( getTrack() && getTrack()->type() == Track::HiddenAutomationTrack )
|
||||
{
|
||||
changeLength( length() );
|
||||
}
|
||||
@@ -234,7 +234,7 @@ void AutomationPattern::removeValue( const MidiTime & _time,
|
||||
generateTangents(it, 3);
|
||||
|
||||
if( getTrack() &&
|
||||
getTrack()->type() == track::HiddenAutomationTrack )
|
||||
getTrack()->type() == Track::HiddenAutomationTrack )
|
||||
{
|
||||
changeLength( length() );
|
||||
}
|
||||
@@ -529,11 +529,11 @@ bool AutomationPattern::isAutomated( const AutomatableModel * _m )
|
||||
|
||||
for( TrackContainer::TrackList::ConstIterator it = l.begin(); it != l.end(); ++it )
|
||||
{
|
||||
if( ( *it )->type() == track::AutomationTrack ||
|
||||
( *it )->type() == track::HiddenAutomationTrack )
|
||||
if( ( *it )->type() == Track::AutomationTrack ||
|
||||
( *it )->type() == Track::HiddenAutomationTrack )
|
||||
{
|
||||
const track::tcoVector & v = ( *it )->getTCOs();
|
||||
for( track::tcoVector::ConstIterator j = v.begin(); j != v.end(); ++j )
|
||||
const Track::tcoVector & v = ( *it )->getTCOs();
|
||||
for( Track::tcoVector::ConstIterator j = v.begin(); j != v.end(); ++j )
|
||||
{
|
||||
const AutomationPattern * a = dynamic_cast<const AutomationPattern *>( *j );
|
||||
if( a && a->hasAutomation() )
|
||||
@@ -568,13 +568,13 @@ QVector<AutomationPattern *> AutomationPattern::patternsForModel( const Automata
|
||||
for( TrackContainer::TrackList::ConstIterator it = l.begin(); it != l.end(); ++it )
|
||||
{
|
||||
// we want only automation tracks...
|
||||
if( ( *it )->type() == track::AutomationTrack ||
|
||||
( *it )->type() == track::HiddenAutomationTrack )
|
||||
if( ( *it )->type() == Track::AutomationTrack ||
|
||||
( *it )->type() == Track::HiddenAutomationTrack )
|
||||
{
|
||||
// get patterns in those tracks....
|
||||
const track::tcoVector & v = ( *it )->getTCOs();
|
||||
const Track::tcoVector & v = ( *it )->getTCOs();
|
||||
// go through all the patterns...
|
||||
for( track::tcoVector::ConstIterator j = v.begin(); j != v.end(); ++j )
|
||||
for( Track::tcoVector::ConstIterator j = v.begin(); j != v.end(); ++j )
|
||||
{
|
||||
AutomationPattern * a = dynamic_cast<AutomationPattern *>( *j );
|
||||
// check that the pattern has automation
|
||||
@@ -605,8 +605,8 @@ AutomationPattern * AutomationPattern::globalAutomationPattern(
|
||||
AutomatableModel * _m )
|
||||
{
|
||||
AutomationTrack * t = engine::getSong()->globalAutomationTrack();
|
||||
track::tcoVector v = t->getTCOs();
|
||||
for( track::tcoVector::const_iterator j = v.begin(); j != v.end(); ++j )
|
||||
Track::tcoVector v = t->getTCOs();
|
||||
for( Track::tcoVector::const_iterator j = v.begin(); j != v.end(); ++j )
|
||||
{
|
||||
AutomationPattern * a = dynamic_cast<AutomationPattern *>( *j );
|
||||
if( a )
|
||||
@@ -638,11 +638,11 @@ void AutomationPattern::resolveAllIDs()
|
||||
for( TrackContainer::TrackList::iterator it = l.begin();
|
||||
it != l.end(); ++it )
|
||||
{
|
||||
if( ( *it )->type() == track::AutomationTrack ||
|
||||
( *it )->type() == track::HiddenAutomationTrack )
|
||||
if( ( *it )->type() == Track::AutomationTrack ||
|
||||
( *it )->type() == Track::HiddenAutomationTrack )
|
||||
{
|
||||
track::tcoVector v = ( *it )->getTCOs();
|
||||
for( track::tcoVector::iterator j = v.begin();
|
||||
Track::tcoVector v = ( *it )->getTCOs();
|
||||
for( Track::tcoVector::iterator j = v.begin();
|
||||
j != v.end(); ++j )
|
||||
{
|
||||
AutomationPattern * a = dynamic_cast<AutomationPattern *>( *j );
|
||||
|
||||
@@ -292,9 +292,9 @@ void FxMixer::deleteChannel( int index )
|
||||
tracks += engine::getSong()->tracks();
|
||||
tracks += engine::getBBTrackContainer()->tracks();
|
||||
|
||||
foreach( track* t, tracks )
|
||||
foreach( Track* t, tracks )
|
||||
{
|
||||
if( t->type() == track::InstrumentTrack )
|
||||
if( t->type() == Track::InstrumentTrack )
|
||||
{
|
||||
InstrumentTrack* inst = dynamic_cast<InstrumentTrack *>( t );
|
||||
int val = inst->effectChannelModel()->value(0);
|
||||
@@ -345,16 +345,16 @@ void FxMixer::moveChannelLeft( int index )
|
||||
int a = index - 1, b = index;
|
||||
|
||||
// go through every instrument and adjust for the channel index change
|
||||
QVector<track *> songTrackList = engine::getSong()->tracks();
|
||||
QVector<track *> bbTrackList = engine::getBBTrackContainer()->tracks();
|
||||
QVector<Track *> songTrackList = engine::getSong()->tracks();
|
||||
QVector<Track *> bbTrackList = engine::getBBTrackContainer()->tracks();
|
||||
|
||||
QVector<track *> trackLists[] = {songTrackList, bbTrackList};
|
||||
QVector<Track *> trackLists[] = {songTrackList, bbTrackList};
|
||||
for(int tl=0; tl<2; ++tl)
|
||||
{
|
||||
QVector<track *> trackList = trackLists[tl];
|
||||
QVector<Track *> trackList = trackLists[tl];
|
||||
for(int i=0; i<trackList.size(); ++i)
|
||||
{
|
||||
if( trackList[i]->type() == track::InstrumentTrack )
|
||||
if( trackList[i]->type() == Track::InstrumentTrack )
|
||||
{
|
||||
InstrumentTrack * inst = (InstrumentTrack *) trackList[i];
|
||||
int val = inst->effectChannelModel()->value(0);
|
||||
|
||||
@@ -89,7 +89,7 @@ Instrument * Instrument::instantiate( const QString & _plugin_name,
|
||||
|
||||
|
||||
|
||||
bool Instrument::isFromTrack( const track * _track ) const
|
||||
bool Instrument::isFromTrack( const Track * _track ) const
|
||||
{
|
||||
return( m_instrumentTrack == _track );
|
||||
}
|
||||
|
||||
@@ -680,7 +680,7 @@ void Mixer::removePlayHandle( PlayHandle * _ph )
|
||||
|
||||
|
||||
|
||||
void Mixer::removePlayHandles( track * _track, bool removeIPHs )
|
||||
void Mixer::removePlayHandles( Track * _track, bool removeIPHs )
|
||||
{
|
||||
lockPlayHandleRemoval();
|
||||
PlayHandleList::Iterator it = m_playHandles.begin();
|
||||
|
||||
@@ -353,7 +353,7 @@ fpp_t NotePlayHandle::framesLeftForCurrentPeriod() const
|
||||
|
||||
|
||||
|
||||
bool NotePlayHandle::isFromTrack( const track * _track ) const
|
||||
bool NotePlayHandle::isFromTrack( const Track * _track ) const
|
||||
{
|
||||
return m_instrumentTrack == _track || m_bbTrack == _track;
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ public:
|
||||
m_dataMutex()
|
||||
{
|
||||
setJournalling( false );
|
||||
m_previewInstrumentTrack = dynamic_cast<InstrumentTrack *>( track::create( track::InstrumentTrack, this ) );
|
||||
m_previewInstrumentTrack = dynamic_cast<InstrumentTrack *>( Track::create( Track::InstrumentTrack, this ) );
|
||||
m_previewInstrumentTrack->setJournalling( false );
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ bool PresetPreviewPlayHandle::isFinished() const
|
||||
|
||||
|
||||
|
||||
bool PresetPreviewPlayHandle::isFromTrack( const track * _track ) const
|
||||
bool PresetPreviewPlayHandle::isFromTrack( const Track * _track ) const
|
||||
{
|
||||
return s_previewTC->previewInstrumentTrack() == _track;
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ bool SamplePlayHandle::isFinished() const
|
||||
|
||||
|
||||
|
||||
bool SamplePlayHandle::isFromTrack( const track * _track ) const
|
||||
bool SamplePlayHandle::isFromTrack( const Track * _track ) const
|
||||
{
|
||||
return m_track == _track || m_bbTrack == _track;
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ bool SampleRecordHandle::isFinished() const
|
||||
|
||||
|
||||
|
||||
bool SampleRecordHandle::isFromTrack( const track * _track ) const
|
||||
bool SampleRecordHandle::isFromTrack( const Track * _track ) const
|
||||
{
|
||||
return( m_track == _track || m_bbTrack == _track );
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ void TrackContainer::loadSettings( const QDomElement & _this )
|
||||
if( node.isElement() &&
|
||||
!node.toElement().attribute( "metadata" ).toInt() )
|
||||
{
|
||||
track::create( node.toElement(), this );
|
||||
Track::create( node.toElement(), this );
|
||||
}
|
||||
node = node.nextSibling();
|
||||
}
|
||||
@@ -138,13 +138,13 @@ void TrackContainer::loadSettings( const QDomElement & _this )
|
||||
|
||||
|
||||
|
||||
int TrackContainer::countTracks( track::TrackTypes _tt ) const
|
||||
int TrackContainer::countTracks( Track::TrackTypes _tt ) const
|
||||
{
|
||||
int cnt = 0;
|
||||
m_tracksMutex.lockForRead();
|
||||
for( int i = 0; i < m_tracks.size(); ++i )
|
||||
{
|
||||
if( m_tracks[i]->type() == _tt || _tt == track::NumTrackTypes )
|
||||
if( m_tracks[i]->type() == _tt || _tt == Track::NumTrackTypes )
|
||||
{
|
||||
++cnt;
|
||||
}
|
||||
@@ -156,9 +156,9 @@ int TrackContainer::countTracks( track::TrackTypes _tt ) const
|
||||
|
||||
|
||||
|
||||
void TrackContainer::addTrack( track * _track )
|
||||
void TrackContainer::addTrack( Track * _track )
|
||||
{
|
||||
if( _track->type() != track::HiddenAutomationTrack )
|
||||
if( _track->type() != Track::HiddenAutomationTrack )
|
||||
{
|
||||
_track->lock();
|
||||
m_tracksMutex.lockForWrite();
|
||||
@@ -172,7 +172,7 @@ void TrackContainer::addTrack( track * _track )
|
||||
|
||||
|
||||
|
||||
void TrackContainer::removeTrack( track * _track )
|
||||
void TrackContainer::removeTrack( Track * _track )
|
||||
{
|
||||
int index = m_tracks.indexOf( _track );
|
||||
if( index != -1 )
|
||||
@@ -239,7 +239,7 @@ DummyTrackContainer::DummyTrackContainer() :
|
||||
{
|
||||
setJournalling( false );
|
||||
m_dummyInstrumentTrack = dynamic_cast<InstrumentTrack *>(
|
||||
track::create( track::InstrumentTrack,
|
||||
Track::create( Track::InstrumentTrack,
|
||||
this ) );
|
||||
m_dummyInstrumentTrack->setJournalling( false );
|
||||
}
|
||||
|
||||
@@ -116,7 +116,7 @@ tact_t bbTrackContainer::lengthOfBB( int _bb )
|
||||
|
||||
int bbTrackContainer::numOfBBs() const
|
||||
{
|
||||
return engine::getSong()->countTracks( track::BBTrack );
|
||||
return engine::getSong()->countTracks( Track::BBTrack );
|
||||
}
|
||||
|
||||
|
||||
@@ -230,7 +230,7 @@ void bbTrackContainer::currentBBChanged()
|
||||
TrackList tl = engine::getSong()->tracks();
|
||||
for( TrackList::iterator it = tl.begin(); it != tl.end(); ++it )
|
||||
{
|
||||
if( ( *it )->type() == track::BBTrack )
|
||||
if( ( *it )->type() == Track::BBTrack )
|
||||
{
|
||||
( *it )->dataChanged();
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ tick_t MidiTime::s_ticksPerTact = DefaultTicksPerTact;
|
||||
song::song() :
|
||||
TrackContainer(),
|
||||
m_globalAutomationTrack( dynamic_cast<AutomationTrack *>(
|
||||
track::create( track::HiddenAutomationTrack,
|
||||
Track::create( Track::HiddenAutomationTrack,
|
||||
this ) ) ),
|
||||
m_tempoModel( DefaultTempo, MinTempo, MaxTempo, this, tr( "Tempo" ) ),
|
||||
m_timeSigModel( this ),
|
||||
@@ -430,7 +430,7 @@ void song::playAndRecord()
|
||||
|
||||
|
||||
|
||||
void song::playTrack( track * _trackToPlay )
|
||||
void song::playTrack( Track * _trackToPlay )
|
||||
{
|
||||
if( isStopped() == false )
|
||||
{
|
||||
@@ -672,7 +672,7 @@ void song::removeBar()
|
||||
|
||||
void song::addBBTrack()
|
||||
{
|
||||
track * t = track::create( track::BBTrack, this );
|
||||
Track * t = Track::create( Track::BBTrack, this );
|
||||
engine::getBBTrackContainer()->setCurrentBB( dynamic_cast<bbTrack *>( t )->index() );
|
||||
}
|
||||
|
||||
@@ -681,7 +681,7 @@ void song::addBBTrack()
|
||||
|
||||
void song::addSampleTrack()
|
||||
{
|
||||
(void) track::create( track::SampleTrack, this );
|
||||
(void) Track::create( Track::SampleTrack, this );
|
||||
}
|
||||
|
||||
|
||||
@@ -689,7 +689,7 @@ void song::addSampleTrack()
|
||||
|
||||
void song::addAutomationTrack()
|
||||
{
|
||||
(void) track::create( track::AutomationTrack, this );
|
||||
(void) Track::create( Track::AutomationTrack, this );
|
||||
}
|
||||
|
||||
|
||||
@@ -820,17 +820,17 @@ void song::createNewProject()
|
||||
|
||||
m_fileName = m_oldFileName = "";
|
||||
|
||||
track * t;
|
||||
t = track::create( track::InstrumentTrack, this );
|
||||
Track * t;
|
||||
t = Track::create( Track::InstrumentTrack, this );
|
||||
dynamic_cast<InstrumentTrack * >( t )->loadInstrument(
|
||||
"tripleoscillator" );
|
||||
t = track::create( track::InstrumentTrack,
|
||||
t = Track::create( Track::InstrumentTrack,
|
||||
engine::getBBTrackContainer() );
|
||||
dynamic_cast<InstrumentTrack * >( t )->loadInstrument(
|
||||
"kicker" );
|
||||
track::create( track::SampleTrack, this );
|
||||
track::create( track::BBTrack, this );
|
||||
track::create( track::AutomationTrack, this );
|
||||
Track::create( Track::SampleTrack, this );
|
||||
Track::create( Track::BBTrack, this );
|
||||
Track::create( Track::AutomationTrack, this );
|
||||
|
||||
m_tempoModel.setInitValue( DefaultTempo );
|
||||
m_timeSigModel.reset();
|
||||
|
||||
@@ -99,7 +99,7 @@ textFloat * trackContentObjectView::s_textFloat = NULL;
|
||||
*
|
||||
* \param _track The track that will contain the new object
|
||||
*/
|
||||
trackContentObject::trackContentObject( track * _track ) :
|
||||
trackContentObject::trackContentObject( Track * _track ) :
|
||||
Model( _track ),
|
||||
m_track( _track ),
|
||||
m_name( QString::null ),
|
||||
@@ -535,7 +535,7 @@ void trackContentObjectView::leaveEvent( QEvent * _e )
|
||||
DataFile trackContentObjectView::createTCODataFiles(
|
||||
const QVector<trackContentObjectView *> & tcoViews) const
|
||||
{
|
||||
track * t = m_trackView->getTrack();
|
||||
Track * t = m_trackView->getTrack();
|
||||
TrackContainer * tc = t->trackContainer();
|
||||
DataFile dataFile( DataFile::DragNDropData );
|
||||
QDomElement tcoParent = dataFile.createElement( "tcos" );
|
||||
@@ -1260,7 +1260,7 @@ void trackContentWidget::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
*/
|
||||
bool trackContentWidget::canPasteSelection( MidiTime tcoPos, const QMimeData * mimeData )
|
||||
{
|
||||
track * t = getTrack();
|
||||
Track * t = getTrack();
|
||||
QString type = stringPairDrag::decodeMimeKey( mimeData );
|
||||
QString value = stringPairDrag::decodeMimeValue( mimeData );
|
||||
|
||||
@@ -1312,8 +1312,8 @@ bool trackContentWidget::canPasteSelection( MidiTime tcoPos, const QMimeData * m
|
||||
}
|
||||
|
||||
// Track must be of the same type
|
||||
track * startTrack = tracks.at( trackIndex );
|
||||
track * endTrack = tracks.at( finalTrackIndex );
|
||||
Track * startTrack = tracks.at( trackIndex );
|
||||
Track * endTrack = tracks.at( finalTrackIndex );
|
||||
if( startTrack->type() != endTrack->type() )
|
||||
{
|
||||
return false;
|
||||
@@ -1383,7 +1383,7 @@ bool trackContentWidget::pasteSelection( MidiTime tcoPos, QDropEvent * _de )
|
||||
|
||||
int trackIndex = outerTCOElement.attributeNode( "trackIndex" ).value().toInt();
|
||||
int finalTrackIndex = trackIndex + ( currentTrackIndex - initialTrackIndex );
|
||||
track * t = tracks.at( finalTrackIndex );
|
||||
Track * t = tracks.at( finalTrackIndex );
|
||||
|
||||
// Compute the final position by moving the tco's pos by
|
||||
// the number of tacts between the first TCO and the mouse drop TCO
|
||||
@@ -1494,7 +1494,7 @@ void trackContentWidget::resizeEvent( QResizeEvent * resizeEvent )
|
||||
/*! \brief Return the track shown by the trackContentWidget
|
||||
*
|
||||
*/
|
||||
track * trackContentWidget::getTrack()
|
||||
Track * trackContentWidget::getTrack()
|
||||
{
|
||||
return m_trackView->getTrack();
|
||||
}
|
||||
@@ -1638,7 +1638,7 @@ void trackOperationsWidget::mousePressEvent( QMouseEvent * _me )
|
||||
{
|
||||
if( _me->button() == Qt::LeftButton &&
|
||||
_me->modifiers() & Qt::ControlModifier &&
|
||||
m_trackView->getTrack()->type() != track::BBTrack )
|
||||
m_trackView->getTrack()->type() != Track::BBTrack )
|
||||
{
|
||||
DataFile dataFile( DataFile::DragNDropData );
|
||||
m_trackView->getTrack()->saveState( dataFile, dataFile.content() );
|
||||
@@ -1704,7 +1704,7 @@ void trackOperationsWidget::cloneTrack()
|
||||
/*! \brief Clear this track - clears all TCOs from the track */
|
||||
void trackOperationsWidget::clearTrack()
|
||||
{
|
||||
track * t = m_trackView->getTrack();
|
||||
Track * t = m_trackView->getTrack();
|
||||
t->lock();
|
||||
t->deleteTCOs();
|
||||
t->unlock();
|
||||
@@ -1766,8 +1766,8 @@ void trackOperationsWidget::recordingOn()
|
||||
AutomationTrackView * atv = dynamic_cast<AutomationTrackView *>( m_trackView );
|
||||
if( atv )
|
||||
{
|
||||
const track::tcoVector & tcov = atv->getTrack()->getTCOs();
|
||||
for( track::tcoVector::const_iterator it = tcov.begin(); it != tcov.end(); it++ )
|
||||
const Track::tcoVector & tcov = atv->getTrack()->getTCOs();
|
||||
for( Track::tcoVector::const_iterator it = tcov.begin(); it != tcov.end(); it++ )
|
||||
{
|
||||
AutomationPattern * ap = dynamic_cast<AutomationPattern *>( *it );
|
||||
if( ap ) { ap->setRecording( true ); }
|
||||
@@ -1782,8 +1782,8 @@ void trackOperationsWidget::recordingOff()
|
||||
AutomationTrackView * atv = dynamic_cast<AutomationTrackView *>( m_trackView );
|
||||
if( atv )
|
||||
{
|
||||
const track::tcoVector & tcov = atv->getTrack()->getTCOs();
|
||||
for( track::tcoVector::const_iterator it = tcov.begin(); it != tcov.end(); it++ )
|
||||
const Track::tcoVector & tcov = atv->getTrack()->getTCOs();
|
||||
for( Track::tcoVector::const_iterator it = tcov.begin(); it != tcov.end(); it++ )
|
||||
{
|
||||
AutomationPattern * ap = dynamic_cast<AutomationPattern *>( *it );
|
||||
if( ap ) { ap->setRecording( false ); }
|
||||
@@ -1807,7 +1807,7 @@ void trackOperationsWidget::recordingOff()
|
||||
*
|
||||
* \todo check the definitions of all the properties - are they OK?
|
||||
*/
|
||||
track::track( TrackTypes _type, TrackContainer * _tc ) :
|
||||
Track::Track( TrackTypes _type, TrackContainer * _tc ) :
|
||||
Model( _tc ), /*!< The track Model */
|
||||
m_trackContainer( _tc ), /*!< The track container object */
|
||||
m_type( _type ), /*!< The track type */
|
||||
@@ -1836,7 +1836,7 @@ track::track( TrackTypes _type, TrackContainer * _tc ) :
|
||||
*
|
||||
* Finally step through this track's automation and forget all of them.
|
||||
*/
|
||||
track::~track()
|
||||
Track::~Track()
|
||||
{
|
||||
lock();
|
||||
emit destroyedTrack();
|
||||
@@ -1858,9 +1858,9 @@ track::~track()
|
||||
* \param _tt The type of track to create
|
||||
* \param _tc The track container to attach to
|
||||
*/
|
||||
track * track::create( TrackTypes _tt, TrackContainer * _tc )
|
||||
Track * Track::create( TrackTypes _tt, TrackContainer * _tc )
|
||||
{
|
||||
track * t = NULL;
|
||||
Track * t = NULL;
|
||||
|
||||
switch( _tt )
|
||||
{
|
||||
@@ -1888,9 +1888,9 @@ track * track::create( TrackTypes _tt, TrackContainer * _tc )
|
||||
* \param _this The QDomElement containing the type of track to create
|
||||
* \param _tc The track container to attach to
|
||||
*/
|
||||
track * track::create( const QDomElement & _this, TrackContainer * _tc )
|
||||
Track * Track::create( const QDomElement & _this, TrackContainer * _tc )
|
||||
{
|
||||
track * t = create(
|
||||
Track * t = create(
|
||||
static_cast<TrackTypes>( _this.attribute( "type" ).toInt() ),
|
||||
_tc );
|
||||
if( t != NULL )
|
||||
@@ -1906,7 +1906,7 @@ track * track::create( const QDomElement & _this, TrackContainer * _tc )
|
||||
/*! \brief Clone a track from this track
|
||||
*
|
||||
*/
|
||||
void track::clone()
|
||||
void Track::clone()
|
||||
{
|
||||
QDomDocument doc;
|
||||
QDomElement parent = doc.createElement( "clone" );
|
||||
@@ -1930,7 +1930,7 @@ void track::clone()
|
||||
* \todo Does this accurately describe the parameters? I think not!?
|
||||
* \todo Save the track height
|
||||
*/
|
||||
void track::saveSettings( QDomDocument & _doc, QDomElement & _this )
|
||||
void Track::saveSettings( QDomDocument & _doc, QDomElement & _this )
|
||||
{
|
||||
if( !m_simpleSerializingMode )
|
||||
{
|
||||
@@ -1980,7 +1980,7 @@ void track::saveSettings( QDomDocument & _doc, QDomElement & _this )
|
||||
* \param _this the QDomElement to load track settings from
|
||||
* \todo Load the track height.
|
||||
*/
|
||||
void track::loadSettings( const QDomElement & _this )
|
||||
void Track::loadSettings( const QDomElement & _this )
|
||||
{
|
||||
if( _this.attribute( "type" ).toInt() != type() )
|
||||
{
|
||||
@@ -2052,7 +2052,7 @@ void track::loadSettings( const QDomElement & _this )
|
||||
*
|
||||
* \param _tco The trackContentObject to attach to this track.
|
||||
*/
|
||||
trackContentObject * track::addTCO( trackContentObject * _tco )
|
||||
trackContentObject * Track::addTCO( trackContentObject * _tco )
|
||||
{
|
||||
m_trackContentObjects.push_back( _tco );
|
||||
|
||||
@@ -2068,7 +2068,7 @@ trackContentObject * track::addTCO( trackContentObject * _tco )
|
||||
*
|
||||
* \param _tco The trackContentObject to remove from this track.
|
||||
*/
|
||||
void track::removeTCO( trackContentObject * _tco )
|
||||
void Track::removeTCO( trackContentObject * _tco )
|
||||
{
|
||||
tcoVector::iterator it = qFind( m_trackContentObjects.begin(),
|
||||
m_trackContentObjects.end(),
|
||||
@@ -2086,7 +2086,7 @@ void track::removeTCO( trackContentObject * _tco )
|
||||
|
||||
|
||||
/*! \brief Remove all TCOs from this track */
|
||||
void track::deleteTCOs()
|
||||
void Track::deleteTCOs()
|
||||
{
|
||||
while( ! m_trackContentObjects.isEmpty() )
|
||||
{
|
||||
@@ -2099,7 +2099,7 @@ void track::deleteTCOs()
|
||||
*
|
||||
* \return the number of trackContentObjects we currently contain.
|
||||
*/
|
||||
int track::numOfTCOs()
|
||||
int Track::numOfTCOs()
|
||||
{
|
||||
return m_trackContentObjects.size();
|
||||
}
|
||||
@@ -2119,13 +2119,13 @@ int track::numOfTCOs()
|
||||
* \todo if we create a TCO here, should we somehow attach it to the
|
||||
* track?
|
||||
*/
|
||||
trackContentObject * track::getTCO( int _tco_num )
|
||||
trackContentObject * Track::getTCO( int _tco_num )
|
||||
{
|
||||
if( _tco_num < m_trackContentObjects.size() )
|
||||
{
|
||||
return m_trackContentObjects[_tco_num];
|
||||
}
|
||||
printf( "called track::getTCO( %d ), "
|
||||
printf( "called Track::getTCO( %d ), "
|
||||
"but TCO %d doesn't exist\n", _tco_num, _tco_num );
|
||||
return createTCO( _tco_num * MidiTime::ticksPerTact() );
|
||||
|
||||
@@ -2139,7 +2139,7 @@ trackContentObject * track::getTCO( int _tco_num )
|
||||
* \param _tco The trackContentObject to search for.
|
||||
* \return its number in our array.
|
||||
*/
|
||||
int track::getTCONum( trackContentObject * _tco )
|
||||
int Track::getTCONum( trackContentObject * _tco )
|
||||
{
|
||||
// for( int i = 0; i < getTrackContentWidget()->numOfTCOs(); ++i )
|
||||
tcoVector::iterator it = qFind( m_trackContentObjects.begin(),
|
||||
@@ -2153,7 +2153,7 @@ int track::getTCONum( trackContentObject * _tco )
|
||||
}*/
|
||||
return it - m_trackContentObjects.begin();
|
||||
}
|
||||
qWarning( "track::getTCONum(...) -> _tco not found!\n" );
|
||||
qWarning( "Track::getTCONum(...) -> _tco not found!\n" );
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2173,7 +2173,7 @@ int track::getTCONum( trackContentObject * _tco )
|
||||
* \param _start The MIDI start time of the range.
|
||||
* \param _end The MIDI endi time of the range.
|
||||
*/
|
||||
void track::getTCOsInRange( tcoVector & _tco_v, const MidiTime & _start,
|
||||
void Track::getTCOsInRange( tcoVector & _tco_v, const MidiTime & _start,
|
||||
const MidiTime & _end )
|
||||
{
|
||||
for( tcoVector::iterator it_o = m_trackContentObjects.begin();
|
||||
@@ -2218,7 +2218,7 @@ void track::getTCOsInRange( tcoVector & _tco_v, const MidiTime & _start,
|
||||
* \param _tco_num1 The first trackContentObject to swap.
|
||||
* \param _tco_num2 The second trackContentObject to swap.
|
||||
*/
|
||||
void track::swapPositionOfTCOs( int _tco_num1, int _tco_num2 )
|
||||
void Track::swapPositionOfTCOs( int _tco_num1, int _tco_num2 )
|
||||
{
|
||||
qSwap( m_trackContentObjects[_tco_num1],
|
||||
m_trackContentObjects[_tco_num2] );
|
||||
@@ -2240,7 +2240,7 @@ void track::swapPositionOfTCOs( int _tco_num1, int _tco_num2 )
|
||||
* in ascending order by TCO time, once we hit a TCO that was earlier
|
||||
* than the insert time, we could fall out of the loop early.
|
||||
*/
|
||||
void track::insertTact( const MidiTime & _pos )
|
||||
void Track::insertTact( const MidiTime & _pos )
|
||||
{
|
||||
// we'll increase the position of every TCO, positioned behind _pos, by
|
||||
// one tact
|
||||
@@ -2262,7 +2262,7 @@ void track::insertTact( const MidiTime & _pos )
|
||||
*
|
||||
* \param _pos The time at which we want to remove the bar.
|
||||
*/
|
||||
void track::removeTact( const MidiTime & _pos )
|
||||
void Track::removeTact( const MidiTime & _pos )
|
||||
{
|
||||
// we'll decrease the position of every TCO, positioned behind _pos, by
|
||||
// one tact
|
||||
@@ -2286,7 +2286,7 @@ void track::removeTact( const MidiTime & _pos )
|
||||
* keeping track of the latest time found in ticks. Then we return
|
||||
* that in bars by dividing by the number of ticks per bar.
|
||||
*/
|
||||
tact_t track::length() const
|
||||
tact_t Track::length() const
|
||||
{
|
||||
// find last end-position
|
||||
tick_t last = 0;
|
||||
@@ -2311,7 +2311,7 @@ tact_t track::length() const
|
||||
* is already soloed. Then we have to save the mute state of all tracks,
|
||||
* and set our mute state to on and all the others to off.
|
||||
*/
|
||||
void track::toggleSolo()
|
||||
void Track::toggleSolo()
|
||||
{
|
||||
const TrackContainer::TrackList & tl = m_trackContainer->tracks();
|
||||
|
||||
@@ -2371,7 +2371,7 @@ void track::toggleSolo()
|
||||
* \param _tcv The track Container View for us to be displayed in.
|
||||
* \todo Is my description of these properties correct?
|
||||
*/
|
||||
trackView::trackView( track * _track, TrackContainerView * _tcv ) :
|
||||
trackView::trackView( Track * _track, TrackContainerView * _tcv ) :
|
||||
QWidget( _tcv->contentWidget() ), /*!< The Track Container View's content widget. */
|
||||
ModelView( NULL, this ), /*!< The model view of this track */
|
||||
m_track( _track ), /*!< The track we're displaying */
|
||||
@@ -2414,7 +2414,7 @@ trackView::trackView( track * _track, TrackContainerView * _tcv ) :
|
||||
connect( &m_track->m_soloModel, SIGNAL( dataChanged() ),
|
||||
m_track, SLOT( toggleSolo() ) );
|
||||
// create views for already existing TCOs
|
||||
for( track::tcoVector::iterator it =
|
||||
for( Track::tcoVector::iterator it =
|
||||
m_track->m_trackContentObjects.begin();
|
||||
it != m_track->m_trackContentObjects.end(); ++it )
|
||||
{
|
||||
@@ -2493,7 +2493,7 @@ bool trackView::close()
|
||||
*/
|
||||
void trackView::modelChanged()
|
||||
{
|
||||
m_track = castModel<track>();
|
||||
m_track = castModel<Track>();
|
||||
assert( m_track != NULL );
|
||||
connect( m_track, SIGNAL( destroyedTrack() ), this, SLOT( close() ) );
|
||||
m_trackOperationsWidget.m_muteBtn->setModel( &m_track->m_mutedModel );
|
||||
|
||||
@@ -617,7 +617,7 @@ void FileBrowserTreeWidget::activateListItem(QTreeWidgetItem * item,
|
||||
{
|
||||
// engine::mixer()->lock();
|
||||
InstrumentTrack * it = dynamic_cast<InstrumentTrack *>(
|
||||
track::create( track::InstrumentTrack,
|
||||
Track::create( Track::InstrumentTrack,
|
||||
engine::getBBTrackContainer() ) );
|
||||
handleFile( f, it );
|
||||
// engine::mixer()->unlock();
|
||||
@@ -634,7 +634,7 @@ void FileBrowserTreeWidget::openInNewInstrumentTrack( TrackContainer* tc )
|
||||
{
|
||||
// engine::mixer()->lock();
|
||||
InstrumentTrack * it = dynamic_cast<InstrumentTrack *>(
|
||||
track::create( track::InstrumentTrack, tc ) );
|
||||
Track::create( Track::InstrumentTrack, tc ) );
|
||||
handleFile( m_contextMenuItem, it );
|
||||
// engine::mixer()->unlock();
|
||||
}
|
||||
|
||||
@@ -228,16 +228,16 @@ void FxMixerView::refreshDisplay()
|
||||
// update the and max. channel number for every instrument
|
||||
void FxMixerView::updateMaxChannelSelector()
|
||||
{
|
||||
QVector<track *> songTrackList = engine::getSong()->tracks();
|
||||
QVector<track *> bbTrackList = engine::getBBTrackContainer()->tracks();
|
||||
QVector<Track *> songTrackList = engine::getSong()->tracks();
|
||||
QVector<Track *> bbTrackList = engine::getBBTrackContainer()->tracks();
|
||||
|
||||
QVector<track *> trackLists[] = {songTrackList, bbTrackList};
|
||||
QVector<Track *> trackLists[] = {songTrackList, bbTrackList};
|
||||
for(int tl=0; tl<2; ++tl)
|
||||
{
|
||||
QVector<track *> trackList = trackLists[tl];
|
||||
QVector<Track *> trackList = trackLists[tl];
|
||||
for(int i=0; i<trackList.size(); ++i)
|
||||
{
|
||||
if( trackList[i]->type() == track::InstrumentTrack )
|
||||
if( trackList[i]->type() == Track::InstrumentTrack )
|
||||
{
|
||||
InstrumentTrack * inst = (InstrumentTrack *) trackList[i];
|
||||
inst->effectChannelModel()->setRange(0,
|
||||
|
||||
@@ -83,8 +83,8 @@ TrackContainerView::TrackContainerView( TrackContainer * _tc ) :
|
||||
|
||||
connect( engine::getSong(), SIGNAL( timeSignatureChanged( int, int ) ),
|
||||
this, SLOT( realignTracks() ) );
|
||||
connect( m_tc, SIGNAL( trackAdded( track * ) ),
|
||||
this, SLOT( createTrackView( track * ) ),
|
||||
connect( m_tc, SIGNAL( trackAdded( Track * ) ),
|
||||
this, SLOT( createTrackView( Track * ) ),
|
||||
Qt::QueuedConnection );
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@ void TrackContainerView::realignTracks()
|
||||
|
||||
|
||||
|
||||
void TrackContainerView::createTrackView( track * _t )
|
||||
void TrackContainerView::createTrackView( Track * _t )
|
||||
{
|
||||
//m_tc->addJournalCheckPoint();
|
||||
|
||||
@@ -232,7 +232,7 @@ void TrackContainerView::deleteTrackView( trackView * _tv )
|
||||
{
|
||||
//m_tc->addJournalCheckPoint();
|
||||
|
||||
track * t = _tv->getTrack();
|
||||
Track * t = _tv->getTrack();
|
||||
removeTrackView( _tv );
|
||||
delete _tv;
|
||||
|
||||
@@ -294,7 +294,7 @@ void TrackContainerView::clearAllTracks()
|
||||
while( !m_trackViews.empty() )
|
||||
{
|
||||
trackView * tv = m_trackViews.takeLast();
|
||||
track * t = tv->getTrack();
|
||||
Track * t = tv->getTrack();
|
||||
delete tv;
|
||||
delete t;
|
||||
}
|
||||
@@ -309,8 +309,8 @@ void TrackContainerView::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
QString( "presetfile,pluginpresetfile,samplefile,instrument,"
|
||||
"importedproject,soundfontfile,vstpluginfile,"
|
||||
"track_%1,track_%2" ).
|
||||
arg( track::InstrumentTrack ).
|
||||
arg( track::SampleTrack ) );
|
||||
arg( Track::InstrumentTrack ).
|
||||
arg( Track::SampleTrack ) );
|
||||
}
|
||||
|
||||
|
||||
@@ -323,7 +323,7 @@ void TrackContainerView::dropEvent( QDropEvent * _de )
|
||||
if( type == "instrument" )
|
||||
{
|
||||
InstrumentTrack * it = dynamic_cast<InstrumentTrack *>(
|
||||
track::create( track::InstrumentTrack,
|
||||
Track::create( Track::InstrumentTrack,
|
||||
m_tc ) );
|
||||
it->loadInstrument( value );
|
||||
//it->toggledInstrumentTrackButton( true );
|
||||
@@ -333,7 +333,7 @@ void TrackContainerView::dropEvent( QDropEvent * _de )
|
||||
|| type == "soundfontfile" || type == "vstpluginfile")
|
||||
{
|
||||
InstrumentTrack * it = dynamic_cast<InstrumentTrack *>(
|
||||
track::create( track::InstrumentTrack,
|
||||
Track::create( Track::InstrumentTrack,
|
||||
m_tc ) );
|
||||
Instrument * i = it->loadInstrument(
|
||||
engine::pluginFileHandling()[FileItem::extension(
|
||||
@@ -346,7 +346,7 @@ void TrackContainerView::dropEvent( QDropEvent * _de )
|
||||
{
|
||||
DataFile dataFile( value );
|
||||
InstrumentTrack * it = dynamic_cast<InstrumentTrack *>(
|
||||
track::create( track::InstrumentTrack,
|
||||
Track::create( Track::InstrumentTrack,
|
||||
m_tc ) );
|
||||
it->setSimpleSerializing();
|
||||
it->loadSettings( dataFile.content().toElement() );
|
||||
@@ -361,7 +361,7 @@ void TrackContainerView::dropEvent( QDropEvent * _de )
|
||||
else if( type.left( 6 ) == "track_" )
|
||||
{
|
||||
DataFile dataFile( value.toUtf8() );
|
||||
track::create( dataFile.content().firstChild().toElement(), m_tc );
|
||||
Track::create( dataFile.content().firstChild().toElement(), m_tc );
|
||||
_de->accept();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,7 +167,7 @@ void bbEditor::dropEvent( QDropEvent * de )
|
||||
if( type.left( 6 ) == "track_" )
|
||||
{
|
||||
DataFile dataFile( value.toUtf8() );
|
||||
track * t = track::create( dataFile.content().firstChild().toElement(), model() );
|
||||
Track * t = Track::create( dataFile.content().firstChild().toElement(), model() );
|
||||
|
||||
t->deleteTCOs();
|
||||
m_bbtc->updateAfterTrackAdd();
|
||||
@@ -241,7 +241,7 @@ void bbEditor::updatePosition()
|
||||
|
||||
void bbEditor::addAutomationTrack()
|
||||
{
|
||||
(void) track::create( track::AutomationTrack, model() );
|
||||
(void) Track::create( Track::AutomationTrack, model() );
|
||||
}
|
||||
|
||||
|
||||
@@ -254,7 +254,7 @@ void bbEditor::addSteps()
|
||||
for( TrackContainer::TrackList::iterator it = tl.begin();
|
||||
it != tl.end(); ++it )
|
||||
{
|
||||
if( ( *it )->type() == track::InstrumentTrack )
|
||||
if( ( *it )->type() == Track::InstrumentTrack )
|
||||
{
|
||||
Pattern* p = static_cast<Pattern *>( ( *it )->getTCO( m_bbtc->currentBB() ) );
|
||||
p->addSteps();
|
||||
@@ -272,7 +272,7 @@ void bbEditor::removeSteps()
|
||||
for( TrackContainer::TrackList::iterator it = tl.begin();
|
||||
it != tl.end(); ++it )
|
||||
{
|
||||
if( ( *it )->type() == track::InstrumentTrack )
|
||||
if( ( *it )->type() == Track::InstrumentTrack )
|
||||
{
|
||||
Pattern* p = static_cast<Pattern *>( ( *it )->getTCO( m_bbtc->currentBB() ) );
|
||||
p->removeSteps();
|
||||
|
||||
@@ -127,7 +127,7 @@ void exportProjectDialog::accept()
|
||||
// If done, then reset mute states
|
||||
while( m_unmuted.isEmpty() == false )
|
||||
{
|
||||
track* restoreTrack = m_unmuted.back();
|
||||
Track* restoreTrack = m_unmuted.back();
|
||||
m_unmuted.pop_back();
|
||||
restoreTrack->setMuted( false );
|
||||
}
|
||||
@@ -163,7 +163,7 @@ void exportProjectDialog::popRender()
|
||||
{
|
||||
if( m_multiExport && m_tracksToRender.isEmpty() == false )
|
||||
{
|
||||
track* renderTrack = m_tracksToRender.back();
|
||||
Track* renderTrack = m_tracksToRender.back();
|
||||
m_tracksToRender.pop_back();
|
||||
|
||||
// Set must states for song tracks
|
||||
@@ -202,11 +202,11 @@ void exportProjectDialog::multiRender()
|
||||
for( TrackContainer::TrackList::ConstIterator it = tl.begin();
|
||||
it != tl.end(); ++it )
|
||||
{
|
||||
track* tk = (*it);
|
||||
track::TrackTypes type = tk->type();
|
||||
Track* tk = (*it);
|
||||
Track::TrackTypes type = tk->type();
|
||||
// Don't mute automation tracks
|
||||
if ( tk->isMuted() == false &&
|
||||
( type == track::InstrumentTrack || type == track::SampleTrack ) )
|
||||
( type == Track::InstrumentTrack || type == Track::SampleTrack ) )
|
||||
{
|
||||
m_unmuted.push_back(tk);
|
||||
QString nextName = tk->name();
|
||||
@@ -215,7 +215,7 @@ void exportProjectDialog::multiRender()
|
||||
m_fileName = QDir(m_dirName).filePath(name);
|
||||
prepRender();
|
||||
}
|
||||
else if (! tk->isMuted() && type == track::BBTrack )
|
||||
else if (! tk->isMuted() && type == Track::BBTrack )
|
||||
{
|
||||
m_unmutedBB.push_back(tk);
|
||||
}
|
||||
@@ -226,7 +226,7 @@ void exportProjectDialog::multiRender()
|
||||
const TrackContainer::TrackList t2 = engine::getBBTrackContainer()->tracks();
|
||||
for( TrackContainer::TrackList::ConstIterator it = t2.begin(); it != t2.end(); ++it )
|
||||
{
|
||||
track* tk = (*it);
|
||||
Track* tk = (*it);
|
||||
if ( tk->isMuted() == false )
|
||||
{
|
||||
m_unmuted.push_back(tk);
|
||||
|
||||
@@ -378,7 +378,7 @@ void EnvelopeAndLfoView::dragEnterEvent( QDragEnterEvent * _dee )
|
||||
{
|
||||
stringPairDrag::processDragEnterEvent( _dee,
|
||||
QString( "samplefile,tco_%1" ).arg(
|
||||
track::SampleTrack ) );
|
||||
Track::SampleTrack ) );
|
||||
}
|
||||
|
||||
|
||||
@@ -395,7 +395,7 @@ void EnvelopeAndLfoView::dropEvent( QDropEvent * _de )
|
||||
m_userLfoBtn->model()->setValue( true );
|
||||
_de->accept();
|
||||
}
|
||||
else if( type == QString( "tco_%1" ).arg( track::SampleTrack ) )
|
||||
else if( type == QString( "tco_%1" ).arg( Track::SampleTrack ) )
|
||||
{
|
||||
DataFile dataFile( value.toUtf8() );
|
||||
m_params->m_userWave.setAudioFile( dataFile.content().firstChild().toElement(). attribute( "src" ) );
|
||||
|
||||
@@ -131,7 +131,7 @@ void trackLabelButton::mouseDoubleClickEvent( QMouseEvent * _me )
|
||||
|
||||
void trackLabelButton::paintEvent( QPaintEvent * _pe )
|
||||
{
|
||||
if( m_trackView->getTrack()->type() == track::InstrumentTrack )
|
||||
if( m_trackView->getTrack()->type() == Track::InstrumentTrack )
|
||||
{
|
||||
InstrumentTrack * it =
|
||||
dynamic_cast<InstrumentTrack *>(
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
|
||||
|
||||
AutomationTrack::AutomationTrack( TrackContainer* tc, bool _hidden ) :
|
||||
track( _hidden ? HiddenAutomationTrack : track::AutomationTrack, tc )
|
||||
Track( _hidden ? HiddenAutomationTrack : Track::AutomationTrack, tc )
|
||||
{
|
||||
setName( tr( "Automation track" ) );
|
||||
}
|
||||
|
||||
@@ -93,7 +93,7 @@ const int INSTRUMENT_WINDOW_CACHE_SIZE = 8;
|
||||
|
||||
// #### IT:
|
||||
InstrumentTrack::InstrumentTrack( TrackContainer* tc ) :
|
||||
track( track::InstrumentTrack, tc ),
|
||||
Track( Track::InstrumentTrack, tc ),
|
||||
MidiEventProcessor(),
|
||||
m_midiPort( tr( "unnamed_track" ), engine::mixer()->midiClient(),
|
||||
this, this ),
|
||||
@@ -497,7 +497,7 @@ void InstrumentTrack::setName( const QString & _new_name )
|
||||
}
|
||||
}
|
||||
|
||||
track::setName( _new_name );
|
||||
Track::setName( _new_name );
|
||||
m_midiPort.setName( name() );
|
||||
m_audioPort.setName( name() );
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
#include "ConfigManager.h"
|
||||
|
||||
|
||||
SampleTCO::SampleTCO( track * _track ) :
|
||||
SampleTCO::SampleTCO( Track * _track ) :
|
||||
trackContentObject( _track ),
|
||||
m_sampleBuffer( new SampleBuffer )
|
||||
{
|
||||
@@ -402,7 +402,7 @@ void SampleTCOView::paintEvent( QPaintEvent * _pe )
|
||||
|
||||
|
||||
SampleTrack::SampleTrack( TrackContainer* tc ) :
|
||||
track( track::SampleTrack, tc ),
|
||||
Track( Track::SampleTrack, tc ),
|
||||
m_volumeModel( DefaultVolume, MinVolume, MaxVolume, 1.0, this,
|
||||
tr( "Volume" ) ),
|
||||
m_audioPort( tr( "Sample track" ), true, &m_volumeModel, NULL )
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
bbTrack::infoMap bbTrack::s_infoMap;
|
||||
|
||||
|
||||
bbTCO::bbTCO( track * _track ) :
|
||||
bbTCO::bbTCO( Track * _track ) :
|
||||
trackContentObject( _track ),
|
||||
m_color( 128, 128, 128 ),
|
||||
m_useStyleColor( true )
|
||||
@@ -362,7 +362,7 @@ void bbTCOView::setColor( QColor new_color )
|
||||
QColor * bbTrack::s_lastTCOColor = NULL;
|
||||
|
||||
bbTrack::bbTrack( TrackContainer* tc ) :
|
||||
track( BBTrack, tc )
|
||||
Track( BBTrack, tc )
|
||||
{
|
||||
int bbNum = s_infoMap.size();
|
||||
s_infoMap[this] = bbNum;
|
||||
@@ -555,7 +555,7 @@ bbTrack * bbTrack::findBBTrack( int _bb_num )
|
||||
|
||||
|
||||
|
||||
void bbTrack::swapBBTracks( track * _track1, track * _track2 )
|
||||
void bbTrack::swapBBTracks( Track * _track1, Track * _track2 )
|
||||
{
|
||||
bbTrack * t1 = dynamic_cast<bbTrack *>( _track1 );
|
||||
bbTrack * t2 = dynamic_cast<bbTrack *>( _track2 );
|
||||
|
||||
Reference in New Issue
Block a user