Commit Graph

517 Commits

Author SHA1 Message Date
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
Paul Davis bfc3c51052 triggerUI: somewhat functioning inline trigger box UI 2021-10-03 12:29:26 -06:00
Robin Gareus 56056f5590
Remove unused code
It that was apparently accidentally added in a git-rebase
in 6fd791423b.
2021-10-02 23:41:28 +02:00
Paul Davis acd7703c36 Revert "remove unused variable"
variable is actually used!

This reverts commit 5c7f318bd68ac3256d32c29b8e267e1ba99d09e3.
2021-09-04 07:18:56 -06:00
Paul Davis 21ea579aed remove unused variable 2021-09-04 07:18:56 -06:00
Paul Davis 78d8a2448d allow editing of triggerbox processor 2021-08-31 22:33:47 -06:00
Paul Davis 1927e4673b remove StepSequencer, BeatBox and BeatBoxGUI from wscripts and #ifdef code occurences. Files remain 2021-08-13 12:51:36 -06:00
Paul Davis e5d505365f rename ProcessorBox::Position as ProcessorBox::ProcessorPosition 2021-08-13 12:51:34 -06:00
Paul Davis d671dc0fa1 plugins use their route's automation time domain (GUI edition) 2021-08-13 12:51:33 -06:00
Paul Davis 1b06fcb335 another snapshot of ongoing work on timeline types. still not compilable 2021-08-13 12:51:29 -06:00
Paul Davis 929bb23836 allow editing for beatbox 2021-08-13 12:51:26 -06:00
Paul Davis 6fd791423b GUI for BeatBox 2021-08-13 12:51:26 -06:00
Robin Gareus 9d865f241d
Prevent user from indirectly disabling LAN amp 2021-05-19 02:10:29 +02:00
Robin Gareus 8fcbe789b4
Ignore pinout when copy/pasting plugins using Ctrl+c/v
This can lead to invalid configuration and crashes in
case plugin-replication changes.

see also 9ab84a95f1
2021-03-22 04:10:03 +01:00
Robin Gareus 31691a6ad4
Fix Aux-send copy/paste
* Create new IDs
* Allow to link with route's panner
2021-01-18 16:07:31 +01:00
Robin Gareus b2c4e71a45
Subscribe to pretty-port name changes (GUI) 2021-01-18 03:18:20 +01:00
Robin Gareus 94af225eaf
Fix window parent when using different workspaces
This affects only windows opened from the mixer window,
in case the mixer is detached and on a different workspace (desktop).

Window::init (and Dialog::init) set transient parent early on,
and it defaults to the main window (with toolbar). It needs to be
unset before presenting the window, in order to show the window
on the same workspace as the eventual transient parent.

This follows 6dc9134 and f3fbf58.
2020-11-18 16:26:36 +01:00
Robin Gareus 6dc91348d7
Fix transient parent for plugin windows w/detached mixer
This follows f3fbf58185 which unconditionally set the main window
as transient parent. However when detaching the mixer, plugins should
be transient for the detached parent window.
2020-11-16 15:47:05 +01:00