Commit Graph

38890 Commits

Author SHA1 Message Date
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
Robin Gareus cfa45be99f
Add Lua API to set plugin properties 2024-03-24 23:09:53 +01:00
Paul Davis 4d5175e32e change default for use-cocoa-invalidation 2024-03-22 14:51:19 -06:00
Paul Davis adfba3d39d allow runtime control over cairo save/restore around item rendering
This is to allow easier debugging of whether a given item's render method fails to leave a cairo
context in the same state it received it in
2024-03-22 13:39:03 -06:00
Paul Davis d57ce0eba1 provide control over use-cocoa-invalidation 2024-03-22 13:13:16 -06:00
Paul Davis 6c38e0a4e3 explicitly initialize the needs_display_region member of a GDK quartz window
This may not be necessary but it is better to have it be explicit
2024-03-22 13:13:16 -06:00
Paul Davis fe6a635c3a provide a GDK function to enable/disable use of Cocoa-provided rect in drawRect 2024-03-22 13:13:16 -06:00
Paul Davis 7324070628 gdk/quartz: add some additional GDK_NOTE debugging 2024-03-22 13:13:16 -06:00
Robin Gareus bd4d6b4cba
Ellipsize inactive track-header name-label #9674 2024-03-21 17:44:33 +01:00
Robin Gareus 082297b932
Update UI for SurroundSendLevel control type 2024-03-21 14:24:11 +01:00
Robin Gareus 73fea85381
Vapor: set surround-send level range to +/-20 dB 2024-03-21 14:23:43 +01:00
agfline 25397d7812
AAF: Update import UI 2024-03-19 20:59:10 +01:00
Robin Gareus 4883867f2b
Update libaaf to v1.0-10-g13f0b0a 2024-03-19 20:59:04 +01:00
Robin Gareus da4218c2db
YTK: remove unused code
This addresses a missing `readlink` due to missing
`_POSIX_C_SOURCE=200809` define when including unistd.h
2024-03-18 22:02:54 +01:00
Mads Kiilerich a2bb1a3511 Fix more -Wincompatible-pointer-types
c10154ad23 showed the direction  but was not correct and insufficient
for building with Fedora 40 and gcc 14.0.1 .
2024-03-18 21:24:46 +01:00
Robin Gareus c10154ad23
Fix a -Wincompatible-pointer-types 2024-03-18 20:29:19 +01:00
Paul Davis e64af8e4ed add a test for an environment variable before switching canvas single-expose off 2024-03-18 11:28:16 -06:00
Paul Davis 4b563ae518 move CairoCanvas::render() implementation for ArdourCanvas::Canvas into source
Note that this implementation only redraws a single (cairo_rectangle_t-defined) rect, and cannot
provide sub-rects the way that a normal GDK/GTK expose-driven redraw can
2024-03-18 10:50:36 -06:00
Paul Davis 71e085d825 ensure that the canvas fully redraws after style/visibility events 2024-03-18 10:49:15 -06:00
Paul Davis 0c4eada414 make editor canvas use multi-expose redraws
This is not required for any functionality or performance fixes, but may be useful
and also helps tracking redraw issues with other related changes
2024-03-18 10:48:38 -06:00
Paul Davis 802d9fa487 correctly implement canvas expose redraw for both single- and multi-expose contexts 2024-03-18 10:47:31 -06:00
Paul Davis 9efd521ea6 (GDK) keep our own record of invalidated rectangles for GdkQuartzView
macOS has broken its exposure/redraw model at least twice by always providing the entire area
of an NSView for every call to drawRect, and cannot provide the list of rects. This change
expands the tracking done using the needs_display_region, and does so directly via the
objective C methods of an NSView (and its derived children like GdkQuartzView).

The result is that when we send an expose signal, GDK/GTK code can obtain an accurate
list of the invalidated rects if desired, and thus avoiding redrawing the entire contents
of a window
2024-03-18 10:40:42 -06:00
agfline 52cce5adc6 AAF: fix import of embedded files shared across regions
https://github.com/agfline/LibAAF/issues/5#issuecomment-1994155327
2024-03-14 12:47:21 +01:00
Robin Gareus 2224aca75c
Fix SNAFU in 20d813cd17 (surround mute point) 2024-03-13 23:00:59 +01:00