#include <gtkmm2ext/tearoff.h>
#include <gtkmm2ext/window_title.h>
-#include "ardour/audio_diskstream.h"
#include "ardour/audio_track.h"
#include "ardour/plugin_manager.h"
#include "ardour/route_group.h"
_session->route_group_removed.connect (_session_connections, invalidator (*this), boost::bind (&Mixer_UI::route_groups_changed, this), gui_context());
_session->config.ParameterChanged.connect (_session_connections, invalidator (*this), ui_bind (&Mixer_UI::parameter_changed, this, _1), gui_context());
+ Config->ParameterChanged.connect (*this, invalidator (*this), ui_bind (&Mixer_UI::parameter_changed, this, _1), gui_context ());
+
route_groups_changed ();
if (_visible) {
delete (*i);
}
- _monitor_section->tearoff().hide_visible ();
+ if (_monitor_section) {
+ _monitor_section->tearoff().hide_visible ();
+ }
strips.clear ();
}
void
-Mixer_UI::group_flags_changed (void* src, RouteGroup* group)
+Mixer_UI::route_group_property_changed (RouteGroup* group, const PropertyChange& change)
{
if (in_group_row_change) {
return;
}
- ENSURE_GUI_THREAD (*this, &Mixer_UI::group_flags_changed, src, group)
-
/* force an update of any mixer strips that are using this group,
otherwise mix group names don't change in mixer strips
*/
in_group_row_change = false;
- _group_tabs->set_dirty ();
+ if (change.contains (Properties::name)) {
+ _group_tabs->set_dirty ();
+ }
}
void
focus = true;
}
- group->FlagsChanged.connect (*this, invalidator (*this), ui_bind (&Mixer_UI::group_flags_changed, this, _1, group), gui_context());
+ group->PropertyChanged.connect (*this, invalidator (*this), ui_bind (&Mixer_UI::route_group_property_changed, this, group, _1), gui_context());
if (focus) {
TreeViewColumn* col = group_display.get_column (0);
} else {
_group_tabs->hide ();
}
+ } else if (p == "default-narrow_ms") {
+ bool const s = Config->get_default_narrow_ms ();
+ for (list<MixerStrip*>::iterator i = strips.begin(); i != strips.end(); ++i) {
+ (*i)->set_width_enum (s ? Narrow : Wide, this);
+ }
}
}