diff --git a/src/octoprint/static/js/app/viewmodels/timelapse.js b/src/octoprint/static/js/app/viewmodels/timelapse.js index 2098d9d2..8d3ee603 100644 --- a/src/octoprint/static/js/app/viewmodels/timelapse.js +++ b/src/octoprint/static/js/app/viewmodels/timelapse.js @@ -281,13 +281,13 @@ $(function() { self.onEventMovieRendering = function(payload) { self.displayTimelapsePopup({ title: gettext("Rendering timelapse"), - text: _.sprintf(gettext("Now rendering timelapse %(movie_basename)s. Due to performance reasons it is not recommended to start a print job while a movie is still rendering."), payload), + text: _.sprintf(gettext("Now rendering timelapse %(movie_prefix)s. Due to performance reasons it is not recommended to start a print job while a movie is still rendering."), payload), hide: false }); }; self.onEventMovieFailed = function(payload) { - var html = "

" + _.sprintf(gettext("Rendering of timelapse %(movie_basename)s failed with return code %(returncode)s"), payload) + "

"; + var html = "

" + _.sprintf(gettext("Rendering of timelapse %(movie_prefix)s failed with return code %(returncode)s"), payload) + "

"; html += pnotifyAdditionalInfo('
' + payload.error + '
'); self.displayTimelapsePopup({ @@ -301,7 +301,7 @@ $(function() { self.onEventMovieDone = function(payload) { self.displayTimelapsePopup({ title: gettext("Timelapse ready"), - text: _.sprintf(gettext("New timelapse %(movie_basename)s is done rendering."), payload), + text: _.sprintf(gettext("New timelapse %(movie_prefix)s is done rendering."), payload), type: "success", callbacks: { before_close: function(notice) { diff --git a/src/octoprint/timelapse.py b/src/octoprint/timelapse.py index f4e349d1..026a897d 100644 --- a/src/octoprint/timelapse.py +++ b/src/octoprint/timelapse.py @@ -198,7 +198,8 @@ def _create_render_start_handler(name, gcode=None): global current_render_job event_payload = {"gcode": gcode if gcode is not None else "unknown", "movie": movie, - "movie_basename": os.path.basename(movie)} + "movie_basename": os.path.basename(movie), + "movie_prefix": name} current_render_job = dict(prefix=name) current_render_job.update(event_payload) eventManager().fire(Events.MOVIE_RENDERING, event_payload) @@ -210,7 +211,8 @@ def _create_render_success_handler(name, gcode=None): delete_unrendered_timelapse(name) event_payload = {"gcode": gcode if gcode is not None else "unknown", "movie": movie, - "movie_basename": os.path.basename(movie)} + "movie_basename": os.path.basename(movie), + "movie_prefix": name} eventManager().fire(Events.MOVIE_DONE, event_payload) return f @@ -219,7 +221,8 @@ def _create_render_fail_handler(name, gcode=None): def f(movie, returncode=255, stdout="Unknown error", stderr="Unknown error"): event_payload = {"gcode": gcode if gcode is not None else "unknown", "movie": movie, - "movie_basename": os.path.basename(movie)} + "movie_basename": os.path.basename(movie), + "movie_prefix": name} payload = dict(event_payload) payload.update(dict(returncode=returncode, error=stderr)) eventManager().fire(Events.MOVIE_FAILED, payload) @@ -229,7 +232,9 @@ def _create_render_fail_handler(name, gcode=None): def _create_render_always_handler(name, gcode=None): def f(movie): global current_render_job - current_render_job = None + global _job_lock + with _job_lock: + current_render_job = None return f