mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-31 10:57:43 +01:00
Fix resetting of peak display and meters
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3214 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
83bebc0af5
commit
c34cc3da46
4 changed files with 15 additions and 21 deletions
|
|
@ -387,6 +387,7 @@ GainMeter::reset_peak_display ()
|
|||
r->reset_max_peak_meters();
|
||||
}
|
||||
|
||||
level_meter->clear_meters();
|
||||
max_peak = -INFINITY;
|
||||
peak_display.set_label (_("-Inf"));
|
||||
peak_display.set_name ("MixerStripPeakDisplay");
|
||||
|
|
@ -403,25 +404,6 @@ GainMeter::reset_group_peak_display (RouteGroup* group)
|
|||
}
|
||||
}
|
||||
|
||||
gint
|
||||
GainMeter::meter_button_release (GdkEventButton* ev, uint32_t which)
|
||||
{
|
||||
switch (ev->button) {
|
||||
case 1:
|
||||
level_meter->clear_meters();
|
||||
max_peak = minus_infinity();
|
||||
peak_display.set_label (_("-inf"));
|
||||
peak_display.set_name ("MixerStripPeakDisplay");
|
||||
break;
|
||||
|
||||
case 3:
|
||||
// popup_meter_menu (ev);
|
||||
break;
|
||||
};
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
GainMeter::popup_meter_menu (GdkEventButton *ev)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -142,7 +142,6 @@ class GainMeter : public Gtk::VBox
|
|||
void hide_all_meters ();
|
||||
|
||||
gint meter_button_press (GdkEventButton*, uint32_t);
|
||||
gint meter_button_release (GdkEventButton*, uint32_t);
|
||||
|
||||
bool peak_button_release (GdkEventButton*);
|
||||
bool gain_key_press (GdkEventKey*);
|
||||
|
|
|
|||
|
|
@ -196,6 +196,7 @@ LevelMeter::setup_meters (int len, int initial_width)
|
|||
meters[n].width = width;
|
||||
meters[n].length = len;
|
||||
meters[n].meter->add_events (Gdk::BUTTON_RELEASE_MASK);
|
||||
meters[n].meter->signal_button_release_event().connect (bind (mem_fun(*this, &LevelMeter::meter_button_release), n));
|
||||
}
|
||||
|
||||
pack_end (*meters[n].meter, false, false);
|
||||
|
|
@ -204,13 +205,24 @@ LevelMeter::setup_meters (int len, int initial_width)
|
|||
}
|
||||
show();
|
||||
color_changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
gint
|
||||
LevelMeter::meter_button_release (GdkEventButton* ev, uint32_t which)
|
||||
{
|
||||
if (ev->button == 1) {
|
||||
clear_meters();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void LevelMeter::clear_meters ()
|
||||
{
|
||||
for (vector<MeterInfo>::iterator i = meters.begin(); i < meters.end(); i++) {
|
||||
(*i).meter->clear();
|
||||
}
|
||||
max_peak = minus_infinity();
|
||||
}
|
||||
|
||||
void LevelMeter::hide_meters ()
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ class LevelMeter : public Gtk::HBox
|
|||
float max_peak;
|
||||
|
||||
void hide_all_meters ();
|
||||
gint meter_button_release (GdkEventButton*, uint32_t);
|
||||
|
||||
void parameter_changed (const char*);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue