Paul Davis
9331aa69bd
new code to support creating skip markers
2014-09-17 09:39:29 -04:00
Ben Loftis
0676cfc070
fix double-click-shows-region-properties in Ripple mode
2014-09-15 11:43:12 -05:00
Robin Gareus
70358639de
Revert "cont'd work on automation-track headers (amend ba53af1c5)"
...
This reverts commit beb5e3e777 .
2014-09-04 16:14:01 +02:00
Robin Gareus
beb5e3e777
cont'd work on automation-track headers (amend ba53af1c5)
...
now that the separator line is at the top,
offset region-contents y0 by 1px.
2014-09-03 20:48:20 +02:00
Ben Loftis
16ca4e0f9a
Initial steps towards usable range-based automation editing.
...
TODO: needs undo. only works in top quarter of automation lane. selection model feels weird sometimes. needs to show gain curve when you are using Range tool
2014-08-05 15:42:06 -05:00
Ben Loftis
b19e1a7985
remove EditAtSelectedMarker for Mixbus, to match mb2. (also fix an existing thinko in the edit point selection actions) (oops: also fix previous track selection fix so that it pays attention to the selection property of the group)
2014-07-14 10:08:55 -05:00
Ben Loftis
bff786257e
polish a few blemishes and add some comments
2014-07-09 14:45:20 -05:00
Ben Loftis
12699574ae
fix range select so it picks up grouped tracks
2014-07-09 14:34:14 -05:00
Paul Davis
d99b6f0662
call Canvas::re_enter() at the end of a RegionCutDrag so that entered_regionview *might* be set
2014-07-08 21:37:49 -04:00
Paul Davis
f250d16487
cut cursor follows grid
2014-07-08 16:08:31 -04:00
Paul Davis
67eaa62ee9
fix build after copy-n-paste/code change collision
2014-07-07 10:21:47 -04:00
Paul Davis
d97199088b
some code shuffling to make sure that cut mode always operates at the mouse location, with (maybe) the right regions
2014-07-07 10:13:26 -04:00
Paul Davis
a34861c38e
use an EditorCursor when dragging in cut mode to indicate cut position
2014-07-07 08:26:37 -04:00
Paul Davis
779fe6c082
add functionality for cut tool
2014-07-07 07:05:44 -04:00
Ben Loftis
80d1631aa3
if a Range end is trimmed, in follow-edits mode, locate to the range end so it can be auditioned. (same as trimming a region end)
2014-07-03 12:56:33 -05:00
Ben Loftis
043b76569d
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-07-03 12:56:33 -05:00
Colin Fletcher
960e5a3c7c
Ripple mode: ripple all after start of first selected region
...
Ripple drags should affect all regions which start at or after the
beginning of the first selected region, not just those which start after
its end.
2014-07-01 20:43:34 +01:00
Colin Fletcher
264c62eb26
Ripple mode: remove debug output
...
Remove std::cerr output, and tidy up a couple of comments.
2014-07-01 20:43:34 +01:00
Colin Fletcher
e5e12acc56
Merge branch 'ripple-mode-cc' into cairocanvas
...
Fix up merge conflicts in
gtk2_ardour/editor_mouse.cc
gtk2_ardour/editor_ops.cc
Also fix up compile errors.
2014-07-01 19:10:47 +01:00
Colin Fletcher
da65f3778c
Fixes for ripple mode drag
...
Make undo of ripple mode dragging work a bit better, and hopefully prevent
rippled regions from jumping about when being dragged.
2014-07-01 18:46:13 +01:00
Paul Davis
4e689d9496
use new TrackingText for verbose cursor
2014-06-26 15:10:24 -04:00
Robin Gareus
a3c378cf62
move utility functions into a dedicated namespace
2014-06-25 21:47:54 +02:00
Paul Davis
0796ccfb65
use newly factored canvas in gtk2_ardour
2014-06-21 11:44:22 -04:00
Paul Davis
280fc81e05
modifications to region drag implementation
...
(1) if we're dragging over the drop zone, then x-axis motion is irrelevant for threshold-of-move
(2) store original time axis view of a dragged region so that if we create a new track with the region drag, it can be the same height
2014-06-19 11:18:44 -04:00
Paul Davis
c30bda5173
a set of inter-related subtle changes to get vertical autoscrolling to work, or at least work better.
2014-06-17 08:08:14 -04:00
Paul Davis
f7844f4893
do most of the work related to adding new anchored trim cursors (but debugging/analysis continues)
2014-06-13 18:43:53 -04:00
Paul Davis
50fea864db
rationalize and coordinate handle of region (time axis view item) opacity.
...
There are still some bugs with this because of the waveview image cache - fixes coming soon.
2014-06-13 12:22:39 -04:00
Paul Davis
eca6c9f998
remove ambiguous use of Rect (on OS X)
2014-06-10 11:00:15 -04:00
Paul Davis
ce08ec0de0
substantial changes in color management, involving a reduction in the use of Gdk::Color and more consistent logic for region coloring.
...
Group tabs now also get the text drawn in an appropriately contrast-y color
2014-06-09 23:29:00 -04:00
Paul Davis
9933a80dd4
allow a drag down over the drop zone to be "reversed" and the region moved back up into existing tracks
2014-06-09 10:55:37 -04:00
Paul Davis
8487314069
introduce Drag::_trackview_only which indicates that all y-axis positions for the pointer during a drag should be relative to the top of the trackview group.
...
More or less all drags except for Cursor (playhead) and drags in the range marker bars have this true (which is the default value)
2014-06-08 11:26:32 -04:00
Paul Davis
5285bb587f
fix position where rubberband rect is drawn
2014-06-06 08:33:13 -04:00
Paul Davis
eec24b6287
fix up drawing and selection process for range selections (caused by subtle change in semantics of TimeAxisView::covered_by_y_range())
2014-06-05 17:06:36 -04:00
Paul Davis
64701f3955
remove needlessly-added method
2014-06-05 15:22:26 -04:00
Paul Davis
ad346dc638
reinstate a canvas group where we reparent regions while dragging, so that they are always on top.
...
I mistakenly removed this during the onecanvas changes.
2014-06-05 15:16:55 -04:00
Paul Davis
8fa81c1436
merge onecanvas and cairocanvas branches, and manually resolve conflicts, including rounding in item_to_window() methods
2014-06-03 16:37:53 -04:00
Paul Davis
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
Paul Davis
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
Paul Davis
a551181842
remove incorrect calls to Editor::maybe_autoscroll() from specific Drag classes (autoscroll is handled by the Drag manager)
2014-06-03 16:10:27 -04:00
Paul Davis
ee6c483d18
non-copy region drag now creates a new track when a region is dragged to the drop zone
2014-06-03 16:07:05 -04:00
Paul Davis
7e36d4c9bb
part one of allowing region drag to the bottom (drop-zone) rect of track canvas
2014-06-03 16:06:41 -04:00
Robin Gareus
ea3918ba2d
disable snap fades to 'other' region (for now)
2014-06-01 00:40:07 +02:00
Robin Gareus
4843c5d5cf
towards region-trims preserving fade duration
2014-05-31 03:53:59 +02:00
Paul Davis
1e907cedc5
comment tweak
2014-05-19 14:00:36 -04:00
Paul Davis
8fd69776ea
adding a new track via copy-region-drag now works (and shares code with the non-copy case
2014-05-19 14:00:36 -04:00
Paul Davis
00c7abe926
non-copy region drag now creates a new track when a region is dragged to the drop zone
2014-05-19 14:00:36 -04:00
Paul Davis
a8c56ff927
part one of allowing region drag to the bottom (drop-zone) rect of track canvas
2014-05-19 14:00:36 -04:00
Colin Fletcher
933da08c72
Ripple mode: tidy up
...
Remove a load of debug output and dead code.
Move implementation of RegionRippleDrag::y_movement_allowed() out of
header into .cc file.
2014-05-07 19:46:24 +01:00
Colin Fletcher
d75c7151d4
Ripple mode: basic implementation
...
Add a value for Ripple to EditMode enum.
Add Ripple edit mode to edit mode dropdown, by adding it to the
Editor::build_edit_mode_menu() helper function, and remove the old code that
added items to the (now unused) Editor::edit_mode_strings.
Add the regions that should be affected by the drag to RegionDrag::_views so
that the drag carries them along automatically.
Use a copy of the RegionList in Playlist::core_ripple(), since bad things
happen when iterating over regions and they get moved around in the list.
Handle rippling in removal of regions from playlist.
When dragging in ripple mode, exclude all regions that lie before the
original start position of the selected regions being dragged from
rippling: this is what Mixbus does.
Make editor dragging respect snap-to settings, by using the existing
compute_x_delta() function, which did almost the right thing. Move setting
of _last_frame_position out of that function so all ripple-dragged regions
can move.
Ripple when dragging from region list: even though Mixbus doesn't do this, it
seems like a good idea.
Prevent multi-track selection being dragged across tracks, by making
RegionMotionDrag::y_movement_allowed() virtual, and overriding it in
RegionRippleDrag to forbid dragging of selections containing regions on more
than one track to dofferent tracks in ripple mode.
Remember which TimeAxisView a ripple-mode drag that's allowed cross-track
drags started from, so that the effect of rippling regions after any region
that's dragged off that track can be undone.
2014-05-07 19:46:24 +01:00
Colin Fletcher
ce8e374cf8
Splice mode: fix comment typo
2014-05-07 19:46:24 +01:00