Commit Graph

249 Commits

Author SHA1 Message Date
Robin Gareus
d7af181037 Amend 28c8dbf128, unsubscribe from destroyed signal
This handles another edge case where the Frame is deleted
before the child widget.
2025-08-21 04:41:17 +02:00
Robin Gareus
28c8dbf128 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-20 16:19:25 +02:00
Robin Gareus
43e4e428f5 Handle case where a custom MenuElem is added to the dropdown 2025-08-19 20:06:04 +02:00
Robin Gareus
4859e4e57e ArdourDropdown: use action's short-label for display text 2025-08-19 18:18:41 +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