summaryrefslogtreecommitdiff
path: root/gtk2_ardour/panner_ui.cc
diff options
context:
space:
mode:
authorJesse Chappell <jesse@essej.net>2006-12-30 06:37:00 +0000
committerJesse Chappell <jesse@essej.net>2006-12-30 06:37:00 +0000
commit4fa71e154f3cebb3d4bf8f46ec3f19d6aeaded72 (patch)
tree7f3f188b8ef69fbc29599d1cf810406e7a8a8c98 /gtk2_ardour/panner_ui.cc
parent34a813c1a13263c2f37b945771093f428efb9692 (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.cc46
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;
}