#include "pbd/error.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace ARDOUR;
void
PortExportChannel::set_state (XMLNode * node, Session & session)
{
- XMLProperty * prop;
+ XMLProperty const * prop;
XMLNodeList xml_ports = node->children ("Port");
for (XMLNodeList::iterator it = xml_ports.begin(); it != xml_ports.end(); ++it) {
if ((prop = (*it)->property ("name"))) {
}
}
-RegionExportChannelFactory::RegionExportChannelFactory (Session * session, AudioRegion const & region, AudioTrack & track, Type type)
+RegionExportChannelFactory::RegionExportChannelFactory (Session * session, AudioRegion const & region, AudioTrack & track, Type type)
: region (region)
, track (track)
, type (type)
- , frames_per_cycle (session->engine().frames_per_cycle ())
+ , frames_per_cycle (session->engine().samples_per_cycle ())
, buffers_up_to_date (false)
, region_start (region.position())
, position (region_start)
mixdown_buffer.reset (new Sample [frames_per_cycle]);
gain_buffer.reset (new Sample [frames_per_cycle]);
- memset (gain_buffer.get(), 1.0, sizeof (Sample) * frames_per_cycle);
+ std::fill_n (gain_buffer.get(), frames_per_cycle, Sample (1.0));
break;
case Processed:
assert (mixdown_buffer && gain_buffer);
for (size_t channel = 0; channel < n_channels; ++channel) {
memset (mixdown_buffer.get(), 0, sizeof (Sample) * frames);
+ buffers.get_audio (channel).silence(frames);
region.read_at (buffers.get_audio (channel).data(), mixdown_buffer.get(), gain_buffer.get(), position, frames, channel);
}
break;
case Processed:
- track.export_stuff (buffers, position, frames, track.main_outs(), true, true);
+ track.export_stuff (buffers, position, frames, track.main_outs(), true, true, false);
break;
default:
throw ExportFailed ("Unhandled type in ExportChannelFactory::update_buffers");
}
void
-RouteExportChannel::create_from_route(std::list<ExportChannelPtr> & result, Route & route)
+RouteExportChannel::create_from_route(std::list<ExportChannelPtr> & result, boost::shared_ptr<Route> route)
{
- boost::shared_ptr<CapturingProcessor> processor = route.add_export_point();
+ boost::shared_ptr<CapturingProcessor> processor = route->add_export_point();
uint32_t channels = processor->input_streams().n_audio();
boost::shared_ptr<ProcessorRemover> remover (new ProcessorRemover (route, processor));
{
assert(processor);
AudioBuffer const & buffer = processor->get_capture_buffers().get_audio (channel);
- assert (frames <= (framecnt_t) buffer.size());
+#ifndef NDEBUG
+ (void) frames;
+#else
+ assert (frames <= (framecnt_t) buffer.capacity());
+#endif
data = buffer.data();
}
RouteExportChannel::ProcessorRemover::~ProcessorRemover()
{
- route.remove_processor (processor);
+ route->remove_processor (processor);
}