diff options
Diffstat (limited to 'composer/Track.hpp')
-rw-r--r-- | composer/Track.hpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/composer/Track.hpp b/composer/Track.hpp new file mode 100644 index 0000000..3bd2135 --- /dev/null +++ b/composer/Track.hpp @@ -0,0 +1,34 @@ +#ifndef COMPOSER_TRACK_H_INCLUDED +#define COMPOSER_TRACK_H_INCLUDED + +#include <string> +#include <vector> + +#include <m_pd.h> + +using std::string; +using std::vector; + +class Song; +class Pattern; + +class Track +{ +public: + static Track *byName(string songName, string trackName); +private: + string name; + vector<Pattern *> patterns; + Song *song; +protected: + Track(Song *_song, string trackName); +public: + void print(); + void addPattern(int rows, int cols, string name); + Pattern *getPattern(int n); + inline unsigned int getPatternCount() {return patterns.size();} + inline Song *getSong() {return song;} + inline const string &getName() {return name;} +}; + +#endif // COMPOSER_TRACK_H_INCLUDED |