remove mouse zoom mode; bind z to zoom-to-range

This commit is contained in:
Paul Davis
2014-10-21 12:47:53 -04:00
parent 46f5c0c769
commit b73f725676
13 changed files with 5 additions and 204 deletions

View File

@@ -180,7 +180,6 @@ CANVAS_VARIABLE(canvasvar_WaveForm, "waveform outline")
CANVAS_VARIABLE(canvasvar_WaveFormClip, "clipped waveform")
CANVAS_VARIABLE(canvasvar_WaveFormFill, "waveform fill")
CANVAS_VARIABLE(canvasvar_ZeroLine, "zero line")
CANVAS_VARIABLE(canvasvar_ZoomRect, "zoom rect")
CANVAS_VARIABLE(canvasvar_MonitorSectionKnob, "monitor knob")
CANVAS_VARIABLE(canvasvar_ButtonBorder, "border color")

View File

@@ -70,7 +70,6 @@ MOUSEMODE(MouseObject)
MOUSEMODE(MouseRange)
MOUSEMODE(MouseDraw)
MOUSEMODE(MouseTimeFX)
MOUSEMODE(MouseZoom)
MOUSEMODE(MouseAudition)
MOUSEMODE(MouseCut)

View File

@@ -2829,7 +2829,6 @@ Editor::setup_toolbar ()
mouse_mode_size_group->add_widget (mouse_move_button);
mouse_mode_size_group->add_widget (mouse_cut_button);
mouse_mode_size_group->add_widget (mouse_select_button);
mouse_mode_size_group->add_widget (mouse_zoom_button);
mouse_mode_size_group->add_widget (mouse_gain_button);
mouse_mode_size_group->add_widget (mouse_timefx_button);
mouse_mode_size_group->add_widget (mouse_audition_button);
@@ -2867,7 +2866,6 @@ Editor::setup_toolbar ()
if (!ARDOUR::Profile->get_mixbus()) {
mouse_mode_hbox->pack_start (mouse_cut_button, false, false);
mouse_mode_hbox->pack_start (mouse_zoom_button, false, false);
}
if (!ARDOUR::Profile->get_trx()) {
@@ -3165,7 +3163,6 @@ Editor::setup_tooltips ()
ARDOUR_UI::instance()->set_tip (mouse_select_button, _("Range Mode (select/move Ranges)"));
ARDOUR_UI::instance()->set_tip (mouse_draw_button, _("Draw/Edit MIDI Notes"));
ARDOUR_UI::instance()->set_tip (mouse_gain_button, _("Draw Region Gain"));
ARDOUR_UI::instance()->set_tip (mouse_zoom_button, _("Select Zoom Range"));
ARDOUR_UI::instance()->set_tip (mouse_timefx_button, _("Stretch/Shrink Regions and MIDI Notes"));
ARDOUR_UI::instance()->set_tip (mouse_audition_button, _("Listen to Specific Regions"));
ARDOUR_UI::instance()->set_tip (internal_edit_button, _("Note Level Editing"));

View File

@@ -1439,7 +1439,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
bool canvas_feature_line_event (GdkEvent* event, ArdourCanvas::Item*, RegionView*);
bool canvas_stream_view_event (GdkEvent* event,ArdourCanvas::Item*, RouteTimeAxisView*);
bool canvas_marker_event (GdkEvent* event,ArdourCanvas::Item*, Marker*);
bool canvas_zoom_rect_event (GdkEvent* event,ArdourCanvas::Item*);
bool canvas_tempo_marker_event (GdkEvent* event,ArdourCanvas::Item*, TempoMarker*);
bool canvas_meter_marker_event (GdkEvent* event,ArdourCanvas::Item*, MeterMarker*);
bool canvas_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*);
@@ -1615,7 +1614,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
ArdourButton mouse_draw_button;
ArdourButton mouse_move_button;
ArdourButton mouse_gain_button;
ArdourButton mouse_zoom_button;
ArdourButton mouse_timefx_button;
ArdourButton mouse_audition_button;
ArdourButton mouse_cut_button;
@@ -1753,11 +1751,6 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
ArdourCanvas::Rectangle *rubberband_rect;
/* mouse zoom process */
ArdourCanvas::Rectangle *zoom_rect;
void reposition_zoom_rect (framepos_t start, framepos_t end);
EditorRouteGroups* _route_groups;
EditorRoutes* _routes;
EditorRegions* _regions;

