summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/delivery.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/delivery.h')
-rw-r--r--libs/ardour/ardour/delivery.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/libs/ardour/ardour/delivery.h b/libs/ardour/ardour/delivery.h
index e46823d075..5cb11a9348 100644
--- a/libs/ardour/ardour/delivery.h
+++ b/libs/ardour/ardour/delivery.h
@@ -34,13 +34,20 @@ class Panner;
class Delivery : public IOProcessor {
public:
enum Role {
- Insert = 0x1,
+ /* main outputs - delivers out-of-place to port buffers, and cannot be removed */
+ Main = 0x1,
+ /* send - delivers to port buffers, leaves input buffers untouched */
Send = 0x2,
- Listen = 0x4,
- Main = 0x8,
+ /* insert - delivers to port buffers and receives in-place from port buffers */
+ Insert = 0x4,
+ /* listen - internal send used only to deliver to control/monitor bus */
+ Listen = 0x8,
+ /* aux - internal send used to deliver to any bus, by user request */
Aux = 0x10
};
+ static bool role_requires_output_ports (Role r) { return r == Main || r == Send || r == Insert; }
+
/* Delivery to an existing output */
Delivery (Session& s, boost::shared_ptr<IO> io, boost::shared_ptr<MuteMaster> mm, const std::string& name, Role);