Commit Graph

194 Commits

Author SHA1 Message Date
Mads Kiilerich 49855e52aa wscript: consistently have at most one empty separator line 2022-04-09 12:16:40 +02:00
Matthijs van Otterdijk 69bf9d36aa Use integer arithmetic to calculate number of samples per bin 2022-04-08 12:47:44 +02:00
Robin Gareus 2c9c80ae62
Amend f322c4ded7, clean up includes, fix visibility 2022-01-28 02:29:11 +01:00
Robin Gareus f322c4ded7
Separate sndfile.hh implementation into C++ source
This is required to be able to include
"audiographer/sndfile/sndfile_writer.h" in more than
one source file. which would otherwise lead to
duplicate symbol: AudioGrapher::SndfileHandle::..
2022-01-28 01:52:07 +01:00
Mads Kiilerich 8bb91099c5 wscript: drop configure statements already present in the top level wscript
Avoid repeated pointless configure messages like:
Checking for 'g++' (C++ compiler!)                   : /usr/lib64/ccache/g++
Checking for 'gcc' (C compiler)                      : /usr/lib64/ccache/gcc
2022-01-22 22:19:03 +01:00
Robin Gareus 7f3681c7ac
Scale export-analysis dataset 2021-12-24 21:59:03 +01:00
Robin Gareus 122d219354
Prepare scaleable analysis (variable width, bins) 2021-12-24 19:54:00 +01:00
Mathias Buhr c5abb7ecda Fix Upsampler new/delete mismatch 2021-06-12 21:16:18 +02:00
Robin Gareus a8c47da364
Fix realtime export loudness normalization
TmpFileRt::get_samples_written() returns the number of
samples written *to disk*. It is only valid after the FileFlushed
signal is emitted.

This fixes an assert() with Limiter and Analyzer being configured
with a too low total sample-count, leading to an overflow in
the analysis graph array.
2021-04-29 19:05:09 +02:00
Robin Gareus 6da997ef30
Revert "use -90dB as default threshold for silence trim during export, rather than -inf dB"
This reverts commit fe8418ffea,
which had no effect, since the default c'tor argument is not used.
2021-04-24 16:42:17 +02:00
Paul Davis fe8418ffea use -90dB as default threshold for silence trim during export, rather than -inf dB 2021-04-23 11:03:17 -06:00
John Emmas 8437d0a54a Add/remove source(s) in our MSVC project (audiographer) 2021-04-17 11:21:33 +01:00
David Robillard 69e5fd1c99 Fix audiographer normalizer test
Build broken in 75829d20f2.
2021-04-13 14:59:05 -04:00
Robin Gareus 883f818626
Fix C++11ism 2021-04-13 05:35:29 +02:00
Robin Gareus c4f0393cf9
Keep track of export-limiter redux 2021-04-12 23:15:30 +02:00
Robin Gareus 89a65f76b0
Update analysis duration when post-processing
This prevents the need to re-bin data in case silence is
trimmed at start or end of the export.
2021-04-12 23:15:30 +02:00
Robin Gareus 75829d20f2
Overhaul export loudness normalization
* Fix exporting multiple formats with different
  normalization settings or demo-noise settings
* Add true-peak limiter (based on x42-limiter dpl.lv2)
* Optionally use a limiter for loudness normalization
* Fall back to short-term loudness when normalizing
  material too short for integrating loudness.
2021-04-12 23:15:30 +02:00
Robin Gareus c1d98ca3c8
Export analysis: log loudness / time 2021-04-07 01:46:02 +02:00
Robin Gareus cc7b8b1bc5
gcc-11 compat, volatile atomic variables (1/2)
"While 'atomic' has a volatile qualifier, this is a historical
artifact and the pointer passed to it should not be volatile."

