Commit Graph

13825 Commits

Author SHA1 Message Date
Robin Gareus
3f60d12308 Handle async removal of sidechain input
Apparently a user managed to remove a SC input and then
use the input's context-menu before the UI had caught up.
(PluginPinWidget::plugin_reconfigured happens during idle)

---
Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0  [..] PluginPinWidget::sc_input_press(_GdkEventButton*, boost::weak_ptr<ARDOUR::Port>) + 1140
2020-12-29 16:08:46 +01:00
Robin Gareus
ce07765347 video-export dialog, only show abort/progress when exporting 2020-12-22 19:35:12 +01:00
Robin Gareus
1a49d7d42b Fix invisible multicahannel waveform at rec-stop
AudioRegionView() c'tor calls create_waves() early on
before the _height is set [1].

Now one following can happen:
 1. All peak-files are present. create_waves() directly calls
    create_one_wave() for each channel. They are initialized
    with zero height.
    But all channels are present so waves[] is populated and
    a later call to set_height() corrects this
 2. All peak-files are still missing. create_waves() schedules
    callbacks via PeaksReady -> peaks_ready_handler()
    Those callbacks arrive after set_height() was called and
    the waveforms are displayed correctly.

 3. Only some peak-files are present. This can happen at
    rec-stop when the region is created.
    create_waves() directly calls create_one_wave() for available
    peaks, and schedules peaks_ready_handler() for the remainder.
    The directly created waves have zero-height.
    Since not all waves are ready, they are stored in tmp_waves.
    waves[] remains unpopulated.

The set_height() call only ever changed the height of wave[], which
resulted in hidden waveforms, until a user manually changed the
height of the track.


[1] the height is set from
```
#1 AudioStreamView::create_region_view(boost::shared_ptr<ARDOUR::Region>, bool, bool)
#2 AudioStreamView::add_region_view_internal(boost::shared_ptr<ARDOUR::Region>, bool, bool)
#3 StreamView::add_region_view(boost::weak_ptr<ARDOUR::Region>)
 ...
## PBD::Signal1 Playlist::RegionAdded()
```
2020-12-22 03:37:17 +01:00
Robin Gareus
ee1e7ad00e Clear waveform cache when rebuilding peak-files 2020-12-21 21:13:13 +01:00
Robin Gareus
241105b477 Revert "Add debug output for NSM"
This reverts commit ba9e310d4d.
2020-12-17 16:15:33 +01:00
Robin Gareus
bbc54873ae VST3: GUI d'tor re-order
We have to call close_view(), which calls IPlugView::removed()
before destroying the parent widget.

Previously ~VST3PluginUI() was called after the derived class
destroyed the owned private `_gui_widget`, `_ns_view` or x11 parent.

On windows that may lead to the hwnd of the window becoming invalid
before the call to ::removed().
2020-12-14 19:29:53 +01:00
Robin Gareus
2a011e19cb Update AxisView API: name_label is owned by the axis 2020-12-08 00:07:51 +01:00
Robin Gareus
8cbb318223 Yet another fix for VST3 default path 2020-12-05 00:11:04 +01:00
Tyler Stank
0cfee47867 Disable vertical autoscroll for UI elements where it doesn't make sense
Fixes issue 6396 as well as a few other instances where autoscroll could be annoying
2020-12-02 23:10:13 +01:00
Robin Gareus
ba9e310d4d Add debug output for NSM
Trying to track down
https://discourse.ardour.org/t/nsm-ardour-6-session-created-with-ardour-5-wont-open-correctly/105020
2020-11-26 01:29:35 +01:00
Robin Gareus
0f372e2785 Late to the party, relax 6.0 stringfreeze 2020-11-26 01:25:24 +01:00
Robin Gareus
7942897d93 VST3: cleanup, drop references (1/2)
VST3PluginInfo holds a shared_ptr reference to
VST3PluginModule. In order to cleanly unload a plugin, all
references have to be dropped.

Unloading a plugin cleanly before exit is needed in some
cases (e.g. Waves shell otherwise crashes)
2020-11-25 05:33:16 +01:00
Robin Gareus
27f0baab53 VST3: fix VST3 path customization 2020-11-24 00:32:01 +01:00
Robin Gareus
7a0263295b Allow to add notes to buttons in the prefs dialog 2020-11-24 00:31:57 +01:00
Robin Gareus
132e6f5076 The release that should never have been 2020-11-22 20:22:42 +01:00
Paul Davis
734dc78ed5 prevent possible crash in AudioClock setup 2020-11-19 17:11:48 -07:00
Robin Gareus
62a62eaeb3 VST3 resize quirks (Reason, macOS) 2020-11-20 00:05:34 +01:00
Robin Gareus
1effa1d888 Remove debug message (mac VST3 resizing) 2020-11-20 00:00:37 +01:00
Robin Gareus
7e2bb01ff1 VST3: ignore GUI size allocations before realizing the view
This fixes crashes with some VST3s when calling `onSize()` before
attaching thew view (e.g. Reason Rack Plug on macOS).
2020-11-19 23:12:52 +01: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
John Emmas
abfceea98c Add missing namespace qualifiers 2020-11-19 16:06:43 +00:00
Porrumentzio
a8d924d9e1 Update and rework Basque translation 2020-11-19 16:48:58 +01:00
Robin Gareus
ff3b23d169 More codenames, thanks Eno 2020-11-18 22:33:30 +01:00
Robin Gareus
a7a389407b NO-OP: whitespace 2020-11-18 19:33:27 +01:00
Robin Gareus
44a6d9d164 Update Export Format dialog layout
* reduce height requirement
  https://tracker.ardour.org/view.php?id=8313#c25191
