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
c1642fead8
Post-export Analysis
2016-02-10 03:01:05 +01:00
b985f87a77
Use proper UTF8 file-names during export.
2016-01-27 22:58:59 +01:00
2397429e99
use quotes for in-tree pbd/glib wrapper include
2015-10-05 22:15:18 +02:00
22b07e0233
NOOP, remove trailing tabs/whitespace.
2015-10-05 16:17:49 +02:00
4dc63966f0
globally remove all trailing whitespace from ardour code base.
...
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
7ac691ec82
use pbd's gstdio compatibility wrapper
2015-09-17 14:37:57 +02:00
ec06f2c49f
spelling error fixes (notably "overriden" => "overidden") from IOhannes m zmölnig
2015-09-11 09:23:43 -04:00
f5f11158aa
another hint for clang static analysis.
2015-09-06 10:42:58 +02:00
bea9bf5387
initialize private variable (unit-test)
2015-09-05 19:16:50 +02:00
482bd4b51c
leave a hint for clang scan-build
2015-09-05 19:16:50 +02:00
7fae6bcd87
copy all XCode project files from Tracks.
...
Rationale: the Waves team maintains the XCode project files, the Ardour crew doesn't. Thus, the Waves'
version is more canonical
2015-06-29 14:18:10 -04:00
dd9e646b40
fix static library build
2015-06-29 14:16:42 -04:00
801af5df9e
Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side)
2015-06-09 13:18:42 +01:00
729bc00f13
no need to close a file that will not be removed (and has no name)
2015-04-29 15:01:33 -04:00
fbe673d9c7
fix #6208 , negative broadcast timestamps
2015-03-22 16:12:40 +01:00
5cfa389978
explicitly close tmpfiles before unlink.
...
fixes issue on export tmpfiles remaining on windows
2015-03-02 23:12:06 +01:00
a5eb3bae87
add an explicit close function to sndfile
...
NB. if someday we want to switch back to upstream
SndfileHandle, we need to subclass wrap it.
(not sure what else is different, anyway)
2015-03-02 23:11:04 +01:00
36bbd14113
towards fixing #5711
...
Don’t call ::output() [here: SilenceTrimmer::process()]
with no data to process.
If (position + N * period-size) % chunksize == 0;
frames_left == 0 before the last call to ::output().
chunker.h:60 keeps the ProcessContext<T>::EndOfInput
flag and the SilenceTrimmer will already have done ‘in_end’ processing.
2015-01-27 23:13:55 +01:00
973d40e3ac
Add support for USE_CAIRO_IMAGE_SURFACE when building with MSVC
...
(new preprocessor directive - greatly improves CPU loading)
2014-10-29 17:36:30 +00:00
65715dd298
Make sure all our VC projects agree that the product is called 'Mixbus3' (as opposed to just 'Mixbus')
...
It'd be nice if we could use 'ARDOUR::config_dir_name' for this purpose (or perhaps 'PROGRAM_VERSION'). However, neither is implemented widely enough at present to make this practical. Keep an eye on them though, as possible future strategies.
2014-08-28 07:57:20 +01:00
45afed5e9a
Modify our VC project files to work with msvc32-fixup.pl
2014-08-04 09:02:17 +01:00
928881b24a
Update vcproj files for changed LILV config define.
2014-07-15 15:50:12 -04:00
1b989a93c2
remove redundant os.path.join() calls when specifying install path as bld.env['LIBDIR']
2014-04-28 21:18:02 -04:00
058986f77b
finish unfinished work at basing all install paths on the program name
2014-04-28 21:11:08 -04:00
077a194430
Add the main VC project files for building Ardour3 with Microsoft Visual Studio
...
Note that there's no 'VS Solution' file at present and some targets haven't been built yet (e.g. 'fst')
2014-04-08 09:49:35 +01:00
e6c3cece64
remove recently added conflation of mingw64 and msvc with respect to symbol export
2014-03-02 14:59:08 -05:00
19395ac258
when mingw is mingw64, it appears that we need to use __declspec() and not __attribute__((visibility)) for export control
2014-03-01 15:16:39 -05:00
cfc9a1f22e
fix broken build after addition of normalizer.cc
2014-01-14 09:33:02 -05:00
a1a3f6c826
Merge branch 'windows+cc' into cairocanvas
2014-01-13 15:05:30 +00:00
5f0492deae
'libs/audiographer' - Add a new source file (to accommodate the stuff removed from 'normalizer.h')
2014-01-13 15:01:14 +00:00
5fc1cbb65c
'libs/audiographer' - DLL visibility stuff and associated changes needed for building with MSVC. Currently includes debugging information and things that are just commented out until we have known compatibility with the other platforms (i.e. contains stuff to be removed at a later date)
2014-01-13 14:58:04 +00:00
5062a00c7d
move -fvisibility=hidden to the top of the source tree, and remove its internal use; use libtimecode as a shared lib again
2014-01-12 15:40:47 -05:00
3020b224fa
Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there
2014-01-10 16:07:57 -05:00
d15fda6d75
fix merge errors with master
2014-01-10 14:53:03 -05:00
Sakari Bergen
054ead24cc
Fix dither data width assertions and related tests
...
Fixes 32-bit export
This was broken from the start, and was broken in a new way in
52309c0c4f
2014-01-08 20:33:17 +02:00
501bfdb15a
fix an errant visibility macro
2013-12-30 17:21:15 -05:00
b0e4f81eb3
merge exportvis branch into cairocanvas, to reduce the number of "floating" branches.
...
Still need to add API export/visibility macros for the canvas library.
2013-12-27 14:29:06 -05:00
3a885d6177
Only use __declspec(dllimport/dllexport) for MSVC compiler
...
Use the gcc visibility attributes when building with the MinGW compiler(gcc).
GCC also supports the __declspec syntax but it will not compile at the moment
until the issues(which may not even be exactly the same issues as with MSVC)
are resolved.
2013-12-05 21:11:18 +10:00
8648a8a13b
fix up wscript/build issues in exportvis after merge with master
2013-12-03 11:51:25 -05:00
fa22520fd2
Merge branch 'master' into cairocanvas
2013-11-25 09:26:35 -05:00
Sakari Bergen
52309c0c4f
Fix invalid assertions in AudioGrapher SampleFormatConverter
...
This fixes an export crash with e.g. 8-bit export
2013-11-23 18:43:54 +02:00
0cca272431
try to fix various warnings from gcc when optimization flags are enabled
2013-11-04 21:32:41 -05:00
Sakari Bergen
3fca030603
Fix invalid silence trimmer end-of-input behavior (multiple EndOfInputs)
...
This caused an export bug when:
a) normalizing
b) adding silence to end
c) having more than one channel
The sound was corrupted by repeating each jack frame as many times
as there were channels.
2013-11-03 21:22:00 +02:00
f85c67501c
reverse the visibility.h files assumptions that we don't build shared libs by default
...
This avoids having to define define LIBFOO_DLL=1 all over the place. If we ever go with static libs we will
need to define LIBFOO_STATIC=1 but hopefully in some central location like the top level wscript.
Oh, and I also dropped support for gcc older than version 4.x because ardour will already not build
on such an old version.
2013-10-18 11:50:44 -04:00
b855e5f322
Merge remote-tracking branch 'remotes/origin/exportvis' into windows+cc
...
Conflicts (hopefully resolved):
gtk2_ardour/wscript
libs/ardour/ardour/audioregion.h
libs/ardour/ardour/debug.h
libs/ardour/ardour/directory_names.h
libs/ardour/ardour/filesystem_paths.h
libs/ardour/ardour/session_event.h
libs/gtkmm2ext/gtkmm2ext/utils.h
libs/panners/1in2out/wscript
libs/panners/2in2out/wscript
libs/panners/vbap/wscript
libs/pbd/pbd/debug.h
libs/pbd/pbd/file_utils.h
libs/pbd/pbd/pathexpand.h
libs/pbd/pbd/ringbuffer.h
libs/pbd/pbd/ringbufferNPT.h
libs/pbd/pbd/search_path.h
libs/pbd/pbd/stacktrace.h
libs/pbd/pbd/uuid.h
libs/pbd/pbd/uuid_boost.h
libs/surfaces/control_protocol/control_protocol/basic_ui.h
libs/surfaces/control_protocol/control_protocol/control_protocol.h
2013-10-18 10:03:22 +01:00
5ba369918b
add missing file
2013-10-17 15:46:16 -04:00
a2d55d088a
add export control with -fvisibility=hidden to audiographer
2013-10-17 15:37:11 -04:00
6daeba047e
'libs/audiographer' - Try 'lrintf' instead of 'rintf' which isn't available in MSVC
2013-09-05 09:21:30 +01:00
e14966e778
'libs/audiographer' - Use 'alloca()' for a stack based array whose size is unknown (required to be buildable with MSVC)
2013-09-05 09:18:30 +01:00
650964f320
Merge branch 'master' into windows
2013-07-17 08:05:59 -04:00
Michael R. Fisher
693713ecdb
Allow compiling with c++11 enabled
2013-07-15 22:57:34 -05:00
48f8863b2c
Use g_mkstemp in audiographer for portability
2013-07-13 16:44:37 -04:00
f80859f3bd
Use uint32_t type instead of uint
2013-07-11 15:16:50 -04:00
ef9ed302e3
Add necessary header include for int64_t type
2013-07-11 13:53:35 -04:00
0e513f0469
Include header that declares ::free for mingw build
2013-07-11 13:53:12 -04:00