View File

@@ -470,13 +470,6 @@ Editor::register_actions ()
mouse_gain_button.set_image (::get_icon("tool_gain"));
mouse_gain_button.set_name ("mouse mode button");
if(!Profile->get_mixbus()) {
act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-zoom", _("Zoom Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseZoom));
mouse_zoom_button.set_related_action (act);
mouse_zoom_button.set_image (::get_icon("tool_zoom"));
mouse_zoom_button.set_name ("mouse mode button");
}
act = ActionManager::register_radio_action (mouse_mode_actions, mouse_mode_group, "set-mouse-mode-audition", _("Audition Tool"), sigc::bind (sigc::mem_fun(*this, &Editor::mouse_mode_toggled), Editing::MouseAudition));
mouse_audition_button.set_related_action (act);
mouse_audition_button.set_image (::get_icon("tool_audition"));

View File

@@ -125,11 +125,6 @@ Editor::initialize_canvas ()
_trackview_group = new ArdourCanvas::Container (hv_scroll_group);
CANVAS_DEBUG_NAME (_trackview_group, "Canvas TrackViews");
// used to show zoom mode active zooming
zoom_rect = new ArdourCanvas::Rectangle (hv_scroll_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, 0.0));
zoom_rect->hide();
zoom_rect->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_zoom_rect_event), (ArdourCanvas::Item*) 0));
// used as rubberband rect
rubberband_rect = new ArdourCanvas::Rectangle (hv_scroll_group, ArdourCanvas::Rect (0.0, 0.0, 0.0, 0.0));
rubberband_rect->hide();
@@ -924,9 +919,6 @@ Editor::color_handler()
transport_punchin_line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_PunchLine());
transport_punchout_line->set_outline_color (ARDOUR_UI::config()->get_canvasvar_PunchLine());
zoom_rect->set_fill_color (ARDOUR_UI::config()->get_canvasvar_ZoomRect());
zoom_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_ZoomRect());
rubberband_rect->set_outline_color (ARDOUR_UI::config()->get_canvasvar_RubberBandRect());
rubberband_rect->set_fill_color ((guint32) ARDOUR_UI::config()->get_canvasvar_RubberBandRect());
@@ -954,21 +946,12 @@ Editor::horizontal_position () const
bool
Editor::track_canvas_key_press (GdkEventKey*)
{
/* XXX: event does not report the modifier key pressed down, AFAICS, so use the Keyboard object instead */
if (mouse_mode == Editing::MouseZoom && Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
set_canvas_cursor (_cursors->zoom_out, true);
}
return false;
}
bool
Editor::track_canvas_key_release (GdkEventKey*)
{
if (mouse_mode == Editing::MouseZoom && !Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
set_canvas_cursor (_cursors->zoom_in, true);
}
return false;
}
@@ -1129,14 +1112,6 @@ Editor::which_mode_cursor () const
mode_cursor = _cursors->cross_hair;
break;
case MouseZoom:
if (Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
mode_cursor = _cursors->zoom_out;
} else {
mode_cursor = _cursors->zoom_in;
}
break;
case MouseTimeFX:
mode_cursor = _cursors->time_fx; // just use playhead
break;

View File

