RadioMenuItem::Group group;
+ _suspend_menu_callbacks = true;
add_level_meter_item (items, group, _("Peak"), MeterPeak);
add_level_meter_item (items, group, _("RMS"), MeterKrms);
m->popup (ev->button, ev->time);
+ _suspend_menu_callbacks = false;
}
void
void
MeterStrip::set_meter_type (MeterType m)
{
+ if (_suspend_menu_callbacks) return;
level_meter->set_type (m);
- //_route->set_meter_type(m);
}
void
void parameter_changed (std::string const & p);
void redraw_metrics ();
+ bool _suspend_menu_callbacks;
bool level_meter_button_press (GdkEventButton* ev);
void popup_level_meter_menu (GdkEventButton* ev);
void add_level_meter_item (Gtk::Menu_Helpers::MenuList& items, Gtk::RadioMenuItem::Group& group, std::string const & name, ARDOUR::MeterType mode);
RadioMenuItem::Group group;
+ _suspend_menu_callbacks = true;
add_level_meter_item_point (items, group, _("Input"), MeterInput);
add_level_meter_item_point (items, group, _("Pre-fader"), MeterPreFader);
add_level_meter_item_point (items, group, _("Post-fader"), MeterPostFader);
add_level_meter_item_type (items, tgroup, _("RMS"), MeterKrms);
m->popup (ev->button, ev->time);
+ _suspend_menu_callbacks = false;
}
void
void
MixerStrip::set_meter_point (MeterPoint p)
{
+ if (_suspend_menu_callbacks) return;
_route->set_meter_point (p);
}
void
MixerStrip::set_meter_type (MeterType t)
{
- //_route->set_meter_type (t);
+ if (_suspend_menu_callbacks) return;
gpm.set_type (t);
}
void add_input_port (ARDOUR::DataType);
void add_output_port (ARDOUR::DataType);
+ bool _suspend_menu_callbacks;
bool level_meter_button_press (GdkEventButton *);
void popup_level_meter_menu (GdkEventButton *);
void add_level_meter_item_point (Gtk::Menu_Helpers::MenuList &, Gtk::RadioMenuItem::Group &, std::string const &, ARDOUR::MeterPoint);
void
PeakMeter::set_type(MeterType t)
{
+ if (t == _meter_type) {
+ return;
+ }
+
_meter_type = t;
if (t & MeterKrms) {