X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fclock.h;h=469d1916e1de77667cb57bb74b84a719c9da0540;hb=8776713b20fdc7cdd09f7e2363679ebd06665d32;hp=1c00158b5f4b65ea997cb195e06b05621d74ce19;hpb=3f50c821de14b8deab2374810bf974908e6681e8;p=r2c2.git diff --git a/source/libr2c2/clock.h b/source/libr2c2/clock.h index 1c00158..469d191 100644 --- a/source/libr2c2/clock.h +++ b/source/libr2c2/clock.h @@ -2,6 +2,7 @@ #define LIBR2C2_CLOCK_H_ #include +#include #include namespace R2C2 { @@ -9,18 +10,33 @@ namespace R2C2 { class Clock { public: + class Loader: public Msp::DataFile::ObjectLoader + { + public: + Loader(Clock &); + + private: + void time(Msp::Time::RawTime); + }; + sigc::signal signal_minute; private: Msp::Time::TimeDelta current_time; float rate; + bool stopped; public: Clock(); void set_rate(float); + float get_rate() const { return rate; } + void set_current_time(const Msp::Time::TimeDelta &); const Msp::Time::TimeDelta &get_current_time() const { return current_time; } + void stop(bool); + bool is_stopped() const { return stopped; } void tick(const Msp::Time::TimeDelta &); + void save(std::list &) const; }; } // namespace R2C2