summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/ardour/ardour/capturing_processor.h1
-rw-r--r--libs/ardour/capturing_processor.cc12
-rw-r--r--libs/ardour/route.cc2
3 files changed, 13 insertions, 2 deletions
diff --git a/libs/ardour/ardour/capturing_processor.h b/libs/ardour/ardour/capturing_processor.h
index 2e2db78091..b672d1ac07 100644
--- a/libs/ardour/ardour/capturing_processor.h
+++ b/libs/ardour/ardour/capturing_processor.h
@@ -39,6 +39,7 @@ class CapturingProcessor : public Processor
void run (BufferSet& bufs, framepos_t start_frame, framepos_t end_frame, pframes_t nframes, bool result_required);
bool configure_io (ChanCount in, ChanCount out);
bool can_support_io_configuration (const ChanCount& in, ChanCount& out) const;
+ virtual XMLNode& state (bool);
private:
diff --git a/libs/ardour/capturing_processor.cc b/libs/ardour/capturing_processor.cc
index 2fa83ace81..0937f1f377 100644
--- a/libs/ardour/capturing_processor.cc
+++ b/libs/ardour/capturing_processor.cc
@@ -25,8 +25,8 @@
namespace ARDOUR {
CapturingProcessor::CapturingProcessor (Session & session)
- : Processor (session, X_("capture point"))
- , block_size (session.engine().frames_per_cycle())
+ : Processor (session, X_("capture point"))
+ , block_size (session.engine().frames_per_cycle())
{
realloc_buffers ();
}
@@ -72,4 +72,12 @@ CapturingProcessor::realloc_buffers()
capture_buffers.ensure_buffers (_configured_input, block_size);
}
+XMLNode &
+CapturingProcessor::state (bool full)
+{
+ XMLNode& node = Processor::state (full);
+
+ node.add_property (X_("type"), X_("capture"));
+}
+
} // namespace ARDOUR
diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc
index 33e3923454..4277bea022 100644
--- a/libs/ardour/route.cc
+++ b/libs/ardour/route.cc
@@ -2348,6 +2348,8 @@ Route::set_processor_state (const XMLNode& node)
must_configure = true;
}
_monitor_control->set_state (**niter, Stateful::current_state_version);
+ } else if (prop->value() == "capture") {
+ _capturing_processor.reset (new CapturingProcessor (_session));
} else {
ProcessorList::iterator o;