libgig
4.3.0
|
Defines behavior options for envelope generators (gig format extension). More...
#include <gig.h>
Public Member Functions | |
void | serialize (Serialization::Archive *archive) |
Public Attributes | |
bool | AttackCancel |
Whether the "attack" stage is cancelled when receiving a note-off (default: true ). | |
bool | AttackHoldCancel |
Whether the "attack hold" stage is cancelled when receiving a note-off (default: true ). | |
bool | Decay1Cancel |
Whether the "decay 1" stage is cancelled when receiving a note-off (default: true ). | |
bool | Decay2Cancel |
Whether the "decay 2" stage is cancelled when receiving a note-off (default: true ). | |
bool | ReleaseCancel |
Whether the "release" stage is cancelled when receiving a note-on (default: true ). | |
Defines behavior options for envelope generators (gig format extension).
These options allow to override the precise default behavior of the envelope generators' state machines.
Note: These EG options are an extension to the original gig file format, so these options are not available with the original Gigasampler/GigaStudio software! Currently only LinuxSampler and gigedit support these EG options!
Adding these options to the original gig file format was necessary, because the precise state machine behavior of envelope generators of the gig format (and thus the default EG behavior if not explicitly overridden here) deviates from common, expected behavior of envelope generators in general, if i.e. compared with EGs of hardware synthesizers. For example with the gig format, the attack and decay stages will be aborted as soon as a note-off is received. Most other EG implementations in the industry however always run the attack and decay stages to their full duration, even if an early note-off arrives. The latter behavior is intentionally implemented in most other products, because it is required to resemble percussive sounds in a realistic manner.