Commit Graph

16420 Commits

Author SHA1 Message Date
Robin Gareus 8794145c9d
Centralize setting undo/redo action sensitivity
This fixes undo/redo action sensitivity for non-editor
history stack changes.

Notably recording was not undoable, because the butler
thread creates the reversible "capture" command.
2023-06-02 18:11:53 +02:00
Robin Gareus 921b4aaa75
Allow to drag time selection markers 2023-06-01 21:37:40 +02:00
Robin Gareus c063be6a76
Implement Editor::abort_reversible_selection_op 2023-06-01 21:37:37 +02:00
Robin Gareus 6016c9624e Manage OptionEditor labels
Because those Widgets are added to managed frames (for search highlight)
the labels inside also need to be managed and not destroyed with the
Option (which happens first).

This fixes various GTK warnings at exit
```
gtk_widget_unparent: assertion 'GTK_IS_WIDGET (widget)' failed
```
2023-05-31 21:36:24 +02:00
Robin Gareus 8f1d188bf3
NO-OP: clang-format
This addresses various indentation problems caused by
`boost::` -> `std::` and other whitespace issues.
2023-05-31 16:53:38 +02:00
Robin Gareus 520b209c83
NO-OP: update comments 2023-05-31 15:53:12 +02:00
Robin Gareus 4bc8a3e9c7
Fix remove_selected_sources() for multi-channel sources
It is not sufficient to simply drop the first source
of a region. While destroying a whole-file region marks
all its sources as unused, only the source for 1st channel
was explicitly removed.

The session accumulated <Sources>, without corresponding
whole-file Regions. Those can prevent cleanup of unused
sources, particularly when using snapshots.
2023-05-29 21:15:50 +02:00
Robin Gareus d8349b366e
Properly repopulate Region-list after regions are deleted 2023-05-29 18:05:34 +02:00
Robin Gareus 3c17721eff
Fix SourceListBase::remove_source
* It was never called because SourceListBase::set_session
  subscribed to the signal just before SessionHandle::set_session
  dropped _session_connections
* remove_source() only checked the first source of the whole-file
  region, not all sources of a multi-channel region.
  Stereo regions with mono sources are now properly cleaned up.
