fix plugin bypass button action
authorBen Loftis <ben@harrisonconsoles.com>
Thu, 28 Aug 2014 19:55:39 +0000 (14:55 -0500)
committerBen Loftis <ben@harrisonconsoles.com>
Thu, 28 Aug 2014 20:29:18 +0000 (15:29 -0500)
gtk2_ardour/plugin_ui.cc
libs/gtkmm2ext/barcontroller.cc

index 440dc805316c713cb15c8f1340d81bed6dc27a49..9f11f410f939fa129fe0d482bba9f828d31511fc 100644 (file)
@@ -448,7 +448,7 @@ PlugUIBase::PlugUIBase (boost::shared_ptr<PluginInsert> pi)
        bypass_button.set_name ("plugin bypass button");
        bypass_button.set_text (_("Bypass"));
        bypass_button.set_active (!pi->active());
-       bypass_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PlugUIBase::bypass_button_release));
+       bypass_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PlugUIBase::bypass_button_release), false);
        focus_button.add_events (Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK);
 
        focus_button.signal_button_release_event().connect (sigc::mem_fun(*this, &PlugUIBase::focus_toggled));
index 7c420a680f0e6159214bb6d73c0f47524b35f8d4..83a29017349f652f72395fdf84988445b6ef74e3 100644 (file)
@@ -450,29 +450,17 @@ BarController::expose (GdkEventExpose* /*event*/)
 
        double xpos = -1;
        std::string const label = get_label (xpos);
-
-/*     if (!label.empty()) {
+       if (!label.empty()) {
                
+               int twidth, theight;
                layout->set_text (label);
-               
-               int width, height, x;
-               layout->get_pixel_size (width, height);
+               layout->get_pixel_size (twidth, theight);
 
-               if (xpos == -1) {
-                       x = max (3, 1 + (x2 - (width/2)));
-                       x = min (darea.get_width() - width - 3, (int) lrint (xpos));
-               } else {
-                       x = lrint (darea.get_width() * xpos);
-               }
-
-                c = get_style()->get_text (get_state());
-                r = c.get_red_p ();
-                g = c.get_green_p ();
-                b = c.get_blue_p ();
-                context->set_source_rgb (r, g, b);
-                context->move_to (x, (darea.get_height()/2) - (height/2));
-                layout->show_in_cairo_context (context);
-       }*/
+               c = get_style()->get_text (get_state());
+               CairoWidget::set_source_rgb_a (cr, c, 1.0);
+               context->move_to ( (fract > 0.5) ? w - twidth/0.7 : twidth/0.7, (darea.get_height()/2) - (theight/2));
+               layout->show_in_cairo_context (context);
+       }
        
        return true;
 }