X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fclock.h;h=469d1916e1de77667cb57bb74b84a719c9da0540;hb=a44355019e5a27da0d5e5287aae74864e4122e1f;hp=0fa5f598f710b61ea7466d42f0cad50d093929f7;hpb=9f4f169affcedcf249e935f93e0a15ed60232f6a;p=r2c2.git diff --git a/source/libr2c2/clock.h b/source/libr2c2/clock.h index 0fa5f59..469d191 100644 --- a/source/libr2c2/clock.h +++ b/source/libr2c2/clock.h @@ -1,22 +1,42 @@ #ifndef LIBR2C2_CLOCK_H_ #define LIBR2C2_CLOCK_H_ +#include +#include #include 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