13
0
Commit Graph

36906 Commits

Author SHA1 Message Date
cooltehno
b4169a0391
Update blueberry_milk-ardour.colors 2023-02-04 23:43:53 +01:00
Ayan Shafqat
17b263dfda
Fix comment mistake 2023-02-04 23:07:17 +01:00
Ayan Shafqat
99d6a4c709
Update wscript for AVX512F support
Accurately determine if AVX512F has been supported by the compiler
2023-02-04 23:07:17 +01:00
Ayan Shafqat
b3a10378cf
Add AVX512 optimized routines
The routines have been profiled using a test fixture.
https://gist.github.com/ashafq/50880bbbf7769f4f307e9ea9c7e71cf9
2023-02-04 23:07:17 +01:00
Ayan Shafqat
6b766e41f4
Integrate AVX512F support into Ardour
The current implementation is just a stub of AVX and is not
utilizing AVX512F.
2023-02-04 23:07:17 +01:00
Ayan Shafqat
bf8fced073
Add CPU detection 2023-02-04 23:07:17 +01:00
Ayan Shafqat
a050d9bf1f
Add newly created functions to libardour API 2023-02-04 23:07:17 +01:00
Ayan Shafqat
6a3ae8ad72
Add placeholder AVX512F functions
This file is just copied over from AVX and changed prefix
of function calls from `x86_sse_avx' to `x86_avx512f`.
2023-02-04 23:07:17 +01:00
pkubaj
387cac0ec5
Fix build on FreeBSD/powerpc64*
Only glibc has __ppc_get_timebase() function. On FreeBSD use the same assembly call that __ppc_get_timebase() actually executes.

This probably should be extended to musl and OpenBSD, but I have no way of checking that.
2023-02-04 22:40:52 +01:00
380005f50f Update preference to set macOS render performance 2023-02-04 22:34:12 +01:00
509504acf2 Add API to set openGL backing scale 2023-02-04 22:25:52 +01:00
cb3f8170ad Always use image surface on macOS
Thissignificantly improves drawing performance.
2023-02-04 22:24:16 +01:00
ffafa5cfc7 NSGLView: clean up, allow optional scaling 2023-02-04 21:36:01 +01:00
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
c707b056af
Add some preference search tags 2023-02-04 06:58:02 +01:00
51e93399ba
Update vari-speed availability, depending on port-resampler 2023-02-04 03:21:27 +01:00
19b8069720
Add preference to set port-resampler-quality 2023-02-04 03:20:47 +01:00
17f2862f96
Emit signal when resampler-quality changes 2023-02-04 03:20:20 +01:00
5316ac38e7
Export Dialog: remove redundant calls 2023-02-04 00:24:19 +01:00
b421cd26bb
Export Dialog: correctly init export channels
The state has to be pushed to the manager during initialization,
otherwise channel_config remains unset.

This fixes an issue with files using the same filename
(missing channel name) during stem export.
2023-02-04 00:24:07 +01:00
caec9acf8d
Export: check all channel-configurations before export
This correctly sets up the filename, and lists all existing
files that will be replaced on export.
2023-02-04 00:21:09 +01:00
14606ac655
Rec-stop only writes a pending (recovery) file (#9215)
This is consistent, since after handling the
`SaveSessionRequested` signal the session remains dirty
(which may be a bug). However since the signal is handled
by the GUI, rec-stop only saves the session if there is a GUI.

It is however somewhat dangerous. Record, quit + no-save (or
changing snapshots w/o saving first) will loose any references
to the recorded data (even though it is still on disk).

Note that "remove last capture" still saves the session
(to prevent references to non-existent sources).
2023-02-03 07:56:49 +01:00
054e1c3c12
Retain pending state after recovery (#9215)
After recovering from a crash, the user still needs to
retain the option to ignore the changes that were done
just before the crash after investigating them (or save them
into a snapshot).

Previously crash recovery unconditionally overwrote the
session file (see discussion on bug tracker).
2023-02-03 07:50:32 +01:00
1434789103
Allow to profile session-state save (again)
This was removed in
 bf0a525647
 2316df357b

"SaveState" was chosen because "State" prefix overlaps with
"Stateful", and "SessionState" overlaps with "SessionEvent"
debug names. `-DState` or `-DSession` overlap respectively
with unrelated debug output.
2023-02-03 07:32:50 +01:00
dac8feb98b
VST3: fix plugin GUI value notification (#9212)
OnParameterChange uses the plain (not normalized value)
2023-02-03 05:18:34 +01:00
d0a51f017a
VST3: fix manually setting integer ctrls from UI (#9212)
set_parameter_internal() normalizes the value (C++ reference),
when setting a parameter manually (inline control, generic UI)
only the shadow_data is updated (which is supposed to be
normalized).
2023-02-03 04:44:17 +01:00
830dfdda24
Fix assert() when resolving impossible pin match (#9218)
Adding a MIDI only plugin at a point where there is no
MIDI data, and/or additional audio signals results in an
'Impossible' match.

Those are usually resolved by trying to replicate the plugin,
and the fallback is to "Replicate 1 time".

While this is effectively equivalent with ExactMatch (use
1 instance), it is semantically different: Audio sources
will be ignored and if there is no MIDI signal, the MIDI
input remains unconnected.

It is the opposite to "Hide" (plugin has more inputs
of a given type, which can be fed by silence), since it has
fewer inputs of a given type signals are "dropped".

Strictly speaking we should special case this "Replicate 1 time"
case to "Drop" [sic]. which only assert(!reconfigurable_io()).
2023-02-03 04:37:27 +01:00
26270db8ae
Fix EBU-R128 loudness analysis for mono signals
This removes the special case which assumed unity gain
when reproducing mono files on a stereo system.

ITU-R BS.1770 however specifies a channel weight of 0dB for
left, right and centre, regardless of the total channel count.

Tech 3344 6.16 mentions a 3dB attenuation to maintain the
loudness level of a mono audio signal in multi-channel signals,
and Tech 3343-2016 further specifies that "Ideally, a downmix
operation should be loudness-agnostic".
2023-02-02 17:58:46 +01:00
160ed4d056 tweak generation process for preferences metadata and start adding some 2023-02-01 18:14:33 -07:00
1333f39621 searchable prefs: fix behavior after find failure 2023-02-01 18:10:56 -07:00
ee151ee36e fix track scrolling by using API to reset controls_layout, not doing it directly 2023-02-01 13:10:43 -07:00
8359311849 debug: allow to profile exposure (revert this later) 2023-02-01 19:41:11 +01:00
7ca7eb0264 NSGLView: upscale when window is on retina screen 2023-02-01 19:40:03 +01:00
138b25c0b0
Do not update devices when JACK is already running 2023-02-01 03:09:13 +01:00
b7ac434584 canvas: invalidate scrollgroup, request redraw after scrolling 2023-02-01 02:57:10 +01:00
df3b8efbb9 triggerbox: fix stop-all-cue marker under very specific conditions
If the stop takes effect on a process cycle boundary, do not just blindly pick
the next trigger; instead using the same logic as if the stop was not on the
boundary.
2023-01-31 18:39:57 -07:00
e76b26acf0 triggerbox: disambiguate otherwise identical DEBUG_TRACE messages 2023-01-31 18:39:57 -07:00
b481590268 macOS: use openGL surface by default 2023-02-01 01:32:48 +01:00
902b98588e canvas: profile render time / area 2023-02-01 01:25:27 +01:00
24d8e5de2c NSGLView: implement partial exposure 2023-02-01 01:23:24 +01:00
91fc57b943
Update sample-rate mismatch dialogs to reflect resampling 2023-01-31 01:21:48 +01:00
72995741bb
Adjust resampler quality when sample-rate mismatches
This also ensures that engine/session resampling is possible
when the config `port-resampler-quality` is 0.
2023-01-31 01:07:04 +01:00
d89162745f
Consolidate base and nominal SR
Now that mismatched sample-rates are resampled, there is
no distinction between base and nominal sample-rate.
2023-01-31 00:54:28 +01:00
53cfbe9c7f
Add API to update port resampler
Previously resampler ratio could only set when creating
an audio port. This is in preparation for setting resampler
quality when the session rate mismatches.

The session's rate is only known after basic session-setup
is performed. At this time Click-IO already exists.
2023-01-30 23:17:29 +01:00
John Emmas
2ff05d9e9d class 'PBD::Configuration' now needs to be exportable 2023-01-28 17:44:11 +00:00
dcf4377b47 configuration_metadata.cc should be manually generated whenever metadata changes, so just commit current version 2023-01-28 08:27:56 -07:00
099e130367 small fix for process-metadata that injected garbage into the output 2023-01-27 16:01:29 -07:00
233baeb521 add comments to preferences-metadata describing the file 2023-01-27 15:26:02 -07:00
da8958c330 comments in preferences-metadata file 2023-01-27 15:26:02 -07:00
349d25a2d2 Update latency compensation when sends are added or removed
Previously only adding an aux-send triggered a graph-reorder but copying
or deleting sends did nothing.

Adding/removing an aux-send may not even change the graph, but
both upstream/downstream latency can change and delaylines need to be
configured (which is done by calling update_latency_compensation with
force_whole_graph = true).

This fixes an issue with incorrect initial latency compensation after
copying a send (any later change to connections will correctly
recalculate it).
2023-01-27 23:13:52 +01:00