From 8c4d3f3a18479f9c7f6e131a9eb74c45e4894dfd Mon Sep 17 00:00:00 2001 From: brunoherbelin Date: Tue, 9 Feb 2021 18:47:54 +0100 Subject: [PATCH] Unified use of SessionSource in Mixer (import) for SessionFile and SessionGroup sources. --- ImGuiVisitor.cpp | 2 +- Mixer.cpp | 8 ++++---- Mixer.h | 6 ++++-- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ImGuiVisitor.cpp b/ImGuiVisitor.cpp index 16ca773..c2389c7 100644 --- a/ImGuiVisitor.cpp +++ b/ImGuiVisitor.cpp @@ -511,7 +511,7 @@ void ImGuiVisitor::visit (SessionGroupSource& s) ImGui::Text("Group"); if ( ImGui::Button( ICON_FA_FILE_EXPORT " Ungroup", ImVec2(IMGUI_RIGHT_ALIGN, 0)) ){ -// Mixer::manager().import( &s ); + Mixer::manager().import( &s ); } } diff --git a/Mixer.cpp b/Mixer.cpp index 4692c14..ab1993f 100644 --- a/Mixer.cpp +++ b/Mixer.cpp @@ -35,7 +35,7 @@ using namespace tinyxml2; #define THREADED_LOADING static std::vector< std::future > sessionLoaders_; static std::vector< std::future > sessionImporters_; -static std::vector< SessionFileSource * > sessionSourceToImport_; +static std::vector< SessionSource * > sessionSourceToImport_; const std::chrono::milliseconds timeout_ = std::chrono::milliseconds(4); @@ -168,7 +168,7 @@ void Mixer::update() // if there is a session source to import if (!sessionSourceToImport_.empty()) { // get the session source to be imported - SessionFileSource *source = sessionSourceToImport_.back(); + SessionSource *source = sessionSourceToImport_.back(); // merge the session inside this session source merge( source ); // important: delete the sessionsource itself @@ -992,7 +992,7 @@ void Mixer::import(const std::string& filename) #endif } -void Mixer::import(SessionFileSource *source) +void Mixer::import(SessionSource *source) { sessionSourceToImport_.push_back( source ); } @@ -1027,7 +1027,7 @@ void Mixer::merge(Session *session) current_view_->update(0.f); } -void Mixer::merge(SessionFileSource *source) +void Mixer::merge(SessionSource *source) { if ( source == nullptr ) { Log::Warning("Failed to import Session Source."); diff --git a/Mixer.h b/Mixer.h index f972d26..d25e9d2 100644 --- a/Mixer.h +++ b/Mixer.h @@ -5,6 +5,8 @@ #include "Session.h" #include "Selection.h" +class SessionSource; + class Mixer { // Private Constructor @@ -88,9 +90,9 @@ public: void saveas (const std::string& filename); void load (const std::string& filename); void import (const std::string& filename); - void import (SessionFileSource *source); + void import (SessionSource *source); void merge (Session *session); - void merge (SessionFileSource *source); + void merge (SessionSource *source); void set (Session *session); // operations depending on transition mode