diff options
author | Jesse Chappell <jesse@essej.net> | 2006-12-30 06:37:00 +0000 |
---|---|---|
committer | Jesse Chappell <jesse@essej.net> | 2006-12-30 06:37:00 +0000 |
commit | 4fa71e154f3cebb3d4bf8f46ec3f19d6aeaded72 (patch) | |
tree | 7f3f188b8ef69fbc29599d1cf810406e7a8a8c98 /gtk2_ardour/panner_ui.cc | |
parent | 34a813c1a13263c2f37b945771093f428efb9692 (diff) |
tweaked panner appearance and consistency, panner line now distinct color from triangles. shift-click now reverts panner to center, left or right depending on number of channels. minor updates to osx app build script. fixed region editor re-show problem.
git-svn-id: svn://localhost/ardour2/trunk@1253 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/panner_ui.cc')
-rw-r--r-- | gtk2_ardour/panner_ui.cc | 46 |
1 files changed, 30 insertions, 16 deletions
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc index 46d69b7a79..72cd24bcce 100644 --- a/gtk2_ardour/panner_ui.cc +++ b/gtk2_ardour/panner_ui.cc @@ -73,7 +73,7 @@ PannerUI::PannerUI (boost::shared_ptr<IO> io, Session& s) //set_size_request_to_display_given_text (pan_automation_style_button, X_("0"), 2, 2); pan_bar_packer.set_size_request (-1, 61); - panning_viewport.set_size_request (61, 61); + panning_viewport.set_size_request (64, 61); panning_viewport.set_name (X_("BaseFrame")); @@ -133,7 +133,7 @@ PannerUI::PannerUI (boost::shared_ptr<IO> io, Session& s) panning_up_arrow.set_name (X_("PanScrollerArrow")); panning_down_arrow.set_name (X_("PanScrollerArrow")); - pan_vbox.set_spacing (4); + pan_vbox.set_spacing (2); pan_vbox.pack_start (panning_viewport, Gtk::PACK_SHRINK); pan_vbox.pack_start (panning_link_box, Gtk::PACK_SHRINK); @@ -215,22 +215,22 @@ PannerUI::set_width (Width w) { switch (w) { case Wide: - panning_viewport.set_size_request (61, 61); + panning_viewport.set_size_request (64, 61); if (panner) { - panner->set_size_request (61, 61); + panner->set_size_request (63, 61); } for (vector<PannerBar*>::iterator i = pan_bars.begin(); i != pan_bars.end(); ++i) { - (*i)->set_size_request (61, pan_bar_height); + (*i)->set_size_request (63, pan_bar_height); } panning_link_button.set_label (_("link")); break; case Narrow: - panning_viewport.set_size_request (31, 61); + panning_viewport.set_size_request (34, 61); if (panner) { - panner->set_size_request (31, 61); + panner->set_size_request (33, 61); } for (vector<PannerBar*>::iterator i = pan_bars.begin(); i != pan_bars.end(); ++i) { - (*i)->set_size_request (31, pan_bar_height); + (*i)->set_size_request (33, pan_bar_height); } panning_link_button.set_label (_("L")); break; @@ -303,19 +303,33 @@ PannerUI::setup_pan () while ((asz = pan_adjustments.size()) < npans) { - float x; + float x, rx; PannerBar* bc; - /* initialize adjustment with current value of panner */ + /* initialize adjustment with 0.0 (L) or 1.0 (R) for the first and second panners, + which serves as a default, otherwise use current value */ - _io->panner()[asz]->get_position (x); + _io->panner()[asz]->get_position (rx); + + if (npans == 1) { + x = 0.5; + } else if (asz == 0) { + x = 0.0; + } else if (asz == 1) { + x = 1.0; + } else { + x = rx; + } pan_adjustments.push_back (new Adjustment (x, 0, 1.0, 0.05, 0.1)); + bc = new PannerBar (*pan_adjustments[asz], _io->panner()[asz]->control()); + + /* now set adjustment with current value of panner, then connect the signals */ + pan_adjustments.back()->set_value(rx); pan_adjustments.back()->signal_value_changed().connect (bind (mem_fun(*this, &PannerUI::pan_adjustment_changed), (uint32_t) asz)); _io->panner()[asz]->Changed.connect (bind (mem_fun(*this, &PannerUI::pan_value_changed), (uint32_t) asz)); - bc = new PannerBar (*pan_adjustments[asz], _io->panner()[asz]->control()); bc->set_name ("PanSlider"); bc->set_shadow_type (Gtk::SHADOW_NONE); @@ -333,10 +347,10 @@ PannerUI::setup_pan () pan_bars.push_back (bc); switch (_width) { case Wide: - bc->set_size_request (61, pan_bar_height); + bc->set_size_request (63, pan_bar_height); break; case Narrow: - bc->set_size_request (31, pan_bar_height); + bc->set_size_request (33, pan_bar_height); break; } @@ -360,10 +374,10 @@ PannerUI::setup_pan () switch (_width) { case Wide: - w = 61; + w = 63; break; case Narrow: - w = 31; + w = 33; break; } |