Add static signal to indicate MixerScene changes

This commit is contained in:
Robin Gareus 2022-05-24 20:07:35 +02:00
parent 4d5ac90248
commit 83b5be1add
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 15 additions and 1 deletions

View File

@ -36,6 +36,7 @@ class LIBARDOUR_API MixerScene : public SessionHandleRef, public PBD::Stateful
{
public:
MixerScene (Session&);
~MixerScene ();
void snapshot ();
bool apply () const;
@ -48,6 +49,8 @@ public:
XMLNode& get_state () const;
int set_state (XMLNode const&, int version);
static PBD::Signal0<void> Change;
private:
typedef std::map<PBD::ID, double> ControllableValueMap;

View File

@ -29,9 +29,17 @@
using namespace PBD;
using namespace ARDOUR;
MixerScene::MixerScene(Session& s)
PBD::Signal0<void> MixerScene::Change;
MixerScene::MixerScene (Session& s)
: SessionHandleRef (s)
{
Change (); /* EMIT SIGNAL */
}
MixerScene::~MixerScene ()
{
Change (); /* EMIT SIGNAL */
}
bool
@ -40,6 +48,7 @@ MixerScene::set_name (std::string const& name)
if (_name != name) {
_name = name;
_session.set_dirty ();
Change (); /* EMIT SIGNAL */
}
return true;
}
@ -49,6 +58,7 @@ MixerScene::clear ()
{
_ctrl_map.clear ();
_name.clear ();
Change (); /* EMIT SIGNAL */
}
void
@ -65,6 +75,7 @@ MixerScene::snapshot ()
_ctrl_map[c->id ()] = c->get_save_value ();
}
_session.set_dirty ();
Change (); /* EMIT SIGNAL */
}
bool