X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmono_panner.cc;h=0d9981dcf89a123d3ad14c775dc16ad549b0a362;hb=5fef65538040fbac1b9edd1847a269aa925a49c9;hp=1a2b685aebd1f57362d974072cfb3d73722fc196;hpb=cf806123ca5faaef483f898daba3f7bd38ec62eb;p=ardour.git diff --git a/gtk2_ardour/mono_panner.cc b/gtk2_ardour/mono_panner.cc index 1a2b685aeb..0d9981dcf8 100644 --- a/gtk2_ardour/mono_panner.cc +++ b/gtk2_ardour/mono_panner.cc @@ -50,6 +50,7 @@ using namespace std; using namespace Gtk; using namespace Gtkmm2ext; +using namespace ARDOUR_UI_UTILS; static const int pos_box_size = 9; static const int lr_box_size = 15; @@ -80,18 +81,17 @@ MonoPanner::MonoPanner (boost::shared_ptr p) if (!have_font) { Pango::FontDescription font; Pango::AttrFontDesc* font_attr; - font = Pango::FontDescription ("ArdourMono"); - font.set_weight (Pango::WEIGHT_BOLD); - font.set_size(9 * PANGO_SCALE); + font = Pango::FontDescription (ARDOUR_UI::config()->get_SmallBoldMonospaceFont()); font_attr = new Pango::AttrFontDesc (Pango::Attribute::create_attr_font_desc (font)); panner_font_attributes.change(*font_attr); delete font_attr; have_font = true; } - position_control->Changed.connect (connections, invalidator(*this), boost::bind (&MonoPanner::value_change, this), gui_context()); + position_control->Changed.connect (panvalue_connections, invalidator(*this), boost::bind (&MonoPanner::value_change, this), gui_context()); - _panner_shell->Changed.connect (connections, invalidator (*this), boost::bind (&MonoPanner::bypass_handler, this), gui_context()); + _panner_shell->Changed.connect (panshell_connections, invalidator (*this), boost::bind (&MonoPanner::bypass_handler, this), gui_context()); + _panner_shell->PannableChanged.connect (panshell_connections, invalidator (*this), boost::bind (&MonoPanner::pannable_handler, this), gui_context()); ColorsChanged.connect (sigc::mem_fun (*this, &MonoPanner::color_handler)); set_tooltip (); @@ -157,6 +157,9 @@ MonoPanner::on_expose_event (GdkEventExpose*) t = 0x606060ff; } + if (_send_mode) { + b = ARDOUR_UI::config()->color ("send bg"); + } /* background */ context->set_source_rgba (UINT_RGBA_R_FLT(b), UINT_RGBA_G_FLT(b), UINT_RGBA_B_FLT(b), UINT_RGBA_A_FLT(b)); context->rectangle (0, 0, width, height); @@ -484,12 +487,12 @@ MonoPanner::on_key_press_event (GdkEventKey* ev) void MonoPanner::set_colors () { - colors.fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerFill(); - colors.outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerOutline(); - colors.text = ARDOUR_UI::config()->get_canvasvar_MonoPannerText(); - colors.background = ARDOUR_UI::config()->get_canvasvar_MonoPannerBackground(); - colors.pos_outline = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionOutline(); - colors.pos_fill = ARDOUR_UI::config()->get_canvasvar_MonoPannerPositionFill(); + colors.fill = ARDOUR_UI::config()->color_mod ("mono panner fill", "panner fill"); + colors.outline = ARDOUR_UI::config()->color ("mono panner outline"); + colors.text = ARDOUR_UI::config()->color ("mono panner text"); + colors.background = ARDOUR_UI::config()->color ("mono panner bg"); + colors.pos_outline = ARDOUR_UI::config()->color ("mono panner position outline"); + colors.pos_fill = ARDOUR_UI::config()->color_mod ("mono panner position fill", "mono panner position fill"); } void @@ -505,6 +508,16 @@ MonoPanner::bypass_handler () queue_draw (); } +void +MonoPanner::pannable_handler () +{ + panvalue_connections.drop_connections(); + position_control = _panner->pannable()->pan_azimuth_control; + position_binder.set_controllable(position_control); + position_control->Changed.connect (panvalue_connections, invalidator(*this), boost::bind (&MonoPanner::value_change, this), gui_context()); + queue_draw (); +} + PannerEditor* MonoPanner::editor () {