13
0
Commit Graph

589 Commits

Author SHA1 Message Date
6019f06bdf different approach to independent scrolling, involving ArdourCanvas::ScrollGroup
The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.

Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.
2014-06-03 16:10:27 -04:00
d6b1a9f6e3 prepare fade+trim cursors (cursor image still missing) 2014-05-31 14:04:41 +02:00
bfa58e58c3 fix fade+trim handle hover color 2014-05-31 04:51:02 +02:00
4843c5d5cf towards region-trims preserving fade duration 2014-05-31 03:53:59 +02:00
918a0ac5f9 update x-fade context-menu 2014-05-29 07:49:26 +02: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
0d1d50a8b4 remove pointless assert (since condition is if-tested just before it was used) 2014-04-15 14:30:37 -04:00
dc4eae5c37 hopefully fix issue with Editor::set_canvas_cursor_for_region_view() which was incorrectly switching to trim cursors.
This started happening more frequently after this function started to be called more often (which was the right thing to do, but
had this side effect (now fixed).
2014-04-15 12:44:49 -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
c04081681c remove debug output 2014-03-13 08:43:07 -04:00
95c214c923 fix up button selection operation so that fade drags work again 2014-03-13 08:39:14 -04:00
36160b88cd fixes, hopefully, for canvas cursor misbehaviour near/in regionviews 2014-03-11 22:39:04 -04:00
0ef3fedf9a fix up some logic that allowed hits (percussive note display) to be trimmed with the mouse, which was not intended 2014-03-07 11:22:49 -05:00
7d17db09ac when in smart mode, context-click on a region item should behave as if in object mode.
Specifically, select the region before displaying the context menu
2014-03-06 10:40:31 -05:00
5cbb60d339 fix display of time selection rect(s) when switching mouse modes 2014-02-26 10:50:51 -05: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
f5dbbe4ac6 ctrl-click when adding automation points no longer adds guard points 2014-02-25 11:59:02 -05:00
156a5a0e5f add the with-guard-point distinction to region gain lines 2014-02-20 14:01:40 -05:00
6e38ecc158 manually applied equivalent of 1d82f4ca07 in master (git could not apply successfully) 2014-02-19 23:37:46 -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
68af0fdc07 fix up visibility control for automation lines 2013-12-31 13:28:20 -05:00
87c29025de just use show() and hide() to manage control point visibility in automation lines
No need for the wierd old set_visible()/property_draw() stuff that was a hangover from gnomecanvas.
2013-12-31 11:55:30 -05:00
9fb3247350 rationalize color handling for fade in/out handles 2013-12-09 22:04:13 -05:00
ea1ccb869a fix merge with master 2013-10-31 13:16:51 -04:00
e7875954ca Edit tempo & meter markers on double-click. 2013-10-25 17:03:45 +01:00
efd2e1776d Double-click on region pops up region properties. 2013-10-25 17:03:45 +01:00
abb05680b4 Make double-click on marker pop up rename dialogue. 2013-10-25 17:03:45 +01:00
89193dc40b Add a double-click handler for items in the editor window. 2013-10-25 17:03:45 +01: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
479e97dc59 some prep work for generally handling dbl-click on draggable objects 2013-06-21 15:18:54 -04:00
f00b3b7f11 merge with master 2013-06-13 23:00:24 -04:00
50e3e61881 when exiting internal edit mode because of a mouse button press on a non-MIDI region, _join_object_range_state is set to NONE, not OBJECT, which would block selection of the clicked-upon region. fix that, to prevent an assert()-driven crash when the drag ends and there are no regions selected 2013-06-10 18:28:32 -04:00
97ec274512 Make mouse operations on grouped regions apply to pre-existing selection
On clicking on a region that is part of an active edit group with the
'selection' property enabled, its equivalent regions also become selected.
Thus, there's no need to reset the selection to the equivalent
regions when performing mouse drags on the region, and trim/fade in/fade
out/move/copy will always operate on the existing region selection if there
is one.

Fixes #5515.
2013-06-10 18:07:52 +01:00
e2f0c5f91e merge resolution with master 2013-05-02 20:21:54 -04:00
3973ce81b3 remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works 2013-05-02 18:13:35 -04:00
d14f43ccf2 fix operation of right-click on selected MIDI note to bring up the note editor. this is still not really right long term, but it is better than displaying the channel selector 2013-05-02 15:16:56 -04:00
81485faa83 remove CMT code - has not been used for years, and will become irrelevant with VTL and cairocanvas 2013-05-02 12:21:41 -04:00
ec102f94e1 various work waveview amplitude mgmt; fix playhead cursor drag from timebar click 2013-04-17 15:22:09 -04:00
d1a05240ef fix clamping of line and rect coordinates to avoid issues with cairo when drawing way outside a surface's dimensions; move various coordinate methods down to Canvas, because they don't require GTK information; make visible_area() a Canvas virtual method so that we don't have to cast to call it 2013-04-17 10:53:17 -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
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
e9a82b6714 stop using vertical adjustment to account for scrolling, since event coordinates for all events that are delivered to the canvas are adjusted before Editor sees them 2013-04-12 12:53:52 -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
07a505b1b2 lots of tweaking and adding debug output including operator<</dump(ostream&) methods to help visualize canvas structure 2013-04-05 11:27:26 -04: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
0c3e840700 videotimline
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-03-13 20:28:15 +01:00
1e30104c47 prevent smart mode from interfering with internal edit mode (note selection, etc)
git-svn-id: svn://localhost/ardour2/branches/3.0@13992 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-24 21:56:03 +00:00
d6d7fd8ba3 Fix MIDI region create drag for the eleventy billionth time.
Also make it work for pencil.

This is the canonical Ardour MIDI noob "I can't even create notes, this crap is
impossible to use or doesn't work at all" use case:

1) Create MIDI track
2) Click in that track, with object or pencil tool
3) ** A region is created ** - aha!
4) Click in that region, notes are created

