diff --git a/InfoVisitor.cpp b/InfoVisitor.cpp index ef0e365..8cc776a 100644 --- a/InfoVisitor.cpp +++ b/InfoVisitor.cpp @@ -148,17 +148,16 @@ void InfoVisitor::visit (SessionFileSource& s) return; std::ostringstream oss; - - if (s.session()->frame()){ + if (s.session()->frame()){ + std::string numsource = std::to_string(s.session()->numSource()) + " source" + (s.session()->numSource()>1 ? "s" : ""); if (brief_) { - oss << SystemToolkit::filename(s.path()) << " ("; - oss << s.session()->numSource() << " sources)" << std::endl; - oss << "RGB, "; - oss << s.session()->frame()->width() << " x " << s.session()->frame()->height(); + oss << SystemToolkit::filename(s.path()) << std::endl; + oss << numsource << ", " ; + oss << "RGB, " << s.session()->frame()->width() << " x " << s.session()->frame()->height(); } else { oss << s.path() << std::endl; - oss << "RGB" << std::endl; + oss << "MIX session (" << numsource << "), RGB" << std::endl; oss << s.session()->frame()->width() << " x " << s.session()->frame()->height(); } } @@ -173,10 +172,17 @@ void InfoVisitor::visit (SessionGroupSource& s) return; std::ostringstream oss; - oss << s.session()->numSource() << " sources in group" << std::endl; if (s.session()->frame()){ - oss << "RGB, "; - oss << s.session()->frame()->width() << " x " << s.session()->frame()->height(); + std::string numsource = std::to_string(s.session()->numSource()) + " source" + (s.session()->numSource()>1 ? "s" : ""); + if (brief_) { + oss << numsource << ", " ; + oss << "RGB, " << s.session()->frame()->width() << " x " << s.session()->frame()->height(); + } + else { + oss << "Group of " << numsource << std::endl; + oss << "RGB" << std::endl; + oss << s.session()->frame()->width() << " x " << s.session()->frame()->height(); + } } information_ = oss.str(); diff --git a/SessionSource.cpp b/SessionSource.cpp index 028c96f..54e39c7 100644 --- a/SessionSource.cpp +++ b/SessionSource.cpp @@ -119,6 +119,16 @@ void SessionSource::update(float dt) } +void SessionSource::play (bool on) +{ + paused_ = !on; + + if (session_) { + for( SourceList::iterator it = session_->begin(); it != session_->end(); ++it) + (*it)->setActive(!paused_); + } +} + void SessionSource::replay () { if (session_) { diff --git a/SessionSource.h b/SessionSource.h index 0f01b01..b25b19e 100644 --- a/SessionSource.h +++ b/SessionSource.h @@ -15,7 +15,7 @@ public: void update (float dt) override; void setActive (bool on) override; bool playing () const override { return !paused_; } - void play (bool on) override { paused_ = !on; } + void play (bool on) override; bool playable () const override { return true; } guint64 playtime () const override { return timer_; } void replay () override; diff --git a/UserInterfaceManager.cpp b/UserInterfaceManager.cpp index 8fa6cf9..5a6a622 100644 --- a/UserInterfaceManager.cpp +++ b/UserInterfaceManager.cpp @@ -215,7 +215,7 @@ bool UserInterface::Init() // init dialogs sessionopendialog = new DialogToolkit::OpenSessionDialog("Open Session"); sessionsavedialog = new DialogToolkit::SaveSessionDialog("Save Session"); - sessionimportdialog = new DialogToolkit::OpenSessionDialog("Import Session"); + sessionimportdialog = new DialogToolkit::OpenSessionDialog("Import Sources"); // init tooltips ImGuiToolkit::setToolTipsEnabled(Settings::application.show_tooptips);