namespace ARDOUR {
+/** A stub Processor that can be used in place of a `real' one that cannot be
+ * created for some reason; usually because it requires a plugin which is not
+ * present. UnknownProcessors are special-cased in a few places, notably
+ * in route configuration and signal processing, so that on encountering them
+ * configuration or processing stops.
+ *
+ * When a Processor is missing from a Route, the following processors cannot
+ * be configured, as the missing Processor's output port configuration is
+ * unknown.
+ *
+ * The main utility of the UnknownProcessor is that it allows state
+ * to be preserved, so that, for example, loading and re-saving a
+ * session on a machine without a particular plugin will not corrupt
+ * the session.
+ */
class UnknownProcessor : public Processor
{
public:
UnknownProcessor (Session &, XMLNode const &);
+ /* These processors are hidden from view */
bool display_to_user () const {
return false;
}