New Session and Mixer mechanism for Failed sources

When a source in a session fails, it is not anymore deleted after update; the Mixer keeps it in the session but detaches it from the scene. This way the user can access the failed source in the navigator (listed in RED), and Replace the source. The Replacement of source is available for any source. The source visitor does not skip a visit if the source failed.
This commit is contained in:
Bruno Herbelin
2023-01-29 14:33:35 +01:00
parent 48f1df2fd6
commit 5ce465cb30
18 changed files with 340 additions and 218 deletions

View File

@@ -94,8 +94,8 @@ public:
void setActive (bool on);
inline bool active () { return active_; }
// return the last source which failed
Source *failedSource () { return failedSource_; }
// return the list of sources which failed
SourceListUnique failedSources () const { return failed_; }
// get frame result of render
inline FrameBuffer *frame () const { return render_.frame(); }
@@ -183,7 +183,7 @@ protected:
float activation_threshold_;
RenderView render_;
std::string filename_;
Source *failedSource_;
SourceListUnique failed_;
SourceList sources_;
void validate(SourceList &sources);
std::list<SessionNote> notes_;