X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fclock.cpp;h=6812aeba109bb05f10f3038c30ac19777a88dc39;hb=f0aa8913aa1f4df37b87dcedbc257febb0e101a1;hp=93828cb90e5d87f728b4265a3bbed3f48ca03405;hpb=9b07b35fd438f077896652258ac26453fc1c15dc;p=r2c2.git diff --git a/source/libr2c2/clock.cpp b/source/libr2c2/clock.cpp index 93828cb..6812aeb 100644 --- a/source/libr2c2/clock.cpp +++ b/source/libr2c2/clock.cpp @@ -6,7 +6,8 @@ using namespace Msp; namespace R2C2 { Clock::Clock(): - rate(1) + rate(1), + stopped(false) { } void Clock::set_rate(float s) @@ -17,10 +18,19 @@ void Clock::set_rate(float s) void Clock::set_current_time(const Time::TimeDelta &t) { current_time = t; + signal_discontinuity.emit(); +} + +void Clock::stop(bool s) +{ + stopped = s; } void Clock::tick(const Time::TimeDelta &dt) { + if(stopped) + return; + unsigned prev_minute = current_time/Time::min; current_time += dt*rate; if(current_time>=Time::day)