diff --git a/gtk2_ardour/pianoroll.cc b/gtk2_ardour/pianoroll.cc index bbb70210d6..9f5d91c832 100644 --- a/gtk2_ardour/pianoroll.cc +++ b/gtk2_ardour/pianoroll.cc @@ -265,9 +265,19 @@ Pianoroll::add_multi_controller_item (Gtk::Menu_Helpers::MenuList&, } +void +Pianoroll::scrolled () +{ + pending_visual_change.add (VisualChange::TimeOrigin); + pending_visual_change.time_origin = horizontal_adjustment.get_value() * samples_per_pixel; + ensure_visual_change_idle_handler (); +} + void Pianoroll::build_lower_toolbar () { + horizontal_adjustment.signal_value_changed().connect (sigc::mem_fun (*this, &Pianoroll::scrolled)); + ArdourButton::Element elements = ArdourButton::Element (ArdourButton::Text|ArdourButton::Indicator|ArdourButton::Edge|ArdourButton::Body); _canvas_hscrollbar = manage (new Gtk::HScrollbar (horizontal_adjustment)); diff --git a/gtk2_ardour/pianoroll.h b/gtk2_ardour/pianoroll.h index 82ea8df40f..4762f1db53 100644 --- a/gtk2_ardour/pianoroll.h +++ b/gtk2_ardour/pianoroll.h @@ -346,4 +346,5 @@ class Pianoroll : public CueEditor bool bbt_ruler_event (GdkEvent*); void ruler_locate (GdkEventButton*); + void scrolled (); };