Commit Graph

253 Commits

Author SHA1 Message Date
Robin Gareus
cb64c9a9c1 Update action state when watched controllable changes
This fixes bug, when a button has both a controllable and
a toggle action assigned. Previously only the visual state
was updated.  e.g. monitor section mute button.

When "cut all" was toggled (e.g. Control surface, or a Lua script:
`Session:monitor_out():monitor_control():set_cut_all(true)`,

The action state itself remained unchanged. Also the button
in the application remained unchanged since that button does
not :watch() the controllable.
2025-09-24 17:11:59 +02:00
Robin Gareus
74133432d3 Correctly hide attachment content at application start 2025-09-08 20:27:51 +02:00
Robin Gareus
a8092c1782 Frame: only warn when allocation is smaller than requested size
When using Gtk Box packing and the box has a border-width set
the child widget may get an allocation that is less that than
the requested size.
2025-08-27 15:10:53 +02:00
Robin Gareus
e5e9229eb2 Allow numeric entry with "shift" when using dbl-click to reset 2025-08-24 17:02:57 +02:00
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