X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fclock.h;h=621cb2d5df1afa5dcda619d3a60c04337099ceb1;hb=dfeb2d2896fe18e55b1f6c4a8028b7cfb878dede;hp=186e0baab0181b6dfa7947f53ca82ce24a40fc36;hpb=f6f08a66299ab4ac2bd3fca29a528bd609a9a672;p=r2c2.git diff --git a/source/libr2c2/clock.h b/source/libr2c2/clock.h index 186e0ba..621cb2d 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,11 +10,22 @@ namespace R2C2 { class Clock { public: + class Loader: public Msp::DataFile::ObjectLoader + { + public: + Loader(Clock &); + + private: + void time(Msp::Time::RawTime); + }; + sigc::signal signal_minute; + sigc::signal signal_discontinuity; private: Msp::Time::TimeDelta current_time; float rate; + bool stopped; public: Clock(); @@ -22,7 +34,10 @@ public: 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