diff --git a/include/track.h b/include/track.h index 01dedd3c6..93b06f12a 100644 --- a/include/track.h +++ b/include/track.h @@ -64,6 +64,7 @@ class QPushButton; class pixmapButton; class textFloat; +class timePattern; class track; class trackContainer; class trackContentWidget; @@ -484,10 +485,29 @@ public: return( &m_trackWidget->getTrackContentWidget() ); } + void addTimePattern( timePattern * _pattern ); + void removeTimePattern( timePattern * _pattern ); + + // name-stuff + inline virtual const QString & name( void ) const + { + return( m_name ); + } + inline virtual void setName( const QString & _new_name ) + { + m_name = _new_name; + } + + +protected: + void sendMidiTime( const midiTime & _time ); + QString m_name; + private: trackContainer * m_trackContainer; trackWidget * m_trackWidget; + QPtrList m_time_patterns; } ; diff --git a/src/core/track.cpp b/src/core/track.cpp index 04bf574de..665922e91 100644 --- a/src/core/track.cpp +++ b/src/core/track.cpp @@ -1730,6 +1730,36 @@ void track::swapPositionOfTCOs( csize _tco_num1, csize _tco_num2 ) +void track::addTimePattern( timePattern * _pattern ) +{ + m_time_patterns.append( _pattern ); +} + + + + +void track::removeTimePattern( timePattern * _pattern ) +{ + m_time_patterns.remove( _pattern ); +} + + + + +void track::sendMidiTime( const midiTime & _time ) +{ + QPtrListIterator it( m_time_patterns ); + timePattern * pattern ; + while( ( pattern = it.current() ) ) + { + ++it; + pattern->processMidiTime( _time ); + } +} + + + + #include "track.moc"