Commit Graph

201 Commits

Author SHA1 Message Date
b8d07b8be2
Export CmdPipeWriter: add option to use tmpfile
Investigate issues with mp3 export (#9193)
2023-01-16 05:10:32 +01:00
27e136dcfc
Cont'd tweaks of ffmpeg export pipe 2023-01-05 03:32:40 +01:00
bb4394b8a5
Use pipe through ffmpeg, use glib to write output
This is intended to fix an issue with odd filenames on Windows,
particularly forward and backwards single quotes as part of a filename.

Previously the filename was passed as parameter to ffmpeg as
UTF-8 string to SystemExec::make_wargs, which is fragile on Windows
in absence of a execve() call.
2023-01-04 17:26:43 +01:00
Gon Solo
1cf6886775
std::iterator is deprecated in C++17, use bidirectional_iterator_tag 2022-11-22 19:49:41 +01:00
Mads Kiilerich
d2fa78ba95 Fix "Could create output file" error message
In the log output, the error would look like:
  [ERROR]: Export initialization failed: Exception thrown by AudioGrapher::SndfileWriter<short>: Could create output file (.../export/something.wav)

Add the missing negation.

But it would perhaps be better phrase the message differently so it not
just hints so strongly towards a file system error preventing file
creation.

Perhaps something like "Failed to initialize sound export to %s"?
2022-11-04 03:52:45 +01:00
luz paz
7f06beda50 Fix typos
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch  -L acount,ba,buss,busses,discreet,doubleclick,hsi,ontop,retrn,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-09-21 19:09:55 -06:00
b51c4b7ef9 fix signed/unsigned warning 2022-06-21 17:33:37 -06:00
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
2c9c80ae62
Amend f322c4ded7, clean up includes, fix visibility 2022-01-28 02:29:11 +01:00
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
7f3681c7ac
Scale export-analysis dataset 2021-12-24 21:59:03 +01:00
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
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
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
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
69e5fd1c99 Fix audiographer normalizer test
Build broken in 75829d20f2.
2021-04-13 14:59:05 -04:00
883f818626
Fix C++11ism 2021-04-13 05:35:29 +02:00
c4f0393cf9
Keep track of export-limiter redux 2021-04-12 23:15:30 +02:00
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
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
c1d98ca3c8
Export analysis: log loudness / time 2021-04-07 01:46:02 +02:00
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
e6dcc47d4a
Fix export-analysis true-peak display offset when stripping silence #8578 2021-03-21 14:36:10 +01:00
516a1b0d2e
Use unique target names for unit-test build rules 2020-10-16 02:31:39 +02:00
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
25169d239d
Relax initial export-noise to 1/3 of interval 2020-06-05 03:19:47 +02:00
820165d238
Add export demo noise watermarking 2020-06-04 21:20:32 +02:00
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
c365c6cdb2
Set thread-names (libs) 2020-03-29 14:56:22 +02:00
7c6eadd84a
Fix some doxygen warnings 2020-03-02 17:58:03 +01:00
bca825e515
NO-OP: whitespace 2020-01-14 00:52:24 +01:00
551702b9e9
Fix for-loop condition (comma has no effect) 2019-12-05 18:23:49 +01:00
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
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
c1bd70d8b0
Update audiographer GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
d3657a8944 Add/remove source(s) in our MSVC project (audiographer) 2019-03-04 12:16:47 +00:00
8b2a8fa42a
Remove another unused include 2019-03-02 14:32:54 +01:00
959947e7f8
NO-OP: whitespace (remove vi modelines) 2019-02-28 20:56:23 +01:00
9131cd17a0
Consolidate gdither noise code 2019-02-28 20:40:45 +01:00
afee22d5fa Add/remove source(s) in our MSVC project (audiographer) 2018-11-23 07:27:32 +00:00
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
8ed33f1bc7 remove use of hardcoded -fPIC compiler flag, and use compiler flag dict instead 2018-10-14 22:06:11 -04:00
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
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
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