nick_m
799e619690
Relative snap now always on - disabled with Tertiary modifier (shift)
2015-05-18 03:15:22 +10:00
nick_m
a0bd6975d2
Clean up drag modifiers.
...
Button 2 drag now is constrained to initial move axis, removing
all modifiers from this op.
Remove Jump after trim mode.
TrimDrag now has:
Primary for trim anchored to fade.
Secondary for contents trim (as before)
Primary & Tertiary for "non overlap" trim
All drags have Tertiary for relative snap
2015-05-18 01:43:44 +10:00
nick_m
c359f881a1
Relative Snap -make it activated by the tertiary modifier during drag.
...
Disabled/enabled with the shift key. no config stuff at all now.
Move existing (strange) trim feature to primary + tertiary modifiers.
2015-05-17 23:47:01 +10:00
nick_m
91a34c596d
Relative snap - support magnetic mode (hackishly for now)
2015-05-17 04:26:05 +10:00
nick_m
bbafb8f137
Cleanup relative snap code.
2015-05-17 00:23:25 +10:00
nick_m
6831d8a5aa
Fix typo.
2015-05-16 06:10:02 +10:00
nick_m
c8303c8b7e
Revert incorrect region_length() definition.
2015-05-16 04:50:37 +10:00
nick_m
68a8330afc
Relative snap
2015-05-16 04:15:52 +10:00
0acdb8b74a
remove a dead variable initialization.
2015-03-29 15:23:27 +02:00
57e227fd52
it would have been too much of a good thing.
2015-03-27 20:58:41 +01:00
9242ca7a64
dropzone: honor AutoConnectMaster.
2015-03-27 19:22:21 +01:00
1fffbb554f
fix some DnD thinko & edgecases.
...
* Handle large (delta > 1) movements into the DZ
which are not due to invalid-drop positions, but
caused by laggy GUI or rapid user movements.
* ignore busses when moving out of the DZ.
2015-03-27 16:23:01 +01:00
a1258750ce
fix a few -Wsign-compare
2015-03-27 00:50:27 +01:00
70e739b29a
Another DnD fix. fix move onto (but not over) busses.
2015-03-27 00:37:47 +01:00
1dfee48139
Heuraka! Nightmarish rework of DnD code.
...
Allow to drag multiple regions from different tracks
to/from the dropzone.
Busses & Automation-lanes are ignored, as are
hidden tracks.
Any region may serve as mouse drag anchor.
fixes #6172 and #6176
2015-03-26 23:33:13 +01:00
502361c001
DnD: query mouse y-pos only once.
2015-03-26 23:30:18 +01:00
a53bd72697
remove crufty variable
2015-03-25 17:21:13 -05:00
7b1d21128b
fix dropzone region ordering
2015-03-25 22:06:05 +01:00
3c55eb1e39
DnD, only use track relationship
...
Ignore any routes or automation lanes during
region y-axis distance calculation.
2015-03-25 17:15:32 +01:00
a9b2f97395
jot down some thoughts about drop-zone dragging.
2015-03-25 15:57:16 +01:00
b90c38639a
fix drags crossing automation lanes.
2015-03-25 14:43:11 +01:00
nick_m
1580c6d635
Fix some strings incorrectly marked for translation.
...
My apologies to translators.
2015-03-25 23:31:23 +11:00
f851a0bf3a
two more drop zone checks
...
see also 6cfb6ef
2015-03-25 13:05:24 +01:00
6cfb6ef665
fix drop-zone drops
...
There is no special ‘-1’ indicator any more.
i->time_axis_view is unbound to allow relative
positioning when dragging multiple regions.
2015-03-25 12:11:49 +01:00
b637c2223f
Major rework of DnD.
...
Allow dragging multiple regions from multiple
tracks across any number of hidden tracks and
automation lanes.
fixes #6176 and #6172
2015-03-25 01:48:29 +01:00
92ba2d5780
partial fix for Canvas Region DnD & comments
...
Fixes #6172 and #6176 for single region drags.
Further work is needed if multiple regions on different tracks are dragged over hidden tracks
(see inline comment).
2015-03-24 15:25:39 +01:00
a5db1d588e
Fix dragging regions to/from drop zone ( #6137 ).
...
The previous code assumed that dragging up from the drop zone into the last
track is always valid. This is not true when the type of the dragged region(s)
do not match that route, which resulted in a crash and/or bizarre behaviour.
This took entirely too long to figure out, there are some real nightmares in
the region drag code...
2015-03-15 03:45:26 -04:00
80bb72bbe2
fix drag-motion over TAV w/o view()
2015-03-08 03:42:33 +01:00
3f8583f8d6
stop dragged regions moving to the dropzone during autoscrolling towards the top track
2015-02-18 12:27:11 -05:00
dd8f2cfe18
fixes for non-overlapping fade in/out even in regions not at zero
2015-02-16 16:27:50 -05:00
236f549caa
insanely complex fixes for dragging to and from the drop zone.
...
This probably breaks some of ardour's functionality (e.g. layered mode), but seems to
be either just right or very close to it for tracks
Conflicts:
gtk2_ardour/editor_routes.cc
2015-02-13 17:00:30 -05:00
8304471062
fix up recent cherry-picks from waves' tracks
2015-02-13 16:42:05 -05:00
6f98f91f18
prevent fade in/fade out on audio regions from overlapping each other
2015-02-13 16:22:08 -05:00
456374c995
implement axis-limited dragging
2015-02-13 16:21:57 -05:00
994dff91a2
detect if drags appear to be vertical or horizontal as we cross the move threshold
...
Conflicts:
gtk2_ardour/editor_drag.cc
gtk2_ardour/editor_drag.h
2015-02-13 16:21:37 -05:00
eb45b3baaa
fix behaviour of region-copy-drag when using the dropzone.
...
The copied regions all had a null playlist pointer, so they all ended up on
the same (new) track
2015-02-13 16:19:06 -05:00
78d76c197e
allow normal right trimming even if the start of a range is at zero
...
Conflicts:
gtk2_ardour/editor_drag.cc
2015-02-13 16:18:24 -05:00
bc2271b43e
After dragging from multiple tracks to the dropzone, create the right number of new tracks.
...
This does not address the visual flattening that occurs before the drop
is complete. Doing that is complex and there is no immediate solution
visible. The result after the drop is complete is correct, however.
2015-02-13 16:17:27 -05:00
ef79d1c4d4
fix last cherry-pick
2015-02-09 14:46:20 -05:00
abcd70c1d2
After dragging from multiple tracks to the dropzone, create the right number of new tracks.
...
This does not address the visual flattening that occurs before the drop
is complete. Doing that is complex and there is no immediate solution
visible. The result after the drop is complete is correct, however.
Conflicts:
gtk2_ardour/editor_drag.cc
2015-02-09 11:03:03 -05:00
ec37c83507
fixup cherry-picked changes from Waves Tracks, and fix for Ardour
2015-02-05 20:26:02 -05:00
7644533103
implement RangeMarkerBarDrag::abort
...
Conflicts:
gtk2_ardour/editor_drag.cc
2015-02-05 19:34:31 -05:00
e6752fb729
implement MarkerDrag::abort()
2015-02-05 19:33:31 -05:00
7ffc06b08d
fix issue with region dragging while mouse pointer is in rulers/marker lanes
2015-02-05 17:42:46 -05:00
nick_m
ff13ac8b4f
Clean up Session's _current_trans when aborting a drag.
2015-02-05 23:32:57 +11:00
nick_m
f9b2587458
Make redo action insensitive after new command.
...
Don't erroneously send first_move more than once after autoscroll drag.
2015-02-05 19:57:56 +11:00
47f8125b35
amend e3da18fd
2015-01-26 17:14:24 +01:00
e3da18fd2f
fix copy/drag abort.
2015-01-24 20:40:07 +01:00
22435bb53d
make MouseCursors invalid cursor API be static; use to initialize default cursor value in Drag API; use C API to set canvas cursor
2015-01-24 12:26:58 -05:00
90c1e0ffd2
allow use of null pointer as a valid cursor (implies using cursor of parent window)
2015-01-23 15:19:36 -05:00
fe08965d91
fix indentation from prior commit
2015-01-23 13:45:21 -05:00
GZharun
6976a78100
[Summary] Fixed bug 45163: Trim range from right corner of timeline leads Tracks to crash
...
[Details] Crash was provoked because of an attempt to add commands to the session reversible command, but when autoscroll started and trim began with autoscroll the session reversible command was not created for for Trim Drag.
2015-01-23 13:43:52 -05:00
nick_m
ae7b978b0b
Fixes for when rubberbanding_snaps_to_grid config setting is off.
...
The initial point and the ultimately selected items were always following
the snap settings. Also the VCC was displaying incorrectly on button press.
2015-01-20 04:49:44 +11:00
nick_m
ade1c4923c
Fix note resize double undo bug.
...
Newly drawn notes are selected.
Clear midi note selection on Selection::set_state().
2015-01-17 04:55:05 +11:00
d39d4c1c11
Fix automation range drag and implement for MIDI.
...
Range select rect sticks around now after switching to the draw tool, but
disappears if a note selection is made. Not sure if draw is really the most
appropriate tool here (particularly if we ever implement actual pencil-like
drawing); edit contents seems more appropriate but that would probably cause
more selection issues, so here we are.
2015-01-13 23:30:37 -05:00
nick_m
44203ce955
Fix AutomationTrackItem rubberband click thinking it was unhandled.
...
Fix several other cases where a single mouse click could cause several
(not nested) selection ops.
Fix missing selection memento for midi notes and midi commands.
Rename some variables.
Fix random style issues.
2015-01-11 04:07:31 +11:00
2a251b4570
MusicalTime => Beats.
2015-01-07 00:12:07 -05:00
nick_m
a795892492
Separate selection operations into their own temporary history mechanism.
...
The user can now replay *all* earlier selection operations until the next
session undo/redo command, or the completion of a new operation.
Nothing relating to selection ops is stored, and selection operation history
is begun on first idle.
Selection operation history is fundamentally different from the history of
operations which act on a selection in terms of both their viewport and the
amount of information required to replay them.
WRT undo, the user of a selection op doesn't care about the viewport state
at the beginning of an op, but rather that at the end of the previous one.
2015-01-02 08:01:12 -05:00
64fa63212f
move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration
2014-12-22 13:39:46 -05:00
David Robillard
670938c8c4
Fix various cursor problems.
...
Add a new scoped cursor system that makes it much harder to screw up and end up
with stick cursors and so on.
2014-12-20 01:13:25 -05:00
nick_m
9af9e17adc
Add editor selection state to session history via a SelectionMemento, which
...
combines selection related editor properties with the current editor selection.
The related editor properties are:
mouse mode,
zoom setting,
left frame of the canvas,
y origin of the canvas.
Selection state now includes region views (storing the underlying region id)
and time.
This patch also fixes a region mute undo bug.
2014-12-18 11:03:10 -05:00
56ca52651e
fix up requested color names everywhere.
...
Thank <deity> for emacs ... space-uncamelcase-word-at-point FTW
2014-12-14 16:15:38 -05:00
48a7a11974
initial pass to replace all UIConfiguration::get_XXXXXX() calls with UIConfiguration::color(name).
...
IMPORTANT: names have not been downcased and spaced yet, so many colors are not found
2014-12-14 12:27:07 -05:00
116722f182
Fix uninitialized value in note create drag.
2014-12-07 20:37:53 -05:00
603748d68a
Unify gain and draw tools.
...
There might be a few special cases lingering around from attempts at magic tool
business, but this seems to work fine as far as I can tell.
2014-12-07 20:37:46 -05:00
ea5876b836
Remove dead code.
2014-11-25 02:11:44 -05:00
d953f1ce0e
when dragging on the canvas, use x,y pointer coordinates to decide if motion has occured.
...
Using _last_pointer_frame breaks when dragging to the left of the canvas, because we clamp
the value of the frame to >= 0. Motion would step once the pointer crossed the left edge
of the canvas because the frame value would always be zero.
This is not a problem when using the pointer x,y values which end up appropriately negative
under all conditions.
2014-11-24 21:59:29 +02:00
57c1b6e261
Fix quantization and other time-related ops.
2014-11-22 21:49:42 -05:00
c1cfa12d6e
Wrap MusicalTime in a class.
...
This lets us get a more explicit handle on time conversions, and is the main
step towards using actual beat:tick time and getting away from floating point
precision problems.
2014-11-22 04:05:42 -05:00
9d8bbf4b9a
Remove unused variables.
2014-11-20 11:31:31 -05:00
adea8ab68f
Fix mismatched note resize drag cursor and behaviour.
2014-11-18 02:53:27 -05:00
563f5c11a6
Support cut/copy/paste of MIDI notes and controllers at the same time.
2014-11-16 22:35:45 -05:00
d63161426f
Add "maybe" rounding modes for rounding only if necessary.
2014-11-16 22:35:45 -05:00
fd9ccc7058
Use an enum for RoundMode instead of magic numbers.
...
No functional changes in this one (for easier auditing), but towards having
round up/down only if necessary modes, rather than kludging around that
situation with a double round as we do currently.
2014-11-16 22:35:45 -05:00
89a1980818
Only create MIDI regions on click when in draw mode.
...
It was much too easy to accidentally create MIDI regions in object mode. If
the user isn't in draw mode anyway, then even after creating a region, they
can't put notes in it, so I don't think we've lost any discoverability here.
2014-11-15 02:03:40 -05:00
14e53b89c7
Fix wonky note length when create-dragging notes backwards.
...
Specifically, when pivoting from forwards to backwards (around the drag start
point), the note length was too long. Setting both the start and end x
coordinates of the rect every time to the right value does the right thing.
2014-11-14 00:33:05 -05:00
589cc3162b
Fix crash when deleting overlapped regions.
...
Use RegionSelection for MIDI regions as well, since the old dumb stub didn't do
some things correctly. There's probably no reason to have a separate class for
this at all, and some good ones for putting all regions in the same selection,
so we should probably do that. For now they are still separate in the
selection but use the same base class.
2014-11-13 21:32:08 -05:00
ba4d1cd1c1
remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config()
2014-10-21 22:58:58 -04:00
b73f725676
remove mouse zoom mode; bind z to zoom-to-range
2014-10-21 12:47:53 -04:00
9331aa69bd
new code to support creating skip markers
2014-09-17 09:39:29 -04:00
0676cfc070
fix double-click-shows-region-properties in Ripple mode
2014-09-15 11:43:12 -05:00
70358639de
Revert "cont'd work on automation-track headers (amend ba53af1c5
)"
...
This reverts commit beb5e3e777
.
2014-09-04 16:14:01 +02:00
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
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
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
bff786257e
polish a few blemishes and add some comments
2014-07-09 14:45:20 -05:00
12699574ae
fix range select so it picks up grouped tracks
2014-07-09 14:34:14 -05:00
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
f250d16487
cut cursor follows grid
2014-07-08 16:08:31 -04:00
67eaa62ee9
fix build after copy-n-paste/code change collision
2014-07-07 10:21:47 -04:00
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
a34861c38e
use an EditorCursor when dragging in cut mode to indicate cut position
2014-07-07 08:26:37 -04:00
779fe6c082
add functionality for cut tool
2014-07-07 07:05:44 -04:00
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
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
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
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
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
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
4e689d9496
use new TrackingText for verbose cursor
2014-06-26 15:10:24 -04:00
a3c378cf62
move utility functions into a dedicated namespace
2014-06-25 21:47:54 +02:00
0796ccfb65
use newly factored canvas in gtk2_ardour
2014-06-21 11:44:22 -04:00
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
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
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
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
eca6c9f998
remove ambiguous use of Rect (on OS X)
2014-06-10 11:00:15 -04:00
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
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
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
5285bb587f
fix position where rubberband rect is drawn
2014-06-06 08:33:13 -04:00
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
64701f3955
remove needlessly-added method
2014-06-05 15:22:26 -04:00
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
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
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
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
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
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
7e36d4c9bb
part one of allowing region drag to the bottom (drop-zone) rect of track canvas
2014-06-03 16:06:41 -04:00
ea3918ba2d
disable snap fades to 'other' region (for now)
2014-06-01 00:40:07 +02:00
4843c5d5cf
towards region-trims preserving fade duration
2014-05-31 03:53:59 +02:00
1e907cedc5
comment tweak
2014-05-19 14:00:36 -04:00
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
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
a8c56ff927
part one of allowing region drag to the bottom (drop-zone) rect of track canvas
2014-05-19 14:00:36 -04:00
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
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
ce8e374cf8
Splice mode: fix comment typo
2014-05-07 19:46:24 +01:00
349f66f413
Fix region content drag direction
...
Fix <Control>+drag in bottom of region to move the region contents in the
expected direction.
2014-05-07 19:38:22 +01:00
9a35f73b9e
Fix undo of layer-changing region drags
...
Move clear_changes() of the playlist on which a region has been dragged
before calling set_layer() on that playlist, so that undo of region drags
in layered mode undoes any layer changes too.
Should fix #5904
2014-05-07 19:38:07 +01:00
56af57d682
shift-modifier during trim dragging causes region to jump to original position (anchored at start or end, depending on trim type)
2014-05-07 12:13:34 -04:00
4f7d94ea67
latest tweaks to autoscroll: symmetrical boundary on both sides, stop runaway scrolling, and more
2014-03-21 09:49:35 -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
279aefc60e
fix error in height computation of MIDI region views (FUDGE!) use Rectangle::set_outline_all() and avoid the removed integer version of ::set_outline_what()
2014-03-11 07:39:25 -04: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
0c283ba657
fix lack of range selection when moving vertically
2014-02-26 08:24:41 -05:00
15c13f1369
range selection drag ensures that selected tracks include all tracks within the vertical height spanned by the drag.
...
Older code looked at the track under the motion event coordinates. With rapid mouse motion, tracks could be "skipped" - no motion event
would be reported within their vertical coordinate range.
2014-02-25 21:55:25 -05:00
61ab5e8967
click (no drag) on automation line now adds a new control point on the line (not fully checked for precision)
2014-02-25 12:01:13 -05:00
46e86f6694
Revert "add a hack to deal with device discovery race, in which the devices were not actually known to be ready before the last update_surfaces() call (which is where binding between strips and routes occurs) ; add support for Mackie Control touch on/off messages"
...
This reverts commit 06a25ffd5695697db9869a19e46c2f93c6c17458.
2014-02-25 12:00:53 -05:00
a13511e901
required fix for cairocanvas branch, didn't make it into merge
2014-02-19 23:25:24 -05:00
5cf4a32da9
click (no drag) on automation line now adds a new control point on the line (not fully checked for precision)
2014-02-19 23:25:24 -05:00
06e3b7da5d
Revert "add a hack to deal with device discovery race, in which the devices were not actually known to be ready before the last update_surfaces() call (which is where binding between strips and routes occurs) ; add support for Mackie Control touch on/off messages"
...
This reverts commit 06a25ffd5695697db9869a19e46c2f93c6c17458.
2014-02-19 23:25:24 -05:00
58a8d50bdc
add a hack to deal with device discovery race, in which the devices were not actually known to be ready before the last update_surfaces() call (which is where binding between strips and routes occurs) ; add support for Mackie Control touch on/off messages
2014-02-19 23:25:24 -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
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -05:00
b1d1473ddf
change min dimension of rubberband rect to 2 pixels
2014-01-02 09:53:53 -05:00
c460bf527e
enforce a minimum 5x5 pixel size for the rubber band rect
2014-01-02 09:44:15 -05:00
85daa31ab5
all events propagate out of the canvas in canvas coordinates now, so revert changes in editor_drags.cc that worked around this not being the case
2013-10-31 16:43:35 -04:00
b80ae88154
fix window/canvas coordinate confusion in drag code, apparently fixing up lots of things with just 1 line
2013-10-31 12:41:02 -04:00
664e715a00
merge from master
2013-10-22 15:29:44 -04:00
nick_m
5b62e88fbf
Unify editor / mixer ordering.
2013-10-21 00:19:43 +11:00
f8574fc39d
'gtk2_ardour' - Add namespaces + casting where necessary + general bits of 'correctness' to keep MSVC happy
2013-10-03 09:06:56 +01:00
7a30e63eaa
fix merge conflicts with master
2013-09-14 16:42:40 -04:00
111d35c9c7
add methods to queue full MTC and SPP messages, now that they are synchronous
2013-08-08 19:31:10 -04:00
badb902bc0
fix rounding issue when dragging video with fractional fps
2013-08-08 15:26:41 -04:00
Michael Fisher
7d7d9a3fe7
Send a song position pointer with mmc and fullframe fake locating
2013-08-08 15:26:17 -04:00
1ab61b8564
major redesign of MIDI port heirarchy and management (part 2)
2013-08-07 22:22:11 -04:00
00b694fd79
fix rounding issue when dragging video with fractional fps
2013-08-04 18:49:28 +02:00
Michael Fisher
79d134ca78
Send a song position pointer with mmc and fullframe fake locating
2013-07-29 20:05:10 +02: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
3091b5f1ad
fix possible crash when aborting a region drag and there are time axis views without streamviews
2013-07-09 09:45:54 -04:00
d299e41a61
fix position of verbose cursor
2013-06-26 12:02:54 -04:00
8ee0671fd9
probable fix for a region drag that somehow ends up with no time axis view (track) under the mouse (e.g. during a track height reduction
2013-06-26 11:49:16 -04:00
479e97dc59
some prep work for generally handling dbl-click on draggable objects
2013-06-21 15:18:54 -04:00
b604dd2413
make MIDI rubber band selects use the correct canvas item so that event processing works
2013-04-25 16:05:21 -04:00
6f664c1f67
many pervasive changes primarily related to waveform drawing, particular content-dragging, colors, and more
2013-04-24 15:42:14 -04:00
ddd21c110c
fix various event coordinate system problems with button events on the rulers
2013-04-18 15:14:48 -04:00
ec8d521e98
semi-fix xfade display, and reduce number of calls to Curve::get_vector() by a factor of two
2013-04-18 09:56:01 -04:00
fce1733808
fix playhead dragging from rulers
2013-04-17 15:29:03 -04:00
ec102f94e1
various work waveview amplitude mgmt; fix playhead cursor drag from timebar click
2013-04-17 15:22:09 -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
7e19053b88
Fix dragging objects on the canvas and remove redundant canvas groups
...
Delivery of fake motion events to the editor needed the event coordinates to be
in canvas space, as they are with "real" events. Editor and other objects had
many redundant groups from timbyr's work on gnomecanvas to scroll by moving
groups. We don't need this anymore with cairo-canvas (though possibly a
stationay background group for the canvas might be useful again one day as in
the SAE logo. Its implementation would be fairly different though, since we
would have to explicitly move the group on every scroll, since nothing else
ever moves on scroll).
Also tweaks to text item placement, and switch TimeAxisViewItem from
name_pixbuf to name_text, since ArdourCanvas::Text is already "pixbuf optimized".
2013-04-15 13:50:05 -04:00
af4539f857
a few changes to fix region dragging, all related to coordinate system handling, which is now much simpler with the new canvas; more debugging output when asked for
2013-04-15 10:38:12 -04:00
83c6aee3b7
Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas
2013-04-12 21:47:02 -04:00
4e84bc3a39
changes to get cairocanvas branch to build on OS X, with its stupid nil and Rect macros, plus some const_cast<> and unused variable fixes that should really be in master but will have to wait till we rebase master
2013-04-12 21:46:44 -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
b05968fb4e
change frames_per_pixel to samples_per_pixel
2013-04-12 11:31:50 -04:00
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
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
f208593249
Merge branch 'cairocanvas' of git.ardour.org:ardour/ardour into cairocanvas
2013-04-11 22:54:22 -04:00
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
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
66ee2c8e59
enable videotimeline by default
2013-04-11 19:49:48 +02:00
19bd641915
commit immediately post linking
2013-04-04 18:45:27 -04:00
aaea166135
initial commit of hand merging, plus getting "ancient" waf script to work correctly
2013-04-04 00:32:52 -04:00
78aa7a13fd
use C++ std function for max()
2013-03-27 18:45:08 +01:00
b3fa4dd8f3
vtl: video sets session start/end markers.
2013-03-27 18:21:09 +01:00
b15e8da3fd
vtl: one less compiler warning
2013-03-14 01:36:36 +01:00
0c3e840700
videotimline
...
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-03-13 20:28:15 +01:00
022e590429
Fix crash when trimming MIDI region with automation.
...
This seems impossible, but it happens. Reproduction instructions:
1) Click in an empty portion of MIDI track to create a region
2) Add a CC lane
3) Click some points into lane (perhaps unnecessary)
4) Switch lane to linear mode (perhaps unnecessary)
5) Attempt to extend region leftward (with draw tool, but probaby doesn't matter)
6) Boom
Note trimming still doesn't work in this case and something seems deeply broken, but at least it doesn't crash now.
git-svn-id: svn://localhost/ardour2/branches/3.0@13922 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 06:57:52 +00:00
6e0fc35806
fix problem with dragging an end range marker if the start of the range was near zero
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13795 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-06 14:55:35 +00:00
4acd9285bf
fix invalid casts in prev commit.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13775 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04 17:54:55 +00:00
bb3690db58
merge Marcel Bonnet's patches for Free-BSD
...
(may need further cleanup:
compare with timbyr's windows patch,
verify fst/vsti + ALSA)
git-svn-id: svn://localhost/ardour2/branches/3.0@13774 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-04 17:36:52 +00:00
67265c6d90
various fixes for moving markers, fixes a crash reported by tim blechmann and also likely #5232 and #5241
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13754 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-02 23:54:06 +00:00
30237aad7f
fix push-drags of automation data - previously we did not resync the model with the view for the points that were pushed (i.e. not selected, but moved anyway)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13681 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 15:55:06 +00:00
Ben Loftis
b8a8abeb8f
code cleanup; crossfade shape drawing is now more closely associated with the fade-in shape rather than a separate thing. could probably be consolidated into fewer functions, but this is an interim step for testing. Also remove the use-current-fade-shape option which is not meaningful in new model
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13669 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-14 17:21:44 +00:00
9a4058be9d
fix a couple of issues with range selection, caused by clicked_selection persisting across drag/click ops
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13666 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-14 16:46:01 +00:00
40e9dae606
various fixes for "advanced" operations on range selections. ctrl-drags now add a new range selection, allowing discontiguous selections as in ardour2, shift-click extends an existing range selection to the clicked position, alt-drag on a range selection moves it, and to do a so-called "separation drag" now use ctrl-alt-drag (or ctrl-alt-click)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13660 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 19:39:36 +00:00
Ben Loftis
2292e33ee4
crossfade hack and slash. removed overlap checks, overlap mode, default length, fade_is_xfade, fade_is_short, and other leftovers from previous crossfade models. Draw crossfade drags in realtime so fade_line is no longer needed. remove code for hiding crossfades during a drag. moved crossfade rect to top layer so crossfade lines dont grab mouse focus. drag-trim-with-fixed-fade-anchor is partially implemented and needs discussion
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13659 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 16:42:05 +00:00