From f8ac52e520aa5e20a256a3fd9a649b461f3afeef Mon Sep 17 00:00:00 2001 From: mescalinum Date: Fri, 25 Sep 2009 17:19:25 +0000 Subject: rewrite in C++ svn path=/trunk/externals/ffext/; revision=12451 --- composer/Track.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 composer/Track.cpp (limited to 'composer/Track.cpp') diff --git a/composer/Track.cpp b/composer/Track.cpp new file mode 100644 index 0000000..47ad81b --- /dev/null +++ b/composer/Track.cpp @@ -0,0 +1,47 @@ +#include "Song.hpp" +#include "Track.hpp" +#include "Pattern.hpp" + +#include + +using std::cout; +using std::cerr; +using std::endl; + +Track::Track(Song *_song, string trackName) +: name(trackName), song(_song) +{ +} + +Track *Track::byName(string songName, string trackName) +{ + Song *song = Song::byName(songName); + + Track *track = song->getTrackByName(trackName); + if(!track) track = new Track(song, trackName); + + return track; +} + +void Track::print() +{ + cerr << "---- Track: " << name << " ----" << endl; + + for(unsigned int i = 0; i < patterns.size(); i++) + { + cerr << " Pattern[" << patterns[i]->getName() << "]: " << patterns[i]->getName() << endl; + } + + cerr << "---- End track (" << name << ") ----" << endl; +} + +void Track::addPattern(int rows, int cols, string name) +{ + Pattern *pattern = new Pattern(rows, cols, name); + patterns.push_back(pattern); +} + +Pattern *Track::getPattern(int n) +{ + return patterns[n]; +} -- cgit v1.2.1