Commit Graph

38963 Commits

Author SHA1 Message Date
Robin Gareus df8106bd85
PluginInsert match I/O: skip div by zero 2024-04-23 21:49:41 +02:00
Robin Gareus 92183430b9
IOPlug: various small fixes (port-names, VST compat, etc) 2024-04-23 21:49:28 +02:00
Robin Gareus 5216a6d987
Refactor and consolidate setting and copying plugin state 2024-04-21 16:32:47 +02:00
Robin Gareus f5b53a6d14
Consolidate PluginInsert Match, move to parent class 2024-04-21 16:32:47 +02:00
Robin Gareus 2da3141706
Consolidate plugin_factory, move to parent class 2024-04-21 16:32:47 +02:00
Robin Gareus d2bdf440c8
Consolidate PluginControl Code
This code was (for the most part) duplicated, and with
preparation for Region FX, a third copy motivated this
consolidation.
2024-04-21 16:32:47 +02:00
Robin Gareus 6191f89d55
Properly update Solo state when setting multiple ctrls 2024-04-21 16:32:13 +02:00
Robin Gareus bcbb4393fc
Allow Lua [session] script to directly set controllables 2024-04-21 16:32:10 +02:00
Paul Davis 894e6d27a4 NOOP: whitespace cleanup 2024-04-19 10:43:10 -06:00
Paul Davis c96e12ba58 expand null/destroyed tests for gdk objects in NSView methods 2024-04-19 10:42:59 -06:00
Robin Gareus e64a071e39
(YDK) amend previous commit, call parent method 2024-04-19 16:46:49 +02:00
Robin Gareus 08e394f681
(YDK) possible fix for Catalina event loop crashes
```
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libydk.dylib 0x0000000110d8942d -[GdkQuartzView setNeedsDisplay:] + 93
1 com.apple.AppKit 0x00007fff34af6848 -[NSView(NSViewContentStyle) _recursivelyInvalidateCachedContentStyle] + 120
2 com.apple.AppKit 0x00007fff34af60fb -[NSView _setSuperview:] + 521
3 com.apple.AppKit 0x00007fff34b200a6 -[NSView removeFromSuperview] + 140
4 com.apple.AppKit 0x00007fff34ba882f -[NSView removeFromSuperviewWithoutNeedingDisplay] + 36
5 com.apple.AppKit 0x00007fff34b27168 -[NSView _finalize] + 977
6 com.apple.AppKit 0x00007fff34b26c0c -[NSView dealloc] + 121
7 com.apple.AppKit 0x00007fff34e30db4 -[NSFrameView dealloc] + 119
8 com.apple.AppKit 0x00007fff34e30d36 -[NSTitledFrame dealloc] + 62
9 com.apple.AppKit 0x00007fff34e30ce9 -[NSThemeFrame dealloc] + 603
10 com.apple.Foundation 0x00007fff39ed5992 NSKVODeallocate + 172
11 com.apple.AppKit 0x00007fff34d85884 -[NSWindow dealloc] + 1083
12 com.apple.AppKit 0x00007fff34d85442 -[NSWindow _dealloc] + 76
13 libobjc.A.dylib 0x00007fff6f6f3054 AutoreleasePoolPage::releaseUntil(objc_object**) + 134
14 libobjc.A.dylib 0x00007fff6f6d7dba objc_autoreleasePoolPop + 175
15 com.apple.CoreFoundation 0x00007fff377c9cb5 _CFAutoreleasePoolPop + 22
16 com.apple.Foundation 0x00007fff39e7d04e -[NSAutoreleasePool drain] + 126
17 libydk.dylib 0x0000000110d8ef29 gdk_event_prepare + 73
18 libglib-2.0.0.dylib 0x00000001110ded45 g_main_context_prepare + 533
19 libglib-2.0.0.dylib 0x00000001110df800 g_main_context_iterate + 128
20 libglib-2.0.0.dylib 0x00000001110dfcc2 g_main_loop_run + 210
21 libytk.dylib 0x0000000110a4f11f gtk_main + 191
22 libgtkmm2ext.dylib 0x00000001104cef1e Gtkmm2ext::UI::run(Receiver&) + 318
23 com.harrisonconsoles.Mixbus10 0x000000010dc6fb9c main + 2652
```
2024-04-19 15:38:12 +02:00
Robin Gareus 136b7f42d5
Skip tags for plugins that are not installed
This prevents empty sub-menus in the "By Tag" Plugin menu.
2024-04-18 17:07:12 +02:00
Robin Gareus 4b6e372ce7
Fix deleting the same point multiple times (#9689)
When iterating over automation tracks, previously it was
possible that the same point was added multiple times to
the selection.
2024-04-15 00:39:20 +02:00
Edgar Aichinger c9c419213f
update german translation 2024-04-14 00:42:09 +02:00
Paul Davis dde59c8e4c temporary fix for X Window and Windows bad canvas drawing with no single expose 2024-04-12 18:55:27 -06:00
Paul Davis 1eb2a345df prevent flickering of snapped cursor during drags when it should be invisible 2024-04-12 18:54:52 -06:00
Paul Davis e7b3b61dbc fix bad redraws caused by TrackingText on canvas
Probably Item::set_position() should call Item::set_bbox_dirty() but
this will do as a first pass at that
2024-04-12 18:50:03 -06:00
Robin Gareus ab1299da87
We're behind the times 2024-04-13 00:54:52 +02:00
Robin Gareus 44610c7877
Fix RCU race condition (see source for details) 2024-04-12 00:26:51 +02:00
Robin Gareus 96e83f4101
Semicolon to the rescue 2024-04-11 23:42:13 +02:00
Robin Gareus b8c474ff32
Add support for splash screen image transparency 2024-04-11 19:42:14 +02:00
Robin Gareus a69ca86944
Fix inline controls allow for inverted range
Some controls (notably pan azimuth) have reversed range 1..0.
Support for this was added years ago in 647103c825
but inline controls were not updated.
2024-04-11 19:41:14 +02:00
Robin Gareus fe7fd146aa macOS: fix crash when trying to enter fullscreen while already in fullscreen
YDK2 uses SetSystemUIMode() for fullscreen. This also uses space
otherwise reserved for the menu bar at the top, and is apparently
preferable for Ardour's UI.

However when a user manually enters fullscreen using the window
title-bar's green button (NSWindow toggleFullScreen). YDK will crash
when the user then also tries to use YDK's fullscreen mode:

```
NSWindowStyleMaskFullScreen cleared on a window outside of a full screen transition.
called from
  [NSWindow setStyleMask:]
  gdk_window_set_decorations
  gdk_window_fullscreen
```

Ideally we'd set NSApp presentation flags so that the toplevel window
would allow one to zoom (maximize), but not to enter fullscreen. Like it
used to be on OSX. It is unclear how to achieve this on macOS for
resizable windows, short of marking the top-level window a dialog or
utility window.
2024-04-10 20:41:49 +02:00
Robin Gareus 6b3fbefd26
Revert "Debug AVX512f crashes"
This reverts commit 0eed49b48e.
2024-04-10 15:44:40 +02:00
Robin Gareus 0eed49b48e
Debug AVX512f crashes 2024-04-10 03:22:05 +02:00
Robin Gareus 3d375f12ed
NOOP: whitespace 2024-04-10 03:10:43 +02:00
Robin Gareus d023ea0d77
Fix potential memory corruption in AVX512f DSP 2024-04-10 03:09:27 +02:00
Robin Gareus 8a7d92f196
Fix MonotorProc's channel_solo_control
Previously only ::set_solo() worked. Directly using the
controllable did not update `solo_cnt` and other channels
were not muted.
2024-04-09 22:02:31 +02:00
Robin Gareus cde26c5205
Set default time domain to Audiotime to sidestep various MusicTime issues 2024-04-09 18:36:43 +02:00
Robin Gareus ecd22e9aa8 Remove call to deprecated userSpaceScaleFactor
userSpaceScaleFactor is a missing symbol on some recent versions of macOS.
2024-04-09 06:06:58 +02:00
Robin Gareus 826103f08c
Pitch bend is not unreasonable 2024-04-09 02:10:19 +02:00
Robin Gareus 4a0505979d
macOS provides z-axis stacking for Dialogs
see also d1b462c213 and Manager::set_transient_for.

This fixes a bug on macOS: detach Editor, re-attach Editor.
After that `own_window()` is true. Showing the LAN dialog
showed the editor's hidden Window as its parent.
2024-04-04 22:50:26 +02:00
Robin Gareus 2e991b0067
Fix thinko in bda7041643 2024-04-04 17:32:50 +02:00
Robin Gareus 3b0e421de4
Use proper _POSIX_C_SOURCE constant 2024-04-04 17:06:31 +02:00
Robin Gareus bda7041643
Fix #9642 - fdopen(3) requires _POSIX_C_SOURCE
Without this, fdopen() returns some garbage FILE* which
causes a crash when used.
2024-04-04 17:06:28 +02:00
Robin Gareus 15dc06b12a
Ardour non longer uses gtk modules 2024-04-04 17:06:22 +02:00
Robin Gareus 02220783e1
Clarify that there are no archive file format options 2024-04-02 09:53:24 +02:00
Paul Davis 6d29a0e99b amend b96d556451 by using g_alloca() rather than non-standard variable-size array 2024-04-01 15:11:59 -06:00
Paul Davis b96d556451 avoid heap allocation by std::vector in realtime context 2024-04-01 15:00:11 -06:00
Robin Gareus e29ac27c59
Tweak binarual port names 2024-04-01 17:39:08 +02:00
Paul Davis 719debf292 if we're asked to use RF64_WAV, actually enabled libsndfile's downgrade capability
Note that this does not alter the filename, which we might also want to consider
2024-03-27 17:32:23 -06:00
Robin Gareus e0db21d484
Save versioned backups in backup/ folder
This makes it harder for users to accidentally open session
files which are intended to be used only with older versions
of Ardour.

Note that backup/ is not included in ::find_all_sources_across_snapshots
so Session > Cleanup can remove files used in old backups.
2024-03-27 21:38:09 +01:00
Robin Gareus 41115f1282
Prevent double-click on the pianoroll to toggle track height 2024-03-27 03:25:36 +01:00
Robin Gareus 26b6bece95
Fix a -Wunused-variable 2024-03-27 00:38:02 +01:00
Robin Gareus 93934dfb92
Really fix Windows build (amend prev. commit) 2024-03-26 21:08:42 +01:00
Robin Gareus 1c55cc6ee2
Fix Windows builds (amend 980eb595)
```
undefined reference to `luabridge::ClassInfo<std::shared_ptr<ARDOUR::PluginInsert> >::getClassKey
``
2024-03-26 19:28:10 +01:00
Florian Walpen 845171807f
Fix undefined symbol when built with VST3 disabled.
Commit cd5369c added some cleanup code to `libs/ardour/session.cc`,
which drags in the type info symbol of VST3PluginInfo. When built
with `--no-vst3`, the resulting binary dies at startup:

```
ld-elf.so.1: /usr/local/lib/ardour8/libardour.so.3: Undefined symbol
"_ZTIN6ARDOUR14VST3PluginInfoE"
```

Make that code compile conditional on VST3_SUPPORT.
Occurs on FreeBSD 14.0-RELEASE, clang 16.0.6, amd64.
2024-03-25 16:41:36 +01:00
Robin Gareus 0bb3c166e8
Add example script to exercise Plugin Properties 2024-03-24 23:09:53 +01:00
Robin Gareus 980eb595cf
Add Lua API to query plugin properties 2024-03-24 23:09:53 +01:00