2023-05-29 18:04:27 +02:00
Robin Gareus 5dd35ff86a
Fix duplicate whole-file regions when embedding sources
playlist->add_region() derives a region in case a whole-file
region is added to the playlist.
2023-05-28 04:39:06 +02:00
Robin Gareus 0918f7fc09
Fix Mixbus build 2023-05-27 16:18:10 +02:00
Robin Gareus cad949eb4e
Allow to rename plugins (#9352) 2023-05-27 15:16:46 +02:00
Robin Gareus c9e13d49d4
PluginPinDialog: subscribe to processor name changes 2023-05-27 14:31:41 +02:00
Ben Loftis 159e677d8d user-visible action names should better match the intended shortcut mnemonic 2023-05-26 13:16:37 -05:00
Ben Loftis ce6f156bc3 Add shortcuts for 'section copy+paste' actions, moving Crop to accommodate 2023-05-26 13:16:37 -05:00
Ben Loftis 9e91c01ca8 no-op (whitespace) 2023-05-26 13:16:37 -05:00
Robin Gareus 35cca5d47b
Fix crash when adding audio-ports without replicating plugin(s) 2023-05-26 19:18:00 +02:00
Robin Gareus 500a0c09e8
Exclude master-bus on monitor output connector 2023-05-24 07:15:01 +02:00
Robin Gareus c9f95a1259
Amend a736ebfee, drop reference 2023-05-24 07:14:57 +02:00
Robin Gareus a736ebfee4
Use IOButton in Monitor-Section
This not only remove duplicate redundant code, but also
fixes an issue with external port-disconnection not being
caught.
2023-05-24 04:07:30 +02:00
Robin Gareus 3b8cbd7c8f
Revert "Debug xwayland blank Engine dialog, allow to resize the window"
This reverts commit bb474b1b8e.
2023-05-24 00:45:16 +02:00
Robin Gareus bb474b1b8e
Debug xwayland blank Engine dialog, allow to resize the window
Revert this before release
2023-05-23 03:19:34 +02:00
Ben Loftis c1fe193def tempo mapping: handle the special case of trying to ramp the 'first' marker 2023-05-22 15:51:38 -05:00
Ben Loftis cc630c6bbe tempo mapping: clicking on a bar line should always make a new tempo marker
* the process of tempo mapping requires/encourages you to click on the
   last-known good marker, before continuing to make tempo tweaks

* this conflicts with the idea that clicking in a ruler should start a
    playhead-drag.  TBD.   but tempo-mapping is a special and rare operation.
2023-05-22 15:51:33 -05:00
Robin Gareus c669ff58e5
Cleanup, fix Wunused-private-field 2023-05-22 22:29:42 +02:00
Robin Gareus 515e67f784
NO-OP: clang-format 2023-05-22 22:23:41 +02:00
Ben Loftis ed7683d029 tempo mapping: initiating a drag on a BEAT line applies a ramped twist
as opposed to grabbing a BAR line, which explicitly creates or moves a
  tempo marker, and creates constant tempo lines when dragged
2023-05-22 13:33:03 -05:00
Ben Loftis a217c58ff5 tempo mapping: remove an unnecessary limit on tempo-drags
a) mouse-scaling is not 1:1
b) invalid tempo values are prevented internally anyway
2023-05-22 13:33:03 -05:00
Ben Loftis ca5e56f98c tempo mapping: MappingTwist drag should differentiate between ramped and constant twist
TODO:  probably break these into separate ::Drag classes
2023-05-22 13:33:03 -05:00
Ben Loftis 9fa8e257a6 tempo mapping: Mapping Drags should inhibit horizontal autoscroll 2023-05-22 13:32:38 -05:00
Robin Gareus 5cca7e31e6
Add keybinding for Mixer/solo 2023-05-22 02:01:42 +02:00
Robin Gareus 3d43ed4993
Do not allow to use JACK transport when vari-speed is enabled 2023-05-19 23:27:01 +02:00
Robin Gareus d0a66ca389
Update Session Archive Dialog, allow to abort 2023-05-19 03:08:38 +02:00
Robin Gareus 56176bb627
Update GUI, use new Archive progress API 2023-05-19 03:08:31 +02:00
Robin Gareus 02055a1c96
Update codebase to use PBD::Progress (2/2) 2023-05-19 00:53:38 +02:00
Robin Gareus b5d3ef68bf
Prepare for FileArchive progress API update 2023-05-19 00:31:51 +02:00
Robin Gareus d2b24e8689
Rate limit progress-report, reduce excessive UI load
Session-archive or region analysis can produce excessive
progress callbacks (for each N samples read from disk).
2023-05-18 18:58:40 +02:00
Robin Gareus ffa893f23c
Add a warning that cut/copy section does not yet include the the Tempo Map 2023-05-18 03:45:53 +02:00
Robin Gareus 3ef5b0881f
Expose Cut/Copy Section in Edit Menu
Also remove it from the context menu, since it fails
with edit-point = Mouse.
2023-05-18 03:45:14 +02:00
Robin Gareus 86393ecfc3
Fix Blueberry-Milk theme 2023-05-18 01:26:52 +02:00
Robin Gareus dbebc0b7e0
Make Markers properly themable, use color-names
This simplifies code, and also immediately changes marker
colors when the theme is changed.
2023-05-18 01:26:35 +02:00
Robin Gareus 299e67f250
Facilitate multiple section paste operations 2023-05-17 23:30:13 +02:00
Robin Gareus 3bac043043
Update preferences metadata object 2023-05-17 02:04:52 +02:00
Robin Gareus d9f25ff2ea
Split Appearance/Editor Waveform into separate page
This reduces the vertical size requirement of the
Preference Window.
2023-05-17 02:02:55 +02:00
Robin Gareus cb78043adc
Indicate selection extents in time ruler 2023-05-17 01:53:40 +02:00
Robin Gareus 1ee2675716
Implement Selection Marker class and events 2023-05-17 01:50:51 +02:00
Robin Gareus cfba965db3
Prepare Selection Start/End Marker rendering 2023-05-17 01:45:48 +02:00
Robin Gareus 5f03253de6
Restore Ardour stripable-color-palette 2023-05-15 23:18:50 +02:00
Robin Gareus 68d910d58c
Catch another windows no-top-level issue
GTK+ on windows is weird on occasion :)
2023-05-15 22:47:36 +02:00
Ben Loftis 4b30239275 split route-coloring option into Tracks and Buses 2023-05-15 15:34:43 -05:00