diff options
| author | Tim Redfern <tim@eclectronics.org> | 2013-11-08 10:43:55 +0000 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2013-11-08 10:43:55 +0000 |
| commit | b0a84b45721643298870322bd2335e20c359b10d (patch) | |
| tree | 84ece9bd8d0d3cb68c2f27a54d60bebcc1f8d259 /rotord/src | |
| parent | a22751cac56d143e41f1336b962d83032e06dd61 (diff) | |
fix log disable
Diffstat (limited to 'rotord/src')
| -rw-r--r-- | rotord/src/rotor.h | 31 | ||||
| -rw-r--r-- | rotord/src/rotord.h | 2 |
2 files changed, 33 insertions, 0 deletions
diff --git a/rotord/src/rotor.h b/rotord/src/rotor.h index a54fedd..2720e47 100644 --- a/rotord/src/rotor.h +++ b/rotord/src/rotor.h @@ -396,6 +396,9 @@ namespace Rotor { description="Cycles through video inputs according to selector signal"; duplicate_inputs=true; UID="93dd9d76-2d09-11e3-9589-5bbbeea1b304"; + segment=0; + segment_start=0.0f; + lastframe=0; } Video_cycler(map<string,string> &settings):Video_cycler() { base_settings(settings); @@ -408,6 +411,34 @@ namespace Rotor { int im2=(im1+1)%image_inputs.size(); //work out timing + float ph=inputs[0]->get((Time_spec)frame); + int seg=((int)ph); + int thisframe=((Time_spec)frame).frame(); + if(thisframe==lastframe||thisframe==lastframe+1){ + if (segment!=seg){ + //start of new segment + cerr<<"Video_cycler: segment "<<seg<<" started: "<<((Time_spec)frame).time<<endl; + segment=seg; + segment_start=((Time_spec)frame).time; + } + } + else { + if (thisframe==0){ + segment_start=0.0f; + segment=seg; + } + else { + //find segment start + Time_spec testframe=(Time_spec)frame.lastframe(); + while ((int)inputs[0]->get(testframe)==seg&&testframe.frame()>0){ + testframe=testframe.lastframe(); + + } + segment_start=testframe.time; + segment=seg; + } + } + float wanted=(((Time_spec)frame).time-segment_start); float f=fmod(inputs[0]->get((Time_spec)frame),1.0f); Image *in1=image_inputs[im1]->get(frame); diff --git a/rotord/src/rotord.h b/rotord/src/rotord.h index 6324fd2..dd6a25c 100644 --- a/rotord/src/rotord.h +++ b/rotord/src/rotord.h @@ -142,6 +142,8 @@ int main(int argc, char** argv) AutoPtr<Formatter> formatter(new PatternFormatter("%d-%m-%Y %H:%M:%S %s: %t")); AutoPtr<Channel> formattingChannel(new FormattingChannel(formatter, splitterChannel)); + Logger& sLog = Logger::create("Rotor", formattingChannel, Message::PRIO_TRACE); + Logger& logger = Logger::get("Rotor"); logger.information("starting rendering daemon"); |
