e7895e1f80
more work on cursor tracking state
2014-06-18 21:03:25 -04:00
becf857f48
a whole slew of changes related to centralizing and rationalizing cursor management.
...
Debugging output left in place to help address the reports that will come in as people test this more
2014-06-18 10:24:59 -04:00
85e2c60673
add back click behaviour for canvas rulers, and also cursor enforcement
2014-06-12 16:06:31 -04:00
92bb0e0d7f
fix problem with calls to Editor::trackview_by_y_position() when using motion events. The coordinate passed in was in canvas space and the method expected trackview space
...
To handle any further issues like this, I generalized and added an optional argument specifying that the canvas=>trackview transform is required, thus
centralizing where this done.
2014-06-08 14:41:29 -04:00
ba8d0e32f7
fix crash caused by click-on-region-name if name highlights are not in use - such a click is not a trim operation under those conditions
2014-06-08 11:26:32 -04:00
2aa32ed349
unify Fade-Handle Cursors
2014-06-05 18:58:21 +02:00
e0533e9dd7
more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
2014-06-03 16:13:12 -04:00
dc349514fa
remove utterly useless unused code
2014-06-03 16:11:24 -04:00
da7a860256
remove useless groups from timebar area, clarify scroll group naming in editor
2014-06-03 16:11:24 -04:00
5696199daf
remove timebar canvas and just use a single canvas instead. This is just part one - lots of minor fixes to be done
2014-06-03 16:10:27 -04:00
6019f06bdf
different approach to independent scrolling, involving ArdourCanvas::ScrollGroup
...
The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.
Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.
2014-06-03 16:10:27 -04:00
d6b1a9f6e3
prepare fade+trim cursors (cursor image still missing)
2014-05-31 14:04:41 +02:00
bfa58e58c3
fix fade+trim handle hover color
2014-05-31 04:51:02 +02:00
4843c5d5cf
towards region-trims preserving fade duration
2014-05-31 03:53:59 +02:00
918a0ac5f9
update x-fade context-menu
2014-05-29 07:49:26 +02:00
0d1d50a8b4
remove pointless assert (since condition is if-tested just before it was used)
2014-04-15 14:30:37 -04:00
dc4eae5c37
hopefully fix issue with Editor::set_canvas_cursor_for_region_view() which was incorrectly switching to trim cursors.
...
This started happening more frequently after this function started to be called more often (which was the right thing to do, but
had this side effect (now fixed).
2014-04-15 12:44:49 -04:00
9df3157dfc
big rework of scrolling, horizontal part considered almost 100% done.
...
Many more changes than I would typically like in a single commit, but this was all very intertwined.
Vertical scrolling using track-stepping still to follow.
2014-03-20 13:29:45 -04:00
c04081681c
remove debug output
2014-03-13 08:43:07 -04:00
95c214c923
fix up button selection operation so that fade drags work again
2014-03-13 08:39:14 -04:00
36160b88cd
fixes, hopefully, for canvas cursor misbehaviour near/in regionviews
2014-03-11 22:39:04 -04:00
0ef3fedf9a
fix up some logic that allowed hits (percussive note display) to be trimmed with the mouse, which was not intended
2014-03-07 11:22:49 -05:00
7d17db09ac
when in smart mode, context-click on a region item should behave as if in object mode.
...
Specifically, select the region before displaying the context menu
2014-03-06 10:40:31 -05:00
5cbb60d339
fix display of time selection rect(s) when switching mouse modes
2014-02-26 10:50:51 -05:00
c04285addf
convert canvas_event_frame() and window_event_frame() to canvas_event_sample() and window_event_sample() to go along with the convention adopted in cairocanvas code re: frames+samples
2014-02-26 08:43:53 -05:00
f5dbbe4ac6
ctrl-click when adding automation points no longer adds guard points
2014-02-25 11:59:02 -05:00
156a5a0e5f
add the with-guard-point distinction to region gain lines
2014-02-20 14:01:40 -05:00
6e38ecc158
manually applied equivalent of 1d82f4ca07
in master (git could not apply successfully)
2014-02-19 23:37:46 -05:00
d23c2499bf
rationalize, consolidate and make work dbl-click editing for regions and markers, as part of the Drag model rather than discretely
2014-01-27 10:09:58 -05:00
68af0fdc07
fix up visibility control for automation lines
2013-12-31 13:28:20 -05:00
87c29025de
just use show() and hide() to manage control point visibility in automation lines
...
No need for the wierd old set_visible()/property_draw() stuff that was a hangover from gnomecanvas.
2013-12-31 11:55:30 -05:00
9fb3247350
rationalize color handling for fade in/out handles
2013-12-09 22:04:13 -05:00
ea1ccb869a
fix merge with master
2013-10-31 13:16:51 -04:00
e7875954ca
Edit tempo & meter markers on double-click.
2013-10-25 17:03:45 +01:00
efd2e1776d
Double-click on region pops up region properties.
2013-10-25 17:03:45 +01:00
abb05680b4
Make double-click on marker pop up rename dialogue.
2013-10-25 17:03:45 +01:00
89193dc40b
Add a double-click handler for items in the editor window.
2013-10-25 17:03:45 +01:00
525cb6b4a7
some sort-of-deep fixes to get autoscroll/vertical scroll to work properly for cairocanvas
2013-07-10 19:10:06 -04:00
479e97dc59
some prep work for generally handling dbl-click on draggable objects
2013-06-21 15:18:54 -04:00
f00b3b7f11
merge with master
2013-06-13 23:00:24 -04:00
50e3e61881
when exiting internal edit mode because of a mouse button press on a non-MIDI region, _join_object_range_state is set to NONE, not OBJECT, which would block selection of the clicked-upon region. fix that, to prevent an assert()-driven crash when the drag ends and there are no regions selected
2013-06-10 18:28:32 -04:00
97ec274512
Make mouse operations on grouped regions apply to pre-existing selection
...
On clicking on a region that is part of an active edit group with the
'selection' property enabled, its equivalent regions also become selected.
Thus, there's no need to reset the selection to the equivalent
regions when performing mouse drags on the region, and trim/fade in/fade
out/move/copy will always operate on the existing region selection if there
is one.
Fixes #5515 .
2013-06-10 18:07:52 +01:00
e2f0c5f91e
merge resolution with master
2013-05-02 20:21:54 -04:00
3973ce81b3
remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works
2013-05-02 18:13:35 -04:00
d14f43ccf2
fix operation of right-click on selected MIDI note to bring up the note editor. this is still not really right long term, but it is better than displaying the channel selector
2013-05-02 15:16:56 -04:00
81485faa83
remove CMT code - has not been used for years, and will become irrelevant with VTL and cairocanvas
2013-05-02 12:21:41 -04:00
ec102f94e1
various work waveview amplitude mgmt; fix playhead cursor drag from timebar click
2013-04-17 15:22:09 -04:00
d1a05240ef
fix clamping of line and rect coordinates to avoid issues with cairo when drawing way outside a surface's dimensions; move various coordinate methods down to Canvas, because they don't require GTK information; make visible_area() a Canvas virtual method so that we don't have to cast to call it
2013-04-17 10:53:17 -04:00
96eee9e7a1
change UIConfig to use accessor/setter methods like RCConfig so that ParameterChanged methods can actually be emitted; add variable (over a small range) background shading for all TimeAxisViewItems
2013-04-16 23:46:22 -04:00
4e9108cd1e
remove TimeAxisView::clip_to_viewport() and Editor::update_canvas_now() and Editor::flush_canvas() which should no longer be necessary with a sane canvas design
2013-04-12 18:01:44 -04:00