Commit graph

437 commits

Author SHA1 Message Date
GZharun
048d03ecd8 [Summary] When range sellection covers multiple regions all of them will be processed by range drag 2014-10-01 17:56:06 +03:00
GZharun
e04c73415b [Summary] Made trackview_by_y_position calculate offset before getting track view for range drag 2014-09-30 17:53:36 +03:00
GZharun
cd1549a47b [Summary] Made range selection drag-able if object tool is active as well 2014-09-30 16:27:10 +03:00
Paul Davis
0e95ecfc2e do not force transport stop for click in ruler 2014-09-29 13:38:30 -04:00
GZharun
ea7ba3ed57 [Summary] Made correct region to be cut, when multiple rage selection are present. 2014-09-29 18:38:38 +03:00
GZharun
d006e75f43 [Summary] Implemented range drag functionality as required by PRD
[Details] Range cuts region when dragged, range copies region when dragged with Alt pressed
2014-09-25 17:55:07 +03:00
GZharun
496f3eb767 [Summary] Fixed issue when range selection could not be dragged to copy region when applied to the last two tracks 2014-09-25 14:50:56 +03:00
Paul Davis
935ee63ed3 make unmodified drag on a range/time selection do a separate first, then drag the new region.
This behaviour is only superficially similar to Logic's behaviour. It also operates only on the FIRST selected
range's new region (the one created by the separate), rather than all of them. Extending it to operate on
all ranges (across tracks) is theoretically possible but has some complications that go beyond this simple change.

Dragging the selection itself now occurs on Primary-drag.
2014-09-24 15:50:59 -04:00
GZharun
b213c096d1 [Summary] Made ranges to stay selected when another tool is chosen 2014-09-24 17:15:31 +03:00
Paul Davis
57552634c5 no context menu in Tracks for marker/ruler bars 2014-09-23 23:50:26 -04:00
Paul Davis
1492e7bb29 do playhead locate/drag for mouse drag on ruler 2014-09-23 22:58:34 -04:00
Paul Davis
c5883a8241 make drag bar for loop the correct height (to span loop bar + ruler); remove unused variables; don't initiate create loop drag on ruler 2014-09-23 22:56:09 -04:00
Paul Davis
33444e3d01 remove entered/exited color change for markers 2014-09-23 22:46:13 -04:00
Paul Davis
93cf0a7ccb more changes to get mouse interactions with markers + rulers closer to PRD 2014-09-23 16:54:54 -04:00
Paul Davis
0472453d94 many substantive changes in the handling of ARDOUR::Location, Markers and drags/clicks on Markers.
It would have been nice to split this commit into parts, but it is all very interconnected and was not possible to
subdivide.
2014-09-23 10:49:21 -04:00
Paul Davis
12e7de3f48 start moving responsibility for color management for Markers from Editor into Markers 2014-09-21 17:38:48 -04:00
Paul Davis
63abfea552 use new ARDOUR::Location signals in GUI 2014-09-19 22:50:50 -04:00
Paul Davis
a95ec7ca5b various changes to accomodate skip markers (which span the entire range of an ARDOUR::Location) and to add drag-to-create-skip 2014-09-17 21:42:33 -04:00
Paul Davis
c698b4e788 shift-drag on range marker bar creates skip ranges, for now 2014-09-17 16:29:37 -04:00
Paul Davis
a7aca1a849 escape should reset focus as well as abort drags/clear selection 2014-09-17 07:07:36 -04:00
Paul Davis
92491ebebb add new skip bar, to allow start on skip functionality 2014-09-05 16:07:07 -04:00
Paul Davis
ee1c8b1b60 renamed the transport-marker bar/ruler as punch-loop bar for more clarity in its purpose. 2014-09-05 15:54:58 -04:00
Paul Davis
9c24d10862 Merge branch 'master' into ardour-merge
Conflicts:
	gtk2_ardour/editor.cc
	gtk2_ardour/editor_mouse.cc
	gtk2_ardour/public_editor.h
	gtk2_ardour/time_axis_view_item.cc
	gtk2_ardour/time_axis_view_item.h
