zoom_box.pack_start (zoom_out_button, false, false);
zoom_box.pack_start (zoom_in_button, false, false);
zoom_box.pack_start (zoom_out_full_button, false, false);
+
+ /* Track zoom buttons */
+ tav_expand_button.set_name ("TrackHeightButton");
+ tav_expand_button.set_size_request(-1,20);
+ tav_expand_button.add (*(manage (new Image (::get_icon("tav_exp")))));
+ tav_expand_button.signal_clicked().connect (bind (mem_fun(*this, &Editor::tav_zoom_step), true));
+ ARDOUR_UI::instance()->tooltips().set_tip (tav_expand_button, _("Expand Tracks"));
+
+ tav_shrink_button.set_name ("TrackHeightButton");
+ tav_shrink_button.set_size_request(-1,20);
+ tav_shrink_button.add (*(manage (new Image (::get_icon("tav_shrink")))));
+ tav_shrink_button.signal_clicked().connect (bind (mem_fun(*this, &Editor::tav_zoom_step), false));
+ ARDOUR_UI::instance()->tooltips().set_tip (tav_shrink_button, _("Shrink Tracks"));
+ track_zoom_box.set_spacing (1);
+ track_zoom_box.set_border_width (0);
+
+ track_zoom_box.pack_start (tav_shrink_button, false, false);
+ track_zoom_box.pack_start (tav_expand_button, false, false);
+
HBox* zbc = manage (new HBox);
zbc->pack_start (zoom_focus_selector, PACK_SHRINK);
zoom_vbox.pack_start (*zbc, PACK_SHRINK);
zoom_vbox.pack_start (zoom_box, PACK_SHRINK);
+ zoom_vbox.pack_start (track_zoom_box, PACK_SHRINK);
snap_box.set_spacing (1);
snap_box.set_border_width (2);
double get_current_zoom () const { return frames_per_unit; }
void temporal_zoom_step (bool coarser);
+ void tav_zoom_step (bool coarser);
/* stuff that AudioTimeAxisView and related classes use */
Gtk::Button zoom_out_full_button;
Gtk::Button zoom_onetoone_button;
+ Gtk::Button tav_expand_button;
+ Gtk::Button tav_shrink_button;
+
Gtk::VBox toolbar_clock_vbox;
Gtk::VBox toolbar_selection_clock_vbox;
Gtk::Table toolbar_selection_clock_table;
Glib::RefPtr<Gtk::RadioAction> zoom_focus_action (Editing::ZoomFocus);
Gtk::HBox zoom_box;
+ Gtk::HBox track_zoom_box;
Gtk::VBox zoom_vbox;
void zoom_adjustment_changed();
/* ZOOM */
+void
+Editor::tav_zoom_step (bool coarser)
+{
+ ENSURE_GUI_THREAD (bind (mem_fun (*this, &Editor::temporal_zoom_step), coarser));
+
+ _routes->suspend_redisplay ();
+
+ for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+ TimeAxisView *tv = (static_cast<TimeAxisView*>(*i));
+ tv->step_height (coarser);
+ }
+
+ _routes->resume_redisplay ();
+}
+
void
Editor::temporal_zoom_step (bool coarser)
{