Commit graph

249 commits

Author SHA1 Message Date
Robin Gareus
c4020b22c4 Amend 28c8dbf128, unsubscribe from destroyed signal
This handles another edge case where the Frame is deleted
before the child widget.
2025-08-27 16:47:14 +02:00
Robin Gareus
464303da5e Handle special case of using unmanaged widgets to Frame
This happens in in Ardour's Preference dialog with
e.g. BufferingOptions:

~OptionEditorContainer deletes the Option, which in turn
deletes the Widget BufferingOptions:_buffering_presets_combo
Since the widget is not managed it is not removed from its
parent.

Later ~OptionEditorContainer disposes the page layout, which
eventually also calls the Frame d'tor, causing a heap-use-after-free.
2025-08-27 16:47:13 +02:00
Robin Gareus
cf4eb99ed8 Handle case where a custom MenuElem is added to the dropdown 2025-08-27 16:47:12 +02:00
Robin Gareus
daaa8641b5 ArdourDropdown: use action's short-label for display text 2025-08-27 16:47:11 +02:00
Robin Gareus
26ca954574
Allow to scroll though meta-button items #9976 2025-08-17 06:29:31 +02:00
Paul Davis
9f49e6379d ArdourDropdown: new utility methods 2025-07-29 18:16:35 -06:00
Paul Davis
5b7b3860b8 NO-OP: function call whitespace niggle 2025-07-29 18:16:35 -06:00
Robin Gareus
91ea44e24e
Remove Mixbus special case in upstream Ardour 2025-07-18 16:49:39 +02:00
Ben Loftis
ae56743b7d
Tapereel icon should follow fg_color, not use hardcoded red 2025-07-16 16:39:38 +02:00
Robin Gareus
3cc13c1f1e
Consolidate ArdourButton layout and size for derivative projects 2025-07-16 13:56:43 +02:00
Paul Davis
f82a755a22 NoCamelCase method names (libs) 2025-07-12 10:51:46 -06:00
Robin Gareus
99c1f50a72
Really remove gtk+ option (see also 1e28ee9cc9)
After patching gtk/ytk to add touch support and macOS rendering,
upstream gtk+2 is no longer an option
2025-07-06 15:20:20 +02:00
Paul Davis
02abf956d7 a better way to build ArdourDropdowns from Actions 2025-06-25 22:17:53 -06:00
Robin Gareus
704241dec2
Fix button corner radius math 2025-06-13 02:42:26 +02:00
Ben Loftis
aa5685c585
Add icons for editor toolbar buttons: follow*, show_auto_on_touch 2025-06-12 18:57:56 +02:00
Ben Loftis
f644b83f3f
Add new icons for LoopMode and AutoReturn 2025-06-12 18:57:27 +02:00
Robin Gareus
7c476f0468
Allow for blank separators 2025-06-11 23:57:55 +02:00
Robin Gareus
31a75af243
In the case where there is no pane-divider, add space at top 2025-06-11 20:25:37 +02:00
Ben Loftis
2ac2a4fd4c
(backport) loop and config icon should obey the fg_color they are provided 2025-06-11 19:21:07 +02:00
Robin Gareus
63bab272dc
Tweak cue/trigger icon to match weight of similar icons 2025-06-11 19:20:31 +02:00
Ben Loftis
9463eabfe4
Expose corner_mask variable for ArdourButtons 2025-06-10 21:18:36 +02:00
Ben Loftis
b397d48a56
Remove redundant logic for calculating button rg color 2025-06-10 21:18:36 +02:00
Ben Loftis
43b48467f8
Ardour_icon: shrink the stop icon to match the weight of Play 2025-06-10 21:18:36 +02:00
Robin Gareus
ccf3addf5a
Add spacer widget to maintain size with GUI scaling
This is intended for the (Mixbus) Group Bar
2025-06-10 21:18:35 +02:00
Ben Loftis
41fc50898e
Allow themeing of icon colors so they can be less severe
Note: this breaks some themes, notably light ones.
2025-06-10 21:18:35 +02:00
Ben Loftis
d9176fd862
Button-sizing Tweak:TransportIcon alternative to ExpandToSquare 2025-06-10 21:18:32 +02:00
Robin Gareus
95949e6267
Implement multi-touch support for ArdourKnobs 2025-04-15 21:59:40 +02:00
Robin Gareus
5a90eb0776
Fix double toggle on repeat call of on_button_release_event
This can happen with touch screens.. leading to
`set_active (!get_active ());` being called twice, and effective NOOP.
2025-04-15 21:48:42 +02:00
Robin Gareus
7e8230c3be
Allow touch to tigger act-on-release events 2025-04-10 18:26:23 +02:00
Robin Gareus
349a3cf039
Add API to resize Fader widgets 2025-03-06 20:10:20 +01:00
Robin Gareus
f3ec590eb5
Dynamically update ArdourButton indicator
Previously this was semi-random, on_size_request() may be called
in response to some other widget changing size, before a given
ArdourButton DPIReset handler could set _diameter = 0.
2025-03-06 17:02:33 +01:00
Paul Davis
16535e9e1d expand ArdourButton API to expose ::is_led_click() for use by derived classes and owners 2025-02-08 09:28:53 -07:00
Paul Davis
fbc55a75b4 API changes to MetaButton, mostly to allow submenus to be hung from the built menu 2025-02-07 23:09:02 -07:00
Paul Davis
46507df2de expose Gtk::Menu member of ArdourDropdown 2025-02-03 14:29:35 -07:00
Robin Gareus
000c25edcc
Update gtkmm -> ytkmm header location (omnibus commit) 2025-02-01 15:25:14 +01:00
Robin Gareus
233fc890de
Update gdkmm -> ydkmm header location (omnibus commit) 2025-02-01 15:01:52 +01:00
Robin Gareus
07866caf1e
Update gdk -> ydk header location (omnibus commit) 2025-02-01 13:37:48 +01:00
Robin Gareus
0516c12694
MetaButton: handle boxy theme, separate active state from menu index 2025-01-28 22:52:00 +01:00
Robin Gareus
6cdf6b6e42
Properly propagate un/map window events
This fixes issues with openGL rendering bleeding
behind when switching editor/mixer and other related
window events that depend on  on_unmap()
2025-01-28 17:43:33 +01:00
Robin Gareus
fb6b64f736
Allow left-click on MetaButton Dropdown indicator 2025-01-28 17:38:38 +01:00
Robin Gareus
ff2c33e42e
Add MetaButton Widget
A Button that changes functionality.

