remove mouse zoom mode; bind z to zoom-to-range
This commit is contained in:
@@ -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")
|
||||
|
||||
@@ -70,7 +70,6 @@ MOUSEMODE(MouseObject)
|
||||
MOUSEMODE(MouseRange)
|
||||
MOUSEMODE(MouseDraw)
|
||||
MOUSEMODE(MouseTimeFX)
|
||||
MOUSEMODE(MouseZoom)
|
||||
MOUSEMODE(MouseAudition)
|
||||
MOUSEMODE(MouseCut)
|
||||
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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*/)
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user