Commit Graph

185 Commits

Author SHA1 Message Date
Robin Gareus 7228144d6e
Vapor: GUI support to add Surround Bus 2024-01-06 20:27:03 +01:00
Robin Gareus 9cc966120c
Consolidate internal bus checks (2/2) 2024-01-06 20:21:54 +01:00
Paul Davis a4b43a6f69 gui support for changing tracks' time domain 2023-08-02 15:23:42 -06:00
Paul Davis fa38a14120 GUI changes to support new selection/group logic 2023-07-31 13:36:25 -06:00
Paul Davis 16e1188a2f move logic for use-selection-as-group into ARDOUR_UI and use it everywhere 2023-07-28 09:50:23 -06:00
Paul Davis c4838f5d87 remove RouteGroup method from RouteUI::maybe_use_select_as_group()
No longer necessary, after logic change.
2023-07-27 13:28:51 -06:00
Paul Davis c9a58bfae1 consolidate rules for selection-as-group and extend to solo/mute/recanable 2023-07-26 21:06:19 -06:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus b5fd753886
Set tooltip for send polarity button 2022-09-18 22:51:58 +02:00
Robin Gareus 109e7d6ea0 When editig sends, show the send's polarity control on mixer-strip 2022-09-04 20:25:51 +02:00
Paul Davis 24253c20f3 remove no-longer-used method 2022-08-11 00:07:05 -06:00
Paul Davis bfa40895b3 add 2nd method to RouteUI to get a (possible) variant of the route color for "tinting"
Currently returns the same value as ::route_color()
2022-08-10 22:33:40 -06:00
Paul Davis bfedf7168e new GUI appearance option to offer track/bus colors (muted) as backgrounds for editor & mixer strips 2022-08-09 16:18:32 -06:00
Robin Gareus 0a17d8e66a
Use shared static method to count plugins
This moves MixersStrip::help_count_plugins to RouteUI,
so that it can be shared with other Strip implementations.
2022-01-01 15:34:47 +01:00
Ben Loftis d4392b4a1b
Playlist UI Tweaks: provide radio-buttons to switch ALL, Rec-armed, and grouped playlists (wip) 2021-07-03 19:06:04 +02:00
Ben Loftis d7bd87eb13
Playlist UI Tweaks: add an action to show playlist selector for selected track 2021-07-03 19:06:04 +02:00
Ben Loftis 1c9bb9ab41 Playlist UI tweaks: refactor PlaylistSelector (life-cycle, code-cleanup)
* You can now show a selector for each track, rather than one global dialog
* Removed the 'cancel' button: it was too easy to unintentionally revert your selection
* Correctly sort and name new playlists when they are added or renamed from the P menu
* Fix problem where list contents disappeared when changing desktops (on_unmap_event)
2021-06-08 08:33:48 -05:00
Ben Loftis b339d083a8 Playlist UI tweaks: relax requirement that playlists have a discrete name, and use pgroup for organization instead 2021-06-01 11:59:13 -05:00
Ben Loftis 561aef3736 Playlist UI tweaks: always prompt the user for a new playlist name, not just for grouped playlists 2021-06-01 09:39:50 -05:00
Ben Loftis 892d641987 Playlist UI tweaks: Add (select, share, copy, steal) operations to the playlist selector (under Advanced... menu)
Use the same sorting for the menu list and playlist_selector items
Implement Copy, Share and Steal playlist actions. Need a RouteTimeAxis for this.
Rename persistent dialog buttons to make it clear you can Revert
2021-06-01 09:39:39 -05:00
Robin Gareus 5be04a4920
NO-OP: clang-format 2021-03-27 17:58:45 +01:00
Robin Gareus 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
Robin Gareus 003be3d87e
Localize private variable (only used by RouteUI) 2021-03-27 16:25:30 +01:00
Robin Gareus 24499fa7da
Foldback: use RouteUI send-spill functions
This resolves ambiguities of overloaded non-virtual methods
that used shared protected variables (send_blink_connection).

It fixes "show sends" of foldback busses (spilling the send
controls) and allows for showing showing other sends directly
without first disabling it.

This fixes some related issues with inheritance and
signal propagation.
2021-03-27 15:52:14 +01:00
Robin Gareus 830f76bdce
Change Solo button tooltip when using A/PFL 2021-03-24 18:16:43 +01:00
Robin Gareus 61b29c5810
Fix track-record-axis cleanup, duplicate self delete
Also hide/delete IOSelector dialogues early on when closing
the session.
2021-02-26 03:08:35 +01:00
Robin Gareus 3b96c28310
Update RouteUI, use ARDOUR::SoloMuteRelease 2021-02-22 01:00:00 +01:00
Robin Gareus 518f307e00
Share IO selector window for a given route
Previously it was possible to open the multiple IOSelectorWindows
from multiple locations: editor-mixer, mixer, track/bus inspector,
track header context menu, etc. for the same port.
2021-01-30 02:38:44 +01:00
Robin Gareus 9b4d330285
Remove unused variable
`ignore_toggle` is never set to true.
2021-01-29 02:58:25 +01:00
Robin Gareus cf6e785ed3
Move Playlist GUI functions to RouteUI
This allows to re-use playlist editing in all RouteUI derivatives,
not just the main editor time axis header.