@@ -1085,12 +1085,6 @@ Editor::canvas_playhead_cursor_event (GdkEvent *event, ArdourCanvas::Item* item)
return typed_event (item, event, PlayheadCursorItem);
}
bool
Editor::canvas_zoom_rect_event (GdkEvent *event, ArdourCanvas::Item* item)
{
return typed_event (item, event, NoItem);
}
bool
Editor::canvas_note_event (GdkEvent *event, ArdourCanvas::Item* item)
{

View File

@@ -4671,88 +4671,6 @@ RangeMarkerBarDrag::update_item (Location* location)
_drag_rect->set_x1 (x2);
}
MouseZoomDrag::MouseZoomDrag (Editor* e, ArdourCanvas::Item* i)
: Drag (e, i)
, _zoom_out (false)
{
DEBUG_TRACE (DEBUG::Drags, "New MouseZoomDrag\n");
}
void
MouseZoomDrag::start_grab (GdkEvent* event, Gdk::Cursor *)
{
if (Keyboard::the_keyboard().key_is_down (GDK_Control_L)) {
Drag::start_grab (event, _editor->cursors()->zoom_out);
_zoom_out = true;
} else {
Drag::start_grab (event, _editor->cursors()->zoom_in);
_zoom_out = false;
}
show_verbose_cursor_time (adjusted_current_frame (event));
}
void
MouseZoomDrag::motion (GdkEvent* event, bool first_move)
{
framepos_t start;
framepos_t end;
framepos_t const pf = adjusted_current_frame (event);
framepos_t grab = grab_frame ();
_editor->snap_to_with_modifier (grab, event);
/* base start and end on initial click position */
if (pf < grab) {
start = pf;
end = grab;
} else {
end = pf;
start = grab;
}
if (start != end) {
if (first_move) {
_editor->zoom_rect->show();
_editor->zoom_rect->raise_to_top();
}
_editor->reposition_zoom_rect(start, end);
show_verbose_cursor_time (pf);
}
}
void
MouseZoomDrag::finished (GdkEvent* event, bool movement_occurred)
{
if (movement_occurred) {
motion (event, false);
if (grab_frame() < last_pointer_frame()) {
_editor->temporal_zoom_by_frame (grab_frame(), last_pointer_frame());
} else {
_editor->temporal_zoom_by_frame (last_pointer_frame(), grab_frame());
}
} else {
if (Keyboard::the_keyboard().key_is_down (GDK_Shift_L)) {
_editor->tav_zoom_step (_zoom_out);
} else {
_editor->temporal_zoom_to_frame (_zoom_out, grab_frame());
}
}
_editor->zoom_rect->hide();
}
void
MouseZoomDrag::aborted (bool)
{
_editor->zoom_rect->hide ();
}
NoteDrag::NoteDrag (Editor* e, ArdourCanvas::Item* i)
: Drag (e, i)
, _cumulative_dx (0)

View File

