Commit Graph

534 Commits

Author SHA1 Message Date
Robin Gareus a69ca86944
Fix inline controls allow for inverted range
Some controls (notably pan azimuth) have reversed range 1..0.
Support for this was added years ago in 647103c825
but inline controls were not updated.
2024-04-11 19:41:14 +02:00
Robin Gareus 311f55dba2
Triggerbox Processors are not visible and have no UI
Previously A ProcessorWindowProxy was created for each Route's
triggerbox, and the state was saved with the session file.
2024-02-15 13:26:47 +01:00
jean-emmanuel 97e32a7a61 ui: mixer: adjust plugin inline display for a more consistent look (same border radius as faders, 1px distance with the edges of the containers and with the connection pins). Does the plugin drawer need to be tricked into drawing to the exact adjusted surface now ? 2024-01-20 14:44:30 +01:00
jean-emmanuel bf0d73b3f1 ui: mixer: remove extraneous outline around strip processor list 2024-01-20 14:44:30 +01:00
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
Robin Gareus 3355e753bf
Keep track of LV2 externalUI visibility
This allows Ardour to re-open previously shown plugins,
and toggle externalUI.

This worked in the distant past, before Ardour 3.3 introduced
the Ardour Window Manager.
2023-11-26 20:07:00 +01:00
Robin Gareus c162aa7aca
Consistently use context-menu button action
This fixes an issue where brining up a menu can directly activate an
action in the menu. Notably on macOS.

Nathan reports that this may also address #9515

Note: mac touchpads are not affected since right-click there is
effectively a "press and hold".
2023-10-31 20:16:23 +01:00
Robin Gareus c1be897eed
Explicitly sandbox Lua instances (3/4)
This allows UI scripts (saved in preferences) to access
os.* functions (non-sandboxed), while preventing other
scripts to do so.

Lua scripts that can run os commands can execute arbitrary
code on the system. While this is a nice feature, it can be
equally dangerous.
2023-10-04 02:50:38 +02:00
Paul Davis e9585ad530 objects don't have a time domain, they have a time domain provider (GUI) 2023-08-02 15:22:52 -06:00
Paul Davis 3c2112abf5 widgets & GUI: Start/StopGesture signals should pass on GDK event state 2023-07-26 13:11:52 -06:00
Paul Davis ec7d502959 cairo single pixel line offset fix, part 2
This will need careful visual inspection of the items drawn by the
affected code to make sure they are still precisely as intended
2023-07-17 20:55:13 -06: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 68d910d58c
Catch another windows no-top-level issue
GTK+ on windows is weird on occasion :)
2023-05-15 22:47:36 +02:00
Paul Davis f387cbae12 amend 82e03ac13e for better leave notify behavior
Don't clear the processor box selection when leaving for
a non-linearly related widget/window (e.g. a context menu)

Note that the deselect is a little buggy but that was
true before the referenced commit too. If you move the mouse too
fast out of a processor box, then depending on where the
mouse stops, no leave notify message is sent
2023-04-29 09:57:54 -06:00
Paul Davis 82e03ac13e fix SNAFU with processor box bindings
Bindings were not loaded until after ProcessorBoxen were created,
meaning they had no effect (the ProcessorBoxen set their ardour
bindings to null).

Also handle leave-means-deselect at ProcessorBox level rather than
MixerStrip level, to include MonitorSection PB
2023-04-26 17:19:50 -06:00
Robin Gareus 7302aefbee
Guard set_transient_for for NULL windows
While there should always be a top-level, backtraces
provided by some [windows] users show that it can be NULL
in some scenarios.
2023-04-04 01:38:33 +02: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
Ben Loftis 24ed994d02 redirect box: add a Reset action to the Presets submenu 2022-12-16 15:36:27 -06:00
Robin Gareus 2bca6395cc
Attempted fix for `idle_drop_window` random crashes (1/2) 2022-12-03 19:27:45 +01:00
Robin Gareus d1b462c213 Special case tansient-parent windows on macOS
macOS has its own z-axis stacking (see Manager::set_transient_for) for
dialog and utility windows of a single application. There only case to
set a dedicated transient parent is to keep the child window on top of a
dialog.

Valid use-cases are e.g.
 Plugin Preset Name entry on top of a PluginWindow
 Export Format Settings on top of the Export Dialog

Alternatively one would need to patch gtk to handle
[NSView shouldDelayWindowOrderingForEvent] and explicitly reorder
siblings of a common parent window.

