summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
AgeCommit message (Collapse)Author
2020-05-16fix for #8112. No need to request transport roll before requesting loop playPaul Davis
And doing so confuses ardour
2020-04-27Revert "Fix 8061 (partly): Don't scroll down if no further tracks to scroll to"Johannes Mueller
This reverts commit 81cbf36c5693a6b1c70a29871bb2e0df5f83070b. Limiting scrolling has other drawbacks. A proper fix for the redraw issue has to be found.
2020-04-27Fix 8061 (partly): Don't scroll down if no further tracks to scroll toJohannes Mueller
The issue remains if a track is selected by a "fit-selection" action second last track covers the whole trackview. Then when scrolling one track up, the huge track disappears and a smaller track follows, that covers a lot less space. -> Proper redraw of the track view is still needed.
2020-04-22Fix region boundary cache lookup segfaultRobin Gareus
When the cursor position is after the last item in the vector, upper_bound returns the last given iterator, here: `region_boundary_cache.end()`, which is invalid to dereference. Furthermore prevent possible duplicate prev/next pair at zero, when using the video-timelime.
2020-04-17Prefer PBD::Unwinder to temporarily change a variableRobin Gareus
2020-04-16remove debug outputPaul Davis
2020-04-16changes to deal with region/note selection when changing into/out of ↵Paul Davis
internal edit mode Also, activate MIDI editing actions so that they are effective in internal edit mode
2020-04-03add Editor-level action to toggle track layer displayPaul Davis
2020-04-03add new Editor method to toggle all existing automationPaul Davis
Applies to selected tracks if non-empty; all tracks otherwise
2020-04-01rename variable (frames -> samples)Paul Davis
2020-03-30remove debug outputPaul Davis
2020-03-30when build the region boundary cache, use the "end" of a region, not its ↵Paul Davis
"last sample" It makes no sense to every align a region start/sync point during a drag or alignment operation with the last sample of another region. It only makes sense to align with the position immediately after the last sample of the other region (e.g. directly sequencing regions).
2020-03-17remove destructive/tape mode tracksPaul Davis
2020-03-14Update GUI: freeze operation error/warningsRobin Gareus
2020-02-27Dialog default to cancel (#7915)Robin Gareus
There are various ways to cancel a dialog. Only checking for RESPONSE_CANCEL is not sufficient. e.g. Esc causes a delete-event. * Gtk::RESPONSE_CLOSE * Gtk::RESPONSE_REJECT * Gtk::RESPONSE_DELETE_EVENT * Gtk::RESPONSE_CANCEL * Gtk::RESPONSE_NO Among others this fixes "Clicking session > open, then hitting ESC opens the currently selected folder and session"
2020-01-26Use a sensible min length for default session-durationBen Loftis
If the user tries to set the Start or End marker on an empty session, apply some sensible defaults for the resulting session range.
2020-01-23handle possible failure of a region renamePaul Davis
2020-01-23Fit Selection (Vertical): if we cant fit all selected tracks, report that to ↵Ben Loftis
the user. But still fit what we can.
2020-01-18rename DoTheRightThing to RollIfAppropriatePaul Davis
2020-01-18Session::request_locate() takes a tri-valued second argument for ↵Paul Davis
"roll-after-locate" This allows callers to defer logic about auto-play/current rolling state and more to TransportFSM where it can be cnentralized and is less ambiguous
2019-12-14First batch of MessageDialog replacementsRobin Gareus
2019-11-26Reset paste-count, paste-offset on undo/redoRobin Gareus
This fixes an workflow edge-case when undoing a paste in order to paste at a different location on the same track or automation lane. After undo, any accumulated paste-offset needs to be reset
2019-09-17Correctly handle Zoom > Edit-point > MouseRobin Gareus
Previously this failed if the event was initiated outside of the canvas (e.g. Zoom buttons). This also fixes a special case of Zooming to an edit-point at zero.
2019-09-03Fix mute toggle actions when mute is automatedRobin Gareus
Track menu, as well as mixer-shortcut to set/unset mute of selected tracks needs to send a start_touch() event, otherwise the change is not effective.
2019-08-30Move StripSilenceDialog XML to dedicated functionNikolaus Gullotta
This moves the Session::add_extra_xml() call out of editor_ops.cc and moves it to its own class method StripSilenceDialog::finished()
2019-08-30Add settings retention to StripSilenceDialogNikolaus Gullotta
StripSilenceDialog will now retain its threshold, minimum length, and fade length values from run to run. This is done via Session::add_extra_xml() and recalled during the construction of StripSilenceDialog via Session::extra_xml()
2019-08-03Update GPL boilerplate and (C)Robin Gareus
Copyright-holder and year information is extracted from git log. git history begins in 2005. So (C) from 1998..2005 is lost. Also some (C) assignment of commits where the committer didn't use --author.
2019-08-01(Source List) Implement insert-region action... now uses the Source List.Ben Loftis
2019-08-01(Source List) Recover Regions feature: WIPBen Loftis
2019-08-01(Source List) Region Tags (gtk2 part)Ben Loftis
2019-05-27Fix crash when deleting selected region-view in ripple mode #7764Robin Gareus
Changing the playlist (remove_region) invalidates selection and unsets `clicked_regionview`. The region to operate on needs to be stored for later use.
2019-04-13NO-OP: whitespaceRobin Gareus
This fixes mostly <tab> after <space> and similar <tab> not used for indenting as well as some related code alignment issues.
2019-03-19Update GUI, use Session::playlists() getter (2/2)Robin Gareus
2019-03-07Fix thinko: if the entered_regionview is already part of the selection, do ↵Ben Loftis
not treat it as a special case when splitting.
2019-02-12Session-range behavior (gtk2 part)Ben Loftis
* Both the session-start and session-end point should follow the is-free option * Rename the end-is-free option to session-range-is-free, to reflect that change * This fixes the problem: recording before the start marker would move the Start, even if the user had already fixed the End marker.
2019-02-12Selection-after-split behavior (gtk2 part)Ben Loftis
* When splitting in MouseObject, entered_region should get priority over selected regions. This fixes the unexpected case where you try to split an unselected a region, but a) nothing happens OR b) some other region (maybe off-screen) is split * Range mode now has its own option for splits, which can be: Clear: the selection is cleared. Preserve: the selection is left as-is. (default) Force: all the regions that resulted from the split are selected (forcing a tool change). * Un-hid the additional config options to select only the regions BEFORE or AFTER a split. * Note: splits made with Cut Tool should be unaffected by these changes.
2018-12-28Observe preference to prompt for names when adding range markersAlex Pilon
2018-11-28NO-OP: Clarify function nameRobin Gareus
2018-11-28Use central method to check for engine where requiredRobin Gareus
These are generally places where tracks/busses are created or port connections change.
2018-11-27GUI limitation: Require engine to add/remove tracks/bussesRobin Gareus
2018-10-05move away from "sync source" conceptsPaul Davis
2018-10-02Fix weird behavior in playhead_x_to_grid: use return value from snap_to_grid.Ben Loftis
2018-10-02More correct fix for 8bfbef4: the check was already there; just needed to ↵Ben Loftis
set the dirty flag.
2018-10-02Fix deadlock when no region boundaries are selected in the Snap prefs.Ben Loftis
2018-08-24use new CoreSelection methods in editor and mixerPaul Davis
2018-07-27new_grid: The Return of the snap_to_X functions.Ben Loftis
We no longer assume that Snap always uses the visible ruler lines. If you want to snap to the grid, and ignore the users zoom scale, use SnapPref::SnapToGrid_Unscaled This fixes 2 (known) oversights: "snap region(s) to grid" and "regions whose start are left of the canvas edge".
2018-06-08Allow snapping to the start of the video timeline. (should work, but needs ↵Ben Loftis
testing on a machine with harvid).
2018-05-17Playhead to Grid: handle case where PH is rolling, and we are prevented from ↵Ben Loftis
skipping backwards sensibly.
2018-05-08playhead_X_to_grid: Handle the case of GridTypeNoneBen Loftis
2018-05-08Arrow keys (playhead_x_to_grid()) should move the view along with it. This ↵Ben Loftis
is more consistent with jog-wheel operation, which has proven to work nicely.