mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-12 10:49:59 +01:00
Work in progress: undo & redo of mixing group creation and delete
actions.
This commit is contained in:
34
Session.h
34
Session.h
@@ -40,7 +40,7 @@ public:
|
||||
SourceList::iterator find (std::string name);
|
||||
SourceList::iterator find (Node *node);
|
||||
SourceList::iterator find (float depth_from, float depth_to);
|
||||
SourceList depthSorted() const;
|
||||
SourceList getDepthSortedList () const;
|
||||
|
||||
SourceList::iterator find (uint64_t id);
|
||||
SourceIdList getIdList() const;
|
||||
@@ -57,44 +57,44 @@ public:
|
||||
inline bool active () { return active_; }
|
||||
|
||||
// return the last source which failed
|
||||
Source *failedSource() { return failedSource_; }
|
||||
Source *failedSource () { return failedSource_; }
|
||||
|
||||
// get frame result of render
|
||||
inline FrameBuffer *frame () const { return render_.frame(); }
|
||||
|
||||
// configure rendering resolution
|
||||
void setResolution(glm::vec3 resolution, bool useAlpha = false);
|
||||
void setResolution (glm::vec3 resolution, bool useAlpha = false);
|
||||
|
||||
// manipulate fading of output
|
||||
void setFading(float f, bool forcenow = false);
|
||||
inline float fading() const { return fading_target_; }
|
||||
void setFading (float f, bool forcenow = false);
|
||||
inline float fading () const { return fading_target_; }
|
||||
|
||||
// configuration for group nodes of views
|
||||
inline Group *config (View::Mode m) const { return config_.at(m); }
|
||||
|
||||
// name of file containing this session (for transfer)
|
||||
void setFilename(const std::string &filename) { filename_ = filename; }
|
||||
std::string filename() const { return filename_; }
|
||||
void setFilename (const std::string &filename) { filename_ = filename; }
|
||||
std::string filename () const { return filename_; }
|
||||
|
||||
// mixing group
|
||||
bool addMixingGroup(MixingGroup *mg);
|
||||
MixingGroup *createMixingGroup (SourceList sources);
|
||||
std::vector<MixingGroup *>::iterator eraseMixingGroup (std::vector<MixingGroup *>::iterator g);
|
||||
void createMixingGroups (std::list<SourceList> groups);
|
||||
uint numMixingGroup() const;
|
||||
std::vector<MixingGroup *>::iterator beginMixingGroup();
|
||||
std::vector<MixingGroup *>::iterator endMixingGroup();
|
||||
bool updateMixingGroup (SourceList sources, Group *parent = nullptr);
|
||||
bool removeMixingGroup (SourceList sources);
|
||||
MixingGroup *lastMixingGroup ();
|
||||
std::list<SourceList> getMixingGroups () const;
|
||||
std::list<MixingGroup *>::iterator beginMixingGroup ();
|
||||
std::list<MixingGroup *>::iterator endMixingGroup ();
|
||||
std::list<MixingGroup *>::iterator deleteMixingGroup (std::list<MixingGroup *>::iterator g);
|
||||
|
||||
// lock and unlock access (e.g. while saving)
|
||||
void lock();
|
||||
void unlock();
|
||||
void lock ();
|
||||
void unlock ();
|
||||
|
||||
protected:
|
||||
RenderView render_;
|
||||
std::string filename_;
|
||||
Source *failedSource_;
|
||||
SourceList sources_;
|
||||
std::vector<MixingGroup *> mixing_groups_;
|
||||
std::list<MixingGroup *> mixing_groups_;
|
||||
std::map<View::Mode, Group*> config_;
|
||||
bool active_;
|
||||
std::list<FrameGrabber *> grabbers_;
|
||||
|
||||
Reference in New Issue
Block a user