diff --git a/app/task/project/CMakeLists.txt b/app/task/project/CMakeLists.txt
index 4b7bab31f..c88f4a35c 100644
--- a/app/task/project/CMakeLists.txt
+++ b/app/task/project/CMakeLists.txt
@@ -14,10 +14,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
+add_subdirectory(exportotio)
add_subdirectory(import)
add_subdirectory(load)
add_subdirectory(save)
-add_subdirectory(saveotio)
set(OLIVE_SOURCES
${OLIVE_SOURCES}
diff --git a/app/task/project/saveotio/CMakeLists.txt b/app/task/project/exportotio/CMakeLists.txt
similarity index 88%
rename from app/task/project/saveotio/CMakeLists.txt
rename to app/task/project/exportotio/CMakeLists.txt
index 033c7457e..b604d7a1e 100644
--- a/app/task/project/saveotio/CMakeLists.txt
+++ b/app/task/project/exportotio/CMakeLists.txt
@@ -16,7 +16,7 @@
set(OLIVE_SOURCES
${OLIVE_SOURCES}
- task/project/saveotio/projectsaveasotiotask.h
- task/project/saveotio/projectsaveasotiotask.cpp
+ task/project/exportotio/exportotiotask.h
+ task/project/exportotio/exportotiotask.cpp
PARENT_SCOPE
)
diff --git a/app/task/project/saveotio/projectsaveasotiotask.cpp b/app/task/project/exportotio/exportotiotask.cpp
similarity index 85%
rename from app/task/project/saveotio/projectsaveasotiotask.cpp
rename to app/task/project/exportotio/exportotiotask.cpp
index cc52260a0..5acef888b 100644
--- a/app/task/project/saveotio/projectsaveasotiotask.cpp
+++ b/app/task/project/exportotio/exportotiotask.cpp
@@ -18,7 +18,7 @@
***/
-#include "projectsaveasotiotask.h"
+#include "exportotiotask.h"
#include
#include
@@ -29,21 +29,20 @@
OLIVE_NAMESPACE_ENTER
-ProjectSaveAsOTIOTask::ProjectSaveAsOTIOTask(Sequence *sequence) :
- sequence_(sequence)
+ExportOTIOTask::ExportOTIOTask(ViewerOutput *sequence, const QString &filename) :
+ sequence_(sequence),
+ filename_(filename)
{
- SetTitle(tr("Saving '%1' as OpenTimelineIO").arg(sequence->name()));
+ SetTitle(tr("Saving '%1' as OpenTimelineIO").arg(sequence_->media_name()));
}
-bool ProjectSaveAsOTIOTask::Run()
+bool ExportOTIOTask::Run()
{
auto otio_timeline = new opentimelineio::v1_0::Timeline();
- ViewerOutput* viewer = sequence_->viewer_output();
-
opentimelineio::v1_0::ErrorStatus es;
- foreach (TrackOutput* track, viewer->track_list(Timeline::kTrackTypeVideo)->GetTracks()) {
+ foreach (TrackOutput* track, sequence_->track_list(Timeline::kTrackTypeVideo)->GetTracks()) {
auto otio_track = new opentimelineio::v1_0::Track();
otio_track->set_kind("Video");
@@ -105,7 +104,9 @@ bool ProjectSaveAsOTIOTask::Run()
}
}
- return true;
+ otio_timeline->to_json_file(filename_.toStdString(), &es);
+
+ return (es == opentimelineio::v1_0::ErrorStatus::OK);
}
OLIVE_NAMESPACE_EXIT
diff --git a/app/task/project/saveotio/projectsaveasotiotask.h b/app/task/project/exportotio/exportotiotask.h
similarity index 86%
rename from app/task/project/saveotio/projectsaveasotiotask.h
rename to app/task/project/exportotio/exportotiotask.h
index b64495c1f..5f5f77684 100644
--- a/app/task/project/saveotio/projectsaveasotiotask.h
+++ b/app/task/project/exportotio/exportotiotask.h
@@ -26,17 +26,19 @@
OLIVE_NAMESPACE_ENTER
-class ProjectSaveAsOTIOTask : public Task
+class ExportOTIOTask : public Task
{
Q_OBJECT
public:
- ProjectSaveAsOTIOTask(Sequence* sequence);
+ ExportOTIOTask(ViewerOutput* sequence, const QString& filename);
protected:
virtual bool Run() override;
private:
- Sequence* sequence_;
+ ViewerOutput* sequence_;
+
+ QString filename_;
};