diff --git a/app/task/export/export.cpp b/app/task/export/export.cpp index 425d51f7b..8c4f50c82 100644 --- a/app/task/export/export.cpp +++ b/app/task/export/export.cpp @@ -28,10 +28,18 @@ namespace olive { ExportTask::ExportTask(ViewerOutput *viewer_node, ColorManager* color_manager, const ExportParams& params) : - RenderTask(viewer_node, params.video_params(), params.audio_params()), color_manager_(color_manager), params_(params) { + set_viewer(viewer_node); + + // Adjust video params to have no divider + VideoParams vp = viewer_node->GetVideoParams(); + vp.set_divider(1); + set_video_params(vp); + + set_audio_params(viewer_node->GetAudioParams()); + SetTitle(tr("Exporting \"%1\"").arg(viewer_node->GetLabel())); SetNativeProgressSignallingEnabled(false); } diff --git a/app/task/precache/precachetask.cpp b/app/task/precache/precachetask.cpp index 2f207cf9c..4d7bd5a8f 100644 --- a/app/task/precache/precachetask.cpp +++ b/app/task/precache/precachetask.cpp @@ -24,13 +24,17 @@ namespace olive { -PreCacheTask::PreCacheTask(Footage *footage, int index, Sequence* sequence) : - RenderTask(new ViewerOutput(), sequence->GetVideoParams(), sequence->GetAudioParams()) +PreCacheTask::PreCacheTask(Footage *footage, int index, Sequence* sequence) { + // Set video and audio params + set_video_params(sequence->GetVideoParams()); + set_audio_params(sequence->GetAudioParams()); + // Create new project project_ = new Project(); // Create viewer with same parameters as the sequence + set_viewer(new ViewerOutput()); viewer()->setParent(project_); viewer()->SetVideoParams(sequence->GetVideoParams()); viewer()->SetAudioParams(sequence->GetAudioParams()); diff --git a/app/task/render/render.cpp b/app/task/render/render.cpp index 2f78a9ff0..ff5072d90 100644 --- a/app/task/render/render.cpp +++ b/app/task/render/render.cpp @@ -26,10 +26,7 @@ namespace olive { -RenderTask::RenderTask(ViewerOutput *viewer, const VideoParams &vparams, const AudioParams &aparams) : - viewer_(viewer), - video_params_(vparams), - audio_params_(aparams), +RenderTask::RenderTask() : running_tickets_(0), native_progress_signalling_(true) { diff --git a/app/task/render/render.h b/app/task/render/render.h index a41d9a55e..dd1e3fddb 100644 --- a/app/task/render/render.h +++ b/app/task/render/render.h @@ -36,7 +36,7 @@ class RenderTask : public Task { Q_OBJECT public: - RenderTask(ViewerOutput* viewer, const VideoParams &vparams, const AudioParams &aparams); + RenderTask(); virtual ~RenderTask() override; @@ -62,16 +62,31 @@ protected: return viewer_; } + void set_viewer(ViewerOutput *v) + { + viewer_ = v; + } + const VideoParams& video_params() const { return video_params_; } + void set_video_params(const VideoParams& video_params) + { + video_params_ = video_params; + } + const AudioParams& audio_params() const { return audio_params_; } + void set_audio_params(const AudioParams& audio_params) + { + audio_params_ = audio_params; + } + virtual void CancelEvent() override { finished_watcher_mutex_.lock();