The change is mostly a NO-OP, simply moving methods from
RouteTimeAxisView (is-a RouteUI), to RouteUI.
2021-01-26 01:54:33 +01:00
Robin Gareus 612746f3b0
Improve master-strip layout spacing
Simply removing the items from the rec_mon_table still leaves
a space since the table itself is still packed and the
global-vpacker uses a spacing of 2px.

So the rec-mon table has to be unpacked. explicit hide/show
calls in set_route() are also not helpful since the widget is
managed by a VisibilityGroup.
2020-07-22 23:55:01 +02:00
Robin Gareus e79b762daa
Micro-optimization: only recreate polarity buttons as needed 2020-03-02 19:18:59 +01:00
Robin Gareus 6120d4d43a
Improve RouteUI API consistency
This is an effective NO-OP
 * Some methods have been re-named to improve consistency
 * Duplicate function calls were removed:
   RouteUI::set_route() already updates mute/solo
   MixerStrip does not have to update it again
 * virtual methods have been protected
2020-03-02 19:18:57 +01:00
Robin Gareus 14c670869c
Fix polarity invert buttons (amend d6315618da)
ConfigurationChanged() is emitted after processors have been
reconfigured (e.g adding/removing a plugin).
The button state needs to be updated after setup.

Bfore d6315618da this worked because _route->io_changed()
is emitted before the processors are re-configured, and
phase_control()->Changed() triggered an update after that.

PS. The motivation for d6315618da are Mixbusses. They have no input
channels, but a Return processor before the polarity processor.
2020-03-02 19:18:50 +01:00
Ben Loftis d6315618da Enumerate the polarity buttons from the polarity processor itself, not the Input count. 2020-02-18 20:15:05 -06:00
Robin Gareus 70c523e0e8
Remove defunct Route "Adjust Latency" GUI
This was based on Ardour-5 style "set custom latency of the IO", and
inform, override JACK-port latency compensation.

Ardour6: IO itself is no longer in control. This is abstracted by
IOProcessor.

In any case, this is to be superseded by bundling a-virtual-latency,
and allowing track playback offset (that has no additional
thru-latency for cue-monitoring).
2019-09-29 18:25:14 +02:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
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-03 15:53:15 +02:00
Paul Davis e6064b286e basic GUI framework for setting Disk I/O options 2017-09-18 11:40:53 -04:00
Robin Gareus b5e1eb7538 Migrate PC dialog to RouteUI, midnam handing to RTAV.
This allows to to bring up the PC dialog from Editor/Editor-Mixer & Mixer
for both MIDI Tracks as well as MIDI Busses.
2017-09-09 18:25:36 +02:00
Johannes Mueller 245154d06a Let user add a route template description on saving route templates 2017-08-20 21:09:30 +02:00
Robin Gareus 1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
Robin Gareus 5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
Robin Gareus b7dc469515 Remove old API (unused, incorrect for grouped tracks) 2017-07-08 15:43:55 +02:00
Robin Gareus b976bf8986 NO-OP whitespace & foratting of header files 2017-07-01 21:19:56 +02:00
Thomas Brand 63ea7b6516 NO-OP whitespace (updated GH PR #357) 2017-07-01 19:28:26 +02:00
Robin Gareus af6941ac34 Prepare VCA Automation Lanes -- refactor TAV
* add an abstract StripableTimeAxisView (Route TAV + VCA TAV)
* move common strip-methods into STAV
* Add Automation Lanes to VCA TAV
* Allow ATAV without Automatable for VCA Controls
2017-06-15 16:06:32 +02:00
Robin Gareus 05dfc1fdc1 Update color stripable color-picker(s)
* consistent behavior (Route, VCA)
* non-modal
* a single color picker for each RouteUI/VCA at most
* fix bug: VCA picker staying around even when VCA was deleted
2017-03-11 00:33:43 +01:00
Robin Gareus 3780a9526e re-order inheritance
LuaBridge only allows one parent class, others need explicit casts.
Allowing RoutUI to be passed as Selectable argument is handy.
2017-02-24 16:10:14 +01:00
Nil Geisweiller 4c66e36b91 Fix indentation 8 whitespaces to tab 2016-12-21 23:09:40 +01:00
Robin Gareus f80fb029e2 Prepare configurable mini-timeline time-span 2016-12-18 00:06:39 +01:00