@@ -233,7 +233,6 @@ Editor::set_mouse_mode (MouseMode m, bool force)
}
if (ARDOUR::Profile->get_mixbus()) {
if ( m == MouseZoom) m = MouseObject;
if ( m == MouseCut) m = MouseObject;
}
@@ -260,10 +259,6 @@ Editor::set_mouse_mode (MouseMode m, bool force)
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-gain"));
break;
case MouseZoom:
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-zoom"));
break;
case MouseTimeFX:
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-timefx"));
break;
@@ -292,7 +287,6 @@ Editor::mouse_mode_toggled (MouseMode m)
Glib::RefPtr<ToggleAction> tact;
if (ARDOUR::Profile->get_mixbus()) {
if ( m == MouseZoom) m = MouseObject;
if ( m == MouseCut) m = MouseObject;
}
@@ -317,10 +311,6 @@ Editor::mouse_mode_toggled (MouseMode m)
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-gain"));
break;
case MouseZoom:
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-zoom"));
break;
case MouseTimeFX:
act = ActionManager::get_action (X_("MouseMode"), X_("set-mouse-mode-timefx"));
break;
@@ -404,11 +394,7 @@ Editor::step_mouse_mode (bool next)
switch (current_mouse_mode()) {
case MouseObject:
if (next) {
if (Profile->get_sae()) {
set_mouse_mode (MouseZoom);
} else {
set_mouse_mode (MouseRange);
}
set_mouse_mode (MouseRange);
} else {
set_mouse_mode (MouseTimeFX);
}
@@ -429,36 +415,16 @@ Editor::step_mouse_mode (bool next)
else set_mouse_mode (MouseRange);
break;
case MouseZoom:
if (next) {
if (Profile->get_sae()) {
set_mouse_mode (MouseTimeFX);
} else {
set_mouse_mode (MouseGain);
}
} else {
if (Profile->get_sae()) {
set_mouse_mode (MouseObject);
} else {
set_mouse_mode (MouseDraw);
}
}
break;
case MouseGain:
if (next) set_mouse_mode (MouseTimeFX);
else set_mouse_mode (MouseZoom);
else set_mouse_mode (MouseDraw);
break;
case MouseTimeFX:
if (next) {
set_mouse_mode (MouseAudition);
} else {
if (Profile->get_sae()) {
set_mouse_mode (MouseZoom);
} else {
set_mouse_mode (MouseGain);
}
set_mouse_mode (MouseGain);
}
break;
@@ -1095,14 +1061,6 @@ Editor::button_press_handler_1 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
return true;
break;
case MouseZoom:
if (event->type == GDK_BUTTON_PRESS) {
_drags->set (new MouseZoomDrag (this, item), event);
}
return true;
break;
case MouseTimeFX:
if (internal_editing() && item_type == NoteItem ) {
/* drag notes if we're in internal edit mode */
@@ -1199,16 +1157,6 @@ Editor::button_press_handler_2 (ArdourCanvas::Item* item, GdkEvent* event, ItemT
return true;
break;
case MouseZoom:
if (Keyboard::modifier_state_equals (event->button.state, Keyboard::PrimaryModifier)) {
temporal_zoom_to_frame (false, canvas_event_sample (event));
} else {
temporal_zoom_to_frame (true, canvas_event_sample(event));
}
return true;
break;
default:
break;
}
@@ -2297,18 +2245,6 @@ Editor::hide_marker (ArdourCanvas::Item* item, GdkEvent* /*event*/)
location->set_hidden (true, this);
}
void
Editor::reposition_zoom_rect (framepos_t start, framepos_t end)
{
double x1 = sample_to_pixel (start);
double x2 = sample_to_pixel (end);
double y2 = _full_canvas_height - 1.0;
zoom_rect->set (ArdourCanvas::Rect (x1, 1.0, x2, y2));
}
gint
Editor::mouse_rename_region (ArdourCanvas::Item* /*item*/, GdkEvent* /*event*/)
{

View File

@@ -180,7 +180,6 @@ setup_gtk_ardour_enums ()
REGISTER_ENUM(MouseRange);
REGISTER_ENUM(MouseDraw);
REGISTER_ENUM(MouseTimeFX);
REGISTER_ENUM(MouseZoom);
REGISTER_ENUM(MouseAudition);
REGISTER_ENUM(MouseCut);
REGISTER (mouse_mode);

View File

@@ -334,8 +334,7 @@ MidiRegionView::canvas_group_event(GdkEvent* ev)
}
if ((!trackview.editor().internal_editing() && trackview.editor().current_mouse_mode() != MouseGain) ||
(trackview.editor().current_mouse_mode() == MouseTimeFX) ||
(trackview.editor().current_mouse_mode() == MouseZoom)) {
(trackview.editor().current_mouse_mode() == MouseTimeFX)) {
// handle non-internal-edit/non-draw modes elsewhere
return RegionView::canvas_group_event (ev);
}

View File

@@ -206,7 +206,7 @@ This mode provides many different operations on both regions and control points,
;; BOTTOM ROW
@mmode|MouseMode/set-mouse-mode-zoom|z|zoom mode
@mmode|Editor/zoom-to-range|z|zoom to selection
@edit|Editor/undo|<@PRIMARY@>z|undo
@edit|Editor/alternate-alternate-redo|<@PRIMARY@><@TERTIARY@>z|redo
@vis|Editor/zoom-to-region|<@PRIMARY@><@SECONDARY@>z|zoom (x) to selected region(s)

View File

@@ -350,7 +350,6 @@ class PublicEditor : public Gtk::Window, public PBD::StatefulDestructible, publi
virtual bool canvas_stream_view_event (GdkEvent* event, ArdourCanvas::Item*, RouteTimeAxisView*) = 0;
virtual bool canvas_marker_event (GdkEvent* event, ArdourCanvas::Item*, Marker*) = 0;
virtual bool canvas_videotl_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
virtual bool canvas_zoom_rect_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
virtual bool canvas_tempo_marker_event (GdkEvent* event, ArdourCanvas::Item*, TempoMarker*) = 0;
virtual bool canvas_meter_marker_event (GdkEvent* event, ArdourCanvas::Item*, MeterMarker*) = 0;
virtual bool canvas_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*) = 0;