13
0
Commit Graph

293 Commits

Author SHA1 Message Date
b56bb944f6 Rename 'Cut time' to 'Remove time'
'Cut time' implies that the cut timeline items might end up on the
clipboard to be pasted somewhere: this isn't the case at present, so rename
the functions, class, &c. to say 'remove' rather than 'cut'.

Rename insert_time_dialog.{cc|h} to insert_remove_time_dialog while we're
at it.
2015-06-17 17:15:21 +01:00
e65c835381 replace tool pixel icons with vector drawing 2015-05-26 00:56:51 +02:00
3c711f1a9f use Go To instead of Goto 2015-05-18 16:13:27 -05:00
4aace9be68 new actions: allow user to set session start and end to playhead location 2015-04-27 15:59:03 -05:00
fe6b173236 expose set-range-selection-from-region-selection operation in more places 2015-04-24 14:19:40 -04:00
84f0dceefb Port 'Cut time' code from Mixbus
Copy the 'Cut time' code from Mixbus, making a few obvious fixes to work in
A3 (e.g. nframes_t => framepos_t / framecnt_t).

Seems to work to move & remove markers, tempo & meter markers, and regions on
selected tracks.

Still TODO:
 - use existing A3 'Insert time' dialogue
 - make it respect 'No selection = all tracks'
 - rename the command to something like 'Remove time' or 'Delete time': 'Cut'
   sounds to me as if the removed range should end up on the clipboard ready
   to be pasted somewhere, which of course it doesn't.
2015-04-21 10:22:27 -05:00
803853b4a4 rationalize incorrect design for removing tracks.
Still requires a way to make this work correctly from the mixer window
2015-04-06 17:56:23 -04:00
9b457724bd Lock, Lock & Lock 2015-04-05 02:03:53 +02:00
119bece64f fix thinko on bounce actions 2015-03-26 22:34:30 -05:00
c7affd79c2 remove track-selection requirement so fit_selected_tracks works as coded. change name to fit-selection. remove action to zoom (both axes) because this can trivially be accomplished by clicking (f)it and (z)oom sequentially, and it frees a keybinding. remaining bug: Fitting a selection of MIDI regions doesnt work right 2015-01-11 11:46:36 -06:00
f7e3d1be2c change Split menu entry to say Split/Separate (it was already doing that anyway). also fix a bug so you can drag the playhead and split at the playhead location 2015-01-08 16:00:49 -06:00
d9a963b07e Show Measure Lines instead of Show Measures 2015-01-08 11:13:56 -06:00
a4f7c21ec3 now that regions and range selections are exclusive, the separate actions to set ranges or zoom to selections are redundant. save some menu entries and keybindings by consolidating them. also consolidate some code with new function get_selection_extents(). as a side-effect, this checkin fixes the assert failure in play_with_preroll 2015-01-07 15:31:30 -06:00
nick_m
884cc6f90c Add automation track control points to undo history (and selection_op history). 2015-01-02 08:01:12 -05:00
nick_m
61315c314d Make editor undo/redo actions sensitive at appropriate times. 2015-01-02 08:01:12 -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
4c0cebf7f9 MIDI transform dialog. 2014-12-28 16:06:44 -05:00
1211278a2b consolidate zoom-to-range and zoom-to-regions into: zoom-to-selection. ToDo: zoom to selection of midi notes, control points, tracks(?) 2014-12-22 17:42:43 -06:00
64fa63212f move all (G)UI related configuration parameters into UIConfiguration, not RCConfiguration 2014-12-22 13:39:46 -05:00
5fef655380 Remove internal edit mode and add "content" tool. 2014-12-18 20:21:01 -05:00
e66752cec1 add set-session-extents-from-edit-range 2014-12-09 16:18:47 -06: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
bfbb0f6178 Add legatize and remove overlap MIDI operations.
We're going to need the ability to apply MIDI edit operations to a note/control
selection soon...
2014-12-06 23:42:11 -05:00
6b3a8915f3 add abort() to non-reached code
This cleans up a lot of false-positives in static analysis
and also helps compilers to optimize code paths in general.
(tagging the fatal stingstream operator as ‘noreturn’ is
far less trivial)
2014-11-14 11:30:08 +01:00
b73f725676 remove mouse zoom mode; bind z to zoom-to-range 2014-10-21 12:47:53 -04:00
44f71ce599 Text tweaks and typo fixes 2014-10-02 18:03:19 +01:00
e9ab53402c add action and menu item to control use of skip playback 2014-09-17 12:28:36 -04:00
564d8d7669 Consistent styling for toolbar buttons.
All the different looks here didn't seem to convey anything useful to me, and
looked sloppy.  I went with the style of the transport button.