* right click: show a drop-down to pick what left click will do
* left click: activate selected action
2025-01-28 07:52:35 +01:00
Robin Gareus
d280c46d44
Add API to add sizing-texts to ArdourButton 2025-01-28 07:52:34 +01:00
Paul Davis
15a093df76 wrap Tabbable contents in an EventBox so we can get events from "the whole thing" 2025-01-22 18:20:25 -07:00
Robin Gareus
f0ffee4a13
NO-OP: fix off by one in comments 2025-01-14 00:37:58 +01:00
Robin Gareus
64078909bb
Fix Top-level layout (amend 26527ba608) 2025-01-14 00:23:50 +01:00
Robin Gareus
2a17746af9
Remove UTF-8 digraphs from layout ASCII art 2025-01-14 00:23:50 +01:00
Robin Gareus
26527ba608
Update Top-Level Layout
* Right sidebar extends to the bottom
* Add additional full height right-side box for monitor-section
2025-01-13 22:45:34 +01:00
Robin Gareus
8bf9aefe10
NO-OP: whitespace 2025-01-11 02:38:22 +01:00
Ben Loftis
577d7230cd
Report when tabbable attachments change, and expose the state 2025-01-11 01:15:44 +01:00
Ben Loftis
08d3c4260a
Add ConfigMenu icon (config gear with an arrow) 2025-01-11 00:18:48 +01:00