381 |
}; |
}; |
382 |
|
|
383 |
/** |
/** |
384 |
* Defines behavior options for envelope generators. |
* Defines behavior options for envelope generators (gig format extension). |
385 |
* |
* |
386 |
* These options allow to override the precise default behavior of the |
* These options allow to override the precise default behavior of the |
387 |
* envelope generators' state machines. |
* envelope generators' state machines. |
406 |
struct eg_opt_t { |
struct eg_opt_t { |
407 |
bool AttackCancel; ///< Whether the "attack" stage is cancelled when receiving a note-off (default: @c true). |
bool AttackCancel; ///< Whether the "attack" stage is cancelled when receiving a note-off (default: @c true). |
408 |
bool AttackHoldCancel; ///< Whether the "attack hold" stage is cancelled when receiving a note-off (default: @c true). |
bool AttackHoldCancel; ///< Whether the "attack hold" stage is cancelled when receiving a note-off (default: @c true). |
409 |
bool DecayCancel; ///< Whether the "decay" stage is cancelled when receiving a note-off (default: @c true). |
bool Decay1Cancel; ///< Whether the "decay 1" stage is cancelled when receiving a note-off (default: @c true). |
410 |
|
bool Decay2Cancel; ///< Whether the "decay 2" stage is cancelled when receiving a note-off (default: @c true). |
411 |
bool ReleaseCancel; ///< Whether the "release" stage is cancelled when receiving a note-on (default: @c true). |
bool ReleaseCancel; ///< Whether the "release" stage is cancelled when receiving a note-on (default: @c true). |
412 |
|
|
413 |
eg_opt_t(); |
eg_opt_t(); |
552 |
uint16_t SampleStartOffset; ///< Number of samples the sample start should be moved (0 - 2000). |
uint16_t SampleStartOffset; ///< Number of samples the sample start should be moved (0 - 2000). |
553 |
double SampleAttenuation; ///< Sample volume (calculated from DLS::Sampler::Gain) |
double SampleAttenuation; ///< Sample volume (calculated from DLS::Sampler::Gain) |
554 |
uint8_t DimensionUpperLimits[8]; ///< gig3: defines the upper limit of the dimension values for this dimension region. In case you wondered why this is defined on DimensionRegion level and not on Region level: the zone sizes (upper limits) of the velocity dimension can indeed differ in the individual dimension regions, depending on which zones of the other dimension types are currently selected. So this is exceptional for the velocity dimension only. All other dimension types have the same dimension zone sizes for every single DimensionRegion (of the sample Region). |
uint8_t DimensionUpperLimits[8]; ///< gig3: defines the upper limit of the dimension values for this dimension region. In case you wondered why this is defined on DimensionRegion level and not on Region level: the zone sizes (upper limits) of the velocity dimension can indeed differ in the individual dimension regions, depending on which zones of the other dimension types are currently selected. So this is exceptional for the velocity dimension only. All other dimension types have the same dimension zone sizes for every single DimensionRegion (of the sample Region). |
555 |
eg_opt_t EGOptions; ///< [gig extension]: Behavior options which should be used for all 3 envelope generators. |
eg_opt_t EG1Options; ///< [gig extension]: Behavior options which should be used for envelope generator 1 (volume amplitude EG). |
556 |
|
eg_opt_t EG2Options; ///< [gig extension]: Behavior options which should be used for envelope generator 2 (filter cutoff EG). |
557 |
|
|
558 |
// derived attributes from DLS::Sampler |
// derived attributes from DLS::Sampler |
559 |
using DLS::Sampler::UnityNote; |
using DLS::Sampler::UnityNote; |