+void
+RouteExportChannel::set_max_buffer_size(samplecnt_t samples)
+{
+ if (processor) {
+ processor->set_block_size (samples);
+ }
+}
+
+void
+RouteExportChannel::read (Sample const *& data, samplecnt_t samples) const
+{
+ assert(processor);
+ AudioBuffer const & buffer = processor->get_capture_buffers().get_audio (channel);
+#ifndef NDEBUG
+ (void) samples;
+#else
+ assert (samples <= (samplecnt_t) buffer.capacity());
+#endif
+ data = buffer.data();
+}
+
+void
+RouteExportChannel::get_state (XMLNode *) const
+{
+ // TODO
+}
+
+void
+RouteExportChannel::set_state (XMLNode *, Session &)
+{
+ // TODO
+}
+
+bool
+RouteExportChannel::operator< (ExportChannel const & other) const
+{
+ RouteExportChannel const * rec;
+ if ((rec = dynamic_cast<RouteExportChannel const *>(&other)) == 0) {
+ return this < &other;
+ }
+
+ if (processor.get() == rec->processor.get()) {
+ return channel < rec->channel;
+ }
+ return processor.get() < rec->processor.get();
+}
+
+RouteExportChannel::ProcessorRemover::~ProcessorRemover()
+{
+ route->remove_processor (processor);
+}