Use correct default value for MIDI faders, and put the
unity mark in the correct position for those faders. Fixes #4234. git-svn-id: svn://localhost/ardour2/branches/3.0@9955 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
89354edbbc
commit
5905b58bc0
@ -198,6 +198,7 @@ GainMeterBase::set_controls (boost::shared_ptr<Route> r,
|
||||
gain_adjustment.set_upper (2.0);
|
||||
gain_adjustment.set_step_increment (0.05);
|
||||
gain_adjustment.set_page_increment (0.1);
|
||||
gain_slider->set_default_value (1);
|
||||
}
|
||||
|
||||
if (!_route || !_route->is_hidden()) {
|
||||
|
@ -38,6 +38,8 @@ class PixFader : public Gtk::DrawingArea
|
||||
void set_fader_length (int);
|
||||
void set_border_colors (uint32_t rgba_left, uint32_t rgba_right);
|
||||
|
||||
void set_default_value (float);
|
||||
|
||||
protected:
|
||||
Gtk::Adjustment& adjustment;
|
||||
|
||||
@ -82,6 +84,7 @@ class PixFader : public Gtk::DrawingArea
|
||||
void adjustment_changed ();
|
||||
int display_span ();
|
||||
void set_adjustment_from_event (GdkEventButton *);
|
||||
void update_unity_position ();
|
||||
|
||||
static int fine_scale_modifier;
|
||||
static int extra_fine_scale_modifier;
|
||||
|
@ -369,9 +369,21 @@ PixFader::set_fader_length (int l)
|
||||
{
|
||||
if (_orien == VERT) {
|
||||
view.height = span = l;
|
||||
unity_loc = (int) rint (view.height - (default_value * view.height)) - 1;
|
||||
} else {
|
||||
view.width = span = l;
|
||||
}
|
||||
|
||||
update_unity_position ();
|
||||
|
||||
queue_draw ();
|
||||
}
|
||||
|
||||
void
|
||||
PixFader::update_unity_position ()
|
||||
{
|
||||
if (_orien == VERT) {
|
||||
unity_loc = (int) rint (view.height * (1 - (default_value / (adjustment.get_upper() - adjustment.get_lower())))) - 1;
|
||||
} else {
|
||||
unity_loc = (int) rint (default_value * view.width);
|
||||
}
|
||||
|
||||
@ -402,3 +414,10 @@ PixFader::set_adjustment_from_event (GdkEventButton* ev)
|
||||
|
||||
adjustment.set_value (fract * (adjustment.get_upper () - adjustment.get_lower ()));
|
||||
}
|
||||
|
||||
void
|
||||
PixFader::set_default_value (float d)
|
||||
{
|
||||
default_value = d;
|
||||
update_unity_position ();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user