Commit Graph

1199 Commits

Author SHA1 Message Date
Paul Davis b0586763ba libpbd: changes to pre-registration of signal emitting threads
There is no need to preallocate request buffers for these threads - the event
loops that require them can allocate them when they discover and register the
pre-registered threads. This also means that event loops do not need to
register request buffer factories.
2023-04-21 13:43:46 -06:00
Xavi Ivars 3d360b9ea1 gtkmm2ext Catalan file 2023-03-28 01:39:54 +02:00
Paul Davis 39ed528e25 std-ize: convert all boost shared/weak ptr includes to <memory>
Also fix stdint.h -> cstdint and alphabetically order std includes
2023-03-24 14:19:15 -06:00
JungHee Lee 3b0a19d30e Update Korean translation 2023-02-24 02:00:10 +01:00
Robin Gareus cba8fd090f Fix widget retina scaling (#9243)
For normal cairo-widgets ardour should not use image surfaces on macOS,
because that bypasses retina scaling. In theory explicit upsampling could
be performed (compere to openGL/cairo), but for the case at hand that is
overkill and inconvenient.

Performance critical widgets that render periodically can enable openGL
backing. Casual widgets (buttons with text, knobs, sliders etc) can be
rendered directly without any significant performance penalty.
2023-02-17 15:57:32 +01:00
Robin Gareus 509504acf2 Add API to set openGL backing scale 2023-02-04 22:25:52 +01:00
Robin Gareus ffafa5cfc7 NSGLView: clean up, allow optional scaling 2023-02-04 21:36:01 +01:00
Robin Gareus d12dd4015d
Revert canvas debugging
This reverts commit 8359311849.
This reverts commit f377822891.
This reverts commit 859d6ebe4a.
This reverts commit 4cd7de7a6f.
2023-02-04 18:23:18 +01:00
Robin Gareus 8359311849 debug: allow to profile exposure (revert this later) 2023-02-01 19:41:11 +01:00
Robin Gareus 7ca7eb0264 NSGLView: upscale when window is on retina screen 2023-02-01 19:40:03 +01:00
Robin Gareus 24d8e5de2c NSGLView: implement partial exposure 2023-02-01 01:23:24 +01:00
Robin Gareus ddf894a1dd
Attempted fix for `idle_drop_window` random crashes (2/2) 2022-12-03 19:27:53 +01:00
Robin Gareus f107c063e7 Add conveniece API to set trasient-parent for Proxy Windows
On macOS, a transient parant should only be set for a single child
window. sibling windows to a single parent cannot be re-stacked.
2022-11-15 03:03:49 +01:00
Alexandre Prokoudine 33eceadf3a Fix the latest French translation update 2022-11-11 14:45:09 +03:00
Julien Taverna 8cac5bdef0 Update fr.po -> typo
typo
2022-11-11 14:22:31 +03:00
Julien Taverna 7a0ae90b17 Update fr.po
Add missing translations in french.
2022-11-11 14:22:11 +03:00
Robin Gareus 03642d3707
Mark window invisible after deleting it
This fixes an issue when destroying VST plugin UIs
rather than hiding them. Even though is hidden before destroying it,
the vistracker is also destroyed in the same function call, before
the event can be processed. The window state remains visible="1"
2022-10-21 18:11:19 +02:00
Robin Gareus f89845e64a
Prevent duplicate signal emission
Re-assigning a sigc::connection does not disconnect
any previously connected signals.

WindowProxy::setup may be called multiple times. Notably plugin
windows can change the managed _window (generic/custom), which
requires a call to setup.
2022-10-08 17:12:10 +02:00
Robin Gareus f76e63fd89
Update size-request when font/style is set 2022-09-20 03:33:15 +02:00
Robin Gareus 5ef2d04cd8
Remove unused size_request-for_text helpers 2022-09-20 03:33:12 +02:00
Robin Gareus ac53f7e95a
Apple+H (hide window) shortcut does not work, so hide it
This likely broke in 3.x when Ardour migrated to context dependent
shortcuts (rather than GTK managed menu shortcuts).

While there is Gtkmm2ext::Application::hide, there is currently no
bindable action and hence no way to add a dedicated
shortcut. Furthermore, since this is a special NSApplication menu,
updating the menu-item when the action is bound is not trivial.

gtk_application_hide() is only implemented for macOS and
there is likely a better use for "H" shortcut anyway.
2022-09-18 16:33:29 +02:00
Robin Gareus 2a7d528c5d
Update and consolidate gettext.h
This fixes compilation with --no-nls on modern systems
2022-09-07 00:09:54 +02:00
Edgar Aichinger 5a0cc53a94 add a few translations missing in previous commit 2022-08-23 17:01:21 +02:00
Edgar Aichinger d0da24ae18 update german translation 2022-08-23 16:22:33 +02:00
Paul Davis a2e4897a49 move color utility functions from ARDOUR_UI_UTILS to Gtkmm2ext namespace (libs) 2022-08-10 21:11:46 -06:00
Paul Davis e0d33bb726 cairowidget: add supplementary set_source_rgb_a() method that uses the uint32 Color type 2022-08-10 18:15:25 -06:00
luz paz 47c525315d Fix various typos
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch  -L ba,buss,busses,discreet,doubleclick,hsi,ontop,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-08-03 12:10:01 -06:00
Robin Gareus 71ee12af6a
Add API to format keyboard modifiers for tooltips 2022-06-21 22:11:49 +02:00
Robin Gareus 5b03bf72fa
NO-OP: code style 2022-06-21 22:11:08 +02:00
Robin Gareus af38528174
Physical modifier abstraction is constant 2022-06-21 22:09:54 +02:00
Robin Gareus 8a5fc65df4
Expose newly added semantic modifiers 2022-06-21 21:38:37 +02:00
Robin Gareus 3266b1acb0
Add API to query currently held modifiers keys 2022-06-21 21:37:14 +02:00
Robin Gareus f1eb45e129
NO-OP: clang format 2022-06-21 21:37:08 +02:00
Robin Gareus 4661957091
Re-establish 47932fb7bf (which was lost in e557245bf7) 2022-06-21 20:17:01 +02:00
Ben Loftis e557245bf7 implement group_override_modifier() (lib part)
Consistently use Tertiary for Group Override on all platforms (and be consistent about it)

Consistently use Primary-mod for Momentary on all platforms (partially reverts 47932f)
Primary modifier is used for fine-adjust on knobs and sliders, with no analogous operation on switches.
2022-06-21 13:01:30 -05:00
Robin Gareus 47932fb7bf
Only special case middle-click modifier for macOS by default 2022-06-20 23:30:45 +02:00
Ben Loftis fd9a76073b modifiers: add momentary_push_name (for tooltips) 2022-06-17 11:07:58 -05:00
Ben Loftis 12e703414d modifiers: make a new abstraction for momentary-click, instead of button_2 (lib part)
is_button2_event()  was used to detect the user's desire for a
  momentary-click on some buttons (mute, solo, mixer scenes)

is_momentary_push_event() disambiguates this action from is_button2_event()

for the special case of momentary, we can drop the workarounds for
  the lack of middle-mouse buttons on Mac, and instead just use
  shift+left-click on all platforms.
2022-06-17 11:07:49 -05:00
Ben Loftis 71833911a4 modifiers: publish button2_name (for use in tooltips) 2022-06-17 10:52:06 -05:00
Robin Gareus 41bce61552
Cleanup bindings key replacement arrays 2022-06-15 15:32:39 +02:00
Robin Gareus 047296060f
Fix printing keybindings #8924 (brace/bracket mismatch) 2022-06-15 15:28:57 +02:00
Paul Davis aee3cf1534 handle an action named "Escape" specially when blocking activation during drags 2022-04-18 12:22:30 -06:00
Paul Davis c0b1f0e63c fix buglet in RAII mgmt of Bindings::_drags_active 2022-04-18 12:21:57 -06:00
Paul Davis 729f930974 bindings: add a mechanism to prevent binding activation during drag 2022-04-18 11:38:21 -06:00
Robin Gareus f9d80c32d6
Allow to destroy Widgets when removing them from a container
This is useful when the container uses manage()d Widgets,
which are otherwise not destroyed.
2022-04-14 16:35:02 +02:00
Mads Kiilerich 49855e52aa wscript: consistently have at most one empty separator line 2022-04-09 12:16:40 +02:00
luz paz fb55878375
Fix source typos (heirarchy->hierarchy) 2022-04-08 21:38:00 +02:00
Mads Kiilerich 09c6e68ae8
gtkmm: use append() instead of deprecated Gtk::ComboBoxText::append_text() 2022-04-08 21:10:56 +02:00
Mads Kiilerich 91b08d5f45
gtkmm: use get_realized() instead of deprecated Gtk::Widget::is_realized() 2022-04-08 20:20:32 +02:00
Mads Kiilerich a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00