diff options
Diffstat (limited to 'gtk2_ardour')
-rw-r--r-- | gtk2_ardour/editor_mouse.cc | 10 | ||||
-rw-r--r-- | gtk2_ardour/gain_meter.cc | 8 | ||||
-rw-r--r-- | gtk2_ardour/gain_meter.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/panner2d.cc | 4 | ||||
-rw-r--r-- | gtk2_ardour/panner2d.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/panner_ui.cc | 45 | ||||
-rw-r--r-- | gtk2_ardour/region_view.cc | 12 | ||||
-rw-r--r-- | gtk2_ardour/region_view.h | 3 |
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: |