Commit Graph

171 Commits

Author SHA1 Message Date
d4392b4a1b
Playlist UI Tweaks: provide radio-buttons to switch ALL, Rec-armed, and grouped playlists (wip) 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
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
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
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
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
5be04a4920
NO-OP: clang-format 2021-03-27 17:58:45 +01: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
003be3d87e
Localize private variable (only used by RouteUI) 2021-03-27 16:25:30 +01:00
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
830f76bdce
Change Solo button tooltip when using A/PFL 2021-03-24 18:16:43 +01:00
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
3b96c28310
Update RouteUI, use ARDOUR::SoloMuteRelease 2021-02-22 01:00:00 +01:00
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
9b4d330285
Remove unused variable
`ignore_toggle` is never set to true.
2021-01-29 02:58:25 +01:00
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
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
e79b762daa
Micro-optimization: only recreate polarity buttons as needed 2020-03-02 19:18:59 +01:00
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
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
d6315618da Enumerate the polarity buttons from the polarity processor itself, not the Input count. 2020-02-18 20:15:05 -06:00
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
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
e6064b286e basic GUI framework for setting Disk I/O options 2017-09-18 11:40:53 -04:00
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
1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
5c92613698 Separate Ardour UI widgets into dedicated library 2017-07-17 21:06:04 +02:00
b7dc469515 Remove old API (unused, incorrect for grouped tracks) 2017-07-08 15:43:55 +02:00
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
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
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
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
f80fb029e2 Prepare configurable mini-timeline time-span 2016-12-18 00:06:39 +01:00
33942e6d52 Implement instrument fan-out options (group, track/bus) 2016-11-10 21:39:20 +01:00
b116a68a5c C++ implementation of fan_out_instrument.lua 2016-11-10 04:54:59 +01:00
da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -04:00
0678d0ada1 use new ControlSlaveUI object in mixer strip 2016-06-09 13:12:09 -04:00
01812f53c3 use, or mostly use PresentationInfo for selection status of Routes.
Needs extension to Surfaces, replacing GuiSelectionChanged signal concept
2016-06-05 20:50:57 -04:00
3e12d4b4a6 use PresentationInfo color to set route colors. GUI appears to respond as expected 2016-06-05 17:16:20 -04:00
58eec76ab3 catch up on change in definition of various AxisView {set,is}_selected() implementations 2016-06-05 16:33:02 -04:00
da7013a286 cleanup API for RouteUI 2016-06-05 16:33:02 -04:00
518f7f9892 RouteUI connects to Route's PropertyChange signal; derived types implement route_property_changed() 2016-06-05 16:33:02 -04:00
2aeb33989e adjust color API for RouteUI to use PresentationInfo's color 2016-06-05 16:33:01 -04:00
171b70927a make AxisView::marked_for_display() be virtual so we can use the a Stripable's PresentationInfo hidden() status 2016-06-05 16:33:01 -04:00
8818e1887a there is no explicit "Remote Control ID" control anymore - all done by ordering in the GUI 2016-06-02 19:19:22 -04:00
f022784014 convert editor routes code to use Stripable 2016-05-31 15:30:44 -04:00
537272b3b1 direct connect monitoring changes to the real RouteUI method (no-op, really) 2016-05-31 15:30:40 -04:00