Commit Graph

459 Commits

Author SHA1 Message Date
Mads Kiilerich 7f649efd42
gtkmm: use set_can_focus() instead of deprecated Gtk::Widget::set_flags(CAN_FOCUS) 2022-04-08 21:11:06 +02:00
Mads Kiilerich a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
Robin Gareus e2bc670e6b
Update monitoring display when TB cues change 2022-02-04 01:47:26 +01:00
Robin Gareus 2796d7250b
Do not allow to deactivate master-bus 2022-01-26 17:24:31 +01: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
Robin Gareus 23c5793173
Remove duplicate calls to set_session
Windows managed as Proxy do not need direct calls to set_session().
This is already handled by WM::Manager::instance().set_session()

Also WM set_session() called it twice.
2021-09-20 04:21:21 +02:00
Paul Davis 7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
Ben Loftis ba7237c152 Playlist UI Tweaks: Fix some bugs related to old playlists without pgroup_ids 2021-07-20 14:59:47 -05:00
Ben Loftis 0e647ca98b Playlist UI tweaks: Fix the display+packing for the Advanced cases of the playlist selector dialog. 2021-07-20 10:26:37 -05:00
Ben Loftis 36dd49021f
Playlist UI Tweaks: thinko: selecting a playlist from the menu should be group-aware 2021-07-03 19:06:04 +02: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
Paul Davis 0f6b9e759c fix out-of-order initialization 2021-06-11 18:55:24 -06:00
Robin Gareus f37ad624f6
Fix crash on session-reload or close (amend 1c9bb9ab41)
RouteUI is also used in the recorder-ui and meterbridge,
not all of which call RouteUI::init() since only the abstraction
itself is required.
2021-06-10 05:14:58 +02:00
Ben Loftis e63dc0eb29 Playlist UI tweaks: move pgroup_id out of the menu text, and into a column of the playlist selector 2021-06-08 08:33:48 -05: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 a8395718bc Playlist UI tweaks: rationalize playlist functions in Editor::
* new global playlist functions for {all | rec-armed | selected} tracks.
* new API passes (bool copy) arg instead of separate functions for copy_X.
* consistently use mapover_X functions to consolidate code
* update Lua bindings to match
2021-06-08 08:33:48 -05:00
Ben Loftis 70529c0b56 Playlist UI tweaks: renaming a plist should apply to all plists created in that group 2021-06-01 17:55:09 -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 32bf85502f Playlist UI tweaks: annotate grouped playlist actions with '(for group)' rather than the overloaded term 'take' 2021-06-01 09:39:50 -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 5c579ed52d
Remove unused #include<> (1/2)
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
Robin Gareus 98c55abdfe
Foldback: fix removing last fb bus
This also reverts a RouteUI change to handle set_route(NULL)
from ce28065421.

The RouteUI already calls self_delete() when DropReferences
is emitted.
2021-03-30 01:48:46 +02: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 ce28065421
Foldback: refactor spill logic
Prefer to reuse spill logic from the mixer-ui.
This allows to spill routes directly after spilling
foldbacks. Previously that resulted in FB "show sends"
to keep flashing even then no foldbacks were spilled anymore.

It also simplifies various aspects of foldback prev/next
logic.
2021-03-25 21:38:10 +01:00
Robin Gareus fe99dd4ec2
Fix solo button handler (amend aab296be48)
Exclusive solo is possible for both listen and in-place.
2021-03-25 14:47:24 +01:00
Robin Gareus 830f76bdce
Change Solo button tooltip when using A/PFL 2021-03-24 18:16:43 +01:00
Robin Gareus aab296be48
Exclusive P/AFL is possible since f2d2ea4baa 2021-03-24 17:04:44 +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
John Emmas 79c6f4a3ab Some older versions of std::map can be touchy about us trying to erase a const_iterator 2021-01-30 14:05:31 +00: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 592d73dcb4
Update Monitoring display when prefs/settings changes 2020-06-17 23:51:48 +02:00
Robin Gareus 94085b0162
Avoid "Route" in user visible messages
Prefer "Track", "Bus" and/or "Strip" where applicable, or simply
avoid it.
2020-05-24 19:20:45 +02:00
Ben Loftis bb925ea151 Editor-mixer-strip: fix intermittent crash if we try to set up gui before set_route() is called (amends d2032d) 2020-04-04 12:03:45 -05:00
Ben Loftis d2032df2e5 Fix for Editor-mixer-strip: polarity buttons were not updating with route selection changes. 2020-04-04 10:54:33 -05:00
Robin Gareus 14f15ca1e9
Move RouteUI::fan_out to Mixer_UI
The previous version had various issues, in particular
when creating Tracks with an instrument, the RouteUI was not
available when the signal was emitted (likely caused by recent
ee-work of Audio+MIDI and Tape track removal).

However as side-effect fanned-out tracks/busses may now
be ordered before the new instrument route.

This also fixes an edge case of multiple fan-out in case
there is more than one RouteUI instance (mixer, editor-mixer,
meter-bridge).
2020-04-02 20:27:51 +02:00
Robin Gareus 652f62f20a
Remove signal in preparation to rework fan-out 2020-04-02 20:27:48 +02:00
Ben Loftis c765079b2f Show Sends button should instigate a Spill, akin to a VCA spill 2020-03-23 15:24:08 -05:00
Paul Davis a4d7b45fe0 remove destructive/tape mode tracks 2020-03-17 16:31:49 -06:00
Robin Gareus 7598e71b65
Iniialize uninitialized variable 2020-03-07 02:22:09 +01: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