13
0
Commit Graph

737 Commits

Author SHA1 Message Date
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
Carl Hetherington
d9c4625ff5 Don't catch up with the playhead after drags.
git-svn-id: svn://localhost/ardour2/branches/3.0@8767 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-08 11:46:11 +00:00
Carl Hetherington
6ceda14cf4 Fix warning.
git-svn-id: svn://localhost/ardour2/branches/3.0@8564 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-24 12:06:12 +00:00
Carl Hetherington
7af9c8ae78 Patch from Lincoln to fix uncommitted reversible command during rubberband selection (#3729).
git-svn-id: svn://localhost/ardour2/branches/3.0@8563 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-23 23:13:46 +00:00
Carl Hetherington
1e8586742e Fix session range location by hooking into the undo system. Fixes #3654.
git-svn-id: svn://localhost/ardour2/branches/3.0@8539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-19 17:38:56 +00:00
Carl Hetherington
113e6b505a Fix memory leak.
git-svn-id: svn://localhost/ardour2/branches/3.0@8519 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-16 19:34:00 +00:00
Carl Hetherington
85acf35337 Disable follow-playhead during drags. Fixes #3647.
git-svn-id: svn://localhost/ardour2/branches/3.0@8444 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-05 02:28:28 +00:00
8cf32fddc5 remove line parent member from Marker, part 2
git-svn-id: svn://localhost/ardour2/branches/3.0@8360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-29 13:47:57 +00:00
e522ed1953 remove unnecessary line for marker drags (marker has its own)
git-svn-id: svn://localhost/ardour2/branches/3.0@8352 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 20:37:11 +00:00
Carl Hetherington
84b4dd94e3 Remove unnecessary _have_transaction flag in TrimDrag. Fix undo when a trim of one region affects the previous or next regions too (#3632).
git-svn-id: svn://localhost/ardour2/branches/3.0@8348 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 19:17:37 +00:00
Carl Hetherington
f8ebb4582d Unify program change and bank handling so that they are manipulated together.
git-svn-id: svn://localhost/ardour2/branches/3.0@8346 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-28 18:19:40 +00:00
Carl Hetherington
818f2cffd7 Add menu option to insert program changes.
git-svn-id: svn://localhost/ardour2/branches/3.0@8330 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-22 23:45:04 +00:00
Carl Hetherington
95bb346926 Refactor so that all the locate-related stuff in CursorDrag is in one method. Also, wait for timecode transmission to be suspended before sending MMC/MTC locates, rather than hoping it will be suspended in time.
git-svn-id: svn://localhost/ardour2/branches/3.0@8329 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-22 23:43:04 +00:00
Carl Hetherington
d83219706f Update transport clocks on initial grab of the playhead cursor.
git-svn-id: svn://localhost/ardour2/branches/3.0@8328 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-22 23:27:42 +00:00
Carl Hetherington
039adb4c6b Account for the fact that CursorDrag only ever drags the playhead. Fix playhead misbehaviour when you start a drag from outside it.
git-svn-id: svn://localhost/ardour2/branches/3.0@8327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-22 23:16:39 +00:00
Carl Hetherington
37b680cd15 Fix region resizing with grid snapping enabled (#3620).
git-svn-id: svn://localhost/ardour2/branches/3.0@8325 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-22 01:06:18 +00:00
Carl Hetherington
570ed69d2a Allow dragging of program change flags in MIDI regions.
git-svn-id: svn://localhost/ardour2/branches/3.0@8303 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-20 03:42:59 +00:00
df5e700f90 fix some more incorrect casts to CanvasNote rather than CanvasNoteEvent (fixes crashes when a track is in perc mode
git-svn-id: svn://localhost/ardour2/branches/3.0@8273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 20:01:18 +00:00
4b861e6039 Rename libmusictime libtimecode (consistent with already used namespace "Timecode").
Move BBT_Time to libtimecode.


git-svn-id: svn://localhost/ardour2/branches/3.0@8271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 18:13:37 +00:00
Carl Hetherington
5c23faaa0d Allow trim of midi regions to before the start of the source (better, this time). Fixes #3156.
git-svn-id: svn://localhost/ardour2/branches/3.0@8229 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-09 21:34:46 +00:00
Carl Hetherington
56554af08f Revert previous ill-thought-out patch.
git-svn-id: svn://localhost/ardour2/branches/3.0@8213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 19:55:43 +00:00
Carl Hetherington
f3fc6195bc Allow trim of midi regions to before the start of the source. Fixes #3156.
git-svn-id: svn://localhost/ardour2/branches/3.0@8212 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 19:16:23 +00:00
Carl Hetherington
6df5d5d87a Tweak some naming slightly.
git-svn-id: svn://localhost/ardour2/branches/3.0@8210 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 17:16:59 +00:00
8b68ed57ec Fix some messed up code (spacey tabs).
(There is faar more of this... FIX YOUR EDITORS!)


git-svn-id: svn://localhost/ardour2/branches/3.0@8086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-25 20:37:39 +00:00
Carl Hetherington
e131fd391d Put MIDI notes into their own canvas group, and reparent this group during start trims to stop the notes moving. Improves the visual display on start trim of a MIDI region.
git-svn-id: svn://localhost/ardour2/branches/3.0@8080 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-24 01:04:53 +00:00
Carl Hetherington
8fc660e76e Move mouse cursor stuff out of Editor into its own class.
git-svn-id: svn://localhost/ardour2/branches/3.0@8048 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-16 14:53:16 +00:00
Carl Hetherington
56910429f7 Remove erroneous check.
git-svn-id: svn://localhost/ardour2/branches/3.0@8020 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-13 22:38:28 +00:00
b85b4d9e54 make ardour3 build and link on OS X (tiger, at least)
git-svn-id: svn://localhost/ardour2/branches/3.0@8018 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-13 05:14:48 +00:00
Carl Hetherington
e6016c009c Fix build.
git-svn-id: svn://localhost/ardour2/branches/3.0@8016 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-12 23:16:59 +00:00
Carl Hetherington
fcfbd65268 Further fixes for #3529. Show marker lines the same colour as their marker; adjust height of lines.
git-svn-id: svn://localhost/ardour2/branches/3.0@8009 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-11 13:36:38 +00:00
Carl Hetherington
d29f14bf33 Fix trim of multiple regions. Fixes #3528.
git-svn-id: svn://localhost/ardour2/branches/3.0@7982 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-09 01:58:42 +00:00
Carl Hetherington
c246926e41 Move some methods out of Editor into RegionView.
git-svn-id: svn://localhost/ardour2/branches/3.0@7981 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-09 01:58:12 +00:00
aad157337c correct version of: port cairo ARGB/BGRA -> pixbuf RGBA patch from recent 2.X commit (restores text on canvas), in which i move some functions around, rename stuff and add comments
git-svn-id: svn://localhost/ardour2/branches/3.0@7846 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-26 13:33:39 +00:00
ded4a143db much craziness with canvas cursors; fix 0 beat cursor text when shortening notes; fix crash when trimming locked regions; don't show trim cursors when region is locked; partial version of enumwriter validation fix from 2.X (less necessary with 3.0; probably more ...
git-svn-id: svn://localhost/ardour2/branches/3.0@7831 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-22 15:21:06 +00:00
Carl Hetherington
dbd1e1f7b8 Don't update region list during region trim. Fixes #3467.
git-svn-id: svn://localhost/ardour2/branches/3.0@7825 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-21 23:23:07 +00:00
90e73a3a6d (1) remove almost-never used block/unlock_property_changes() methods from PBD::Stateful (2) hide used and path columns from region list (3) detect mouse position within MIDI notes and thus allow move or trim from the same mouse mode (object or trim; first & last 1/4 of each note is for trimming
git-svn-id: svn://localhost/ardour2/branches/3.0@7823 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-21 15:15:06 +00:00
Carl Hetherington
3aa1f21475 Updating zoom mouse cursor on modifier press. Fixes #274.
git-svn-id: svn://localhost/ardour2/branches/3.0@7820 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-21 14:22:13 +00:00
5462d30076 restore a moved placement of the assert taken out in the previous commit
git-svn-id: svn://localhost/ardour2/branches/3.0@7818 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-21 03:09:02 +00:00
2c80ff4129 lincoln's patch that makes us pay attention to region copies w.r.t the region list, PLUS make region list insert drags work again by not insisting that the list of regionviews be non-empty as the drag is constructed PLUS the start of tracking mouse cursor position in MIDI notes PLUS a bit of leftover debugging info
git-svn-id: svn://localhost/ardour2/branches/3.0@7817 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-21 03:02:30 +00:00
Carl Hetherington
74d72b83a7 Disable region drags in internal edit mode. Fixes #3456.
git-svn-id: svn://localhost/ardour2/branches/3.0@7800 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-18 20:22:03 +00:00
d05a3f7305 copy edit comment
git-svn-id: svn://localhost/ardour2/branches/3.0@7797 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 23:43:23 +00:00
0ed7a99dd5 fix reversed direction of MIDI note drag preview
git-svn-id: svn://localhost/ardour2/branches/3.0@7796 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 23:27:49 +00:00
9a8cd09b19 fix errors in midi note drag preview (#3446)
git-svn-id: svn://localhost/ardour2/branches/3.0@7793 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 20:32:18 +00:00
10bdce85a0 megaopus commit: (1) add __STD_(LIMIT|FORMAT)_MACROS to command line flags for cc and c++ builds, remove them from source (2) add new Property::midi_data used by MidiRegion to signal that its (MIDI) contents have changed (3) massive switch from nframes_t to framepos_t/framecnt_t including removal of ARDOUR::max_frames (replaced by ARDOUR::max_frame{pos,cnt} (lots more to do but this set was driven by changes to the Diskstream API to use framepos_t
git-svn-id: svn://localhost/ardour2/branches/3.0@7791 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 16:24:22 +00:00
7eea9fac9d cleaner version of previous commit
git-svn-id: svn://localhost/ardour2/branches/3.0@7783 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-15 16:54:17 +00:00
5f948f6961 (optionally) play note(s) as they are moved around on the pitch axis (finishes #3446)
git-svn-id: svn://localhost/ardour2/branches/3.0@7782 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-15 16:16:37 +00:00
bc8aeb0425 restore "add MIDI region on click in MIDI track" functionality
git-svn-id: svn://localhost/ardour2/branches/3.0@7768 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-13 19:46:28 +00:00
Carl Hetherington
86244875a4 Allow drags of automation in time ranges where the automation is on a MIDI track and may span different regions. Fixes #3366.
git-svn-id: svn://localhost/ardour2/branches/3.0@7765 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-09 21:35:28 +00:00
Carl Hetherington
7decc96544 Add some debugging code for mouse drags.
git-svn-id: svn://localhost/ardour2/branches/3.0@7763 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-09 21:34:45 +00:00
Carl Hetherington
57b362cf99 nframes64_t -> frame{pos,cnt}_t
git-svn-id: svn://localhost/ardour2/branches/3.0@7759 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-09 01:38:21 +00:00
Carl Hetherington
613fe6353a Fix confusion with _pointer_frame_offset and snapping; makes e.g. playhead drag with grid snap to region bounds work.
git-svn-id: svn://localhost/ardour2/branches/3.0@7758 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-09 01:38:12 +00:00
Carl Hetherington
18b99c1f44 Lincoln's patch to tidy up region fade visuals. Fixes #3437.
git-svn-id: svn://localhost/ardour2/branches/3.0@7748 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-07 11:41:16 +00:00
Carl Hetherington
ea2648503b Cleanup of region drag code to be a bit more efficient and shorter. Fixes crashes when dragging regions to the wrong track type.
git-svn-id: svn://localhost/ardour2/branches/3.0@7744 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-06 12:34:11 +00:00
1526735d79 some (unfinished) work on incorporating Ben's rev 6919 changes regarding track selection; make newly selected tracks show the current range selection; fix crashes related to meter display; remove "all" group from main group tab display and just put it down in its own button (totally incomplete); minor cleanups
git-svn-id: svn://localhost/ardour2/branches/3.0@7696 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-26 23:25:44 +00:00
Carl Hetherington
c243a02c99 Fix crossfade undo using the stateful diff system. Fixes #3257.
git-svn-id: svn://localhost/ardour2/branches/3.0@7694 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-26 01:44:11 +00:00
Carl Hetherington
f30402d073 clear_history -> clear_changes and some comments.
git-svn-id: svn://localhost/ardour2/branches/3.0@7685 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25 17:32:08 +00:00
Carl Hetherington
3825e3d51c Snap to grid when drawing MIDI regions. Fixes #3412.
git-svn-id: svn://localhost/ardour2/branches/3.0@7679 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25 12:23:52 +00:00
Carl Hetherington
211b57b303 Tidy up region drag move code a bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@7672 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-24 01:02:40 +00:00
71a4796dc3 forward port of 7539 from 2.x
git-svn-id: svn://localhost/ardour2/branches/3.0@7667 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-22 16:28:26 +00:00
Carl Hetherington
822ee79d84 Limit region-based automation to the edges of regions. Fixes #3201.
git-svn-id: svn://localhost/ardour2/branches/3.0@7662 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 22:43:10 +00:00
Carl Hetherington
812e95da01 Allow drag when creating a MIDI region. Fixes #3363.
git-svn-id: svn://localhost/ardour2/branches/3.0@7657 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-20 12:01:13 +00:00
Carl Hetherington
70597dbc0e Fix drag from region list onto track.
git-svn-id: svn://localhost/ardour2/branches/3.0@7656 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-19 23:56:30 +00:00
Carl Hetherington
611c33e680 Snap to note start rather than mouse pointer when dragging MIDI notes. Fixes #3187.
git-svn-id: svn://localhost/ardour2/branches/3.0@7654 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-19 22:01:10 +00:00
Carl Hetherington
a958dd0512 Set cursor to hint that you can drag automation up and down in object/range link mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@7651 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-18 18:06:31 +00:00
Carl Hetherington
30bc7d4607 Fix bug whereby region could not be dragged to the start of the session.
git-svn-id: svn://localhost/ardour2/branches/3.0@7618 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-13 16:50:01 +00:00
Carl Hetherington
48063c15df Improve ctrl-click behaviour of automation points. Should fix #3385.
git-svn-id: svn://localhost/ardour2/branches/3.0@7584 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-10 01:52:49 +00:00
Carl Hetherington
5b520324ce Allow markers to be glued to bar/beat time. Fixes #1815.
git-svn-id: svn://localhost/ardour2/branches/3.0@7573 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-09 16:40:31 +00:00
Carl Hetherington
aa9fd33349 Update note name correctly during drag. Fixes #3382.
git-svn-id: svn://localhost/ardour2/branches/3.0@7572 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-09 14:49:03 +00:00
Carl Hetherington
c06c6c153d Fix up selection of automation points.
git-svn-id: svn://localhost/ardour2/branches/3.0@7556 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-06 23:28:44 +00:00
Carl Hetherington
e7a2b99f3d Clean up handling of track vs region automation a bit.
git-svn-id: svn://localhost/ardour2/branches/3.0@7544 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-05 13:35:43 +00:00
Carl Hetherington
cc6016400b Allow rubberband selection of MIDI automation points. Fixes
git-svn-id: svn://localhost/ardour2/branches/3.0@7535 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-04 15:41:55 +00:00
Carl Hetherington
8b0354f910 Suspend transport timecode transmission during playhead drag. Should fix #3324.
git-svn-id: svn://localhost/ardour2/branches/3.0@7528 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-02 01:59:34 +00:00
Carl Hetherington
3549189f87 Send MTC/MMC on the initial playhead grab as well as on subsequent movement.
git-svn-id: svn://localhost/ardour2/branches/3.0@7393 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-08 01:26:33 +00:00
Carl Hetherington
10ef65b696 Transmit MTC on playhead drag, as per #3239.
git-svn-id: svn://localhost/ardour2/branches/3.0@7389 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-07 23:48:46 +00:00
2f9184d653 beat slicing patch #1 from lincoln spiteri
git-svn-id: svn://localhost/ardour2/branches/3.0@7381 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-06 11:33:27 +00:00
Carl Hetherington
c36132271b Do MMC on playhead drag more efficiently by not doing an actual locate.
git-svn-id: svn://localhost/ardour2/branches/3.0@7370 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-05 01:13:36 +00:00
Carl Hetherington
cf5c707553 Locate during playhead drag, the primary motive being to get MMC to be sent during the drag, fixing #3239.
git-svn-id: svn://localhost/ardour2/branches/3.0@7365 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-04 22:48:58 +00:00
Carl Hetherington
7898aabcaa Fix vertical canvas autoscroll when dragging track heights. Fixes #3240.
git-svn-id: svn://localhost/ardour2/branches/3.0@7327 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-29 19:08:19 +00:00
Carl Hetherington
bf7023bc7f Disable midi model updates during trim drags. Speeds the drags up at the cost of not updating notes in real-time. Fixes #3162.
git-svn-id: svn://localhost/ardour2/branches/3.0@7315 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-28 18:43:40 +00:00
3a048e1d6c new fade in/fade out colors from chrisg
git-svn-id: svn://localhost/ardour2/branches/3.0@7272 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-17 22:20:37 +00:00
1ee298a235 new fade in/out handle cursors from chrisg (maybe to be improved); show MIDI note velocities; try to show note length while dragging notes (in progress); some debugging output
git-svn-id: svn://localhost/ardour2/branches/3.0@7271 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-17 22:09:07 +00:00
fe85a922ec new trim cursors from chrisg, fix up hotspots for said cursors, make Editor cursors public; note draw mode now trims existing notes (but without trim cursor :(
git-svn-id: svn://localhost/ardour2/branches/3.0@7270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-17 15:06:30 +00:00
7e3ebe1267 add left/right side trim cursors and use them for region trimming, as appropriate
git-svn-id: svn://localhost/ardour2/branches/3.0@7268 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-17 12:45:51 +00:00
1e728e728a basically, fix all kinds of odds and ends with MIDI playback, including missed notes and applying gain
git-svn-id: svn://localhost/ardour2/branches/3.0@7247 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-09 13:00:54 +00:00
Carl Hetherington
8f263c239a Clean up a bit. Fix non-relative note dragging mode to fit my understanding of its correct behaviour. Fixes #3189.
git-svn-id: svn://localhost/ardour2/branches/3.0@7246 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-08 23:45:58 +00:00
db1fa42f14 start tracking note overlaps while moving notes
git-svn-id: svn://localhost/ardour2/branches/3.0@7228 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-03 21:27:36 +00:00
9b5f357490 make trimming in region name (colored) highlight work even in internal edit mode; change enter/leave handler to return true by default (MIGHT HAVE UNINTENDED EFFECTS on mouse response), thus avoiding multiple stacked canvas items fighting over enter/leave
git-svn-id: svn://localhost/ardour2/branches/3.0@7195 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-30 20:13:29 +00:00
Carl Hetherington
933388e7dc On resizing an unselected MIDI note, make it the only one to be resized during that drag. Fixes #3188.
git-svn-id: svn://localhost/ardour2/branches/3.0@7171 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-26 23:17:10 +00:00
a196405da9 various minor MIDI fixes: prevent duplicate note entry with mouse, show note info more often with verbose cursor, fix some crashes from click+move on notes ... lots more where this comes from
git-svn-id: svn://localhost/ardour2/branches/3.0@7128 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-20 22:38:12 +00:00
Carl Hetherington
792e3de1d4 Create the session range location as and when the session first gets some content. Allows both the beginning and end of the range to expand to contain the actual session contents.
git-svn-id: svn://localhost/ardour2/branches/3.0@7087 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-09 20:48:21 +00:00
Carl Hetherington
acfc44f388 Remove some hang-overs of the old horizontal scrollbar. Hence allow most things to happen beyond the session end marker.
git-svn-id: svn://localhost/ardour2/branches/3.0@7086 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-09 01:33:11 +00:00
Carl Hetherington
8c423ea228 Small cleanups to dragging code. Fix assertion failure on dragging a regions' parent entry from the region list to the canvas (which may be #2811). Fixes to drags of regions onto and then back off canvas; should fix #3109.
git-svn-id: svn://localhost/ardour2/branches/3.0@7068 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-05 22:09:07 +00:00
Carl Hetherington
056ceba16a Fix SNAFU on region trimming with grid enabled caused by my recent supposed fix.
git-svn-id: svn://localhost/ardour2/branches/3.0@7055 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-05 01:54:16 +00:00
Carl Hetherington
13003cd9d9 Remove unnecessary snap in Editor::single_*_trim, as the passed-in delta is already snapped. Should fix #1279.
git-svn-id: svn://localhost/ardour2/branches/3.0@7036 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-01 23:36:15 +00:00
Carl Hetherington
f0db054a07 Don't report an error when the user cancels a time stretch operation.
git-svn-id: svn://localhost/ardour2/branches/3.0@7008 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-27 23:34:22 +00:00
Carl Hetherington
061a85191c Move Diskstream ownership to Track, so that Session no longer holds lists of Diskstreams. Breaks 3.0 file format again.
git-svn-id: svn://localhost/ardour2/branches/3.0@6945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-21 20:42:22 +00:00
Carl Hetherington
895bad1dcd Make the session start/end location a single location (with start and end) rather than two separate ones. Fixes #1298.
git-svn-id: svn://localhost/ardour2/branches/3.0@6929 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-18 21:29:48 +00:00
Carl Hetherington
8e22163b6f Keep track of where a RegionView used to be before it was reparented for a drag. Fixes wayward drag-moves in stacked region mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@6867 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-07 00:17:54 +00:00
14b0ca31bc handle deletion of UI objects between the time that a callback is queued with the UI event loop and the execution of the callback (intrusive, big)
git-svn-id: svn://localhost/ardour2/branches/3.0@6807 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-30 15:18:43 +00:00
fba09a3d19 fix (or mostly fix) ctrl-drag (copy drag) for regions
git-svn-id: svn://localhost/ardour2/branches/3.0@6723 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02 21:34:06 +00:00
17088ee3ea (1) remove most uses of MementoCommand for Playlist and Region (2) move frozen state from Region into Stateful, renamed "suspend property changes" (3) successive changes to a Property (scalar) after clear_history() do not keep resetting the old value (fixes region trim)
git-svn-id: svn://localhost/ardour2/branches/3.0@6720 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02 18:05:26 +00:00