13
0
Commit Graph

503 Commits

Author SHA1 Message Date
7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
ba7237c152 Playlist UI Tweaks: Fix some bugs related to old playlists without pgroup_ids 2021-07-20 14:59:47 -05:00
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
36dd49021f
Playlist UI Tweaks: thinko: selecting a playlist from the menu should be group-aware 2021-07-03 19:06:04 +02:00
d4392b4a1b
Playlist UI Tweaks: provide radio-buttons to switch ALL, Rec-armed, and grouped playlists (wip) 2021-07-03 19:06:04 +02:00
0f6b9e759c fix out-of-order initialization 2021-06-11 18:55:24 -06:00
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
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
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
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
70529c0b56 Playlist UI tweaks: renaming a plist should apply to all plists created in that group 2021-06-01 17:55:09 -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
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
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
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
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
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
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
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
830f76bdce
Change Solo button tooltip when using A/PFL 2021-03-24 18:16:43 +01:00
aab296be48
Exclusive P/AFL is possible since f2d2ea4baa 2021-03-24 17:04:44 +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
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
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
592d73dcb4
Update Monitoring display when prefs/settings changes 2020-06-17 23:51:48 +02:00
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
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
d2032df2e5 Fix for Editor-mixer-strip: polarity buttons were not updating with route selection changes. 2020-04-04 10:54:33 -05:00
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
652f62f20a
Remove signal in preparation to rework fan-out 2020-04-02 20:27:48 +02:00
c765079b2f Show Sends button should instigate a Spill, akin to a VCA spill 2020-03-23 15:24:08 -05:00
a4d7b45fe0 remove destructive/tape mode tracks 2020-03-17 16:31:49 -06:00
7598e71b65
Iniialize uninitialized variable 2020-03-07 02:22:09 +01: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
9b7998e747
Fan-out multi-channel instruments to tracks (not busses) 2019-11-02 18:47:59 +01:00
0041e8b3ae
Disable direct master-send on fan-out 2019-11-01 20:44:14 +01: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
94d3da7e09
GUI updates to handle monitor-section changes
This fixes various MS related action sensitivity issues, as well
as action-states.

