From 3853ef023ece97b0d00a4079173c17c44c69ef39 Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Sat, 5 Nov 2022 12:37:38 -0700 Subject: [PATCH] exporttask: make copy of project Fixes #2037 --- app/task/export/export.cpp | 8 ++++++-- app/task/export/export.h | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/task/export/export.cpp b/app/task/export/export.cpp index 017fc59fb..397a0eda8 100644 --- a/app/task/export/export.cpp +++ b/app/task/export/export.cpp @@ -28,10 +28,14 @@ namespace olive { ExportTask::ExportTask(ViewerOutput *viewer_node, ColorManager* color_manager, const EncodingParams& params) : - color_manager_(color_manager), params_(params) { - set_viewer(viewer_node); + // Create a copy of the project + copier_ = new ProjectCopier(this); + copier_->SetProject(viewer_node->project()); + + set_viewer(copier_->GetCopy(viewer_node)); + color_manager_ = copier_->GetCopy(color_manager); // Adjust video params to have no divider VideoParams vp = viewer_node->GetVideoParams(); diff --git a/app/task/export/export.h b/app/task/export/export.h index 7dcd8cf99..7a367c6b2 100644 --- a/app/task/export/export.h +++ b/app/task/export/export.h @@ -24,6 +24,7 @@ #include "codec/encoder.h" #include "node/output/viewer/viewer.h" #include "render/colorprocessor.h" +#include "render/projectcopier.h" #include "task/render/render.h" #include "task/task.h" @@ -52,6 +53,8 @@ protected: private: bool WriteAudioLoop(const TimeRange &time, const SampleBuffer &samples); + ProjectCopier *copier_; + QHash time_map_; QHash audio_map_;