It would be nice if we could style button elements like Inset in the
configuration, but this would require some work.
2014-07-29 23:39:01 -04:00
3876b48879 Add track-rec/mute/solo actions to menu, so users can bind them
Make Fit-Tracks sensitive to track selections
2014-07-24 15:47:05 -05:00
b22e136887 Add some new zoom-to-selection actions, so zoom tool is less needed.
Reverse order of items in the zoom menus to match Ardour.
Consolidate the extra zoom math into a function;  this fixes a problem in zoom-to-session.
2014-07-23 11:31:06 -05:00
62cab525f0 (Mixbus profile only) tentatively remove the Zoom and Cut tools, to save space in the toolbar and reduce some highly redundant functions 2014-07-14 10:08:55 -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
07e0f785f8 add "fade range" operation, bound to alt-f at present by default 2014-07-10 08:17:22 -04:00
fcabd5d8ee initial implementation of "bring all media into session folder". Incomplete but basically functional for audio files 2014-07-08 00:53:13 -04:00
7ec397c019 add basics of Cut mouse mode, no functionality yet. Icon images are still required 2014-07-07 07:05:43 -04:00
6d97d72999 remove some cruft with previous commits. remove option link-region-and-track-selection since they are now exclusive, and rename select-all-regions to select-all-objects to match the implementation 2014-07-06 14:02:13 -05:00
db60bc86b8 now that track and region selections are mutually exclusive, you need a separate action to select-all-tracks and select-all-regions. also, preserve region selection during a split, iff we are working on a region selection: only add the newly created regions, dont change anything else in the selection; leave that in control of the user 2014-07-06 12:57:36 -05:00
c771668f9a Q and W jump between markers. this puts them right next to Tab which creates and deletes markers. numpad left/right arrows are an alternate action for this 2014-07-06 07:02:11 -05:00
e083deff83 rename the action that cycles through edit modes, since there are more than two 2014-07-04 07:49:46 -04:00
555a5d6348 lots of keybinding changes. added a new action to allow removing markers at the playhead location. numpad now allows you to access marks higher than 9. to locate to a marker, use the numpad decimal to start and end the operation - for example press .19. to locate to marker 19. also added alternate bindings for redo, delete, and several other alternates that will be needed in subsequent commits. tab is not working, using either Tab or nabla in the binding.in file 2014-07-03 17:50:14 -05:00
0f1c7b1d71 start-range and finish-range should graphically show the range being created. also add bindings for comma and period in addition to existing bindings which require a numpad. the old ones are now alternates. all primary functionality should appear on the qwerrty, and the numpad should be considered an ergonomic redundant alternative if you have one 2014-07-02 17:35:37 -05:00
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
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
cd12698b9c Rename PBD::find_file_in_search_path to just PBD::find_file
saves a bit of typing and not necessary if you look at how it is used.
2014-06-25 12:40:10 -04:00
f147846863 add ability to save current action sensitivities and restore them, and to disable all action sensitivity.
This is needed to be able to lock the application fully on OS X, where the global menu bar would still allow interaction
even when a modal dialog is displayed.
2014-06-24 09:56:16 -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
302fd7efeb correctly set up ruler preferences for get_trx() == true case 2014-05-01 07:53:28 -04:00
38125d60c9 "sequence regions" operation (remove space between selected regions) added, c/o Thomas Brand 2014-04-29 00:11:05 -04:00
509159c3c6 first pass hiding/rearrangement of UI elements related to trx 2014-04-10 13:30:25 -04:00