aboutsummaryrefslogtreecommitdiff
path: root/composer/Track.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'composer/Track.hpp')
-rw-r--r--composer/Track.hpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/composer/Track.hpp b/composer/Track.hpp
index 3bd2135..0d6c2cb 100644
--- a/composer/Track.hpp
+++ b/composer/Track.hpp
@@ -1,13 +1,15 @@
#ifndef COMPOSER_TRACK_H_INCLUDED
#define COMPOSER_TRACK_H_INCLUDED
+#include <map>
#include <string>
-#include <vector>
+//#include <vector>
#include <m_pd.h>
using std::string;
-using std::vector;
+//using std::vector;
+using std::map;
class Song;
class Pattern;
@@ -18,15 +20,19 @@ public:
static Track *byName(string songName, string trackName);
private:
string name;
- vector<Pattern *> patterns;
+ //vector<Pattern *> patterns;
+ map<string,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);
+ //Pattern *getPattern(int n);
+ Pattern *getPattern(const string &p);
inline unsigned int getPatternCount() {return patterns.size();}
+ inline map<string,Pattern *>::iterator patternsBegin() {return patterns.begin();}
+ inline map<string,Pattern *>::iterator patternsEnd() {return patterns.end();}
inline Song *getSong() {return song;}
inline const string &getName() {return name;}
};