summaryrefslogtreecommitdiff
path: root/gtk2_ardour/route_time_axis.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-04-21 13:44:33 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-04-21 13:44:33 +0000
commitd8b7b1d92ac897ccc211eaf899432321b0b1930e (patch)
treeba9195a311fcc363fc4758b59fb5b12f13b1c790 /gtk2_ardour/route_time_axis.cc
parent0a70c91f3f8fee448d25853fb84e79f52008d08d (diff)
fix mix group problems caused by recursive loop when modifying gain/gui
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3275 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/route_time_axis.cc')
-rw-r--r--gtk2_ardour/route_time_axis.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc
index e232dbbd7b..49881d119a 100644
--- a/gtk2_ardour/route_time_axis.cc
+++ b/gtk2_ardour/route_time_axis.cc
@@ -106,7 +106,8 @@ RouteTimeAxisView::RouteTimeAxisView (PublicEditor& ed, Session& sess, boost::sh
visual_button (_("v")),
lm (rt, sess),
gain_slider (0),
- gain_adjustment (0.781787, 0.0, 1.0, 0.01, 0.1)
+ gain_adjustment (0.781787, 0.0, 1.0, 0.01, 0.1),
+ ignore_gain_adjustment (false)
{
if (slider == 0) {
setup_slider_pix ();
@@ -1911,6 +1912,10 @@ RouteTimeAxisView::end_gain_touch (GdkEventButton* ev)
void
RouteTimeAxisView::gain_adjusted ()
{
+ if (ignore_gain_adjustment) {
+ return;
+ }
+
_route->set_gain (slider_position_to_gain (gain_adjustment.get_value()), this);
}
@@ -1924,5 +1929,7 @@ void
RouteTimeAxisView::effective_gain_display ()
{
gfloat value = gain_to_slider_position (_route->effective_gain());
+ ignore_gain_adjustment = true;
gain_adjustment.set_value (value);
+ ignore_gain_adjustment = false;
}