Add comments.
[ardour.git] / libs / ardour / ardour / unknown_processor.h
index 8e079c462eaaa01b0e32654011d38f8810a0c014..2753094756ec94f4c25c2a5db6d223d22a911af2 100755 (executable)
 
 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;
        }