Commit Graph

520 Commits

Author SHA1 Message Date
68d910d58c
Catch another windows no-top-level issue
GTK+ on windows is weird on occasion :)
2023-05-15 22:47:36 +02:00
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
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
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
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
24ed994d02 redirect box: add a Reset action to the Presets submenu 2022-12-16 15:36:27 -06:00
2bca6395cc
Attempted fix for idle_drop_window random crashes (1/2) 2022-12-03 19:27:45 +01:00
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
dd33e19eda Disambiguate Controls in the redirect box: "Inline Controls" 2022-11-08 13:13:30 -06:00
fea7621b17
Fix state version for copy-construction (2/2)
see previous commit for details
2022-11-04 17:51:27 +01:00
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
19ab75f5e5
Do not destroy Lua DSP GUIs (they are always generic UIs) 2022-10-31 22:47:30 +01:00
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
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
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
45398fb65c
Fix switch custom -> generic plugin UI
See also e635571f2f and bd898a68
2022-10-11 20:44:04 +02:00
bd898a68df
Fix switch custom -> generic plugin UI (amend e635571f2f) 2022-10-11 02:40:55 +02:00
00fe7e8778
Remove Lambda w/return value for compiler compat. 2022-10-09 16:45:31 +02:00
b42591fde1
Specify return type of lambda (amend e635571f2f) 2022-10-09 15:40:29 +02:00
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
c4b63221d1
Allow to delete preset from context menu 2022-09-23 05:40:05 +02:00
56c5db9115
Fix indent of previous commit 2022-09-21 22:38:22 +02:00
b3c95e8946
Allow to create presets from processor context-menu 2022-09-21 22:19:32 +02:00
135a54effd
Cleanup processor-box sensitivity, mixbus backport 2022-09-21 21:17:21 +02:00
75ad3832db
Amend prev commit 2022-09-12 20:10:54 +02:00
91ba76fb0a
Add plugin presets to processor-box context menu 2022-09-12 20:05:07 +02:00
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
ca22ba77e1 Constification: make Stateful::get_state() const, with all other required const-ness added (GUI) 2022-04-06 21:56:59 -06:00
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
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
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
305c9ba6e9 triggerboxGUI: use new API and tweak add route dialog to allow choice to add triggerbox 2021-10-08 13:45:27 -06:00
bfc3c51052 triggerUI: somewhat functioning inline trigger box UI 2021-10-03 12:29:26 -06:00
56056f5590
Remove unused code
It that was apparently accidentally added in a git-rebase
in 6fd791423b.
2021-10-02 23:41:28 +02:00
acd7703c36 Revert "remove unused variable"
variable is actually used!

This reverts commit 5c7f318bd68ac3256d32c29b8e267e1ba99d09e3.
2021-09-04 07:18:56 -06:00
21ea579aed remove unused variable 2021-09-04 07:18:56 -06:00
78d8a2448d allow editing of triggerbox processor 2021-08-31 22:33:47 -06:00
1927e4673b remove StepSequencer, BeatBox and BeatBoxGUI from wscripts and #ifdef code occurences. Files remain 2021-08-13 12:51:36 -06:00
e5d505365f rename ProcessorBox::Position as ProcessorBox::ProcessorPosition 2021-08-13 12:51:34 -06:00
d671dc0fa1 plugins use their route's automation time domain (GUI edition) 2021-08-13 12:51:33 -06:00
1b06fcb335 another snapshot of ongoing work on timeline types. still not compilable 2021-08-13 12:51:29 -06:00
929bb23836 allow editing for beatbox 2021-08-13 12:51:26 -06:00
6fd791423b GUI for BeatBox 2021-08-13 12:51:26 -06:00
9d865f241d
Prevent user from indirectly disabling LAN amp 2021-05-19 02:10:29 +02:00
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
31691a6ad4
Fix Aux-send copy/paste
* Create new IDs
* Allow to link with route's panner
2021-01-18 16:07:31 +01:00