X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fclock.h;h=621cb2d5df1afa5dcda619d3a60c04337099ceb1;hb=9e96d36a21c24befc88c7bf9c1014c22169e3a6a;hp=0fa5f598f710b61ea7466d42f0cad50d093929f7;hpb=9f4f169affcedcf249e935f93e0a15ed60232f6a;p=r2c2.git diff --git a/source/libr2c2/clock.h b/source/libr2c2/clock.h index 0fa5f59..621cb2d 100644 --- a/source/libr2c2/clock.h +++ b/source/libr2c2/clock.h @@ -1,22 +1,43 @@ #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; + sigc::signal signal_discontinuity; + 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