meter_point_button.signal_button_press_event().connect (sigc::mem_fun (*this, &GainMeter::meter_press), false);
gain_adjustment.signal_value_changed().connect (sigc::mem_fun(*this, &GainMeterBase::fader_moved));
+ peak_display.signal_button_press_event().connect (sigc::mem_fun(*this, &GainMeterBase::peak_button_press), false);
peak_display.signal_button_release_event().connect (sigc::mem_fun(*this, &GainMeterBase::peak_button_release), false);
gain_display.signal_key_press_event().connect (sigc::mem_fun(*this, &GainMeterBase::gain_key_press), false);
void
GainMeterBase::set_type (MeterType t)
{
- level_meter->set_type(t);
+ level_meter->set_meter_type(t);
}
void
return true;
}
+bool
+GainMeterBase::peak_button_press (GdkEventButton* ev)
+{
+ return true;
+}
+
bool
GainMeterBase::peak_button_release (GdkEventButton* ev)
{
value = gain_adjustment.get_value();
}
- _control->set_value (value, Controllable::UseGroup);
+ // XXX hack allow to override group
+ // (this breaks group'ed shift+click reset)
+ if (Keyboard::the_keyboard().key_is_down (GDK_Shift_R)
+ || Keyboard::the_keyboard().key_is_down (GDK_Shift_L)) {
+ _control->set_value (value, Controllable::InverseGroup);
+ } else {
+ _control->set_value (value, Controllable::UseGroup);
+ }
}
show_gain ();
GainMeterBase::meter_press(GdkEventButton* ev)
{
if (!_route) {
- return FALSE;
+ return false;
}
if (!ignore_toggle) {
switch (ev->button) {
break;
}
}
- return TRUE;
+ return true;
}
void
GainMeterBase::amp_stop_touch ()
{
_control->stop_touch (false, _control->session().transport_frame());
+ effective_gain_display ();
}
gint