Commit graph

632 commits

Author SHA1 Message Date
Paul Davis
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
Paul Davis
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
Paul Davis
c04081681c remove debug output 2014-03-13 08:43:07 -04:00
Paul Davis
95c214c923 fix up button selection operation so that fade drags work again 2014-03-13 08:39:14 -04:00
Paul Davis
36160b88cd fixes, hopefully, for canvas cursor misbehaviour near/in regionviews 2014-03-11 22:39:04 -04:00
Paul Davis
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
Paul Davis
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
Paul Davis
5cbb60d339 fix display of time selection rect(s) when switching mouse modes 2014-02-26 10:50:51 -05:00
Paul Davis
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
Paul Davis
f5dbbe4ac6 ctrl-click when adding automation points no longer adds guard points 2014-02-25 11:59:02 -05:00
Paul Davis
156a5a0e5f add the with-guard-point distinction to region gain lines 2014-02-20 14:01:40 -05:00
Paul Davis
6e38ecc158 manually applied equivalent of 1d82f4ca07 in master (git could not apply successfully) 2014-02-19 23:37:46 -05:00
Paul Davis
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
Paul Davis
68af0fdc07 fix up visibility control for automation lines 2013-12-31 13:28:20 -05:00
Paul Davis
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
Paul Davis
9fb3247350 rationalize color handling for fade in/out handles 2013-12-09 22:04:13 -05:00
Paul Davis
ea1ccb869a fix merge with master 2013-10-31 13:16:51 -04:00
Colin Fletcher
e7875954ca Edit tempo & meter markers on double-click. 2013-10-25 17:03:45 +01:00
Colin Fletcher
efd2e1776d Double-click on region pops up region properties. 2013-10-25 17:03:45 +01:00
Colin Fletcher
abb05680b4 Make double-click on marker pop up rename dialogue. 2013-10-25 17:03:45 +01:00
Colin Fletcher
89193dc40b Add a double-click handler for items in the editor window. 2013-10-25 17:03:45 +01:00
Paul Davis
525cb6b4a7 some sort-of-deep fixes to get autoscroll/vertical scroll to work properly for cairocanvas 2013-07-10 19:10:06 -04:00
Paul Davis
479e97dc59 some prep work for generally handling dbl-click on draggable objects 2013-06-21 15:18:54 -04:00
Paul Davis
f00b3b7f11 merge with master 2013-06-13 23:00:24 -04:00
Paul Davis
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
Colin Fletcher
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
Paul Davis
e2f0c5f91e merge resolution with master 2013-05-02 20:21:54 -04:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
ec102f94e1 various work waveview amplitude mgmt; fix playhead cursor drag from timebar click 2013-04-17 15:22:09 -04:00
Paul Davis
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
Paul Davis
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
Paul Davis
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
Paul Davis
e9a82b6714 stop using vertical adjustment to account for scrolling, since event coordinates for all events that are delivered to the canvas are adjusted before Editor sees them 2013-04-12 12:53:52 -04:00
Paul Davis
4258a34912 change all frame_to_pixel and pixel_to_frame to sample_to_pixel and pixel_to_sample 2013-04-12 11:15:45 -04:00
Paul Davis
ecfd2a7455 remove all unit-based methods from (Public)Editor; rationalize Editor::event_frame() to clearly identify whether the passed-in GdkEvent has window units or canvas units (the latter will be true for all events that are handled by the canvas and then passed to Editor 2013-04-12 11:09:49 -04:00
Paul Davis
f208593249 Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas 2013-04-11 22:54:22 -04:00
Paul Davis
ee1f0520a8 many changes to get the cairo-canvas version much, much more functional. still problems with a lot of subtle and not-so-subtle issues 2013-04-11 20:19:22 -04:00
Robin Gareus
6ae4f10437 Merge branch 'master' into cairocanvas
Conflicts:
	gtk2_ardour/editor.h
	gtk2_ardour/editor_canvas.cc
	gtk2_ardour/wscript
2013-04-11 22:24:05 +02:00
Robin Gareus
66ee2c8e59 enable videotimeline by default 2013-04-11 19:49:48 +02:00
Paul Davis
07a505b1b2 lots of tweaking and adding debug output including operator<</dump(ostream&) methods to help visualize canvas structure 2013-04-05 11:27:26 -04:00
Paul Davis
19bd641915 commit immediately post linking 2013-04-04 18:45:27 -04:00
Paul Davis
aaea166135 initial commit of hand merging, plus getting "ancient" waf script to work correctly 2013-04-04 00:32:52 -04:00
Robin Gareus
0c3e840700 videotimline
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-03-13 20:28:15 +01:00
Paul Davis
1e30104c47 prevent smart mode from interfering with internal edit mode (note selection, etc)
git-svn-id: svn://localhost/ardour2/branches/3.0@13992 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-24 21:56:03 +00:00
David Robillard
d6d7fd8ba3 Fix MIDI region create drag for the eleventy billionth time.
Also make it work for pencil.

This is the canonical Ardour MIDI noob "I can't even create notes, this crap is
impossible to use or doesn't work at all" use case:

1) Create MIDI track
2) Click in that track, with object or pencil tool
3) ** A region is created ** - aha!
4) Click in that region, notes are created

Breaking step 3 ruins everything.  Please don't.


git-svn-id: svn://localhost/ardour2/branches/3.0@13932 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 19:16:58 +00:00
Paul Davis
54ce76e8fd remove "edit" property from track/bus groups; use "select" property which should force region selection to propagate, and then rely on "edit-applies-to-selection"
git-svn-id: svn://localhost/ardour2/branches/3.0@13734 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-26 17:50:29 +00:00
Paul Davis
4471f53643 prevent cursor from changing when in smart+internal object mode
git-svn-id: svn://localhost/ardour2/branches/3.0@13704 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-21 21:39:36 +00:00
Paul Davis
42b59bb992 no region trimming on the region itself when in range mode
git-svn-id: svn://localhost/ardour2/branches/3.0@13685 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 18:48:29 +00:00