Unified use of SessionSource in Mixer (import) for SessionFile and

SessionGroup sources.
This commit is contained in:
brunoherbelin
2021-02-09 18:47:54 +01:00
parent 6bb5c0d208
commit 8c4d3f3a18
3 changed files with 9 additions and 7 deletions

View File

@@ -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 );
}
}

View File

@@ -35,7 +35,7 @@ using namespace tinyxml2;
#define THREADED_LOADING
static std::vector< std::future<Session *> > sessionLoaders_;
static std::vector< std::future<Session *> > 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.");

View File

@@ -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