This fixes an issue that plugin windows cannot be re-stacked but were
previously always stacked in the order they were opened.
2022-11-15 03:07:43 +01:00
Ben Loftis dd33e19eda Disambiguate Controls in the redirect box: "Inline Controls" 2022-11-08 13:13:30 -06:00
Robin Gareus fea7621b17
Fix state version for copy-construction (2/2)
see previous commit for details
2022-11-04 17:51:27 +01:00
Robin Gareus cb548ede3d
Safeguard plugin window deletion when closing the session
..otherwise it may happen that the idle-signal arrives after
the window has already been destroyed.
2022-11-02 16:23:43 +01:00
Robin Gareus 19ab75f5e5
Do not destroy Lua DSP GUIs (they are always generic UIs) 2022-10-31 22:47:30 +01:00
David Robillard bdacfb8724 Fix invalid use of Doxygen "@param" command
This is never for inline references to parameters, only for starting parameter
documentation blocks.  The "@p" command is for this, although unfortunately
Doxygen doesn't actually do anything with it and it's just an alias for code
text.
2022-10-30 20:44:28 -04:00
Robin Gareus c3697e1755
Overhaul PortInsert UI
* add gain controls for send/return
* add send polarity invert control
* allow to customize latency
* set transient parent
* cleanup and format source
2022-10-14 02:21:50 +02:00
Robin Gareus 5a48a56bfe
Clean and overhaul up SendUI
* add polarity control
* set transient parent
* remove unused methods
* clang-format source
2022-10-14 02:21:50 +02:00
Robin Gareus 45398fb65c
Fix switch custom -> generic plugin UI
See also e635571f2f and bd898a68
2022-10-11 20:44:04 +02:00
Robin Gareus bd898a68df
Fix switch custom -> generic plugin UI (amend e635571f2f) 2022-10-11 02:40:55 +02:00
Robin Gareus 00fe7e8778
Remove Lambda w/return value for compiler compat. 2022-10-09 16:45:31 +02:00
Robin Gareus b42591fde1
Specify return type of lambda (amend e635571f2f) 2022-10-09 15:40:29 +02:00
Robin Gareus e635571f2f
Implement preference to destroy plugin UIs
see also https://discourse.ardour.org/t/very-high-gpu-usage-on-windows/107672
2022-10-08 18:45:20 +02:00
Robin Gareus c4b63221d1
Allow to delete preset from context menu 2022-09-23 05:40:05 +02:00
Robin Gareus 56c5db9115
Fix indent of previous commit 2022-09-21 22:38:22 +02:00
Robin Gareus b3c95e8946
Allow to create presets from processor context-menu 2022-09-21 22:19:32 +02:00
Robin Gareus 135a54effd
Cleanup processor-box sensitivity, mixbus backport 2022-09-21 21:17:21 +02:00
Robin Gareus 75ad3832db
Amend prev commit 2022-09-12 20:10:54 +02:00
Robin Gareus 91ba76fb0a
Add plugin presets to processor-box context menu 2022-09-12 20:05:07 +02:00
Robin Gareus a307a367cc Remove special-case for send-level display name
These days, `describe_parameter()` handles this fine and returns "Send".
This is in preparation for adding a polarity-invert control to sends.
2022-09-04 01:35:24 +02:00
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 a9965e9b93
gtkmm: use get_is_toplevel() instead of deprecated Gtk::Widget::is_toplevel() 2022-04-08 20:20:33 +02:00
Mads Kiilerich a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
Paul Davis ca22ba77e1 Constification: make Stateful::get_state() const, with all other required const-ness added (GUI) 2022-04-06 21:56:59 -06:00
Robin Gareus 8e7b01bd5f
Remove debug output 2022-01-27 22:26:31 +01:00
luz paz 364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
Robin Gareus 056189c76c
Clean up DnD, use MIME-types
This is in preparation for allowing to drag trigger-regions
or trigger-slots. Those will not use a static singleton
PublicEditor API.

Additionally this constrains Ardour-internal drags to Ardour
(via Gtk::TARGET_SAME_APP).
2022-01-10 21:29:29 +01:00
Paul Davis a30148b2a1 triggerboxUI: showing trigger box UI is global now; move load op to context menu; handle multiple selection 2021-10-11 17:58:51 -06:00
Paul Davis 305c9ba6e9 triggerboxGUI: use new API and tweak add route dialog to allow choice to add triggerbox 2021-10-08 13:45:27 -06:00