Commit Graph

748 Commits

Author SHA1 Message Date
f457225d08
Region loudness normalization GUI #8777 2021-07-20 04:53:57 +02:00
d9877d5c99 prevent add-location-at-playhead-cursor etc. from adding multiple marks at the same location 2021-07-15 09:03:16 -06:00
73b0a3fdb9
Layer Display: add explicit actions for stacked+overlaid 2021-07-03 19:06:04 +02:00
d7bd87eb13
Playlist UI Tweaks: add an action to show playlist selector for selected track 2021-07-03 19:06:04 +02:00
aaa96ff292
Default_Play_Speed: change some speeds from assuming "1.0" to "default_speed" (gtk part) 2021-07-03 19:06:03 +02:00
a1257beb23
Default_Play_Speed: prep work (gtk2)
* request_transport_speed should -never- set default_play_speed
2021-07-03 19:06:02 +02:00
1734fac410 Revert "Paste Mode: overwrite-paste, naive implementation using rec-mode (for testing)"
This reverts commit f4d4dddbeb.

Deferred until after Ardour 6.8
2021-07-01 18:28:04 -06:00
83b9ab1bee
Temporarily revert ongoing varispeed development
This reverts bf88f3fe64
until 35813db0f4

in order to move development into a branch, until after the
upcoming 6.8 release
2021-06-26 18:58:24 +02:00
3454a34ba4 Default_Play_Speed: change some speeds from assuming "1.0" to "default_speed" (gtk part) 2021-06-25 11:51:35 -05:00
b4eba1a30b Default_Play_Speed: prep work (gtk2)
* request_transport_speed should -never- set default_play_speed
2021-06-25 11:51:34 -05:00
f4d4dddbeb Paste Mode: overwrite-paste, naive implementation using rec-mode (for testing) 2021-06-08 08:33:48 -05:00
b17629bddf implement option to move markers during a "remove gaps" operation 2021-05-28 17:43:33 -06:00
2cf0e94d16 code cleanup of Editor::remove_gaps() (removing functionality derived from copy-n-paste of insert-time) 2021-05-28 13:44:39 -06:00
bbcdd959bf dialog for remove gaps operation 2021-05-28 13:44:39 -06:00
d0f94dd63d add "remove gaps" editing operation
Like the libardour functionality it uses, this likely needs work to properly deal with the
intended cross-track workflow
2021-05-28 12:36:17 -06:00
cd7c10c902 implement working undo/redo for region/cue marker operations 2021-05-27 17:17:40 -06:00
3bfb01a77b improved logic for Editor::add_region_marker() 2021-05-27 17:17:40 -06:00
c444a81f1a offer alternative region marker "promotion" method to CD marker (rather than just global marker) 2021-05-25 14:10:36 -06:00
8774740e72 add action to "promote" region cue markers to global marks 2021-05-25 14:01:30 -06:00
445f9a51bf
Fix ripple undo/redo
Ripple edit undo/redo needs a "recursive diff" of all regions
in the playlist. To work properly owned changes have to be
cleared first, previously unrelated edits were be collected too.