* group settings sensibly
2020-11-18 19:26:32 +01:00
Robin Gareus
94af225eaf Fix window parent when using different workspaces
This affects only windows opened from the mixer window,
in case the mixer is detached and on a different workspace (desktop).

Window::init (and Dialog::init) set transient parent early on,
and it defaults to the main window (with toolbar). It needs to be
unset before presenting the window, in order to show the window
on the same workspace as the eventual transient parent.

This follows 6dc9134 and f3fbf58.
2020-11-18 16:26:36 +01:00
Robin Gareus
6dc91348d7 Fix transient parent for plugin windows w/detached mixer
This follows f3fbf58185 which unconditionally set the main window
as transient parent. However when detaching the mixer, plugins should
be transient for the detached parent window.
2020-11-16 15:47:05 +01:00
Robin Gareus
b6ae22cfed Fix script name of pre-seeded scripts (amend c2ffa07e28) 2020-11-15 00:41:24 +01:00
Robin Gareus
29b0775508 GUI: allow to enable wav/aiff tagging 2020-11-14 19:31:01 +01:00
Robin Gareus
f7cb1b0b48 LXVST2: only call effEditIdle after realizing the GUI
This fixes an issue with some plugin-wrappers, notably
ff021d0581
2020-11-14 02:49:50 +01:00
Paul Davis
f41d752cb3 additional update GUI RU translation (Alexandre Prokoudine) 2020-11-13 15:51:29 -07:00
Paul Davis
6326ba7be3 update GUI RU translation (Alexandre Prokoudine) 2020-11-13 13:17:16 -07:00
Robin Gareus
54baa620c4 Open session folder when clicking on status-bar snapshot name 2020-11-11 16:29:29 +01:00
Olivier Humbert
1d14b1cfba French translation update 2020-11-09 19:44:52 +01:00
Edgar Aichinger
3d1fe88506 update german translation 2020-11-09 19:08:40 +01:00
Edgar Aichinger
1fed2285ca updated german translation 2020-11-09 19:08:40 +01:00
Paul Davis
56394b7683 ru translation updates from Alexandre Prokoudine 2020-11-08 15:03:43 -07:00
Paul Davis
0f9d391029 mark string for translation 2020-11-08 08:19:46 -07:00
Robin Gareus
1fce0c6513 Fix building Lua documentation 2020-11-06 18:00:00 +01:00
Robin Gareus
efe72b79e4 Allow to pass arguments to unit test runner 2020-11-05 10:20:25 +01:00
Robin Gareus
1a73ef16f4 Credit where credit is due 2020-11-05 00:55:03 +01:00
Robin Gareus
1321999aec VST3: macOS key forwarding 2020-11-03 12:09:31 +01:00
Robin Gareus
8bb76f2a65 NO-OP: code-reorder to facility Mixbus LAN button layout 2020-11-02 15:52:42 +01:00
Robin Gareus
10ea21a35f Fix adding transport-master
Resolve ambiguity between Dialog::add_button() and add_button member,
also use clicked signal for ArdourButton.

signal_button_press_event() only works with
ArdourButton::set_fallthrough_to_parent
2020-11-01 23:28:30 +01:00
Robin Gareus
85ecc40668 Tweak Mixbus pingback, follow http -> https redirects 2020-10-30 15:58:15 +01:00
Robin Gareus
c69dde96eb Ardour HTTPS verify that peer isn't lying about the cert
https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html
https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYHOST.html
2020-10-30 15:58:04 +01:00
Robin Gareus
dc5b88f730 Pulse plugin scan progress-bar when timeout is disabled 2020-10-27 22:21:46 +01:00
Robin Gareus
8f67fc9c35 Fix clock edited-text and cursor colors
This restores using the distinct colors for cursor and edited text,
which was lost in the theme overhaul in 7f80883eb1.
Since delta-clocks are not editable, the same color is used for
delta display and the edit cursor (orange in the default theme).
2020-10-26 17:41:12 +01:00
Robin Gareus
93b63b1b25 Fix clock cursor entry position
This shows the cursor to the right of the entry point.
2020-10-26 15:56:18 +01:00
Robin Gareus
9037c9fe22 Replace static registry lookup with library method 2/2 2020-10-24 03:57:44 +02:00