summaryrefslogtreecommitdiff
path: root/libs/ardour/export_handler.cc
AgeCommit message (Collapse)Author
2020-04-09Prevent FX from producing sound after exportRobin Gareus
This cuts reverb tails and synth sounds after export. Disabling freewheeling, continues normal processing where export left off. This previously kept notes ringing, or reverbs audible.
2020-03-06Remove backend support for region-output exportRobin Gareus
This use-case is better served via stem-export.
2020-03-06Fix export alignment (#7916)Robin Gareus
Ardour's playback is aligned to master-out: "When the playback clock reads 01:00:00:00, the sample corresponding to 01:00:00:00 is audible at the speaker(s)" When exporting, and grabbing data from output ports, the signal is offset by the master-bus physical playback latency. This was compensated for, but lead to initial silence in the exported file. New approach is to start capturing export data during pre-roll, at the time when playback is written to the output buffers. To also shaves off a common offset to make this work with realtime export. Effectively this emulates processing with disconnected master-output port, while still keeping any latency of effects on the master-bus itself. Last but not least: jack updates latencies when freewheeling, (setting HW latency to zero). The callback arrives asynchronously some time after enabling freewheeling, but after Export Ports have been configured. Those callbacks are ignored.
2020-03-06Fix realtime export of multiple time-spansRobin Gareus
After exporting a time-span, the next time-span was started directly from the rt-callback. This had various issues. In particular with realtime export. Post-processing of a realtime-export enables freewheeling and is driven by freewheel callbacks. Freewheeling needs to be safely disabled for an upcoming realtime export. A similar issues existed when mixing realtime and non-realtime exports.
2019-09-18Remove "i18n.h" include from header - fix buildsRobin Gareus
i18n alsways needs to be included last. This fixes an ambiguity of "_" boost/function_types/detail/class_transform.hpp:23:26: error: ‘boost::mpl::placeholders::_’ has not been declared using mpl::placeholders::_;
2019-08-03Update libardour GPL boilerplate and (C) from git logRobin Gareus
2019-08-02Fix CD cue file Index positions -- #7780Robin Gareus
According to the cdrdao man page, they should be defined as follows: INDEX MM:SS:FF Increments the index number at given position within the track. The first statement will increment from 1 to 2. The position is relative to the real track start, not counting an existing pre-gap.
2019-04-13NO-OP: <tab> after <space> fixes in libsRobin Gareus
2019-04-08NO-OP name change: CD-frames (not samples)Robin Gareus
2019-03-05Use enum for exec stderr parameter (1/2)Robin Gareus
2018-10-02Fix false-positive duplicate format detectionRobin Gareus
Previously, stem-exports of more than 1 channel always included the export-format, even if only one format was exported.
2018-07-25Add an API to reset export-handler configs.Robin Gareus
config_map.erase() is only called in ExportHandler::finish_timespan(). When an export fails (throw) or is aborted, the export-handler's config remains as is and the next export will run it again. The export-handler is global, per session and ExportHandler::add_export_config() only ever inserts or ignores insert. This is in preparation to fix: 1) export to invalid path -> fail, error is thrown 2) correct path -> new config is inserted in the map 3) try to export again, first runs the not-completed export from (1) -> constant errors.
2017-09-29Properly aligned export (Stem + Session)Robin Gareus
Delay ports being exported by their playback latency.
2017-09-18globally change all use of "frame" to refer to audio into "sample".Paul Davis
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-03-18Oh boy!Robin Gareus
2016-10-25Desperate hack to align master-bus on export.Robin Gareus
Another 90% solution which hopefully gives us another year :( see comments Session::start_audio_export() for explanation.
2016-10-17fast region export -- don't call process()Robin Gareus
2016-07-18Normalize API rename part 2Robin Gareus
2016-07-18No-Op: rename Normalizer to IntermediateRobin Gareus
post-processing is no longer just Normalization. RealtimeExport does Encoding - faster than realtime - using the same infrastructure.
2016-07-16libardour support for timespan realtime exportRobin Gareus
2016-07-16Refactor TmpFile into an abstract base classRobin Gareus
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-14enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.hPaul Davis
2016-07-13fix CUE/TOC file creation with non ISO-8859-1 chars in source text ↵Paul Davis
(substitute underscores)
2016-06-12more meta-data placeholders for post-export commandRobin Gareus
2016-06-07add meta-data placeholders for post-export commandRobin Gareus
needs testing on windows with UTF8
2016-03-19the return of the Session::Exported signalRobin Gareus
2016-03-12cleaner version of ac3da53Robin Gareus
2016-03-12reset export status when not normalizing - fixes #6816Robin Gareus
2016-02-22Spelling correction patch from DebianAdrian Knoth
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-13amend d814acb - SystemExec/Export debuggingRobin Gareus
2016-02-12add some debugging capability for users of SystemExec. Needs review.Ben Loftis
2016-02-11Prepare for optional timespan name during export.Robin Gareus
2016-02-10Post-export AnalysisRobin Gareus
2016-02-09Fix crash when aborting export.Robin Gareus
The "Stop" button results in ExportHandlerPtr being destroyed. This must not happen while it's in use -- in particular during ExportHandler::start_timespan() and ExportHandler::finish_timespan()
2016-02-09detailed export state, prepare resolution for #6512Robin Gareus
(Post-processing step should announce itself during an export)
2015-10-13remove last ofstreamRobin Gareus
2015-10-05use quotes for in-tree pbd/glib wrapper includeRobin Gareus
2015-10-05NOOP, remove trailing tabs/whitespace.Robin Gareus
2015-10-04globally remove all trailing whitespace from ardour code base.Paul Davis
Paul Davis was responsible for introducing almost all of this.
2015-09-17use pbd's gstdio compatibility wrapperRobin Gareus
2015-07-30fix file metadata tagging on windows.Robin Gareus
This allows TagLib to open the file and create a Tag object (see 2a0365c) Tagging still fails later (taglib seek/SetFilePointer fails when writing)
2015-06-29no-op: indentation and whitespace fixesPaul Davis
2015-06-29[Summary] Added export cleanupGZharun
[Reviewed by] Andriy Mishyn
2015-06-21Remove "" around CATALOG number in .cue fileColin Fletcher
cue2ddp definitely wants the bar code number *not* enclosed in quotes in .cue files. Leave the quotes in .toc files: cdrdao definitely does need these.
2015-06-08Enclose bar code number in ""s in TOC & CUE exportColin Fletcher
cdrdao seems to want the CATALOG field to be enclosed in double-quotes.
2015-06-08Remove doubled quotes in TOC export PERFORMER fieldColin Fletcher
toc_escape_text() already encloses its result in ""s, and if album_artist is empty, the resulting PERFORMER """" line makes cdrdao upset. Just remove the extra quotes.
2015-04-21Remove filename extension for chapter mark fileJohannes Mueller
The tool mp4chaps by the following command $ mp4chaps -i test.mp4 looks for the file "test.chapters.txt" to read the chapter marks from. So removing the original file name extension (e.g. wav or flac) makes it slightly more convenient for the user.
2015-04-21Put an Intro chapter at position 00:00:00.000Johannes Mueller
Players like vlc seem to stumble, if there es no chapter at the zero position. As Ardour wouldn't let us put a track mark at the zero position we can just use our header_func to put some kind of dummy intro chapter. If a future version of Ardour allows track marks at zero, we need to do a bit more work.
2015-04-21Added support for exporting mp4 chapter marksJohannes Mueller
The mp4 file format supports chapter marks using the so called mp4chaps format to enable chapter wise navigation in an mp4 file. The format is like hh:mm:ss.sss Chapter Title This commit adds the ability to export those kind of chapter marks along with TOC and CUE marks. The filename extension for the chapter mark file is "chapters.txt". The format specification description is "MP4ch".
2015-03-28Add CD Metadata "PERFORMER" & "TITLE" fields to .toc & .cue exportColin Fletcher
Add "PERFORMER" to the exported .toc & .cue files based on the value of the "album_artist" metadata field, and also use the value of the "album" field for the TITLE if is set, falling back to the session or range name if it is blank.