gig::eg_opt_t Struct Reference

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`).

## Detailed Description

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.

Definition at line 451 of file gig.h.

## Constructor & Destructor Documentation

## eg_opt_t()

gig::eg_opt_t::eg_opt_t | ( |  | ) |

Definition at line 347 of file gig.cpp.

## Member Function Documentation

## serialize()

void gig::eg_opt_t::serialize | ( | Serialization::Archive * | archive | ) |

Definition at line 355 of file gig.cpp.

## Member Data Documentation

## AttackCancel

bool gig::eg_opt_t::AttackCancel

Whether the "attack" stage is cancelled when receiving a note-off (default: `true`).

Definition at line 452 of file gig.h.

Referenced by gig::DimensionRegion::UpdateChunks().

## AttackHoldCancel

bool gig::eg_opt_t::AttackHoldCancel

Whether the "attack hold" stage is cancelled when receiving a note-off (default: `true`).

Definition at line 453 of file gig.h.

## Decay1Cancel

bool gig::eg_opt_t::Decay1Cancel

Whether the "decay 1" stage is cancelled when receiving a note-off (default: `true`).

Definition at line 454 of file gig.h.

Referenced by gig::DimensionRegion::UpdateChunks().

## Decay2Cancel

bool gig::eg_opt_t::Decay2Cancel

Whether the "decay 2" stage is cancelled when receiving a note-off (default: `true`).

Definition at line 455 of file gig.h.

## ReleaseCancel

bool gig::eg_opt_t::ReleaseCancel

Whether the "release" stage is cancelled when receiving a note-on (default: `true`).

Definition at line 456 of file gig.h.

Referenced by gig::DimensionRegion::UpdateChunks().

The documentation for this struct was generated from the following files:

- gig.h
- gig.cpp