diff options
Diffstat (limited to 'composer/Song.hpp')
-rw-r--r-- | composer/Song.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/composer/Song.hpp b/composer/Song.hpp new file mode 100644 index 0000000..ead7285 --- /dev/null +++ b/composer/Song.hpp @@ -0,0 +1,31 @@ +#ifndef COMPOSER_SONG_H_INCLUDED +#define COMPOSER_SONG_H_INCLUDED + +#include <map> +#include <string> + +#include <m_pd.h> + +#include "Track.hpp" + +using std::map; +using std::string; + +class Song +{ +private: + static map<string,Song *> byname; +public: + static Song *byName(string songName); +private: + string name; + map<string,Track *> tracks; +protected: + Song(string songName); +public: + void print(); + Track *getTrackByName(string trackName); + inline const string &getName() {return name;} +}; + +#endif // COMPOSER_SONG_H_INCLUDED |