summaryrefslogtreecommitdiff
path: root/libs/ardour/export_handler.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-09-26 17:49:24 +0200
committerRobin Gareus <robin@gareus.org>2017-09-29 05:03:48 +0200
commit24ec0b974d84df061cbbe645668dc62fa7120678 (patch)
treece9274b55976d535ace89ba9e8781cef1b778b66 /libs/ardour/export_handler.cc
parenta6cc58d7574ba03f0f8860e130fc4bdef305d3f3 (diff)
Properly aligned export (Stem + Session)
Delay ports being exported by their playback latency.
Diffstat (limited to 'libs/ardour/export_handler.cc')
-rw-r--r--libs/ardour/export_handler.cc30
1 files changed, 1 insertions, 29 deletions
diff --git a/libs/ardour/export_handler.cc b/libs/ardour/export_handler.cc
index 7301e12b68..df74bda065 100644
--- a/libs/ardour/export_handler.cc
+++ b/libs/ardour/export_handler.cc
@@ -193,7 +193,6 @@ ExportHandler::start_timespan ()
handle_duplicate_format_extensions();
bool realtime = current_timespan->realtime ();
bool region_export = true;
- bool incl_master_bus = false;
for (ConfigMap::iterator it = timespan_bounds.first; it != timespan_bounds.second; ++it) {
// Filenames can be shared across timespans
FileSpec & spec = it->second;
@@ -206,33 +205,6 @@ ExportHandler::start_timespan ()
default:
break;
}
-#if 1 // hack alert -- align master bus, compensate master latency
-
- /* there's no easier way to get this information here.
- * Ports are configured in the PortExportChannelSelector GUI,
- * This ExportHandler has no context of routes.
- */
- boost::shared_ptr<Route> master_bus = session.master_out ();
- if (master_bus) {
- const PortSet& ps = master_bus->output ()->ports();
-
- const ExportChannelConfiguration::ChannelList& channels = spec.channel_config->get_channels ();
- for (ExportChannelConfiguration::ChannelList::const_iterator it = channels.begin(); it != channels.end(); ++it) {
-
- boost::shared_ptr <PortExportChannel> pep = boost::dynamic_pointer_cast<PortExportChannel> (*it);
- if (!pep) {
- continue;
- }
- PortExportChannel::PortSet const& ports = pep->get_ports ();
- for (PortExportChannel::PortSet::const_iterator it = ports.begin(); it != ports.end(); ++it) {
- boost::shared_ptr<AudioPort> ap = (*it).lock();
- if (ps.contains (ap)) {
- incl_master_bus = true;
- }
- }
- }
- }
-#endif
graph_builder->add_config (spec, realtime);
}
@@ -245,7 +217,7 @@ ExportHandler::start_timespan ()
session.ProcessExport.connect_same_thread (process_connection, boost::bind (&ExportHandler::process, this, _1));
process_position = current_timespan->get_start();
// TODO check if it's a RegionExport.. set flag to skip process_without_events()
- session.start_audio_export (process_position, realtime, region_export, incl_master_bus);
+ session.start_audio_export (process_position, realtime, region_export);
}
void