summaryrefslogtreecommitdiffstats
path: root/src/server/PortImpl.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/PortImpl.hpp')
-rw-r--r--src/server/PortImpl.hpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/server/PortImpl.hpp b/src/server/PortImpl.hpp
index 98a9d81e..3eb33e6d 100644
--- a/src/server/PortImpl.hpp
+++ b/src/server/PortImpl.hpp
@@ -44,7 +44,19 @@ class PortImpl : public NodeImpl
{
public:
struct SetState {
- enum class State { SET, HALF_SET_CYCLE_1, HALF_SET_CYCLE_2 };
+ enum class State {
+ /// Partially set, first cycle: AAAAA => AAABB.
+ HALF_SET_CYCLE_1,
+
+ /// Partially set, second cycle: AAABB => BBBBB.
+ HALF_SET_CYCLE_2,
+
+ /// Fully set, first cycle (clear events if necessary).
+ SET_CYCLE_1,
+
+ /// Fully set, second cycle and onwards (done).
+ SET
+ };
SetState() : state(State::SET), value(0), time(0) {}
@@ -128,6 +140,9 @@ public:
FrameTime time,
Sample value);
+ void set_is_driver_port(bool b) { _is_driver_port = b; }
+ bool is_driver_port() const { return _is_driver_port; }
+
/** Called once per process cycle */
virtual void pre_process(Context& context) = 0;
virtual void pre_run(Context& context) {}
@@ -264,6 +279,7 @@ protected:
bool _is_logarithmic;
bool _is_sample_rate;
bool _is_toggled;
+ bool _is_driver_port;
};
} // namespace Server