Breaking step 3 ruins everything.  Please don't.


git-svn-id: svn://localhost/ardour2/branches/3.0@13932 d708f5d6-7413-0410-9779-e7cbd77b26cf
2013-01-20 19:16:58 +00:00
54ce76e8fd remove "edit" property from track/bus groups; use "select" property which should force region selection to propagate, and then rely on "edit-applies-to-selection"
git-svn-id: svn://localhost/ardour2/branches/3.0@13734 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-26 17:50:29 +00:00
4471f53643 prevent cursor from changing when in smart+internal object mode
git-svn-id: svn://localhost/ardour2/branches/3.0@13704 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-21 21:39:36 +00:00
42b59bb992 no region trimming on the region itself when in range mode
git-svn-id: svn://localhost/ardour2/branches/3.0@13685 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-19 18:48:29 +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
159b8face7 allow button release events to be processed for region selection ops
git-svn-id: svn://localhost/ardour2/branches/3.0@13591 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-12-02 20:56:33 +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
2409f9ee5b reset default transport speed when leaving audition mouse mode
git-svn-id: svn://localhost/ardour2/branches/3.0@13088 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-26 15:40:46 +00:00
9a3d9dcb3c outline fade in/out handles in black (#3828)
git-svn-id: svn://localhost/ardour2/branches/3.0@13014 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-07-10 17:19:17 +00:00
Carl Hetherington
a766fe1fd9 Somewhat primitive implementation of allowing the edit note dialog to handle multiple notes (#4096).
git-svn-id: svn://localhost/ardour2/branches/3.0@12623 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 01:51:34 +00:00
Carl Hetherington
0ac73d8513 Extend a previous region if we click in a MIDI automation lane where there is no region (#4155).
git-svn-id: svn://localhost/ardour2/branches/3.0@12622 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-09 00:36:21 +00:00
ba418958bf patch from dave flick to tackle a variety of cursor issues
git-svn-id: svn://localhost/ardour2/branches/3.0@12481 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 20:29:47 +00:00
9d40a072a4 arguably cleaner tweak to previous commit
git-svn-id: svn://localhost/ardour2/branches/3.0@12479 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 18:38:54 +00:00
f1505b631d substantive change to try to provide some rationality for region gain line visibility (and automation line visibility in general
git-svn-id: svn://localhost/ardour2/branches/3.0@12478 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-29 18:30:10 +00:00
6fa6514cfd Remove over 500 unnecessary includes (including 54 of session.h).
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff).  I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.

This commit only targets includes of ardour/*.h.  There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.


git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
8d5065bc32 remove, convert, comment several cerr statements
git-svn-id: svn://localhost/ardour2/branches/3.0@12378 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-22 12:57:05 +00:00
a98fa4bc61 switch to 5 new fade curves, taken from mixbus2 branch. make xfade context menus functional even though the images are not accurate
git-svn-id: svn://localhost/ardour2/branches/3.0@12253 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-11 21:30:36 +00:00
c6d983bda5 incorrect but visible context menu for xfades
git-svn-id: svn://localhost/ardour2/branches/3.0@12243 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-10 19:14:11 +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
7bc425fd0d framework for handling events on the xfade rects
git-svn-id: svn://localhost/ardour2/branches/3.0@12213 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-08 17:13:59 +00:00
Carl Hetherington
b5a9d37cb0 Fix toggle selection for control points.
git-svn-id: svn://localhost/ardour2/branches/3.0@12057 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-22 23:14:27 +00:00
Carl Hetherington
3b5f017eb9 Add missing break; (#4820).
git-svn-id: svn://localhost/ardour2/branches/3.0@11810 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-07 01:57:11 +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
c52c2b7368 forward-port some fixes from a2
git-svn-id: svn://localhost/ardour2/branches/3.0@11630 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-03-09 17:15:25 +00:00
671ec99bac (1) remove magic number voodoo when saving zoom focus/snap settings to instant.xml etc. (this has a minor breaking-behaviour for existing sessions etc (2) keep track of grid type/settings in and out of note edit mode and switch back and forth, thus allowing independent grids while working at the note or region level
git-svn-id: svn://localhost/ardour2/branches/3.0@11486 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-13 14:34:21 +00:00
d73815ccf2 range mode should not allow trim of MIDI notes
git-svn-id: svn://localhost/ardour2/branches/3.0@11471 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-08 12:52:04 +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
b3652ddc3d fix for #4689 from dave flick
git-svn-id: svn://localhost/ardour2/branches/3.0@11467 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-07 17:51:50 +00:00
c21c9e6662 use button joiner for smart mode; polish up the visuals on the joiner a bit
git-svn-id: svn://localhost/ardour2/branches/3.0@11439 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-02-03 18:31:10 +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
0740fab6ed leave note edit mode with a click on any track background, not just non-midi
git-svn-id: svn://localhost/ardour2/branches/3.0@11349 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-25 19:38:14 +00:00
34581e4de9 fix breakage of normal method of creating an empty MIDI region
git-svn-id: svn://localhost/ardour2/branches/3.0@11341 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-24 22:17:24 +00:00
f3624c1874 exit internal/note edit mode when clicking on anything that is not a MIDI region view or a note (or various modeless items like markers and the playhead)
git-svn-id: svn://localhost/ardour2/branches/3.0@11333 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-01-24 16:20:31 +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
7856f14c44 when a context click event occurs in the editor, store the event so we can use it to determine position later during its handling, if necessary
git-svn-id: svn://localhost/ardour2/branches/3.0@11081 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-26 23:18:24 +00:00
Carl Hetherington
60fa99a34d Remove hopelessly inadequate attempt at last_item_entered
and ask the canvas where we are instead.  Should fix #4532.


git-svn-id: svn://localhost/ardour2/branches/3.0@10907 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-05 20:47:53 +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
28123e436d Snap new automation points on audio lanes (part of #4297).
git-svn-id: svn://localhost/ardour2/branches/3.0@10570 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-13 16:28:20 +00:00
6449c2e5c8 more ardour-button-ization; fix transparency of selection rects; use "correct" cursors when entering and leaving selection rect handles; color tweaks for a few buttons
git-svn-id: svn://localhost/ardour2/branches/3.0@10527 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-11-10 15:25:01 +00:00
Carl Hetherington
c0b59854ff Trim includes.
git-svn-id: svn://localhost/ardour2/branches/3.0@10357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-10-31 21:16:32 +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
Carl Hetherington
632c4ab264 Don't allow non-movable meter / tempo markers to be
dragged (part of #4313).


git-svn-id: svn://localhost/ardour2/branches/3.0@10067 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-08 17:49:36 +00:00
Carl Hetherington
3ba6804f27 Don't create new regions on clicks on MIDI plugin automation
tracks (#4298).


git-svn-id: svn://localhost/ardour2/branches/3.0@10062 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-09-07 13:45:52 +00:00
Carl Hetherington
982bfd08db Add context menu for control points.
git-svn-id: svn://localhost/ardour2/branches/3.0@9890 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-17 20:10:31 +00:00
Carl Hetherington
82ec615da3 Make MIDI automation tracks behave the same as MIDI
tracks when they are clicked in an area with no region
(approximation to a fix for #4155).


git-svn-id: svn://localhost/ardour2/branches/3.0@9860 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-07-13 12:34:11 +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
29ee63707f Fix crash when clicking on a hit (may be #4036).
git-svn-id: svn://localhost/ardour2/branches/3.0@9491 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-05-11 11:55:36 +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
8ca87df015 Fix subtraction of bar/beat/tick for verbose canvas cursor (#4011).
git-svn-id: svn://localhost/ardour2/branches/3.0@9426 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-25 21:19:25 +00:00
Carl Hetherington
33cd347529 Fix crash due to _over_region_trim_target not being updated when a RegionView disappears (#3956).
git-svn-id: svn://localhost/ardour2/branches/3.0@9332 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-04-07 23:14:04 +00:00
Carl Hetherington
ad942b104a Prevent region drags with the middle button in internal edit mode (#3869).
git-svn-id: svn://localhost/ardour2/branches/3.0@9199 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-24 11:48:12 +00:00
4f84a6cd1d remove spurious debug line
git-svn-id: svn://localhost/ardour2/branches/3.0@9105 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 14:45:51 +00:00
07e607ebad reinstate (de)selection operations that should happen on mouse button release
git-svn-id: svn://localhost/ardour2/branches/3.0@9104 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 12:45:23 +00:00
b88c773894 when leaving internal edit mode, if the current mode is range ("draw") and it wasn't before we entered internal edit mode, flip back to whatever it was before we entered
git-svn-id: svn://localhost/ardour2/branches/3.0@9102 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-08 01:55:50 +00:00
f649d775bc prevent trim cursors appearing, and prevent note trimming, when in a MIDI note that is too small on-screen. avoids silliness with trim cursors appearing while drawing small notes on screen, though really, it would nice to avoid them appearing ever in a note that was just added. not sure how to do that.
git-svn-id: svn://localhost/ardour2/branches/3.0@9077 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-05 23:00:49 +00:00
d08e3b94c5 basic adoption of new mouse binding facility
git-svn-id: svn://localhost/ardour2/branches/3.0@9063 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-04 03:10:48 +00:00
2c72f58aa1 experiment with making MIDI region boxes vanish when in note/internal edit mode ... to be continued
git-svn-id: svn://localhost/ardour2/branches/3.0@9054 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-03 14:51:02 +00:00
Carl Hetherington
292cda7865 No-op: coding style.
git-svn-id: svn://localhost/ardour2/branches/3.0@9036 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-03-02 17:00:54 +00:00
Carl Hetherington
0d61f205ab Bring up the click tab of the RC options window when right-clicking on the click button (#3783).
git-svn-id: svn://localhost/ardour2/branches/3.0@8889 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-17 18:53:31 +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
44f99e9217 make name-highlight bar active for trims even in internal edit mode, again
git-svn-id: svn://localhost/ardour2/branches/3.0@8800 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-09 14:02:49 +00:00
Carl Hetherington
ce91b0953b Remove always-true should_show_selection code.
git-svn-id: svn://localhost/ardour2/branches/3.0@8769 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-08 14:08:05 +00:00
Carl Hetherington
49869c98f3 Prevent various things from stopping the transport by requesting a transport speed of exactly 0 when they are really just continuously varying it. Fixes strange playhead behaviour during varispeed when the user varispeeds to exactly 0 and auto-return is triggered.
git-svn-id: svn://localhost/ardour2/branches/3.0@8733 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-02-07 01:12:47 +00:00
15b5fce904 merge 3.0-panexp (pan experiments) branch, revisions 8534-8585 into 3.0, thus ending 3.0-panexp. THIS COMMIT WILL BREAK ALL EXISTING 3.0 SESSIONS IN SOME WAY (possibly not fatally).
git-svn-id: svn://localhost/ardour2/branches/3.0@8586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-01-27 01:31:03 +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
f09524b9d3 move ticks per beat from Meter to Timecode::BBT_Time, add new constructor for BBT_Time based on a double value; reduce BeatFramesConverted to 1 liners pending likely removal
git-svn-id: svn://localhost/ardour2/branches/3.0@8277 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-14 20:28:37 +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
0a19ce6f1c fix crash when dragging percussive-mode notes due to a bad dynamic cast
git-svn-id: svn://localhost/ardour2/branches/3.0@8205 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-12-07 14:45:24 +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
03d2864820 Update ghost note presence when mouse mode is changed. Fixes #3559.
git-svn-id: svn://localhost/ardour2/branches/3.0@8066 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-21 23:54:57 +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
ee76685f8d Modify region trim cursor if a region can only be trimmed in one direction.
git-svn-id: svn://localhost/ardour2/branches/3.0@8045 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-15 22:55:39 +00:00
Carl Hetherington
f237b2e23b Present trim cursors over region view name bar.
git-svn-id: svn://localhost/ardour2/branches/3.0@8041 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-15 19:00:31 +00:00
Carl Hetherington
3b7302ecd4 Fix up fade in/out cursors.
git-svn-id: svn://localhost/ardour2/branches/3.0@8034 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-14 21:55:11 +00:00
Carl Hetherington
82e1d1267d Use the edit position to decide what items to put in the region context menus, rather than the mouse position.
git-svn-id: svn://localhost/ardour2/branches/3.0@8028 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-14 16:49:59 +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
Carl Hetherington
94e069b14a Fix zoom cursor SNAFU (#274). Increase move threshold for zoom drags so that clicks are more likely to work.
git-svn-id: svn://localhost/ardour2/branches/3.0@7978 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-07 02:35:00 +00:00
Carl Hetherington
b5ab2e030b Tidy up the region menu a bit, and hopefully clarify what regions will be
operated on in different circumstances.  Make the main menubar Region menu
the same as the context one, and use the same logic to sensitize/desensitize
actions for them.


git-svn-id: svn://localhost/ardour2/branches/3.0@7954 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-11-03 22:19:29 +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
00c47cf160 Make object/range link work with stacked region mode. Fixes #3468.
git-svn-id: svn://localhost/ardour2/branches/3.0@7826 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-21 23:26:18 +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
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
ede4ecbb00 megaopus patch #2 for today: remove nframes64_t and sframes_t from source
git-svn-id: svn://localhost/ardour2/branches/3.0@7792 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-17 18:20:37 +00:00
e84c3fe555 prevent drags on nascent-captured regions
git-svn-id: svn://localhost/ardour2/branches/3.0@7790 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-16 21:58:54 +00:00
Carl Hetherington
5e7ead224a Copy-edit.
git-svn-id: svn://localhost/ardour2/branches/3.0@7778 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-09-15 00:33:33 +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
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
ba6cc76ec0 Remove what I'm pretty sure was a hack to work around the bug we used to have with the mouse entering and leaving the verbose canvas cursor. Fixes #3415.
git-svn-id: svn://localhost/ardour2/branches/3.0@7699 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-27 02:01:59 +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
88583b4abd major chunk of the region layering editor from 2.X, fwd-ported to 3.0
git-svn-id: svn://localhost/ardour2/branches/3.0@7689 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-25 19:28:33 +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
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
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
439d13535e Add note edit dialog. Fixes #3346.
git-svn-id: svn://localhost/ardour2/branches/3.0@7625 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-14 02:00:50 +00:00
Carl Hetherington
5524e377a2 Add shortcut for link object/range mode. Fixes #3242.
git-svn-id: svn://localhost/ardour2/branches/3.0@7619 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-13 16:50:15 +00:00
Carl Hetherington
4175db1ad9 Set tooltips correctly so that range button gets a tooltip of its keyboard shortcut.
git-svn-id: svn://localhost/ardour2/branches/3.0@7617 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-13 16:49:02 +00:00
Carl Hetherington
efe60474d6 Hopefully fix up automation control point selection (finally).
git-svn-id: svn://localhost/ardour2/branches/3.0@7592 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-11 01:23:03 +00:00
Carl Hetherington
fc67586db5 Hopefully fix up region click + drag which I broke yesterday.
git-svn-id: svn://localhost/ardour2/branches/3.0@7586 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-08-10 16:41:51 +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
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
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
c685724c80 step editing now accessed via a context menu on MIDI track rec-enable buttons. along the way, fixed up confusion between set_rec_enable() and set_rec_enabled() methods in Route/Track/Diskstream
git-svn-id: svn://localhost/ardour2/branches/3.0@7482 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-24 16:40:56 +00:00
Carl Hetherington
448eb1acdd Don't offer to trim regions in internal edit mode, again due to the lack of a region selection in this mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@7467 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-22 02:12:28 +00:00
Carl Hetherington
27dd925f42 Don't tempt the user with visual cues that they can adjust fades when they can't (in MIDI internal edit mode)
git-svn-id: svn://localhost/ardour2/branches/3.0@7433 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-16 21:12:06 +00:00
Carl Hetherington
01c78d5620 Give internal edit mode its own cursor. Deselect everything when entering internal edit, and don't allow region selection during internal edit.
git-svn-id: svn://localhost/ardour2/branches/3.0@7396 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-07-09 00:57:22 +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
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
f2e48e8e1b Allow range selections to be started in non-region areas. Fixes #3255.
git-svn-id: svn://localhost/ardour2/branches/3.0@7288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-22 01:28:49 +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
816232cd97 zero-pad seconds field of verbose canvas cursor, fixes #3216
git-svn-id: svn://localhost/ardour2/branches/3.0@7206 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-06-02 13:01:22 +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
890afb2128 create new MIDI regions on streamitem click in "note draw" mode as well as object mode
git-svn-id: svn://localhost/ardour2/branches/3.0@7193 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-29 11:28:27 +00:00
Carl Hetherington
40d280d7b2 Allow the region gain automation tool to create standard automation events. Fixes #3192.
git-svn-id: svn://localhost/ardour2/branches/3.0@7173 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-27 01:08:37 +00:00
Carl Hetherington
ee61c5c9ea Implement shift-right-click to delete MIDI note (#3170)
git-svn-id: svn://localhost/ardour2/branches/3.0@7155 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-25 01:39:45 +00:00
97721226a4 stop range mode stuff from showing up when in internal edit mode
git-svn-id: svn://localhost/ardour2/branches/3.0@7154 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-25 01:13:45 +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
c25c7598c1 change tooltip of mouse select button to indicate MIDI note editing role or range role, fixes #3147
git-svn-id: svn://localhost/ardour2/branches/3.0@7117 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-18 19:08:39 +00:00
Carl Hetherington
b36d91bb2b Fix crash on attempting a TimeFX drag but not clicking on a region.
git-svn-id: svn://localhost/ardour2/branches/3.0@7111 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-17 19:28:34 +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
c2da4ec8f9 Prevent multiple tempo / meter changes being inserted at the same point
on the timeline; adding a new change at the same time as an existing one
will replace the existing one.  Should prevent #769 from happening.

Some cleanups and tweaks to tempo / meter dialogues.  Desensitize Remove
menu option for those changes that can't be removed.



git-svn-id: svn://localhost/ardour2/branches/3.0@7045 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-02 23:14:43 +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
09f856c1a1 Partial fix for #3092; make time FX still work if internal editing is enabled and we drag an audio region.
git-svn-id: svn://localhost/ardour2/branches/3.0@7016 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-28 23:16:07 +00:00
Carl Hetherington
4a9971ad83 When a track context menu is opened, select the track it was opened in (only). Should fix #3078.
git-svn-id: svn://localhost/ardour2/branches/3.0@6971 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-23 02:06:07 +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
45ff98fcc3 fix previous patch from lucus
git-svn-id: svn://localhost/ardour2/branches/3.0@6766 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-16 20:16:13 +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
db8b575c30 the mega-properties/SequenceProperty patch. split is broken at present (right hand starts has start-in-source of zero)
git-svn-id: svn://localhost/ardour2/branches/3.0@6718 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-03-02 00:00:00 +00:00
fa701b8c06 change PropertyChange from a bitfield into a real object, with all the many widespread changes that causes
git-svn-id: svn://localhost/ardour2/branches/3.0@6701 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-19 18:09:08 +00:00
ce7a5e1c9f the Properties & 64bit region commit
git-svn-id: svn://localhost/ardour2/branches/3.0@6695 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-18 13:59:49 +00:00
30dd55bccd use RegionCommand for same-track region drags
git-svn-id: svn://localhost/ardour2/branches/3.0@6653 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-02-08 19:41:43 +00:00
832aa18a81 a boatload of minor and middle-sized changes to try to speed up undo. imperfect, unfinished, but probably right to commit now
git-svn-id: svn://localhost/ardour2/branches/3.0@6561 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-25 20:34:09 +00:00
Carl Hetherington
10395d2fee Allow drag of region fade in/out in object mode with link enabled (part of #2983)
git-svn-id: svn://localhost/ardour2/branches/3.0@6555 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-25 02:24:44 +00:00
Carl Hetherington
a992cd5574 Fix bug when dragging regions in PT-edit mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@6505 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-16 01:08:15 +00:00
Carl Hetherington
92fbcd021d Hopefully fix segfault.
git-svn-id: svn://localhost/ardour2/branches/3.0@6481 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-12 23:50:57 +00:00
Carl Hetherington
11bd4eed89 Allow multiple simulataneous Drags to be active, and hence set up and drag time ranges when moving regions in PT-edit mode.
git-svn-id: svn://localhost/ardour2/branches/3.0@6478 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-12 16:14:49 +00:00
Carl Hetherington
1a1edc9ca1 Make a new action "escape", bound to the Escape key, and make it
abort a drag (if one is in progress) or clear the selection.
Fix breaking of drags in a few cases; some still to do.


git-svn-id: svn://localhost/ardour2/branches/3.0@6467 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-08 01:28:15 +00:00
Carl Hetherington
0f79f67398 Some cleanups to drawing of automation line control points. Drag all selected automation points if one selected point is dragged.
git-svn-id: svn://localhost/ardour2/branches/3.0@6437 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-03 00:08:58 +00:00
Carl Hetherington
0daf21cec1 Fix warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@6435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-02 01:36:19 +00:00
Carl Hetherington
85d0894475 Don't allow drag of automation range unless the mouse is inside the range.
Add a fade in/out on automation range drags.
Allow trim of selected range even when in linked object mode.


git-svn-id: svn://localhost/ardour2/branches/3.0@6433 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-02 01:19:47 +00:00
Carl Hetherington
f5acf93672 First cut of some Pro-tools inspired editing features; linked play/play range
and linked object/range modes.


git-svn-id: svn://localhost/ardour2/branches/3.0@6431 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-01-01 22:11:15 +00:00
Carl Hetherington
ca602cf216 Refactor and clean up some confusion in dragging code.
git-svn-id: svn://localhost/ardour2/branches/3.0@6384 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-22 01:12:41 +00:00
f6fdd8dcbf switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
Carl Hetherington
04c7158a41 Remove confusing track / group members in TimeSelection struct; time selection
applies to the selected tracks.  Some tinkering with how tracks are selected
during time selections.


git-svn-id: svn://localhost/ardour2/branches/3.0@6360 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-13 21:27:19 +00:00
8687895abb remove using namespace sigc everywhere to ensure clarity over which bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime
git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12 15:02:15 +00:00
64dc5427e4 make all use of bind/mem_fun be explicitly sigc::
git-svn-id: svn://localhost/ardour2/branches/3.0@6354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:29:48 +00:00
f18bcf0cc8 small fixlet for region push/pull op, from lincoln
git-svn-id: svn://localhost/ardour2/branches/3.0@6330 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-09 19:00:28 +00:00
7703f0a76a move generic parts of Keyboard into gtkmm2ext. imperfectly done, but makes modifiers available in libgtkmm2ext now
git-svn-id: svn://localhost/ardour2/branches/3.0@6288 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 22:51:32 +00:00
9931171b69 start to make mouse modes better when in note edit mode by allowing mouse ops on non-MIDI objects to proceed normally. not finished
git-svn-id: svn://localhost/ardour2/branches/3.0@6115 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-18 13:24:43 +00:00
1474b10d39 avoid .h pollution in last commit
git-svn-id: svn://localhost/ardour2/branches/3.0@6110 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-11-17 14:14:26 +00:00
c83e48e07a Trim session.h include dependency tree.
git-svn-id: svn://localhost/ardour2/branches/3.0@5979 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-30 15:30:22 +00:00
0cc0c13444 provide accessors to Editor::snap_{type,mode} ; when nudging notes, use grid in preference to nudge clock
git-svn-id: svn://localhost/ardour2/branches/3.0@5934 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-26 23:43:04 +00:00
fa5aeb7892 change the use of "SMPTE" to "Timecode" to reflect the global economy and the end of american dominance on the world audio production stage
git-svn-id: svn://localhost/ardour2/branches/3.0@5924 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-26 14:38:58 +00:00
9aee34c9c2 "Fix" what seems to be an inevitable assertion failure...
git-svn-id: svn://localhost/ardour2/branches/3.0@5895 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-23 20:17:20 +00:00
dcf0af853a Fix display of tool button icons.
git-svn-id: svn://localhost/ardour2/branches/3.0@5778 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 21:24:35 +00:00
bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
1bf79fa885 move note drag & note resize mouse handling up into the Drag/Editor infrastructure/level
git-svn-id: svn://localhost/ardour2/branches/3.0@5641 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-08 21:45:44 +00:00
c3c5c9a559 just one timeout callback for step editing, not one per track
git-svn-id: svn://localhost/ardour2/branches/3.0@5635 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-05 14:11:48 +00:00
b7fe417f70 better way to "engage" step edit, and extend region correctly as needed
git-svn-id: svn://localhost/ardour2/branches/3.0@5630 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-09-03 14:50:21 +00:00
Carl Hetherington
89a9b17ac9 Remove some debugging code.
git-svn-id: svn://localhost/ardour2/branches/3.0@5601 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-28 23:47:46 +00:00
e7e071db1a more MIDI editing tweaks ; flip mouse mode buttons around for MIDI so that "object" mode is the most likely mode for both region \& region editing ; frame handle events (from lincoln's region trimming patch) are now handled more explicitly
git-svn-id: svn://localhost/ardour2/branches/3.0@5600 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-28 16:06:08 +00:00
Carl Hetherington
df71243d6c Alter snap modifier so that it turns the grid on when it's off as well as vice-versa.
git-svn-id: svn://localhost/ardour2/branches/3.0@5584 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-24 20:26:34 +00:00
3162ffb4f4 move assignments out of assert() in editor_drag (thanks lincoln); change mouse mode buttons when in internal/MIDI mode; arrow key control of note velocity, value and position - hey look ma, MIDI editing!
git-svn-id: svn://localhost/ardour2/branches/3.0@5539 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-17 15:58:47 +00:00
Carl Hetherington
8e73825b03 Split up Editor::button_press_handler and fix assert failures on various double-clicks.
git-svn-id: svn://localhost/ardour2/branches/3.0@5490 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-04 18:21:09 +00:00
Carl Hetherington
9bada9c946 Fix uninitialised variable.
git-svn-id: svn://localhost/ardour2/branches/3.0@5488 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-08-04 18:19:40 +00:00
3ae28868ff remove all MIDI-specific editing modes by making standard work either at object level or within (e.g. notes, etc) ; make tool buttons proxies for GtkActions ; internal sends have their own BufferSet now, instead of using Session ones; don't make internal sends to the monitor bus active when added to the Route
git-svn-id: svn://localhost/ardour2/branches/3.0@5434 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-28 20:51:28 +00:00
Carl Hetherington
b65f8073ba Fix some unused parameter warnings.
git-svn-id: svn://localhost/ardour2/branches/3.0@5403 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-21 15:55:17 +00:00
Carl Hetherington
402cc384ce Back out big shared_ptr change. Moving to a branch. Apologies all.
git-svn-id: svn://localhost/ardour2/branches/3.0@5343 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09 17:58:13 +00:00
Carl Hetherington
4297071b3f Use shared_ptr for the TimeAxisView hierarchy.
git-svn-id: svn://localhost/ardour2/branches/3.0@5339 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-07-09 13:39:45 +00:00
Carl Hetherington
498afeb63e Various adjustments to make more operations respect the Edit property on route groups.
git-svn-id: svn://localhost/ardour2/branches/3.0@5273 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-25 20:58:32 +00:00
Carl Hetherington
8cd536ab85 Patch from Lincoln to fix crashes on region trim.
git-svn-id: svn://localhost/ardour2/branches/3.0@5235 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-21 18:34:08 +00:00
Carl Hetherington
b192de88b6 Some cleanups to ruler drags.
git-svn-id: svn://localhost/ardour2/branches/3.0@5185 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-14 13:31:46 +00:00
Carl Hetherington
8eb17211b5 Hopefully fix assertion failures in gnomecanvas when dragging track heights.
git-svn-id: svn://localhost/ardour2/branches/3.0@5175 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-12 19:05:16 +00:00
7ccc494c37 make button events on automation tracks work again (control event drags are still broken)
git-svn-id: svn://localhost/ardour2/branches/3.0@5171 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-11 16:46:03 +00:00
Carl Hetherington
6532d139ec Remove unused variable.
git-svn-id: svn://localhost/ardour2/branches/3.0@5157 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-10 21:09:46 +00:00
cc8598b071 support scrubbing via new Drag abstraction (probably could be split off 100% from Editor)
git-svn-id: svn://localhost/ardour2/branches/3.0@5152 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-10 13:58:22 +00:00
Carl Hetherington
a71daf6a06 Fix daft bugs causing crashes on dragging tempo markers.
git-svn-id: svn://localhost/ardour2/branches/3.0@5134 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-09 08:41:43 +00:00
Carl Hetherington
0874426a5b Further refactoring of drag code. Changes so that drags from the region list display a region view during the drag.
git-svn-id: svn://localhost/ardour2/branches/3.0@5127 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-08 19:28:51 +00:00
Carl Hetherington
27915ccdc0 Clean up use of first_move, move thresholding etc.
git-svn-id: svn://localhost/ardour2/branches/3.0@5116 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-06-02 00:39:57 +00:00
Carl Hetherington
962efaf05e Pull dragging code out of the Editor class into its own hierarchy.
git-svn-id: svn://localhost/ardour2/branches/3.0@5113 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-05-30 18:25:59 +00:00
0d36301907 3 notable patches from lincoln (a) non-layered track mode (NOTE: this is broken for loop recording right now) (b) trim region to previous/next region (c) region push/pull trimming. work on these 3 features should be assumed to be still slightly ongoing (eg. default bindings and more). great stuff
git-svn-id: svn://localhost/ardour2/branches/3.0@4994 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-04-20 21:02:46 +00:00
22a80d4ffd (from 2.x) make context menu-driven stuff on ruler bars happen in the right place (e.g. new markers)
git-svn-id: svn://localhost/ardour2/branches/3.0@4878 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-21 13:08:06 +00:00
8f5de18c75 remove unneeded code in line_drag that was probably copy/pasted from control_point_drag (Ben Loftis, backported from 2.X)
git-svn-id: svn://localhost/ardour2/branches/3.0@4716 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-03-02 18:10:12 +00:00
Carl Hetherington
edee84d014 Fix #2559; crash when doing end_grab on an already-deleted canvas item.
git-svn-id: svn://localhost/ardour2/branches/3.0@4709 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-28 01:52:45 +00:00
e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
Carl Hetherington
4565b73a39 Fix for visual glitch due to race between Editor::update_current_screen being called and a locate event being processed.
git-svn-id: svn://localhost/ardour2/branches/3.0@4608 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-17 00:12:22 +00:00