This includes a more consistent version of
7a89d56009 using rdiff() instead of explicitly
saving region diffs.
2021-05-23 17:42:33 +02:00
31bbf03a67
NO-OP: always use braces (styleguide #4) 2021-05-23 17:37:28 +02:00
5fdbd71d89 Fix bounced file+region names: concatenating all the names was a bad idea. (gtk part) 2021-05-20 11:42:48 -05:00
3047b25527 split out region marker actions to their own submenu; implement remove and clear all 2021-05-18 20:59:37 -06:00
bd2d8b8c87 tweak Editor remove-marker APIs to set state for removing region cue markers 2021-05-18 16:50:55 -06:00
3713175bf1 allow user to set name for new region cue marker 2021-05-18 16:17:37 -06:00
f1390ca7f7 add (theoretical) undo-ability for region markers and use source API instead of region 2021-05-14 18:37:50 -06:00
a1c68460be add basic/initial code for action to add a region marker 2021-05-14 18:37:50 -06:00
981fc6b3cd transition-to-roll should work whether rolling or stopped 2021-05-04 15:57:03 -06:00
8c427279d9 transition-to-roll should not set the default transport speed 2021-05-04 15:37:04 -06:00
ac53a9bbf8 remove unnecessary 2nd argument from Session::request_locate() calls (default value is identical) 2021-05-03 17:40:41 -06:00
61885f0284
Explicitly set announce=false when creating regions (2/2)
This is in preparation for to improve consistency of
RegionFactory::create() default parameters (change
default to true).
2021-04-30 18:40:51 +02:00
2c64736604
Fix crash when consolidating range with automation
The undo command needs to be started before calling
playlist->add_region() because that may move automation
or include ripple changes. see the following backtrace:

```
UndoTransaction::add_command
ARDOUR::DiskReader::move_processor_automation
ARDOUR::Route::foreach_processor
ARDOUR::DiskReader::playlist_ranges_moved
ARDOUR::Playlist::flush_notifications
ARDOUR::Playlist::RegionWriteLock::~RegionWriteLock
ARDOUR::Playlist::add_region
Editor::bounce_range_selection
```

Except. it seems automation is moved incorrectly in this case..
2021-04-29 21:17:22 +02:00
54c135c8b9 fix "trim to loop" region edit operation so that it applies to any region that intersects the loop, not just those spanning it 2021-04-25 09:42:06 -06:00
52b7e68102 use new Session transport API calls in GUI 2021-04-19 16:14:08 -06:00
ac5bca4a92
Clean up RouteUI header
* Consolidate access modifiers
* Remove all public member variables
* Only expose required functions, use private
  whenever possible
* Rename private members, prefix underscore
* Remove cruft
2021-03-27 17:44:34 +01:00
86a594fe90
Mitigate batch gain-changes #8576
This combines SessionEvent per playlist. Now per change
there are "only" two SessionEvent::Overwrite events
queued per playlist in the GUI thread for later processing
the Butler.

These are triggered by Playlist::ContentsChanged()
and Playlist::LayeringChanged(), both of which trigger
DiskIOProcessor::playlist_modified.

(Previously there used to be two per region)
2021-03-22 02:14:30 +01:00
3bda6020b9
Remove excess parentheses 2021-03-18 04:09:04 +01:00
4abe3ade28 do not commit reversible commands when clearing locations if nothing was changed 2021-03-16 17:40:25 -06:00
bcb3e75cec GUI to remove xrun markers 2021-03-16 16:49:49 -06:00
33de08e9e7
Do not commit empty split undo transactions
When no region(s) are selected and none are under the edit-point,
only a selection change was committed as undo action.
2021-03-10 14:20:24 +01:00
bdc1cdc15f
Fix crash when separating ranges with automation
playlist->partition() calls DiskReader::playlist_ranges_moved()
which may add Panner and Fader automation state changes.

The reversible command has to be started before calling
playlist->partition(). Simply collecting playlist->rdiff() after
the fact is not sufficient.
2021-03-10 13:55:32 +01:00
4769c387f3
Expose EditorCursor via public editor API
This is in preparation to subscribe to playhead cursor position
changes in the recorder-UI.

This change also clean up the API, replacing a public variable
with a const access method and follows #12 of
https://ardour.org/styleguide.html
2021-01-08 18:39:56 +01:00
d0abe7e742 Consolidate action adds a whole-file region (for the Source list) AND a region on the timeline (just as if you recorded it) 2020-07-26 09:53:47 -05:00
80a7d32e07 Prompt user for name of Range and Region bounces (gtk part) 2020-07-26 09:53:47 -05:00
eaf88040cc NO-OP: add missing braces 2020-07-05 17:48:16 -06:00
ad6de3c233 when carrying out MIDI editing operations, be sure to act only once per Model when the selection involves non-forked copies
Still can fail if the non-forked copies have been modified enough, but user should not multi-select them in that instance
2020-07-02 23:15:10 -06:00
c82ca66fcc fix for #8112. No need to request transport roll before requesting loop play
And doing so confuses ardour
2020-05-16 09:31:43 -06:00
Johannes Mueller
1280360a65 Revert "Fix 8061 (partly): Don't scroll down if no further tracks to scroll to"
This reverts commit 81cbf36c56.

Limiting scrolling has other drawbacks. A proper fix for the redraw issue
has to be found.
2020-04-27 22:58:32 +02:00
Johannes Mueller
81cbf36c56 Fix 8061 (partly): Don't scroll down if no further tracks to scroll to
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-27 21:51:57 +02:00
485ac45477
Fix region boundary cache lookup segfault
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-22 22:37:43 +02:00