nick_m
aac167a19f
"Lock" mode is now "Constrained", make snap absolute modifier configurable.
...
- user can abs/rel modifier key in prefs->user interaction
suggested for linux - absolute->alt ignore snap->alt-shift
- Constrained mode works the same as button 2 drag (initial move
sets constraint axis).
2015-05-18 06:25:36 +10:00
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
459a943bb0
end drags on regions before doing front trim, so that fades get visually updated rather than skipped because dragging() still returned true
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-13 15:54:50 +00:00
082461f108
prevent Primary-click or Shift-click from deselecting when clicking on a track "background"
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13604 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-05 20:29:54 +00:00
Ben Loftis
613021bff1
tweak Auto Play behavior: dont auto-play a range selection if the auto-play option is on; but note that this is still possible if both auto-play and follow-edits is on
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13562 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-28 17:03:39 +00:00
Ben Loftis
62c8963170
region selections and moves should have optional preroll when playhead follows edits
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13552 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 23:07:21 +00:00
Ben Loftis
e63da83c53
tweak Smart Mode to be more like Mixbus. Smart mode is just a modifier on Object mode which provides Range selection in the top half of the waveform. probably lots of corner cases to clear up before its all over, but at least we can use Mixbus as a consistent target rather than making it all up again.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13551 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-26 22:43:10 +00:00
Ben Loftis
beb3ec2d7a
Always Play Range is now Follow Edits, and is based on Mixbus implementation. Added menu item. Follow Edits button replaces Auto Play; removed the connector between play and play-range. Some Smart Mode changes came along for the ride but will be cleaned up shortly
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13537 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-20 19:43:43 +00:00
7b57d47e25
grid/snap minimum selection length
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-18 15:35:05 +00:00
1bff57131a
substantive change to automation line dragging code to avoid O(N^4) behaviour. performance fixes are still required for realistically data-rich automation lines
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13515 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-17 22:55:03 +00:00
98834c0532
remove a bunch of cerr output and/or convert to use error<<
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13477 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-11-13 15:11:07 +00:00
43c850cdf3
cleaner version of previous commit's fix for AutomationRangeDrag y fraction computation
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13013 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10 15:58:09 +00:00
e89bdcd9eb
provide some numerical data during automation trim (range) drags, and correct computation of y-fraction for such drags
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13011 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10 15:44:56 +00:00
cf49671ab4
add a comment to the previous change
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13008 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10 04:18:06 +00:00
65bb82ce82
don't spin on Session::timecode_transmission_suspended() if disconnected from JACK because it will never be re-enabled (fixes lockups when disconnected)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@13007 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10 04:05:48 +00:00
97d920593f
drastic rethink of the relationship between remote control ID and route order keys. unless the user explicitly switches to UserOrdered, Route::_remote_control_id is an unallocated pointer, and Route::remote_control_id() simply returns a value based on the relevant order_key() value. Also, change the key used in the Route::order_keys std::map<> from a string to an enum, since there is no evidence that we are benefitting from the theoretical benefit of using a string. Generally tidy up allocation of order keys so that the master and monitor busses always get a "special" MixerSort key value, based on the MMC ID for master (already defined within Ardour), and all other tracks/busses start at zero. Syncing keys between editor and mixer will leave the MixerSort key for the master and monitor bus alone, reflecting the fact that we display these in their own distinct parts of the GUI and they are not orderable like other tracks or busses within the mixer window
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12923 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-25 12:46:13 +00:00
Carl Hetherington
a8dd4ec805
Re-show all xfades that we hide during drags ( #4933 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12729 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-15 15:01:35 +00:00
Carl Hetherington
57590aaca3
Make y position of MIDI note drags slightly better.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12707 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 18:01:29 +00:00
5573b6a049
fix some bugs with dragging patch/program changes around
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12692 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-13 02:00:51 +00:00
Carl Hetherington
5049883d46
Make crossfade edge drags undoable.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 13:25:13 +00:00
Carl Hetherington
f840133768
Remove apparently erroneous commit_reversible_command.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12621 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 00:20:41 +00:00
Carl Hetherington
650f16620d
Don't round conversions from frame to unit when setting up control points, as it will cause big inaccuracies when zoomed out.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12503 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-31 17:07:02 +00:00
Carl Hetherington
0b21004252
Prevent x movement of the end points of region gain
...
lines (should fix #4680 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@12461 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27 21:02:36 +00:00
Carl Hetherington
f722858e43
Patch from tophatdave to improve display of timestretch in
...
stacked layers mode (#4379 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@12460 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-27 20:07:13 +00:00
7628316335
implement undo/redo for xfade trimmin
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12242 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 18:36:05 +00:00
da7215e1ad
if an xfade involves only 2 regions, clamp its length to the overlap between them
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12238 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 12:14:26 +00:00
bed955b409
fix dragging of end xfades
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12237 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 02:50:59 +00:00
e3a9576aed
basic xfade dragging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12236 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 00:46:22 +00:00
25655e1a6d
skeleton for crossfade edge dragging
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12235 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-09 23:04:18 +00:00
18b18a45a5
hide xfades while dragging region(s)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12202 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-07 22:02:17 +00:00
4235e9a1a2
a variety of mostly unused parameter errors from OS X Lion's compiler
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12148 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-02 20:29:46 +00:00
ec1ef5d6b5
remove the apparently unnecessary "ui_bind()" macro from entire source base
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-25 12:58:19 +00:00
Carl Hetherington
8a98f466f9
Minor simplification.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12059 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-23 00:35:38 +00:00
Carl Hetherington
ca96b9afe8
Remove some unused code.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@12052 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-21 23:54:20 +00:00
Carl Hetherington
a2897ecef6
Fairly major change to the way in which crossfades are handled;
...
they are now done with region fades, rather than separate objects.
After this commit, Ardour will try to convert your session files
to the new crossfade format, but will make a backup in your
session folder first.
If you have works in progress using Ardour 3 it is
***STRONGLY RECOMMENDED*** that you back up session files before
updating to this commit.
git-svn-id: svn://localhost/ardour2/branches/3.0@11986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-16 16:32:22 +00:00
Carl Hetherington
64425f77e7
Remove unused op parameter to temporal_zoom_by_frame. Add Zoom to Range option to range marker context menu ( #4778 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11750 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22 16:41:44 +00:00
Carl Hetherington
3120bae8b4
Don't leave internal edit mode when clicking on an automation region view ( #4747 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11749 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-22 16:41:23 +00:00
Carl Hetherington
e9bf20021e
Remove unused RegionGainDrag; fix logic in adding new
...
region gain points; remove unreached switch {} that may
have come from a mis-merge.
git-svn-id: svn://localhost/ardour2/branches/3.0@11631 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-09 20:47:40 +00:00
53cb1b6572
mouse draw mode can draw AND select (and trim) notes (but trim cursors don't appear yet)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11470 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-08 12:50:32 +00:00
e023de6da5
fix for crash while drag-creating a new MIDI note and dragging before the start of the region (from tophatdave
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11396 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-31 01:59:39 +00:00
7629120cda
many changes, large and small, related to smart mode editing, range/region selection, and behaviour of playhead when always-play-range is enabled. could be buggy, but probably in subtle (or even very subtle) ways rather than obvious
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11394 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-30 22:53:22 +00:00
Carl Hetherington
664cec2135
Don't autoscroll right if we are moving left, and vice versa; should fix #4676 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11393 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-30 21:33:32 +00:00
33c61757fc
promote Playlist::RegionList to ARDOUR::RegionList; fix timefx on multiple regions, even regions of mixed type. this mostly involved some trivial code changes but to make the code simpler and less error prone, the API switched away from using RegionSelection (list of regionviews that catches regionviews vanishing) and used RegionList (lists of regions, no semantics) instead.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11362 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-27 16:29:01 +00:00
f2e542afe7
in non-note-edit mouse object mode, single click on midi track creates a region if nothing is selected (because said click would then clear the selection, as before). this makes getting started with hand-edited MIDI regions massively easier
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11350 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-25 19:39:20 +00:00
Carl Hetherington
ddd162bdb0
Make time stretch respect edit groups ( #4615 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11334 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-24 17:04:15 +00:00
5de9a8f38b
make mouse range mode do something interesting when in internal/note edit mode. not entirely finished because the usual modifiers to add/extend the selection don't work correctly. note that this works both on the scroomer (where the modifiers do work correctly) and in the track (where they do not)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-20 02:54:23 +00:00
f758ed0f41
more fixups of various things including cursors when note editing. in particular, don't needlessly reset the cursor during a drag. note insertion with ctrl pressed now only works if in MouseObject mode.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-19 22:23:28 +00:00
efab36a85e
new mouse mode (Draw (notes)); switch into internal mode when draw is selected; notably improve use of dbl-click to enter and exist internal/note edit mode
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11269 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-19 15:23:51 +00:00
c43f1d22c8
enter and exit node edit mode with dbl-click in any MIDI region
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11268 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-19 00:14:58 +00:00
f1df7b125b
snap tempo marker drags to the nearest beat
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11183 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-07 15:10:31 +00:00
355183f1ab
partially revert some of the recent work on tempo to reflect new understanding of the problem. behaviour is now believed to be totally correct but awaiting a bit more testing
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11171 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-06 16:39:40 +00:00
bdb15f9422
fix some more crashes with tempo map manipulations
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11170 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-05 22:36:58 +00:00
c80649d913
restore correct behaviour of undo/redo for tempo map drags
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11162 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-04 20:40:06 +00:00
Carl Hetherington
dd53e7284a
Set up layering_index immediately on an explicit layer, so that undo
...
works properly. Stop the layer being a stateful property, as it is
always derived from layering_index, unambigiously, by relayer().
git-svn-id: svn://localhost/ardour2/branches/3.0@11120 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30 20:05:48 +00:00
Carl Hetherington
42aea0b9fd
Clean up comments to create_note_at, since it no longers snaps its length parameter. Move the 1 tick shortening out of the method for the same reason. Make sure that create drags make notes with a minimum length of 1 tick ( #4600 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11116 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-30 13:41:16 +00:00
Carl Hetherington
b177514930
Revert internals of the last layering-related commit, and go back a slightly-cleaned-up version of how it was before. Remove all layering modes; only option now is add-is-higher. Move-add-higher could easily be re-added if anyone uses it.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-29 22:14:15 +00:00
09b0ae782c
avoid crash on region drag end trying to access TimeAxisView::view() for TAV's that don't have one
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11105 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-29 14:48:42 +00:00
a85e0b0a2e
a huge set of changes to tempo+meter handling. testing feedback requested. the_CLA, you know who i mean :)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11103 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-28 21:02:31 +00:00
Carl Hetherington
9e785781f2
Fix another bug wrt visual appearance of layered regions in
...
overlaid mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@11098 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 21:10:20 +00:00
Carl Hetherington
2db69318ce
Fix up confusion with relayering after movement drags in
...
overlaid mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@11092 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 18:33:49 +00:00
Carl Hetherington
6304261b98
Re-work layering in possibly debatable ways. Sketchy docs in doc/layering.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-27 01:42:49 +00:00
5d509146c8
followup to the previous tempo-dragging commit: use argument to Drag::aborted() to know if we moved; update the frame position of tempo map metrics when we remove a tempo mark (should fix visual glitches when dragging tempo)
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11049 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 14:21:05 +00:00
5cd27a4a85
similar to treatment of meter markers, remove tempo marks from the tempo map while dragging, to avoid wierd side effects
...
git-svn-id: svn://localhost/ardour2/branches/3.0@11047 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-21 02:53:33 +00:00
b6d1fb0707
fix meter marker drags by not using a fake marker till first move, and swapping the grabbed item to the copy when we do
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10999 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-13 19:43:41 +00:00
e0cf3b6354
more fun and games with meter and the tempo map: rename Meter::beats_per_bar() to Meter::divisions_per_bar() so that its clear(er) on what it is actually returning; use Meter::divisions_per_bar() in more (all?) places that need it; fix up dragging meter marks by removing the relevant meter section from the map while we drag; operator<< for some tempo-related objects
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10995 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-13 02:46:36 +00:00
Carl Hetherington
692f857b83
Yet another bug in previous commit.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10974 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 14:07:24 +00:00
Carl Hetherington
b4d7120a58
Fix some bugs I introduced with the last commit.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10973 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 13:42:18 +00:00
Carl Hetherington
ab4e7cf472
Move note creation code into a Drag; fix snapping of note
...
starts when drag-created (part of #4505 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10972 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-11 12:54:54 +00:00
Carl Hetherington
f817155f20
Fix somewhat unlikely crash on doing add note; start drag to resize note; undo; finish drag to resize note.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10880 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-03 03:05:59 +00:00
Carl Hetherington
be951eca95
Remove code to zoom on up/down mouse movement when dragging
...
the playhead.
git-svn-id: svn://localhost/ardour2/branches/3.0@10786 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-23 01:17:41 +00:00
Carl Hetherington
ec90b0ceb0
Use a Drag class for midi note selection, so that it
...
gets autoscroll (#4474 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10650 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-16 20:11:33 +00:00
Carl Hetherington
2603cfd530
Re-show region views that we hid when dragging things on
...
hidden tracks (fixes the rest of #3493 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@10571 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-13 19:51:30 +00:00
Carl Hetherington
ab024c7601
Fix snap of note drags when the region position is not itself snapped to the grid ( #4322 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-22 23:18:54 +00:00
Carl Hetherington
b12c890b81
Fix check on dragging MIDI notes to a point before the region position.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10287 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-22 23:17:08 +00:00
Carl Hetherington
e549e8f82c
Cope with drags of selections that include regions on hidden tracks ( #3493 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10283 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-22 18:11:40 +00:00
0bc8832e20
Trim include tree.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10244 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-19 21:53:09 +00:00
0938a42440
fixes for 98% of all the warnings/errors reported by OS X gcc on tiger
...
git-svn-id: svn://localhost/ardour2/branches/3.0@10179 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-30 17:55:14 +00:00
f6951c92f0
attempt to fix deep confusion in GUI code about converting between musical and audio time (should have beneficial effects on #4257 ); change ghost note drawing when in MIDI note draw/add mode so that its start is aligned with the mouse cursor
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9998 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-16 14:24:41 +00:00
dd55f88d30
when showing a note value during a drag, clamp first to the actual range. note that the canvas object can still be dragged out of the region (above/below) but fixing this requires some kind of fancy auto-scroll that i'm not up for implementing at this time
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9983 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-08-12 14:41:11 +00:00
Carl Hetherington
7e8e8b4e72
Tie note y to mouse pointer position when dragging MIDI
...
notes (#4051 ).
git-svn-id: svn://localhost/ardour2/branches/3.0@9886 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-17 16:02:26 +00:00
Carl Hetherington
cd17e05e3a
Fix some set-but-not-used variable warnings from gcc 4.6
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9783 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-02 17:16:46 +00:00
d5e09076ca
much ado about nothing when it comes to gain control
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9748 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-19 23:02:55 +00:00
dabe57a486
alter playhead drag threshold for vertical zoom again
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9716 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-12 22:10:13 +00:00
ca1a5ef876
increase threshold for drag-playhead-does-vertical-zoom
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9713 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-12 22:05:34 +00:00
ed626628b5
Delete trailing whitespace
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-06-01 17:00:29 +00:00
d4d5b30aeb
remove unused and useless "src" argument for a number of Region property modifying methods
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9632 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-30 13:54:44 +00:00
Carl Hetherington
fb39b47861
Zoom session when the mouse pointer is moved up and down during a playhead drag.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-25 16:38:49 +00:00
Carl Hetherington
71596b002e
Fix corruption of follow playhead state on quit ( #4048 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9542 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-17 15:28:12 +00:00
Carl Hetherington
4b848856eb
Fix undo of timestretch ( #3905 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-16 20:13:03 +00:00
Carl Hetherington
ac23288b5d
Fix update of session range location on copy-dragging regions ( #4038 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9504 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-12 21:29:27 +00:00
Carl Hetherington
4216d201fb
Fix offset of verbose cursor when dragging fade-ins ( #4010 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9473 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-04 14:56:24 +00:00
Carl Hetherington
55586be83a
Prevent note drags from moving a note before the start of its region.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9463 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-03 00:45:54 +00:00
Carl Hetherington
988348185e
Separate verbose cursor out into its own class and clean up the API. Fixes #4010 .
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9455 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-02 13:38:16 +00:00
Carl Hetherington
884de065bd
When drawing MIDI regions with grid snap enabled, make the region extent 1 frame shy of the next grid boundary. In this way, a duplicate of the new region will land on a grid snap point.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9398 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-20 23:50:31 +00:00
Carl Hetherington
58bd627666
Fix prevention of region drags before time 0 ( #3947 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9318 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-06 23:12:45 +00:00
Carl Hetherington
278286125c
Remove unnecessary (and wrong) check for movement, as the parent does it ( fixes #3850 ).
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9145 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-14 19:25:41 +00:00
Carl Hetherington
82cb7c3280
Check movement threshold using the raw grab frame rather than the snapped one, which I think is right.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9144 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-14 19:25:18 +00:00
Carl Hetherington
3409f591db
Comments.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9035 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-02 17:00:35 +00:00
Carl Hetherington
28d3dd69de
Update session range on trimming regions.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@9004 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-01 16:23:31 +00:00
Carl Hetherington
954bc598b8
Make a shift modifier do vertical zoom in zoom mode.
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8897 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-17 22:36:01 +00:00
7a5b6a5031
patches from lincoln to speed up the regionlist and provide region removal (causes dangling shared ptrs to regions, fix to come
...
git-svn-id: svn://localhost/ardour2/branches/3.0@8845 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-14 21:49:43 +00:00