13
0
Commit Graph

753 Commits

Author SHA1 Message Date
190542c1d0 splice mode is undefined, undocumented, and buggy. ripple does most of what we want. remove splice for now. leave code because it may be revived later 2014-07-01 16:43:00 -05: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
e8fc8aa992 new UI config var to allow playhead to be optionally draggable (default is: yes, it can be dragged) 2014-06-30 16:32:38 -04:00
416abf7f1c ensure that Editor::entered_track is reset during session deletion to avoid a crash when we explicitly unset it elsewhere 2014-06-30 13:58:46 -04:00
c52cb37bf2 suspend route redisplay for (rec-en, solo, mute and monitor) batch changes 2014-06-29 02:52:56 +02:00
77216ac468 add RAII DisplaySuspender 2014-06-28 23:22:15 +02:00
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
298085eec2 use new ruler dialog class for context clicks on ruler labels area 2014-06-25 15:23:25 -04:00
b43d3fe8d7 add UIConfig variable for lock timer 2014-06-25 11:34:37 -04:00
d5ef8f5f1e new timer-based GUI locking code 2014-06-25 08:28:36 -04:00
a12f43fa46 add a modal lock dialog for better testing (and someone might find it useful, too) 2014-06-24 10:14:07 -04:00
becf857f48 a whole slew of changes related to centralizing and rationalizing cursor management.
Debugging output left in place to help address the reports that will come in as people test this more
2014-06-18 10:24:59 -04:00
nick_m
46c158d8c6 Render tracks and regions to a background image in the editor summary.
Connect to editor's SelectionChanged signal to display corresponding region colour change.
2014-06-17 21:44:36 +10: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
7a0b2e1c18 fix scrolling behaviour in track headers (event was stolen by rulers because event coordinates made it look as if the event happened there) 2014-06-13 14:27:59 -04:00
79c30ab766 make rulers color-sensitive (e.g. theme manager editable, etc) 2014-06-12 01:07:58 -04:00
b73352880e use canvas rulers now instead of gtk widgets
Some bugs that exist in master are still present.
2014-06-11 23:54:28 -04:00
c56d309bd7 make the icon set selector actually do something 2014-06-10 14:39:28 -04:00
d59d26b89a change ::get_icon_path() and ::get_icon() to accept an "icon set" name to provide ability to use different sets of icons; use when creating MouseCursors 2014-06-10 14:39:28 -04:00
d36afa6b8b forward scroll events from track control headers to the canvas, to get consistent scroll behaviour (whatever that behaviour is) 2014-06-09 10:02:38 -04:00
92bb0e0d7f fix problem with calls to Editor::trackview_by_y_position() when using motion events. The coordinate passed in was in canvas space and the method expected trackview space
To handle any further issues like this, I generalized and added an optional argument specifying that the canvas=>trackview transform is required, thus
centralizing where this done.
2014-06-08 14:41:29 -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
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
2d82446f59 set Gtk::RadioAction state on instant.xml load.
This should really be done in ArdourDropdown somehow.

Fixes issues introduced at b9708d5: If after session-load some
radio-item other than the first one is set active, it is
impossible to switch to the first.
e.g. set "Snap to Grid", Save Session, Load Session, trying to
switch to "Snap to None" fails until another mode is selected first.
2014-05-29 14:16:15 +02:00
918a0ac5f9 update x-fade context-menu 2014-05-29 07:49:26 +02:00
f226ed086b update fade icons 2014-05-28 22:23:42 +02:00
d96a6ed247 fix x-fade icons in context menu 2014-05-28 19:46:31 +02:00
356c1013ae change return type of Editor::axis_view_from_route() 2014-05-19 14:00:36 -04: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
6544df039b change location marker ruler text for get_trx() == true case 2014-05-01 07:53:46 -04:00
509159c3c6 first pass hiding/rearrangement of UI elements related to trx 2014-04-10 13:30:25 -04:00
4c2e846126 the FlatFace element is no longer relevant. instead it was being used for an inset jeweled look. changed name to match 2014-03-26 11:37:28 -05:00
4e5d977fb1 add back track shrink/expand buttons 2014-03-25 10:43:04 -04:00
200a67fba8 most of the support for save/restore of visible track count 2014-03-25 10:33:18 -04:00
7fac3674c3 actually resize track heights to follow visible-tracks choice 2014-03-25 09:02:31 -04:00
da36a8ee09 first part of switch from shrink/expand tracks to pyramix-style "pick number of visible tracks". function to follow shortly, this is the control widget part 2014-03-25 08:21:08 -04:00
c16a577a8d brownish zoom buttons 2014-03-25 06:36:09 -05:00
harrison
b9708d5f6b New theme for editor window using ArdourMenu 2014-03-23 18:11:42 -05:00
640bd36906 fix editor full-screen state when re-loading session 2014-03-21 15:21:09 +01: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
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
d00dc6a706 various work to make loop/punch display work better (including fixes for bugs present in master also) 2014-01-27 21:27:13 -05:00
b9185d2c07 Merge branch 'master' into cairocanvas 2014-01-17 09:25:03 -05:00
17309c41c3 use Glib URI utility function to generate a local filename from a URI, rather than hand-crafted code 2014-01-17 09:24:32 -05:00
b880a38152 Merge branch 'master' into cairocanvas 2013-12-28 14:00:20 -05:00
5bc8750f73 prevent 0-pointer dereference in editor_routes.cc - fixes #5794 2013-12-28 16:15:00 +01: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
7ce86cec7d handle enter/leave items when zooming and scrolling occur 2013-10-31 03:10:18 -04:00
e5888d3983 merge with master and fix 2 conflicts 2013-10-16 22:06:56 -04:00