summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_mouse.cc10
-rw-r--r--gtk2_ardour/gain_meter.cc8
-rw-r--r--gtk2_ardour/gain_meter.h2
-rw-r--r--gtk2_ardour/mixer_strip.cc4
-rw-r--r--gtk2_ardour/panner2d.cc4
-rw-r--r--gtk2_ardour/panner2d.h2
-rw-r--r--gtk2_ardour/panner_ui.cc45
-rw-r--r--gtk2_ardour/region_view.cc12
-rw-r--r--gtk2_ardour/region_view.h3
9 files changed, 41 insertions, 49 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index 7816aa0125..93b64afb6e 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -3321,7 +3321,7 @@ Editor::region_drag_motion_callback (ArdourCanvas::Item* item, GdkEvent* event)
}
}
- rv->region()->set_opaque(false);
+ rv->fake_set_opaque (false);
}
if (drag_info.brushing) {
@@ -3431,7 +3431,7 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
TimeAxisView* tvp2 = trackview_by_y_position (iy1);
AudioTimeAxisView* atv2 = dynamic_cast<AudioTimeAxisView*>(tvp2);
- (*i)->region()->set_opaque (true);
+ (*i)->fake_set_opaque (true);
from_playlist = (*i)->region()->playlist();
to_playlist = atv2->playlist();
@@ -3525,7 +3525,7 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
/* no need to add an undo here, we did that when we added this playlist to motion_frozen playlists */
rv->region()->set_position (where, (void *) this);
- rv->region()->set_opaque (true);
+ rv->fake_set_opaque (true);
}
}
@@ -4101,7 +4101,7 @@ Editor::trim_motion_callback (ArdourCanvas::Item* item, GdkEvent* event)
begin_reversible_command (trim_type);
for (list<RegionView*>::const_iterator i = selection->regions.by_layer().begin(); i != selection->regions.by_layer().end(); ++i) {
- (*i)->region()->set_opaque(false);
+ (*i)->fake_set_opaque(false);
(*i)->region()->freeze ();
AudioRegionView* const arv = dynamic_cast<AudioRegionView*>(*i);
@@ -4296,7 +4296,7 @@ Editor::trim_finished_callback (ArdourCanvas::Item* item, GdkEvent* event)
i != selection->regions.by_layer().end(); ++i)
{
thaw_region_after_trim (**i);
- (*i)->region()->set_opaque(true);
+ (*i)->fake_set_opaque (true);
}
}
diff --git a/gtk2_ardour/gain_meter.cc b/gtk2_ardour/gain_meter.cc
index fbacc6ae17..7778430993 100644
--- a/gtk2_ardour/gain_meter.cc
+++ b/gtk2_ardour/gain_meter.cc
@@ -447,6 +447,14 @@ GainMeter::setup_meters ()
}
}
+int
+GainMeter::get_gm_width ()
+{
+ Gtk::Requisition sz;
+ hbox.size_request (sz);
+ return sz.width;
+}
+
bool
GainMeter::gain_key_press (GdkEventKey* ev)
{
diff --git a/gtk2_ardour/gain_meter.h b/gtk2_ardour/gain_meter.h
index 88105ce846..6990c185b8 100644
--- a/gtk2_ardour/gain_meter.h
+++ b/gtk2_ardour/gain_meter.h
@@ -70,6 +70,8 @@ class GainMeter : public Gtk::VBox
void set_width (Width);
void setup_meters ();
+ int get_gm_width ();
+
void set_meter_strip_name (const char * name);
void set_fader_name (const char * name);
diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc
index 5c93882c6d..70e0a6aa18 100644
--- a/gtk2_ardour/mixer_strip.cc
+++ b/gtk2_ardour/mixer_strip.cc
@@ -18,6 +18,7 @@
*/
#include <cmath>
+#include <algorithm>
#include <sigc++/bind.h>
@@ -62,6 +63,7 @@ using namespace ARDOUR;
using namespace PBD;
using namespace Gtk;
using namespace Gtkmm2ext;
+using namespace std;
int MixerStrip::scrollbar_height = 0;
@@ -439,7 +441,6 @@ MixerStrip::set_width (Width w)
break;
case Narrow:
- set_size_request (50, -1);
xml_node->add_property ("strip_width", "narrow");
if (rec_enable_button) {
@@ -461,6 +462,7 @@ MixerStrip::set_width (Width w)
((Gtk::Label*)panners.pan_automation_style_button.get_child())->set_text (panners.short_astyle_string(_route->panner().automation_style()));
((Gtk::Label*)panners.pan_automation_state_button.get_child())->set_text (panners.short_astate_string(_route->panner().automation_state()));
Gtkmm2ext::set_size_request_to_display_given_text (name_button, "longest label", 2, 2);
+ set_size_request (max (50, gpm.get_gm_width()), -1);
break;
}
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc
index 2756ba4c67..34f367b25b 100644
--- a/gtk2_ardour/panner2d.cc
+++ b/gtk2_ardour/panner2d.cc
@@ -57,8 +57,8 @@ Panner2d::Target::~Target ()
}
}
-Panner2d::Panner2d (Panner& p, int32_t w, int32_t h)
- : panner (p), width (w), height (h)
+Panner2d::Panner2d (Panner& p, int32_t h)
+ : panner (p), width (0), height (h)
{
context_menu = 0;
bypass_menu_item = 0;
diff --git a/gtk2_ardour/panner2d.h b/gtk2_ardour/panner2d.h
index 1bf8879ba5..d53e50ae08 100644
--- a/gtk2_ardour/panner2d.h
+++ b/gtk2_ardour/panner2d.h
@@ -47,7 +47,7 @@ namespace Pango {
class Panner2d : public Gtk::DrawingArea
{
public:
- Panner2d (ARDOUR::Panner&, int32_t width, int32_t height);
+ Panner2d (ARDOUR::Panner&, int32_t height);
~Panner2d ();
int puck_position (int which_puck, float& x, float& y);
diff --git a/gtk2_ardour/panner_ui.cc b/gtk2_ardour/panner_ui.cc
index 72cd24bcce..d65d02f92e 100644
--- a/gtk2_ardour/panner_ui.cc
+++ b/gtk2_ardour/panner_ui.cc
@@ -73,8 +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 (64, 61);
-
+ panning_viewport.set_size_request (-1, 61);
panning_viewport.set_name (X_("BaseFrame"));
ARDOUR_UI::instance()->tooltips().set_tip (panning_link_button,
@@ -137,7 +136,7 @@ PannerUI::PannerUI (boost::shared_ptr<IO> io, Session& s)
pan_vbox.pack_start (panning_viewport, Gtk::PACK_SHRINK);
pan_vbox.pack_start (panning_link_box, Gtk::PACK_SHRINK);
- pack_start (pan_vbox, true, false);
+ pack_start (pan_vbox, true, true);
panner = 0;
@@ -215,23 +214,9 @@ PannerUI::set_width (Width w)
{
switch (w) {
case Wide:
- panning_viewport.set_size_request (64, 61);
- if (panner) {
- panner->set_size_request (63, 61);
- }
- for (vector<PannerBar*>::iterator i = pan_bars.begin(); i != pan_bars.end(); ++i) {
- (*i)->set_size_request (63, pan_bar_height);
- }
panning_link_button.set_label (_("link"));
break;
case Narrow:
- panning_viewport.set_size_request (34, 61);
- if (panner) {
- panner->set_size_request (33, 61);
- }
- for (vector<PannerBar*>::iterator i = pan_bars.begin(); i != pan_bars.end(); ++i) {
- (*i)->set_size_request (33, pan_bar_height);
- }
panning_link_button.set_label (_("L"));
break;
}
@@ -344,16 +329,9 @@ PannerUI::setup_pan ()
bc->event_widget().signal_button_release_event().connect
(bind (mem_fun(*this, &PannerUI::pan_button_event), (uint32_t) asz));
- pan_bars.push_back (bc);
- switch (_width) {
- case Wide:
- bc->set_size_request (63, pan_bar_height);
- break;
- case Narrow:
- bc->set_size_request (33, pan_bar_height);
- break;
- }
+ bc->set_size_request (-1, pan_bar_height);
+ pan_bars.push_back (bc);
pan_bar_packer.pack_start (*bc, false, false);
}
@@ -370,26 +348,15 @@ PannerUI::setup_pan ()
} else {
- int w = 0;
-
- switch (_width) {
- case Wide:
- w = 63;
- break;
- case Narrow:
- w = 33;
- break;
- }
-
if (panner == 0) {
- panner = new Panner2d (_io->panner(), w, 61);
+ panner = new Panner2d (_io->panner(), 61);
panner->set_name ("MixerPanZone");
panner->show ();
}
update_pan_sensitive ();
panner->reset (_io->n_inputs());
- panner->set_size_request (w, 61);
+ panner->set_size_request (-1, 61);
/* and finally, add it to the panner frame */
diff --git a/gtk2_ardour/region_view.cc b/gtk2_ardour/region_view.cc
index e0b6eddb1f..5e3a612654 100644
--- a/gtk2_ardour/region_view.cc
+++ b/gtk2_ardour/region_view.cc
@@ -367,6 +367,18 @@ RegionView::set_frame_color ()
}
void
+RegionView::fake_set_opaque (bool yn)
+{
+ if (yn) {
+ fill_opacity = 130;
+ } else {
+ fill_opacity = 60;
+ }
+
+ TimeAxisViewItem::set_frame_color ();
+}
+
+void
RegionView::hide_region_editor()
{
if (editor) {
diff --git a/gtk2_ardour/region_view.h b/gtk2_ardour/region_view.h
index 9f1f967935..b89011e38d 100644
--- a/gtk2_ardour/region_view.h
+++ b/gtk2_ardour/region_view.h
@@ -68,6 +68,7 @@ class RegionView : public TimeAxisViewItem
void lower_to_bottom ();
bool set_position(nframes_t pos, void* src, double* delta = 0);
+ void fake_set_opaque (bool yn);
virtual void show_region_editor () = 0;
virtual void hide_region_editor();
@@ -82,7 +83,7 @@ class RegionView : public TimeAxisViewItem
virtual void entered () {}
virtual void exited () {}
- static sigc::signal<void,RegionView*> RegionViewGoingAway;
+ static sigc::signal<void,RegionView*> RegionViewGoingAway;
sigc::signal<void> GoingAway;
protected: