Commit Graph

80 Commits

Author SHA1 Message Date
Robin Gareus f2c309d7de Use std pointers in objective C files 2023-03-25 00:07:56 +01:00
Robin Gareus 6b636b8220
AudioUnit: fix cocoa window resizing - part 2
Previously no unmap events were delivered (due to a bug in
Gtk EventBox), `lower_box_map` was called only once.

Furthermore when cross-compiling (ARM binary on Intel),
COCOA_LIVE_RESIZING was not detected.

see also df21698ea7
2022-08-02 00:22:44 +02:00
Robin Gareus a48df667f6
Consistent stdout/err AU debug log 2022-08-02 00:22:40 +02:00
Robin Gareus df21698ea7 Fix relative AU window sizing
Rosetta bridge plugins have an initial size of 0x0 pixel.
Ardour's AU window size is set relative to the previous size. So the
window grows by the actual real initial size of the AU View.
However the window is already allocated and has a non-zero width given
by the plugin's toolbar.

This lead to oversize windows.
2022-07-30 06:38:44 +02:00
Robin Gareus b8b899d3d5
Disable AU-GUI debug (revert e81dd6a943) 2022-06-14 15:02:42 +02:00
Robin Gareus e81dd6a943
Some more AU GUI debug messages 2022-06-07 23:49:42 +02:00
Robin Gareus 2d631688f4
Yet another attempt to debug/fix AU plugin window size on mac/M1 2022-06-07 17:47:07 +02:00
Robin Gareus 5a0b22f8a4
Revert "Debug AU plugin window size issues on macOS/M1"
This reverts commit 81322a4ac9.
2022-06-07 17:45:15 +02:00
Robin Gareus 81322a4ac9
Debug AU plugin window size issues on macOS/M1 2022-06-07 02:56:46 +02:00
Robin Gareus 9cbf3ae4ad
Who needs PIs for Plugin GUIs?
Use abstract base class for plugin UIs wherever possible
2022-04-14 16:35:03 +02:00
Mads Kiilerich cb4e10683d
gtkmm: use size_request() function instead of deprecated Gtk::Widget::size_request(&) 2022-04-08 21:11:07 +02:00
luz paz 3d395585c1
Fix various typos
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sord,sur,te,trough,ue`  
Follow-up to 364f2f078
2022-04-08 19:51:02 +02:00
Robin Gareus 0a49586b1a
Fix macOS builds (incomplete type, missing include in 9eb626cc37) 2022-02-06 00:39:36 +01:00
Ben Loftis 9eb626cc37 Auditioner: hide unnecessary widgets for auditioner synth GUI 2022-02-04 20:18:00 -06:00
Paul Davis 6b6114eb75 GUI fix for get_microseconds() move to libpbd 2021-06-26 18:27:54 -06:00
Robin Gareus b6c75ef42a
Fix Mac Plugin re/sizing
Some plugin UIs, particularly those that cannot be resized
unset `autoresizesSubviews`. Since the plugin-view is re-parented,
the host has to directly set the view's size.

However some plugins have multiple child views, apparently
for off-screen pixmaps (e.g. UAD plugins). Those additional
should not be resized (or re-stacked).

e.g.

Reason-Rack
  view 0x7fe27e44e570 @ 0, 33 834 x 804
    view 0x7fe288aa3770 @ 278, 268 278 x 268

UAD Tube-tech
  view 0x7fe270a9cbf0 @ 0, 33 1160 x 374
    view 0x7fe28883d030 @ 0, 0 1160 x 374
    view 0x7fe2888546e0 @ 0, 0 1160 x 24


see also aef366c156
https://discourse.ardour.org/t/uad-plugin-will-not-load-shows-as-expired-when-its-not/105756/5?u=x42
2021-04-27 23:50:59 +02:00
Robin Gareus d627e00ff6
NO-OP: whitespace 2021-04-27 23:40:45 +02:00
Robin Gareus aef366c156
Fix AudioUnit window size for some non-resizable plugins
Some fixed size AU, do unset `autoresizesSubviews` (Apple's default
is enabled). This also results in the initial size, and position
below Ardour's toolbar to be set incorrectly.

This fixes e.g. Reason Rack Plug AU (and maybe others).
2020-11-19 23:12:52 +01:00
Robin Gareus 1cc1bc996c
Improve AU debug facilities (2/2) 2020-10-09 02:29:29 +02:00
Robin Gareus f8ce5ecbc6
Consolidate Plugin-GUI toolbar layout, consistent layout & spacing 2020-09-16 00:02:52 +02:00
Robin Gareus 97f3d9496b
Show latency display/config button for in all plugin UIs 2020-03-14 13:25:51 +01:00
Robin Gareus 7a66b22428
Show preset-browser button if annoted presets are available 2019-10-11 00:13:07 +02:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Robin Gareus c8d08338df
GUI Updates for plugin save/delete operations 2018-12-02 01:38:14 +01:00
Robin Gareus 64be124fe0 PluginUI: only show "Reset" & Automation buttons if there are any controls 2017-09-08 23:35:00 +02:00
Robin Gareus 5f485f964e Fix OSX builds in the wake of the source-tree layout changes 2017-07-18 18:29:22 +02:00
Robin Gareus 836f48457d add a "Pin Management" button to the plugin UI-header 2016-08-05 02:35:51 +02:00
Robin Gareus 167b9dda37 fix OSX compilation 2016-07-14 23:08:23 +02:00
Robin Gareus b402e12d54 fix ppc builds 2016-05-05 01:21:53 +02:00
Paul Davis 6a8b177f06 don't bother compiling nsview code swizzling for PPC
The platform has no support for libdispatch which is handy when setting up an objective C block,
and also has no Retina, which means it doesn't suffer the problem this code is intended to fix
2016-05-04 17:38:26 -04:00
Robin Gareus bd461fe202 tweak AU redrawing blocking heuristics 2016-05-01 20:02:22 +02:00
Robin Gareus 35c01e552f increase visibility of actual compiler warnings 2016-05-01 20:02:22 +02:00
Paul Davis 84de618047 use CFRunLoopTimer to check the effect of plugin redrawing, not a glib idle 2016-04-30 13:20:08 -04:00
Paul Davis d574039dd4 clean up of displayIfNeeded hack code
Remove most debug output (not all). Rename variables and functions. Add comments
2016-04-29 08:20:01 -04:00
Paul Davis 961e7ecdc8 clever tricks with code swizzling to slow down errant plugin GUIs for AU
This commit swizzles (replaces) NSView::displayIfNeeded to allow us to stop redraws of plugin
windows if the Glib idle timer fires less often then every 40msec. The next 10 plugin redraws
(for all plugin windows combined) will be skipped. Heuristics will likely need some adjustments
2016-04-28 18:42:04 -04:00
Paul Davis 04d86ebd8d fix logic bomb 2016-04-27 20:12:15 -04:00
Paul Davis 42983959d2 if built on OS X without live resizing features, make AU plugin windows non-user-resiable 2016-04-27 19:59:40 -04:00
Paul Davis 70b88d5e89 change ordering of origin-move and window-resize for AU plugins 2016-04-27 15:48:13 -04:00
Paul Davis f5f1976600 show debug out when AU NSView doesnt get moved 2016-04-27 15:24:00 -04:00
Paul Davis 2cc7faab21 significant reworking of AudioUnit window resizing.
Tested on Apple Multiban Comp, Apple Dynamics Proc, AU Sampler, Zebra2 and Zebralette.

Still have a 1-2 pixel white border at lower and right edge after window is dragged larger.

Also, debug output.
2016-04-27 00:03:14 -04:00
Robin Gareus a26850030a Revert "test workaround for OSX IK-Multimedia Plugin GUIs."
This reverts commit b031d762c9.
2016-03-24 23:00:06 +01:00
Robin Gareus b031d762c9 test workaround for OSX IK-Multimedia Plugin GUIs. 2016-03-23 16:59:07 +01:00
Robin Gareus 0992272858 fix embedding AU/carbon UIs
the UI shows top/left (not centered, no resize) more detail work to come.
2015-10-28 14:10:49 +01:00
Robin Gareus 8d1edb13d3 Revert "potential fix for some AU plugin UIs not displaying"
This reverts commit e8fe35d96e.
2015-10-28 14:02:57 +01:00
Robin Gareus e8fe35d96e potential fix for some AU plugin UIs not displaying
looks like not all AU plugin GUIs redraw themselves if 
[win setAutodisplay:1] is unnot.

A user reported that some Waves plugins and Shattered Glass 32bit AUs
are blank in 4.4 on 32bit OSX.

see also 5eefdf7 and earlier AU/API changes.
2015-10-27 23:12:53 +01:00
Robin Gareus 4953d09893 hack to keep UI responsive with heavy AU views. 2015-10-20 19:14:14 +02:00
Robin Gareus bd6b4025de one less deprecated API 2015-10-18 23:29:58 +02:00
Robin Gareus d17b73e989 GUI changes use new AppleUtility Library 2015-10-18 23:03:14 +02:00
Robin Gareus 5eefdf7536 update AU GUI positioning and resizing. 2015-10-14 22:46:07 +02:00
Robin Gareus d1334074af add plugin parameter reset button - closes #6297 2015-05-04 20:52:48 +02:00