class Menu;
}
+enum MeterPointChangeTarget {
+ MeterPointChangeAll,
+ MeterPointChangeGroup,
+ MeterPointChangeSingle
+};
+
class GainMeterBase : virtual public sigc::trackable, ARDOUR::SessionHandlePtr
{
public:
*/
PBD::Signal1<bool, GdkEventButton *> LevelMeterButtonPress;
+ static std::string astate_string (ARDOUR::AutoState);
+ static std::string short_astate_string (ARDOUR::AutoState);
+ static std::string _astate_string (ARDOUR::AutoState, bool);
+
+ static std::string astyle_string (ARDOUR::AutoStyle);
+ static std::string short_astyle_string (ARDOUR::AutoStyle);
+ static std::string _astyle_string (ARDOUR::AutoStyle, bool);
+
protected:
friend class MixerStrip;
Gtk::Menu gain_astate_menu;
Gtk::Menu gain_astyle_menu;
+ ArdourButton meter_point_button;
+
+ Gtk::Menu meter_point_menu;
+
+ void set_gain_astate (ARDOUR::AutoState);
+ bool gain_astate_propagate;
+ static sigc::signal<void, ARDOUR::AutoState> ChangeGainAutomationState;
+
gint gain_automation_style_button_event (GdkEventButton *);
gint gain_automation_state_button_event (GdkEventButton *);
gint pan_automation_style_button_event (GdkEventButton *);
void gain_automation_style_changed();
void setup_gain_adjustment ();
-
- std::string astate_string (ARDOUR::AutoState);
- std::string short_astate_string (ARDOUR::AutoState);
- std::string _astate_string (ARDOUR::AutoState, bool);
-
- std::string astyle_string (ARDOUR::AutoStyle);
- std::string short_astyle_string (ARDOUR::AutoStyle);
- std::string _astyle_string (ARDOUR::AutoStyle, bool);
-
Width _width;
void show_gain ();
void fader_moved ();
void gain_changed ();
- void meter_point_clicked ();
+ void meter_point_clicked (ARDOUR::MeterPoint);
void gain_unit_changed ();
virtual void hide_all_meters ();
void set_route_group_meter_point (ARDOUR::Route&, ARDOUR::MeterPoint);
void set_meter_point (ARDOUR::Route&, ARDOUR::MeterPoint);
- gint meter_release (GdkEventButton*);
gint meter_press (GdkEventButton*);
- bool wait_for_release;
ARDOUR::MeterPoint old_meter_point;
+ MeterPointChangeTarget meter_point_change_target;
+
void parameter_changed (const char*);
void reset_peak_display ();