2014-08-28 10:58:49 -04:00
GZharun
c9c7a0961a [Summary] Reworked region view according to the PRD
[Details] Note: the code is promoted ahead without some cosmetic stuff
What is not finished: 1. Move rec color and name highlight color to the config.
2. Make region name displayed above the wave.
2014-08-28 10:20:21 +03:00
Paul Davis
199414f495 cut ops can start on automation tracks too 2014-08-17 20:44:53 -04:00
Paul Davis
020fc013a9 cut ops can start with the mouse pointer not over a region 2014-08-17 20:44:47 -04:00
Paul Davis
fca6419abf some code shuffling to make sure that cut mode always operates at the mouse location, with (maybe) the right regions 2014-08-17 20:42:47 -04:00
Paul Davis
dd10318149 Use Canvas::re_enter() after changing mouse mode so we get the right cursor no matter what item we're over; fix return value for button press in cut mode; never change selection in cut mode 2014-08-17 20:41:33 -04:00
Paul Davis
d93526de76 add functionality for cut tool 2014-08-17 20:41:15 -04:00
Paul Davis
b18b3b850b add basics of Cut mouse mode, no functionality yet. Icon images are still required
Conflicts:
	gtk2_ardour/editor.cc
	gtk2_ardour/editor_actions.cc
2014-08-17 20:41:07 -04:00
Ben Loftis
2be8f11a3e fix the naming and behavior of always-play-range to match the button, which is follow-edits. when you select a range, the playhead should jump to the start of the range and begin to play the selection. BUT (unlike previous implementation) if the user wants to relocate the playhead, then that should be allowed. The user should always remain in charge of the playhead location. NOTE: your previous config setting will be invalidated. You must re-save a session to overwrite with the new config variable 2014-08-17 20:34:46 -04:00
Paul Davis
30d2ed74c3 reinstate same logic, slightly differently implementedm, for choosing range/object mode when pointer is in smart mode and in a track but not in a region 2014-08-17 20:34:12 -04:00
Paul Davis
59b4611cda (hopefully) fix smart-mode breakage of xfade operations
We needed to set the selected regionview from a click when clicking on xfade items, but I also removed duplicate logic for some similar items
2014-08-17 20:29:54 -04:00
Paul Davis
363ba4ebed context click over a trim handle is semantically equivalent to a context click on the xfade 2014-08-17 20:02:32 -04:00
Paul Davis
0b5b4dffc4 use Editor::effective_mouse_mode() inside Editor::button_selection(); clean up special-case of fade in/out handles and mouse mode 2014-08-17 19:58:21 -04:00
Paul Davis
12f081c358 use new TrackingText for verbose cursor
Conflicts:
	gtk2_ardour/editor_drag.cc
	gtk2_ardour/editor_mouse.cc
	gtk2_ardour/verbose_cursor.cc
	gtk2_ardour/verbose_cursor.h
2014-08-17 19:30:47 -04:00
Paul Davis
2f77f2bc69 removed no-longer-used Editor::track_canvas_motion()
Conflicts:
	gtk2_ardour/editor.h
2014-08-17 19:27:11 -04:00
Robin Gareus
a17616f1da move utility functions into a dedicated namespace
Conflicts:
	gtk2_ardour/about.cc
	gtk2_ardour/editor_ops.cc
2014-08-17 18:51:22 -04:00
Paul Davis
ad67a36d7d more work on cursor tracking state 2014-08-17 16:24:38 -04:00
Paul Davis
4d4851cffc 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-08-17 16:23:52 -04:00
Paul Davis
835e2fe109 add back click behaviour for canvas rulers, and also cursor enforcement 2014-08-17 15:09:10 -04:00
Paul Davis
525f2893f9 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-08-17 14:56:50 -04:00
Paul Davis
8c1e1d0a38 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-08-17 14:56:02 -04:00
Robin Gareus
efeb662e7c unify Fade-Handle Cursors 2014-08-17 14:46:23 -04:00
Paul Davis
e8e3460665 more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
Conflicts:
	gtk2_ardour/editor_mouse.cc
2014-08-17 13:43:52 -04:00
Paul Davis
f391837e1a remove utterly useless unused code 2014-08-17 13:38:55 -04:00
Paul Davis
3af66ff917 remove useless groups from timebar area, clarify scroll group naming in editor 2014-08-17 13:38:50 -04:00
Paul Davis
893452b388 remove timebar canvas and just use a single canvas instead. This is just part one - lots of minor fixes to be done
Conflicts:
	gtk2_ardour/editor.cc
2014-08-17 13:38:30 -04:00
Paul Davis
cb9453b475 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-08-17 13:37:27 -04:00
Robin Gareus
ea9a5e45e6 prepare fade+trim cursors (cursor image still missing) 2014-08-16 17:59:05 -04:00