Furthermore "It is very important that all accesses to a
particular integer or pointer be performed using only this API"
(from https://developer.gnome.org/glib/2.68/glib-Atomic-Operations.html)

Hence initialization of atomic variables is changed to also use
this API, instead of directly initializing the value.

This also fixes a few cases where atomic variables were
accessed directly.

see also libs/pbd/pbd/g_atomic_compat.h
2021-03-22 15:30:07 +01:00
Robin Gareus e6dcc47d4a
Fix export-analysis true-peak display offset when stripping silence #8578 2021-03-21 14:36:10 +01:00
Robin Gareus 516a1b0d2e
Use unique target names for unit-test build rules 2020-10-16 02:31:39 +02:00
Robin Gareus d794f39e20
Update post-export analysis to report max short/mom loudness 2020-07-20 05:16:51 +02:00
John Emmas 743a3b1842 Add/remove source(s) in our MSVC project (audiographer) 2020-06-05 12:41:55 +01:00
Robin Gareus 25169d239d
Relax initial export-noise to 1/3 of interval 2020-06-05 03:19:47 +02:00
Robin Gareus 820165d238
Add export demo noise watermarking 2020-06-04 21:20:32 +02:00
Robin Gareus fe1f8effb9
Don't crash if ardour vamp plugins are n/a #8161
This still assert()s in debug builds. Since those plugins
should always be available.
2020-05-30 05:20:50 +02:00
Robin Gareus c365c6cdb2
Set thread-names (libs) 2020-03-29 14:56:22 +02:00
Robin Gareus 7c6eadd84a
Fix some doxygen warnings 2020-03-02 17:58:03 +01:00
Robin Gareus bca825e515
NO-OP: whitespace 2020-01-14 00:52:24 +01:00
Robin Gareus 551702b9e9
Fix for-loop condition (comma has no effect) 2019-12-05 18:23:49 +01:00
Robin Gareus 38b36d2ea5
Engage thread-safe fftw planner in libardour
This way initialization happens constently, and independent from the GUI,
for session-utils, lua, headless..
2019-09-10 03:06:21 +02:00
Robin Gareus 98c65406e3
Prefer std::vector<> over C-style malloc/free**
This fixes a potential out of bounds read `if (_dbtp_plugin[c])`
if c is larger than the allocated channel count.
2019-08-12 15:02:24 +02:00
Robin Gareus c1bd70d8b0
Update audiographer GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
John Emmas d3657a8944 Add/remove source(s) in our MSVC project (audiographer) 2019-03-04 12:16:47 +00:00
Robin Gareus 8b2a8fa42a
Remove another unused include 2019-03-02 14:32:54 +01:00
Robin Gareus 959947e7f8
NO-OP: whitespace (remove vi modelines) 2019-02-28 20:56:23 +01:00
Robin Gareus 9131cd17a0
Consolidate gdither noise code 2019-02-28 20:40:45 +01:00
John Emmas afee22d5fa Add/remove source(s) in our MSVC project (audiographer) 2018-11-23 07:27:32 +00:00
Robin Gareus e4cbd5115e Add Pipe-to-command export backend
A first step towards allowing external encoders without intermediate
temporary file.
2018-11-19 03:30:40 +01:00
Paul Davis 8ed33f1bc7 remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
John Emmas 9506a294c7 Adapt our remaining MSVC projects for 'boost::atomic' (in case it later gets extended to the other libs)
Stage 1 of 3 (more to follow)
2018-09-30 08:56:12 +01:00
John Emmas 79f01bc889 Initial changes needed for building Mixbus (with MSVC) as version 5
(Mixbus itself will probably need extra changes)
2018-09-10 07:14:59 +01:00
Robin Gareus 16ef78ade0 Clarify error message when file cannot be created,
The default error is "Not a valid SNDFILE* pointer." which is rather
obscure to end-users.
2018-07-25 17:46:15 +02:00
Robin Gareus b0373598d7 Fix a typo (thanks to IOhannes/debian for reporting) 2018-02-28 20:40:38 +01:00
John Emmas b9c9777b9a When building with MSVC, allow for the fact that Mixbus and Ardour can be using different versions of the SESSION_FILE format 2018-02-15 09:03:32 +00:00
John Emmas 6f019faaa0 Accommodate the change from libtimecode to libtemporal 2018-02-14 10:02:11 +00:00
Paul Davis 7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
Paul Davis 30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Robin Gareus 7258c6334d Namespace PBD::RingBuffer
class RingBuffer<> is a very generic name and should not pollute the
global namespace.
2017-09-16 16:37:29 +02:00
Tim Mayberry 4985f0d7ae Include last sample in reverse test for nonsilence in end trim during export 2016-12-06 20:55:17 +10:00