Fixed reporting of duration needed for capturing timelapse postroll

Needs to be calculated differently for time based and z-triggered. Capture interval
was not taken properly into account.
This commit is contained in:
Gina Häußge 2015-10-02 15:14:05 +02:00
parent 5644b5dc01
commit 9284ff4086
2 changed files with 20 additions and 6 deletions

View file

@ -146,15 +146,23 @@ function DataUpdater(allViewModels) {
hide: false hide: false
}); });
} else if (type == "PostRollStart") { } else if (type == "PostRollStart") {
if (payload.postroll_duration > 60) { var title = gettext("Capturing timelapse postroll");
format = {duration: _.sprintf(gettext("%(minutes)d min"), {minutes: payload.postroll_duration / 60})};
var text;
if (!payload.postroll_duration) {
text = _.sprintf(gettext("Now capturing timelapse post roll, this will take only a moment..."), format);
} else { } else {
format = {duration: _.sprintf(gettext("%(seconds)d sec"), {seconds: payload.postroll_duration})}; if (payload.postroll_duration > 60) {
format = {duration: _.sprintf(gettext("%(minutes)d min"), {minutes: payload.postroll_duration / 60})};
} else {
format = {duration: _.sprintf(gettext("%(seconds)d sec"), {seconds: payload.postroll_duration})};
}
text = _.sprintf(gettext("Now capturing timelapse post roll, this will take approximately %(duration)s..."), format);
} }
new PNotify({ new PNotify({
title: gettext("Capturing timelapse postroll"), title: title,
text: _.sprintf(gettext("Now capturing timelapse post roll, this will take approximately %(duration)s..."), format) text: text
}); });
} else if (type == "SlicingStarted") { } else if (type == "SlicingStarted") {
gcodeUploadProgress.addClass("progress-striped").addClass("active"); gcodeUploadProgress.addClass("progress-striped").addClass("active");

View file

@ -233,7 +233,7 @@ class Timelapse(object):
return f return f
if self._post_roll > 0: if self._post_roll > 0:
eventManager().fire(Events.POSTROLL_START, dict(postroll_duration=self.post_roll * self.fps, postroll_length=self.post_roll, postroll_fps=self.fps)) eventManager().fire(Events.POSTROLL_START, dict(postroll_duration=self.calculate_post_roll(), postroll_length=self.post_roll, postroll_fps=self.fps))
self._post_roll_start = time.time() self._post_roll_start = time.time()
if doCreateMovie: if doCreateMovie:
self._on_post_roll_done = getWaitForCaptures(resetAndCreate) self._on_post_roll_done = getWaitForCaptures(resetAndCreate)
@ -247,6 +247,9 @@ class Timelapse(object):
else: else:
resetImageNumber() resetImageNumber()
def calculate_post_roll(self):
return None
def process_post_roll(self): def process_post_roll(self):
self.post_roll_finished() self.post_roll_finished()
@ -470,6 +473,9 @@ class TimedTimelapse(Timelapse):
self._postroll_captures = self.post_roll * self.fps self._postroll_captures = self.post_roll * self.fps
Timelapse.on_print_done(self, event, payload) Timelapse.on_print_done(self, event, payload)
def calculate_post_roll(self):
return self.post_roll * self.fps * self.interval
def process_post_roll(self): def process_post_roll(self):
pass pass