diff options
Diffstat (limited to 'src/engineevent.h')
-rw-r--r-- | src/engineevent.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/engineevent.h b/src/engineevent.h index 9c60a4a..ff9b8ba 100644 --- a/src/engineevent.h +++ b/src/engineevent.h @@ -27,6 +27,7 @@ #pragma once #include <cstddef> +#include "instrumentstate.h" //! Event types enum class EventType @@ -34,13 +35,16 @@ enum class EventType OnSet, Choke, Stop, + ChangeInstrumentState, + ResetInstrumentStates }; //! POD datatype for input event transport. struct event_t { - EventType type; //!< The type of the event. - std::size_t instrument; //!< The instrument number. - std::size_t offset; //!< The offset position in the input buffer - float velocity; //!< The velocity if the type is a note on [0; 1] + EventType type; //!< The type of the event. + std::size_t instrument; //!< The instrument number. + std::size_t offset; //!< The offset position in the input buffer + InstrumentStateKind state_kind; //!< For instrument state changes: the state to change + float velocity_or_state; //!< State value, or the velocity if the type is a note on [0; 1] }; |