Also manually adding a monitor-section to a session now always
immediately shows it, regardless of prior ToggleMonitorSection
visibility.
2019-03-01 16:51:08 +01:00
c01ab83e1f
Kill the last remaining buses
In Ardour's world, the plural of a "Bus[Bar]" is "Busses".
(some day we may or may not search/replace 'em all to "buses")
2019-01-23 16:05:21 +01:00
923d07be31 remove debug output 2018-12-27 17:18:21 -05:00
b09ac181e0 div wrapping 2018-12-27 17:18:21 -05:00
0805b6b925
Consolidate two more engine-checks 2018-11-28 15:17:57 +01:00
245d48dbd0
NO-OP: Clarify function name 2018-11-28 15:16:25 +01:00
f150f6c074
Use central method to check for engine where required
These are generally places where tracks/busses are created or port
connections change.
2018-11-28 00:01:50 +01:00
1d8dc009f7
Catch potential exceptions when adding tracks/busses 2018-11-27 13:19:34 +01:00
57d7b5de65
GUI limitation: Require engine to add/remove tracks/busses 2018-11-27 13:18:39 +01:00
30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
a2fefe68db use modified API name in GUI 2017-09-18 11:40:53 -04:00
e6064b286e basic GUI framework for setting Disk I/O options 2017-09-18 11:40:53 -04:00
58e49e3512 cue monitoring for audio (GUI aspects) 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
5f2132e9cc Fix Route-template file suffix 2017-08-23 21:33:29 +02:00
Johannes Mueller
bb20327959 Pass session description or route comment as default description
... to SaveTemplateDialog
2017-08-20 21:09:30 +02:00
Johannes Mueller
c5c3498e98 Use const wherever you can 2017-08-20 21:09:30 +02:00
Johannes Mueller
245154d06a Let user add a route template description on saving route templates 2017-08-20 21:09:30 +02:00
af103cf3c2 Remove old destructive API (non layered is a dynamic mode) 1/2 2017-08-18 20:59:52 +02:00
fde0e293a3 Remove unused "mark" parameter from stop_touch() API 2017-07-24 01:59:18 +02:00
1f5ebc5485 Remove ArdourPrompter wrapper 2017-07-17 21:06:04 +02:00
eb1e423b75 Remove <gtkmm.h> include from header files. 2017-07-17 21:06:04 +02:00
f9e5e4360e Move more Gtkmm2ext widgets into libwidget 2017-07-17 21:06:04 +02:00
b5e9451bc7 Remove unused sources & includes 2017-07-17 21:06:04 +02:00
f6e182b937 Move Gtkmm2ext widgets into libwidget 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
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
1794d08789 Fix Monitor Group override 2017-06-12 20:47:44 +02:00
0afd18eb5d NO-OP: whitespace 2017-05-04 00:43:40 +02:00
a23ac120f2 The return of explicit exclusive solo. 2017-05-04 00:42:07 +02:00
962e7a214a Revert "consistent use of context-menu popups"
This reverts commit b3722f7063.

In some cases ardour shows context-menu on right-mouse-button
release. In this case selecting a menu-entry should happen
with the left-mouse button (or any button?!)

Using ev->button is only correct if the menu is temporary and only
visible while the button is held, button release then activates the
menu-item.

This needs further work, in some cases allowing any button (0) to work
makes sense and overall consistency needs to be improved.
Different places use different strategies for context-menus which
don't always match the button used in the event-handler.

This is a hotfix (to make TAV context menus work again with left-click)
2017-03-24 14:48:46 +01:00
b3722f7063 consistent use of context-menu popups 2017-03-16 02:36:48 +01: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
5c4a2025f1 Fix touching mute automation (mostly)
controllable->set_value() from GUI context will eventually queue
a session-rt command. By the time the realtime command runs, the
controllable needs to be in "touch" mode.

The AutomationController "toggle" UI worked around this by directly using
the underlying API (ignoring slaved-controls and ignoring groups).
The RouteUI's GUI wasn't able to write mute-automation at all.

This commit is a compromise: press + hold (touch) + release button.

(it may need further special-casing for _desc.toggled in
AutomationControl::actually_set_value(), also undoing automation-writes
is currently  not working correctly)
2017-02-28 05:01:17 +01:00
1071c0e788 Likely fix for bug: cannot change track colors in older 4.x sessions. 2017-02-27 20:51:17 -06:00
0808b87138 Add GUI part to immediately fan-out multi-out instruments on track creation 2017-01-21 00:40:18 +01:00
c6a7c9417e Plug some mixer memory leaks 2017-01-20 13:53:45 +01:00
cf5a0de709 Add initial GUI support for global monitor states 2017-01-16 19:54:42 +01:00
Nil Geisweiller
4c66e36b91 Fix indentation 8 whitespaces to tab 2016-12-21 23:09:40 +01:00
8ba7e8f4ef Hide/remove per-track record-mode in favor of global setting. 2016-12-17 02:43:42 +01:00
ae1d4a9346 Fix route color selection dialog 2016-11-29 22:39:20 +01:00
ca55fbf2f8 The DisplaySuspender is useless with async Session RTEvents 2016-11-25 10:05:36 +01:00
5ab33bdb63 Fix crash when fanning out from editor mixer
when creating a new track or bus editor-selection changes and the
editor-mixer's _route changes.
2016-11-16 05:24:01 +01:00
857c0d4a5e Refine instrument fan-out:
* prefix (rather than suffix) portgroup-name
* check if group already exists
* disconnect targets (when autoconnect preference is enabled)
* expose tracks/busses option
2016-11-11 10:48:33 +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
24eaec1fa8 handle blink-rec-arm change without application restart 2016-10-13 18:07:41 +02:00
822810b88f the endless quest to plug memory leaks -- episode 379 2016-07-25 17:38:59 +02:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
da7d7f9502 many changes associated with rationalizing selection flow 2016-07-06 13:39:10 -04:00