mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-16 03:36:32 +01:00
Add option to zoom using button press in the time rulers and dragging vertically
This is a common operation used for zooming in other DAWs like Ableton Live and Cubase. To support such a usage pattern without changing the existing behaviour of the ruler area I've made it an option that is false by default. The behaviour of RulerDragZoom is intentionally different than a CursorDrag that occurs in the rest of the ruler area in that it doesn't follow the snap to grid setting and no locate related stuff occurs until button release. There are some issues with responsiveness with more than a few hundred regions or a large amount of MIDI events/notes. Implements feature #6768
This commit is contained in:
parent
37a7d87786
commit
dac2d41ee2
6 changed files with 91 additions and 0 deletions
|
|
@ -1189,5 +1189,21 @@ class CrossfadeEdgeDrag : public Drag
|
|||
bool start;
|
||||
};
|
||||
|
||||
class RulerZoomDrag : public Drag
|
||||
{
|
||||
public:
|
||||
RulerZoomDrag (Editor*, ArdourCanvas::Item*);
|
||||
|
||||
void start_grab (GdkEvent*, Gdk::Cursor* c = 0);
|
||||
void motion (GdkEvent *, bool);
|
||||
void finished (GdkEvent*, bool);
|
||||
void aborted (bool);
|
||||
|
||||
virtual bool allow_vertical_autoscroll () const {
|
||||
return false;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#endif /* __gtk2_ardour_editor_drag_h_ */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue