Prefer using RAII to suspend signals
This commit is contained in:
parent
3bc9281c31
commit
64e1d691ec
@ -5438,7 +5438,7 @@ ARDOUR_UI::popup_editor_meter_menu (GdkEventButton* ev)
|
|||||||
|
|
||||||
RadioMenuItem::Group group;
|
RadioMenuItem::Group group;
|
||||||
|
|
||||||
_suspend_editor_meter_callbacks = true;
|
PBD::Unwinder<bool> uw (_suspend_editor_meter_callbacks, true);
|
||||||
add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak), MeterPeak);
|
add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak), MeterPeak);
|
||||||
add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak0dB), MeterPeak0dB);
|
add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak0dB), MeterPeak0dB);
|
||||||
add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterKrms), MeterKrms);
|
add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterKrms), MeterKrms);
|
||||||
@ -5452,7 +5452,6 @@ ARDOUR_UI::popup_editor_meter_menu (GdkEventButton* ev)
|
|||||||
add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterVU), MeterVU);
|
add_editor_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterVU), MeterVU);
|
||||||
|
|
||||||
m->popup (ev->button, ev->time);
|
m->popup (ev->button, ev->time);
|
||||||
_suspend_editor_meter_callbacks = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
@ -21,6 +21,8 @@
|
|||||||
|
|
||||||
#include <sigc++/bind.h>
|
#include <sigc++/bind.h>
|
||||||
|
|
||||||
|
#include "pbd/unwind.h"
|
||||||
|
|
||||||
#include "ardour/logmeter.h"
|
#include "ardour/logmeter.h"
|
||||||
#include "ardour/session.h"
|
#include "ardour/session.h"
|
||||||
#include "ardour/route.h"
|
#include "ardour/route.h"
|
||||||
@ -840,7 +842,7 @@ MeterStrip::popup_level_meter_menu (GdkEventButton* ev)
|
|||||||
|
|
||||||
RadioMenuItem::Group group;
|
RadioMenuItem::Group group;
|
||||||
|
|
||||||
_suspend_menu_callbacks = true;
|
PBD::Unwinder<bool> uw (_suspend_menu_callbacks, true);
|
||||||
add_level_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak), MeterPeak);
|
add_level_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak), MeterPeak);
|
||||||
add_level_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak0dB), MeterPeak0dB);
|
add_level_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterPeak0dB), MeterPeak0dB);
|
||||||
add_level_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterKrms), MeterKrms);
|
add_level_meter_type_item (items, group, ArdourMeter::meter_type_string(MeterKrms), MeterKrms);
|
||||||
@ -865,7 +867,6 @@ MeterStrip::popup_level_meter_menu (GdkEventButton* ev)
|
|||||||
sigc::bind (SetMeterTypeMulti, _strip_type, _route->route_group(), cmt)));
|
sigc::bind (SetMeterTypeMulti, _strip_type, _route->route_group(), cmt)));
|
||||||
|
|
||||||
m->popup (ev->button, ev->time);
|
m->popup (ev->button, ev->time);
|
||||||
_suspend_menu_callbacks = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
@ -892,7 +893,7 @@ MeterStrip::popup_name_label_menu (GdkEventButton* ev)
|
|||||||
|
|
||||||
RadioMenuItem::Group group;
|
RadioMenuItem::Group group;
|
||||||
|
|
||||||
_suspend_menu_callbacks = true;
|
PBD::Unwinder<bool> uw (_suspend_menu_callbacks, true);
|
||||||
add_label_height_item (items, group, _("Variable height"), 0);
|
add_label_height_item (items, group, _("Variable height"), 0);
|
||||||
add_label_height_item (items, group, _("Short"), 1);
|
add_label_height_item (items, group, _("Short"), 1);
|
||||||
add_label_height_item (items, group, _("Tall"), 2);
|
add_label_height_item (items, group, _("Tall"), 2);
|
||||||
@ -900,7 +901,6 @@ MeterStrip::popup_name_label_menu (GdkEventButton* ev)
|
|||||||
add_label_height_item (items, group, _("Venti"), 4);
|
add_label_height_item (items, group, _("Venti"), 4);
|
||||||
|
|
||||||
m->popup (ev->button, ev->time);
|
m->popup (ev->button, ev->time);
|
||||||
_suspend_menu_callbacks = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "pbd/enumwriter.h"
|
#include "pbd/enumwriter.h"
|
||||||
#include "pbd/replace_all.h"
|
#include "pbd/replace_all.h"
|
||||||
#include "pbd/stacktrace.h"
|
#include "pbd/stacktrace.h"
|
||||||
|
#include "pbd/unwind.h"
|
||||||
|
|
||||||
#include "ardour/amp.h"
|
#include "ardour/amp.h"
|
||||||
#include "ardour/audio_track.h"
|
#include "ardour/audio_track.h"
|
||||||
@ -2524,7 +2525,7 @@ MixerStrip::popup_level_meter_menu (GdkEventButton* ev)
|
|||||||
|
|
||||||
RadioMenuItem::Group group;
|
RadioMenuItem::Group group;
|
||||||
|
|
||||||
_suspend_menu_callbacks = true;
|
PBD::Unwinder<bool> (_suspend_menu_callbacks, true);
|
||||||
add_level_meter_item_point (items, group, _("Input"), MeterInput);
|
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, _("Pre Fader"), MeterPreFader);
|
||||||
add_level_meter_item_point (items, group, _("Post Fader"), MeterPostFader);
|
add_level_meter_item_point (items, group, _("Post Fader"), MeterPostFader);
|
||||||
@ -2533,7 +2534,6 @@ MixerStrip::popup_level_meter_menu (GdkEventButton* ev)
|
|||||||
|
|
||||||
if (gpm.meter_channels().n_audio() == 0) {
|
if (gpm.meter_channels().n_audio() == 0) {
|
||||||
m->popup (ev->button, ev->time);
|
m->popup (ev->button, ev->time);
|
||||||
_suspend_menu_callbacks = false;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2580,7 +2580,6 @@ MixerStrip::popup_level_meter_menu (GdkEventButton* ev)
|
|||||||
sigc::bind (SetMeterTypeMulti, _strip_type, _route->route_group(), cmt)));
|
sigc::bind (SetMeterTypeMulti, _strip_type, _route->route_group(), cmt)));
|
||||||
|
|
||||||
m->popup (ev->button, ev->time);
|
m->popup (ev->button, ev->time);
|
||||||
_suspend_menu_callbacks = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
Loading…
Reference in New Issue
Block a user