aboutsummaryrefslogtreecommitdiff
path: root/composer/Song.hpp
diff options
context:
space:
mode:
authormescalinum <mescalinum@users.sourceforge.net>2009-09-25 17:19:25 +0000
committermescalinum <mescalinum@users.sourceforge.net>2009-09-25 17:19:25 +0000
commitf8ac52e520aa5e20a256a3fd9a649b461f3afeef (patch)
tree25198f6081892058a8ba46b838bfa1f14076c565 /composer/Song.hpp
parent2815cb8c2ff0edd77efcc071b65fed1e60c1c6bc (diff)
rewrite in C++
svn path=/trunk/externals/ffext/; revision=12451
Diffstat (limited to 'composer/Song.hpp')
-rw-r--r--composer/Song.hpp31
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