13
0
Commit Graph

150 Commits

Author SHA1 Message Date
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
6f019faaa0 Accommodate the change from libtimecode to libtemporal 2018-02-14 10:02:11 +00:00
7db12f6b12 convert codebase to use Temporal for various time types 2017-09-24 12:03:54 -04:00
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
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
4985f0d7ae Include last sample in reverse test for nonsilence in end trim during export 2016-12-06 20:55:17 +10:00
bd52d4e328 Fix issues in export with trim enabled
A complete reimplementation of AudioGrapher::SilentTrimmer::process to support
trimming the beginning and end in the same processing block

Fix export with trim end enabled to actually trim silent frames

Only add silence to beginning or end of export data if data was written

Should resolve: #6412
2016-12-06 13:44:19 +10:00
568cf861f9 Rename AudioGrapher::SilentTrimmer method to reflect behaviour
Unlike many of the other uses of the term "frame" this is actually returning
the index to the first sample in the interleaved frame that contains
non-silence.
2016-12-06 13:43:10 +10:00
2c67e71e98 Always signal writing to file is complete at end of the export process
With end trim enabled, the only case that would successfully export was if
there was at least some samples above the silence threshold in the last export
processing block.

The issue was that the EndOfInput flag was not being passed to
AudioGrapher::SndFileWriter::process which would then call sf_write_sync and
emit the FileWritten signal to start post processing. Fix that by always
passing the EndOfInput flag in the last export process cycle.

Related: #6412
2016-12-06 13:43:09 +10:00
9e794af3ea Add script to run audiographer tests 2016-12-06 13:20:54 +10:00
69cbcb84a6 spelling corrections from Jaromír Mikeš <mira.mikes@seznam.cz>
Corresponds to https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/tree/debian/patches/0070-spelling.patch
2016-10-17 17:57:39 -04:00
b55975a861 consistent VAMP includes
This resolves an ambiguity VampHost::Vamp::Plugin and Vamp::Plugin
2016-10-03 05:13:12 +02:00
0ff233d234 Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format 2016-08-30 07:15:00 +01:00
21bb604fc1 fix build of test suite
Fix build of audiographer tests after changes to TmpFile in 77687519.
2016-07-17 17:04:35 +01:00
77687519b6 Refactor TmpFile into an abstract base class
This allows a TmpFile pointer to be either a Sync or Async (Threaded)
writer. As result we must be able to handle both RT and non RT processing.

Still, post-processing (normalization and encoding) should always
happen faster than realtime (freewheeling).

Since jack does not allow a client to change to freewheeling from within
the process-callback, the async-writer disk-thread FileFlushed is used
to initiate post-processing.
2016-07-16 02:14:13 +02:00
e55ef88ee9 refactoring to prepare for real-time export
* add a threaded TmpFile Writer
* update API calls to that process_export_fw() can be used as
  process_function

The idea is to re-use export infrastructure from normalization:
export to a tmp-file and then encode target formats after that.
2016-07-14 04:35:48 +02:00
b0200b23f2 Accommodate the fact that 'msvc_resources.rc.in' got moved to a new path 2016-05-21 10:33:18 +01:00
a12288d9b5 Accommodate newly introduced source(s) in our MSVC project (audiographer) 2016-05-03 17:26:41 +01:00
7547f02c07 prepare loudness normalization 2016-05-02 15:44:13 +02:00
40aa4cfe06 Modify our MSVC projects to build liblua as a DLL rather than a static lib 2016-04-04 16:40:20 +01:00
f00342b2d8 Some AudioGrapher classes need to be exportable now, to support newly introduced 'AnalysisGraph' class
(not entirely sure why - but it might be because 'ProcessContext<Sample>' is now used in multiple sources within libardour).
2016-03-12 13:59:44 +00:00
8ab60f3297 fix port-export analysis for > 2 channels. 2016-03-07 23:36:05 +01:00
ba78359129 prepare for update to waf 1.8
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.

bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
Adrian Knoth
6fa88273aa Spelling correction patch from Debian
Patch taken (and forward-ported to HEAD) from
<https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/plain/debian/patches/0100-fix-typos.patch>
2016-02-22 15:13:01 -05:00
67d99a3c5b help clang static analyzer 2016-02-20 20:36:58 +01:00
f30d1d6073 fix normalize + trim silence at end. 2016-02-16 22:24:01 +01:00
0ce4113dbb prepare threshold for silence trim 2016-02-16 21:25:54 +01:00
c1910351a5 Revert "proper debug prints for Analyser"
This reverts commit 9a281963e1.

audiographer cannot use symbols from libardour (cyclic dependency)
(only headers only are ok)
"DebugBits ExportAnalysis" symbol break windows and unit-test builds.
2016-02-16 15:13:12 +01:00
240daf95f5 re-bin analysis results to take silence striping into account. 2016-02-16 15:09:31 +01:00
c52854fd3d Analysis: 1 sample slack (for resampling rounding) 2016-02-16 14:24:08 +01:00
a929b8b872 fix Export SRC buffer report:
the resampler is always fed with N channels, it won't output half channels
2016-02-16 14:00:31 +01:00
e18e765c75 Fix Analysis duration for added silence 2016-02-16 13:22:12 +01:00
9ab061c6cb don't re-use variable names 2016-02-16 13:21:45 +01:00
9a281963e1 proper debug prints for Analyser 2016-02-16 13:21:28 +01:00
1355d186cb extend analysis spectral range to -120dB 2016-02-15 18:55:04 +01:00
e6ea35c3de Add normalization gain factor to Export Analysis 2016-02-15 15:46:49 +01:00
f23bb163a8 Ensure export starts with a clean state 2016-02-14 13:23:45 +01:00
52ebf94c1e Class 'AudioGrapher::Analyser' needs to be exportable for building with MSVC 2016-02-12 12:31:24 +00:00
48fd05c391 Accommodate newly introduced source(s) in our MSVC project (audiographer) 2016-02-12 12:31:23 +00:00
50145a93e6 export analysis: include true-peak positions. 2016-02-12 12:42:51 +01:00
4fd47182f2 Help clang static analyzer. 2016-02-11 23:12:20 +01:00
f9e526dab8 tweak spectrum logscale 2016-02-11 16:09:34 +01:00
4b17bcb8b8 update export analyser for dBTP 2016-02-11 14:14:01 +01:00
df0f1b5ced stereo waveform, prepare spectrum faceplate 2016-02-11 02:22:54 +01:00
8bc7ff85fb audiographer unit-test libs 2016-02-10 19:28:43 +01:00
d8b04d3124 cleanup: unhardcode spectrum size, logscale, whitespace fixes 2016-02-10 19:28:21 +01:00
4928d53f8d Add VAMP SDK to audiographer deps. 2016-02-10 17:08:06 +01:00
6c8a062be9 move export-analysis implementation into cc-file.
lib/libfftw3f.a(apiplan.o):apiplan.c:(.text+0x430): multiple definition of `fftwf_destroy_plan'

This is because static symbols in a .dll have no fixed address and
are mapped when loading the dll. Static functions in .exe do have a fixed
address.
With a header-only implementation the functions are provided
libardour.dll and ardour.exe
2016-02-10 15:11:45 +01:00
7c3d3031dc Fix for undefined references to fftw lib when using gcc/mingw 2016-02-10 23:10:17 +10:00
dd431de07d Add newly introduced source(s) to our MSVC project (audiographer) 2016-02-10 10:55:42 +00:00