gig::DimensionRegion Class Reference

Encapsulates articulation informations of a dimension region. More...

`#include <gig.h>`

Inheritance diagram for gig::DimensionRegion:

## Public Member Functions

double | GetVelocityAttenuation (uint8_t MIDIKeyVelocity)
| Returns the correct amplitude factor for the given MIDIKeyVelocity.
double | GetVelocityRelease (uint8_t MIDIKeyVelocity)
double | GetVelocityCutoff (uint8_t MIDIKeyVelocity)
void | SetVelocityResponseCurve (curve_type_t curve)
| Updates the respective member variable and the lookup table / cache that depends on this value.
void | SetVelocityResponseDepth (uint8_t depth)
| Updates the respective member variable and the lookup table / cache that depends on this value.
void | SetVelocityResponseCurveScaling (uint8_t scaling)
| Updates the respective member variable and the lookup table / cache that depends on this value.
void | SetReleaseVelocityResponseCurve (curve_type_t curve)
| Updates the respective member variable and the lookup table / cache that depends on this value.
void | SetReleaseVelocityResponseDepth (uint8_t depth)
| Updates the respective member variable and the lookup table / cache that depends on this value.
void | SetVCFCutoffController (vcf_cutoff_ctrl_t controller)
| Updates the respective member variable and the lookup table / cache that depends on this value.
void | SetVCFVelocityCurve (curve_type_t curve)
| Updates the respective member variable and the lookup table / cache that depends on this value.
void | SetVCFVelocityDynamicRange (uint8_t range)
| Updates the respective member variable and the lookup table / cache that depends on this value.
void | SetVCFVelocityScale (uint8_t scaling)
| Updates the respective member variable and the lookup table / cache that depends on this value.
Region * | GetParent () const
virtual void | SetGain (int32_t gain)
| Updates the respective member variable and updates `SampleAttenuation` which depends on this value.
virtual void | UpdateChunks (progress_t *pProgress)
| Apply dimension region settings to the respective RIFF chunks.
virtual void | CopyAssign (const DimensionRegion *orig)
| Make a (semi) deep copy of the DimensionRegion object given by orig and assign it to this object.
void | AddSampleLoop (sample_loop_t *pLoopDef)
| Adds a new sample loop with the provided loop definition.
void | DeleteSampleLoop (sample_loop_t *pLoopDef)
| Deletes an existing sample loop.

## Public Attributes

uint8_t | VelocityUpperLimit
| Defines the upper velocity value limit of a velocity split (only if an user defined limit was set, thus a value not equal to 128/NumberOfSplits, else this value is 0). Only for gig2, for gig3 and above the DimensionUpperLimits are used instead.
Sample * | pSample
| Points to the Sample which is assigned to the dimension region.
uint16_t | EG1PreAttack
| Preattack value of the sample amplitude EG (0 - 1000 permille).
double | EG1Attack
| Attack time of the sample amplitude EG (0.000 - 60.000s).
double | EG1Decay1
| Decay time of the sample amplitude EG (0.000 - 60.000s).
double | EG1Decay2
| Only if EG1InfiniteSustain == false: 2nd decay stage time of the sample amplitude EG (0.000 - 60.000s).
bool | EG1InfiniteSustain
| If true, instead of going into Decay2 phase, Decay1 level will be hold until note will be released.
uint16_t | EG1Sustain
| Sustain value of the sample amplitude EG (0 - 1000 permille).
double | EG1Release
| Release time of the sample amplitude EG (0.000 - 60.000s).
bool | EG1Hold
| If true, Decay1 stage should be postponed until the sample reached the sample loop start.
eg1_ctrl_t | EG1Controller
| MIDI Controller which has influence on sample amplitude EG parameters (attack, decay, release).
bool | EG1ControllerInvert
| Invert values coming from defined EG1 controller.
uint8_t | EG1ControllerAttackInfluence
| Amount EG1 Controller has influence on the EG1 Attack time (0 - 3, where 0 means off).
uint8_t | EG1ControllerDecayInfluence
| Amount EG1 Controller has influence on the EG1 Decay time (0 - 3, where 0 means off).
uint8_t | EG1ControllerReleaseInfluence
| Amount EG1 Controller has influence on the EG1 Release time (0 - 3, where 0 means off).
lfo_wave_t | LFO1WaveForm
| [gig extension]: The fundamental wave form to be used by the amplitude LFO, e.g. sine, triangle, saw, square (default: sine).
double | LFO1Frequency
| Frequency of the sample amplitude LFO (0.10 - 10.00 Hz).
double | LFO1Phase
| [gig extension]: Phase displacement of the amplitude LFO's wave form (0.0° - 360.0°).
uint16_t | LFO1InternalDepth
| Firm pitch of the sample amplitude LFO (0 - 1200 cents).
uint16_t | LFO1ControlDepth
| Controller depth influencing sample amplitude LFO pitch (0 - 1200 cents).
lfo1_ctrl_t | LFO1Controller
| MIDI Controller which controls sample amplitude LFO.
bool | LFO1FlipPhase
| Inverts the polarity of the sample amplitude LFO wave, so it flips the wave form vertically.
bool | LFO1Sync
| If set to true only one LFO should be used for all voices.
uint16_t | EG2PreAttack
| Preattack value of the filter cutoff EG (0 - 1000 permille).
double | EG2Attack
| Attack time of the filter cutoff EG (0.000 - 60.000s).
double | EG2Decay1
| Decay time of the filter cutoff EG (0.000 - 60.000s).
double | EG2Decay2
| Only if EG2InfiniteSustain == false: 2nd stage decay time of the filter cutoff EG (0.000 - 60.000s).
bool | EG2InfiniteSustain
| If true, instead of going into Decay2 phase, Decay1 level will be hold until note will be released.
uint16_t | EG2Sustain
| Sustain value of the filter cutoff EG (0 - 1000 permille).
double | EG2Release
| Release time of the filter cutoff EG (0.000 - 60.000s).
eg2_ctrl_t | EG2Controller
| MIDI Controller which has influence on filter cutoff EG parameters (attack, decay, release).
bool | EG2ControllerInvert
| Invert values coming from defined EG2 controller.
uint8_t | EG2ControllerAttackInfluence
| Amount EG2 Controller has influence on the EG2 Attack time (0 - 3, where 0 means off).
uint8_t | EG2ControllerDecayInfluence
| Amount EG2 Controller has influence on the EG2 Decay time (0 - 3, where 0 means off).
uint8_t | EG2ControllerReleaseInfluence
| Amount EG2 Controller has influence on the EG2 Release time (0 - 3, where 0 means off).
lfo_wave_t | LFO2WaveForm
| [gig extension]: The fundamental wave form to be used by the filter cutoff LFO, e.g. sine, triangle, saw, square (default: sine).
double | LFO2Frequency
| Frequency of the filter cutoff LFO (0.10 - 10.00 Hz).
double | LFO2Phase
| [gig extension]: Phase displacement of the filter cutoff LFO's wave form (0.0° - 360.0°).
uint16_t | LFO2InternalDepth
| Firm pitch of the filter cutoff LFO (0 - 1200 cents).
uint16_t | LFO2ControlDepth
| Controller depth influencing filter cutoff LFO pitch (0 - 1200).
lfo2_ctrl_t | LFO2Controller
| MIDI Controlle which controls the filter cutoff LFO.
bool | LFO2FlipPhase
| Inverts the polarity of the filter cutoff LFO wave, so it flips the wave form vertically.
bool | LFO2Sync
| If set to true only one LFO should be used for all voices.
double | EG3Attack
| Attack time of the sample pitch EG (0.000 - 10.000s).
int16_t | EG3Depth
| Depth of the sample pitch EG (-1200 - +1200).
lfo_wave_t | LFO3WaveForm
| [gig extension]: The fundamental wave form to be used by the pitch LFO, e.g. sine, triangle, saw, square (default: sine).
double | LFO3Frequency
| Frequency of the sample pitch LFO (0.10 - 10.00 Hz).
double | LFO3Phase
| [gig extension]: Phase displacement of the pitch LFO's wave form (0.0° - 360.0°).
int16_t | LFO3InternalDepth
| Firm depth of the sample pitch LFO (-1200 - +1200 cents).
int16_t | LFO3ControlDepth
| Controller depth of the sample pitch LFO (-1200 - +1200 cents).
lfo3_ctrl_t | LFO3Controller
| MIDI Controller which controls the sample pitch LFO.
bool | LFO3FlipPhase
| [gig extension]: Inverts the polarity of the pitch LFO wave, so it flips the wave form vertically (NOTE: this setting for LFO3 is a gig format extension; flipping the polarity was only available for LFO1 and LFO2 in the original Gigasampler/GigaStudio software).
bool | LFO3Sync
| If set to true only one LFO should be used for all voices.
bool | VCFEnabled
| If filter should be used.
vcf_type_t | VCFType
| Defines the general filter characteristic (lowpass, highpass, bandpass, etc.).
vcf_cutoff_ctrl_t | VCFCutoffController
| Specifies which external controller has influence on the filter cutoff frequency.
bool | VCFCutoffControllerInvert
| Inverts values coming from the defined cutoff controller.
uint8_t | VCFCutoff
| Max. cutoff frequency.
curve_type_t | VCFVelocityCurve
| Defines a transformation curve for the incoming velocity values, affecting the VCF.
uint8_t | VCFVelocityScale
| (0-127) Amount velocity controls VCF cutoff frequency (only if no other VCF cutoff controller is defined, otherwise this is the minimum cutoff).
uint8_t | VCFVelocityDynamicRange
| 0x04 = lowest, 0x00 = highest .
uint8_t | VCFResonance
| Firm internal filter resonance weight.
bool | VCFResonanceDynamic
| If true: Increases the resonance Q according to changes of controllers that actually control the VCF cutoff frequency (EG2, ext. VCF MIDI controller).
vcf_res_ctrl_t | VCFResonanceController
| Specifies which external controller has influence on the filter resonance Q.
bool | VCFKeyboardTracking
| If true: VCF cutoff frequence will be dependend to the note key position relative to the defined breakpoint value.
uint8_t | VCFKeyboardTrackingBreakpoint
| See VCFKeyboardTracking (0 - 127).
curve_type_t | VelocityResponseCurve
| Defines a transformation curve to the incoming velocity values affecting amplitude (usually you don't have to interpret this parameter, use GetVelocityAttenuation() instead).
uint8_t | VelocityResponseDepth
| Dynamic range of velocity affecting amplitude (0 - 4) (usually you don't have to interpret this parameter, use GetVelocityAttenuation() instead).
uint8_t | VelocityResponseCurveScaling
| 0 - 127 (usually you don't have to interpret this parameter, use GetVelocityAttenuation() instead).
curve_type_t | ReleaseVelocityResponseCurve
| Defines a transformation curve to the incoming release veloctiy values affecting envelope times.
uint8_t | ReleaseVelocityResponseDepth
| Dynamic range of release velocity affecting envelope time (0 - 4).
uint8_t | ReleaseTriggerDecay
| 0 - 8
crossfade_t | Crossfade
bool | PitchTrack
| If true: sample will be pitched according to the key position (this will be disabled for drums for example).
dim_bypass_ctrl_t | DimensionBypass
| If defined, the MIDI controller can switch on/off the dimension in realtime.
int8_t | Pan
| Panorama / Balance (-64..0..63 <-> left..middle..right).
bool | SelfMask
| If true: high velocity notes will stop low velocity notes at the same note, with that you can save voices that wouldn't be audible anyway.
attenuation_ctrl_t | AttenuationController
| MIDI Controller which has influence on the volume level of the sample (or entire sample group).
bool | InvertAttenuationController
| Inverts the values coming from the defined Attenuation Controller.
uint8_t | AttenuationControllerThreshold
| 0-127
uint8_t | ChannelOffset
| Audio output where the audio signal of the dimension region should be routed to (0 - 9).
bool | SustainDefeat
| If true: Sustain pedal will not hold a note.
bool | MSDecode
| Gigastudio flag: defines if Mid Side Recordings should be decoded.
uint16_t | SampleStartOffset
| Number of samples the sample start should be moved (0 - 2000).
double | SampleAttenuation
| Sample volume (calculated from DLS::Sampler::Gain).
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).

eg_opt_t | EG1Options
| [gig extension]: Behavior options which should be used for envelope generator 1 (volume amplitude EG).
eg_opt_t | EG2Options
| [gig extension]: Behavior options which should be used for envelope generator 2 (filter cutoff EG).
sust_rel_trg_t | SustainReleaseTrigger
| [gig extension]: Whether a sustain pedal up event shall play release trigger sample.
bool | NoNoteOffReleaseTrigger
| [gig extension]: If `true` then don't play a release trigger sample on MIDI note-off events.
uint8_t | UnityNote
int16_t | FineTune
int32_t | Gain
uint32_t | SampleLoops
| Reflects the number of sample loops.
sample_loop_t * | pSampleLoops
| Points to the beginning of a sample loop array, or is NULL if there are no loops defined.

## Protected Member Functions

| DimensionRegion (Region *pParent, RIFF::List *_3ewl)
| DimensionRegion (RIFF::List *_3ewl, const DimensionRegion &src)
void | CopyAssign (const DimensionRegion *orig, const std::map< Sample *, Sample * > *mSamples)
| Make a (semi) deep copy of the DimensionRegion object given by orig and assign it to this object.
void | serialize (Serialization::Archive *archive)
virtual void | DeleteChunks ()
| Remove all RIFF chunks associated with this Sampler object.
virtual void | CopyAssign (const Sampler *orig)
| Make a deep copy of the Sampler object given by orig and assign it to this object.

## Protected Attributes

uint8_t * | VelocityTable
| For velocity dimensions with custom defined zone ranges only: used for fast converting from velocity MIDI value to dimension bit number.
bool | NoSampleDepthTruncation
bool | NoSampleCompression
RIFF::List * | pParentList
uint32_t | uiHeaderSize
uint32_t | SamplerOptions

## Detailed Description

Encapsulates articulation informations of a dimension region.

This is the most important data object of the Gigasampler / GigaStudio format. A DimensionRegion provides the link to the sample to be played and all required articulation informations to be interpreted for playing back the sample and processing it appropriately by the sampler software. Every Region of a Gigasampler Instrument has at least one dimension region (exactly then when the Region has no dimension defined). Many Regions though provide more than one DimensionRegion, which reflect different playing "cases". For example a different sample might be played if a certain pedal is pressed down, or if the note was triggered with different velocity.

One instance of a DimensionRegion reflects exactly one particular case while playing an instrument (for instance "note between C3 and E3 was triggered AND note on velocity was between 20 and 42 AND modulation wheel controller is between 80 and 127). The DimensionRegion defines what to do under that one particular case, that is which sample to play back and how to play that sample back exactly and how to process it. So a DimensionRegion object is always linked to exactly one sample. It may however also link to no sample at all, for defining a "silence" case where nothing shall be played (for example when note on velocity was below 6). Note that a DimensionRegion object only defines "what to do", but it does not define "when to do it". To actually resolve which DimensionRegion to pick under which situation, you need to refer to the DimensionRegions' parent Region object. The Region object contains the necessary "Dimension" definitions, which in turn define which DimensionRegion is associated with which playing case exactly.

The Gigasampler/GigaStudio format defines 3 Envelope Generators and 3 Low Frequency Oscillators:

- EG1 and LFO1, both controlling sample amplitude
- EG2 and LFO2, both controlling filter cutoff frequency
- EG3 and LFO3, both controlling sample pitch

Since the gig format was designed as extension to the DLS file format, this class is derived from the DLS::Sampler class. So also refer to DLS::Sampler for additional informations, class attributes and methods.

Definition at line 535 of file gig.h.

## Constructor & Destructor Documentation

## DimensionRegion() [1/2]

gig::DimensionRegion::DimensionRegion | ( | Region * | pParent,
|  | RIFF::List * | _3ewl )

protected

Definition at line 1496 of file gig.cpp.

## DimensionRegion() [2/2]

gig::DimensionRegion::DimensionRegion | ( | RIFF::List * | _3ewl,
|  | const DimensionRegion & | src )

protected

Definition at line 1814 of file gig.cpp.

## ~DimensionRegion()

gig::DimensionRegion::~DimensionRegion | ( |  | ) |

protected

Definition at line 3102 of file gig.cpp.

## Member Function Documentation

## AddSampleLoop()

void DLS::Sampler::AddSampleLoop | ( | sample_loop_t * | pLoopDef | ) |

Adds a new sample loop with the provided loop definition.

Parameters

  pLoopDef | - points to a loop definition that is to be copied

Definition at line 435 of file DLS.cpp.

## CopyAssign() [1/3]

void DLS::Sampler::CopyAssign | ( | const Sampler * | orig | ) |

virtual inherited

Make a deep copy of the Sampler object given by orig and assign it to this object.

Parameters

  orig | - original Sampler object to be copied from

Definition at line 805 of file DLS.cpp.

References Gain, pSampleLoops, and SampleLoops.

Referenced by DLS::Region::CopyAssign().

## CopyAssign() [2/3]

void gig::DimensionRegion::CopyAssign | ( | const DimensionRegion * | orig | ) |

virtual

Make a (semi) deep copy of the DimensionRegion object given by orig and assign it to this object.

Note that all sample pointers referenced by orig are simply copied as memory address. Thus the respective samples are shared, not duplicated!

Parameters

  orig | - original DimensionRegion object to be copied from

Definition at line 1842 of file gig.cpp.

References CopyAssign().

Referenced by CopyAssign(), gig::Region::DeleteDimensionZone(), and gig::Region::SplitDimensionZone().

## CopyAssign() [3/3]

void gig::DimensionRegion::CopyAssign | ( | const DimensionRegion * | orig,
|  | const std::map< Sample *, Sample * > * | mSamples )

protected

Make a (semi) deep copy of the DimensionRegion object given by orig and assign it to this object.

Parameters

  orig | - original DimensionRegion object to be copied from
  mSamples | - crosslink map between the foreign file's samples and this file's samples

Definition at line 1854 of file gig.cpp.

References pSample, pSampleLoops, SampleLoops, and VelocityTable.

## DeleteChunks()

void DLS::Sampler::DeleteChunks | ( |  | ) |

virtual inherited

Remove all RIFF chunks associated with this Sampler object.

At the moment Sampler::DeleteChunks() does nothing. It is recommended to call this method explicitly though from deriving classes's own overridden implementation of this method to avoid potential future compatibility issues.

See Storage::DeleteChunks() for details.

Implements DLS::Storage.

Reimplemented in DLS::Region.

Definition at line 751 of file DLS.cpp.

Referenced by DLS::Region::DeleteChunks().

## DeleteSampleLoop()

void DLS::Sampler::DeleteSampleLoop | ( | sample_loop_t * | pLoopDef | ) |

Deletes an existing sample loop.

Parameters

  pLoopDef | - pointer to existing loop definition

Exceptions

  Exception | - if given loop definition does not exist

Definition at line 436 of file DLS.cpp.

References RIFF::List::AddSubList(), DLS::libraryName(), and DLS::libraryVersion().

## GetParent()

Region * gig::DimensionRegion::GetParent | ( |  | ) | const

Definition at line 2450 of file gig.cpp.

## GetVelocityAttenuation()

double gig::DimensionRegion::GetVelocityAttenuation | ( | uint8_t | MIDIKeyVelocity | ) |

Returns the correct amplitude factor for the given MIDIKeyVelocity.

All involved parameters (VelocityResponseCurve, VelocityResponseDepth and VelocityResponseCurveScaling) involved are taken into account to calculate the amplitude factor. Use this method when a key was triggered to get the volume with which the sample should be played back.

Parameters

  MIDIKeyVelocity | MIDI velocity value of the triggered key (between 0 and 127)

Returns
  amplitude factor (between 0.0 and 1.0)

Definition at line 3129 of file gig.cpp.

## GetVelocityCutoff()

double gig::DimensionRegion::GetVelocityCutoff | ( | uint8_t | MIDIKeyVelocity | ) |

Definition at line 3137 of file gig.cpp.

## GetVelocityRelease()

double gig::DimensionRegion::GetVelocityRelease | ( | uint8_t | MIDIKeyVelocity | ) |

Definition at line 3133 of file gig.cpp.

## serialize()

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

protected

Definition at line 1896 of file gig.cpp.

## SetGain()

void gig::DimensionRegion::SetGain | ( | int32_t | gain | ) |

virtual

Updates the respective member variable and updates `SampleAttenuation` which depends on this value.

Reimplemented from DLS::Sampler.

Definition at line 2000 of file gig.cpp.

References Gain, and SampleAttenuation.

## SetReleaseVelocityResponseCurve()

void gig::DimensionRegion::SetReleaseVelocityResponseCurve | ( | curve_type_t | curve | ) |

Updates the respective member variable and the lookup table / cache that depends on this value.

Definition at line 3181 of file gig.cpp.

References ReleaseVelocityResponseCurve, and ReleaseVelocityResponseDepth.

## SetReleaseVelocityResponseDepth()

void gig::DimensionRegion::SetReleaseVelocityResponseDepth | ( | uint8_t | depth | ) |

Updates the respective member variable and the lookup table / cache that depends on this value.

Definition at line 3190 of file gig.cpp.

References ReleaseVelocityResponseCurve, and ReleaseVelocityResponseDepth.

## SetVCFCutoffController()

void gig::DimensionRegion::SetVCFCutoffController | ( | vcf_cutoff_ctrl_t | controller | ) |

Updates the respective member variable and the lookup table / cache that depends on this value.

Definition at line 3199 of file gig.cpp.

References VCFCutoffController, VCFVelocityCurve, VCFVelocityDynamicRange, and VCFVelocityScale.

## SetVCFVelocityCurve()

void gig::DimensionRegion::SetVCFVelocityCurve | ( | curve_type_t | curve | ) |

Updates the respective member variable and the lookup table / cache that depends on this value.

Definition at line 3208 of file gig.cpp.

References VCFCutoffController, VCFVelocityCurve, VCFVelocityDynamicRange, and VCFVelocityScale.

## SetVCFVelocityDynamicRange()

void gig::DimensionRegion::SetVCFVelocityDynamicRange | ( | uint8_t | range | ) |

Updates the respective member variable and the lookup table / cache that depends on this value.

Definition at line 3217 of file gig.cpp.

References VCFCutoffController, VCFVelocityCurve, VCFVelocityDynamicRange, and VCFVelocityScale.

## SetVCFVelocityScale()

void gig::DimensionRegion::SetVCFVelocityScale | ( | uint8_t | scaling | ) |

Updates the respective member variable and the lookup table / cache that depends on this value.

Definition at line 3226 of file gig.cpp.

References VCFCutoffController, VCFVelocityCurve, VCFVelocityDynamicRange, and VCFVelocityScale.

## SetVelocityResponseCurve()

void gig::DimensionRegion::SetVelocityResponseCurve | ( | curve_type_t | curve | ) |

Updates the respective member variable and the lookup table / cache that depends on this value.

Definition at line 3145 of file gig.cpp.

References VelocityResponseCurve, VelocityResponseCurveScaling, and VelocityResponseDepth.

## SetVelocityResponseCurveScaling()

void gig::DimensionRegion::SetVelocityResponseCurveScaling | ( | uint8_t | scaling | ) |

Updates the respective member variable and the lookup table / cache that depends on this value.

Definition at line 3169 of file gig.cpp.

References VelocityResponseCurve, VelocityResponseCurveScaling, and VelocityResponseDepth.

## SetVelocityResponseDepth()

void gig::DimensionRegion::SetVelocityResponseDepth | ( | uint8_t | depth | ) |

Updates the respective member variable and the lookup table / cache that depends on this value.

Definition at line 3157 of file gig.cpp.

References VelocityResponseCurve, VelocityResponseCurveScaling, and VelocityResponseDepth.

## UpdateChunks()

void gig::DimensionRegion::UpdateChunks | ( | progress_t * | pProgress | ) |

virtual

Apply dimension region settings to the respective RIFF chunks.

You have to call File::Save() to make changes persistent.

Usually there is absolutely no need to call this method explicitly. It will be called automatically when File::Save() was called.

Parameters

  pProgress | - callback function for progress notification

Reimplemented from DLS::Sampler.

Definition at line 2014 of file gig.cpp.

References gig::eg_opt_t::AttackCancel, AttenuationController, AttenuationControllerThreshold, ChannelOffset, gig::curve_type_linear, gig::curve_type_nonlinear, gig::curve_type_special, gig::curve_type_unknown, gig::eg_opt_t::Decay1Cancel, gig::dim_bypass_ctrl_94, gig::dim_bypass_ctrl_95, gig::dim_bypass_ctrl_none, DimensionBypass, DimensionUpperLimits, EG1Attack, EG1Controller, EG1ControllerAttackInfluence, EG1ControllerDecayInfluence, EG1ControllerInvert, EG1ControllerReleaseInfluence, EG1Decay1, EG1Decay2, EG1Hold, EG1InfiniteSustain, EG1Options, EG1PreAttack, EG1Release, EG1Sustain, EG2Attack, EG2Controller, EG2ControllerAttackInfluence, EG2ControllerDecayInfluence, EG2ControllerInvert, EG2ControllerReleaseInfluence, EG2Decay1, EG2Decay2, EG2InfiniteSustain, EG2Options, EG2PreAttack, EG2Release, EG2Sustain, EG3Attack, EG3Depth, RIFF::Chunk::GetNewSize(), InvertAttenuationController, LFO1ControlDepth, LFO1Controller, LFO1FlipPhase, LFO1Frequency, LFO1InternalDepth, LFO1Phase, LFO1Sync, LFO1WaveForm, LFO2ControlDepth, LFO2Controller, LFO2FlipPhase, LFO2Frequency, LFO2InternalDepth, LFO2Phase, LFO2Sync, LFO2WaveForm, LFO3ControlDepth, LFO3Controller, LFO3FlipPhase, LFO3Frequency, LFO3InternalDepth, LFO3Phase, LFO3Sync, LFO3WaveForm, RIFF::Chunk::LoadChunkData(), MSDecode, NoNoteOffReleaseTrigger, Pan, PitchTrack, gig::File::pVersion, gig::eg_opt_t::ReleaseCancel, ReleaseTriggerDecay, ReleaseVelocityResponseCurve, ReleaseVelocityResponseDepth, RIFF::Chunk::Resize(), SampleStartOffset, SelfMask, SustainDefeat, SustainReleaseTrigger, DLS::Sampler::UpdateChunks(), gig::vcf_res_ctrl_none, gig::vcf_type_lowpass, gig::vcf_type_lowpassturbo, VCFCutoff, VCFCutoffController, VCFCutoffControllerInvert, VCFEnabled, VCFKeyboardTracking, VCFKeyboardTrackingBreakpoint, VCFResonance, VCFResonanceController, VCFResonanceDynamic, VCFType, VCFVelocityCurve, VCFVelocityDynamicRange, VCFVelocityScale, VelocityResponseCurve, VelocityResponseCurveScaling, VelocityResponseDepth, and VelocityUpperLimit.

## Member Data Documentation

## AttenuationController

attenuation_ctrl_t gig::DimensionRegion::AttenuationController

MIDI Controller which has influence on the volume level of the sample (or entire sample group).

Definition at line 620 of file gig.h.

Referenced by UpdateChunks().

## AttenuationControllerThreshold

uint8_t gig::DimensionRegion::AttenuationControllerThreshold

0-127

Definition at line 622 of file gig.h.

Referenced by UpdateChunks().

## ChannelOffset

uint8_t gig::DimensionRegion::ChannelOffset

Audio output where the audio signal of the dimension region should be routed to (0 - 9).

Definition at line 623 of file gig.h.

Referenced by UpdateChunks().

## Crossfade

crossfade_t gig::DimensionRegion::Crossfade

Definition at line 615 of file gig.h.

## DimensionBypass

dim_bypass_ctrl_t gig::DimensionRegion::DimensionBypass

If defined, the MIDI controller can switch on/off the dimension in realtime.

Definition at line 617 of file gig.h.

Referenced by UpdateChunks().

## DimensionUpperLimits

uint8_t gig::DimensionRegion::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).

Definition at line 628 of file gig.h.

Referenced by gig::Region::DeleteDimension(), gig::Region::DeleteDimensionZone(), gig::Region::SplitDimensionZone(), and UpdateChunks().

## EG1Attack

double gig::DimensionRegion::EG1Attack

Attack time of the sample amplitude EG (0.000 - 60.000s).

Definition at line 541 of file gig.h.

Referenced by UpdateChunks().

## EG1Controller

eg1_ctrl_t gig::DimensionRegion::EG1Controller

MIDI Controller which has influence on sample amplitude EG parameters (attack, decay, release).

Definition at line 548 of file gig.h.

Referenced by UpdateChunks().

## EG1ControllerAttackInfluence

uint8_t gig::DimensionRegion::EG1ControllerAttackInfluence

Amount EG1 Controller has influence on the EG1 Attack time (0 - 3, where 0 means off).

Definition at line 550 of file gig.h.

Referenced by UpdateChunks().

## EG1ControllerDecayInfluence

uint8_t gig::DimensionRegion::EG1ControllerDecayInfluence

Amount EG1 Controller has influence on the EG1 Decay time (0 - 3, where 0 means off).

Definition at line 551 of file gig.h.

Referenced by UpdateChunks().

## EG1ControllerInvert

bool gig::DimensionRegion::EG1ControllerInvert

Invert values coming from defined EG1 controller.

Definition at line 549 of file gig.h.

Referenced by UpdateChunks().

## EG1ControllerReleaseInfluence

uint8_t gig::DimensionRegion::EG1ControllerReleaseInfluence

Amount EG1 Controller has influence on the EG1 Release time (0 - 3, where 0 means off).

Definition at line 552 of file gig.h.

Referenced by UpdateChunks().

## EG1Decay1

double gig::DimensionRegion::EG1Decay1

Decay time of the sample amplitude EG (0.000 - 60.000s).

Definition at line 542 of file gig.h.

Referenced by UpdateChunks().

## EG1Decay2

double gig::DimensionRegion::EG1Decay2

Only if EG1InfiniteSustain == false: 2nd decay stage time of the sample amplitude EG (0.000 - 60.000s).

Definition at line 543 of file gig.h.

Referenced by UpdateChunks().

## EG1Hold

bool gig::DimensionRegion::EG1Hold

If true, Decay1 stage should be postponed until the sample reached the sample loop start.

Definition at line 547 of file gig.h.

Referenced by UpdateChunks().

## EG1InfiniteSustain

bool gig::DimensionRegion::EG1InfiniteSustain

If true, instead of going into Decay2 phase, Decay1 level will be hold until note will be released.

Definition at line 544 of file gig.h.

Referenced by UpdateChunks().

## EG1Options

eg_opt_t gig::DimensionRegion::EG1Options

[gig extension]: Behavior options which should be used for envelope generator 1 (volume amplitude EG).

Definition at line 629 of file gig.h.

Referenced by UpdateChunks().

## EG1PreAttack

uint16_t gig::DimensionRegion::EG1PreAttack

Preattack value of the sample amplitude EG (0 - 1000 permille).

Definition at line 540 of file gig.h.

Referenced by UpdateChunks().

## EG1Release

double gig::DimensionRegion::EG1Release

Release time of the sample amplitude EG (0.000 - 60.000s).

Definition at line 546 of file gig.h.

Referenced by UpdateChunks().

## EG1Sustain

uint16_t gig::DimensionRegion::EG1Sustain

Sustain value of the sample amplitude EG (0 - 1000 permille).

Definition at line 545 of file gig.h.

Referenced by UpdateChunks().

## EG2Attack

double gig::DimensionRegion::EG2Attack

Attack time of the filter cutoff EG (0.000 - 60.000s).

Definition at line 563 of file gig.h.

Referenced by UpdateChunks().

## EG2Controller

eg2_ctrl_t gig::DimensionRegion::EG2Controller

MIDI Controller which has influence on filter cutoff EG parameters (attack, decay, release).

Definition at line 569 of file gig.h.

Referenced by UpdateChunks().

## EG2ControllerAttackInfluence

uint8_t gig::DimensionRegion::EG2ControllerAttackInfluence

Amount EG2 Controller has influence on the EG2 Attack time (0 - 3, where 0 means off).

Definition at line 571 of file gig.h.

Referenced by UpdateChunks().

## EG2ControllerDecayInfluence

uint8_t gig::DimensionRegion::EG2ControllerDecayInfluence

Amount EG2 Controller has influence on the EG2 Decay time (0 - 3, where 0 means off).

Definition at line 572 of file gig.h.

Referenced by UpdateChunks().

## EG2ControllerInvert

bool gig::DimensionRegion::EG2ControllerInvert

Invert values coming from defined EG2 controller.

Definition at line 570 of file gig.h.

Referenced by UpdateChunks().

## EG2ControllerReleaseInfluence

uint8_t gig::DimensionRegion::EG2ControllerReleaseInfluence

Amount EG2 Controller has influence on the EG2 Release time (0 - 3, where 0 means off).

Definition at line 573 of file gig.h.

Referenced by UpdateChunks().

## EG2Decay1

double gig::DimensionRegion::EG2Decay1

Decay time of the filter cutoff EG (0.000 - 60.000s).

Definition at line 564 of file gig.h.

Referenced by UpdateChunks().

## EG2Decay2

double gig::DimensionRegion::EG2Decay2

Only if EG2InfiniteSustain == false: 2nd stage decay time of the filter cutoff EG (0.000 - 60.000s).

Definition at line 565 of file gig.h.

Referenced by UpdateChunks().

## EG2InfiniteSustain

bool gig::DimensionRegion::EG2InfiniteSustain

If true, instead of going into Decay2 phase, Decay1 level will be hold until note will be released.

Definition at line 566 of file gig.h.

Referenced by UpdateChunks().

## EG2Options

eg_opt_t gig::DimensionRegion::EG2Options

[gig extension]: Behavior options which should be used for envelope generator 2 (filter cutoff EG).

Definition at line 630 of file gig.h.

Referenced by UpdateChunks().

## EG2PreAttack

uint16_t gig::DimensionRegion::EG2PreAttack

Preattack value of the filter cutoff EG (0 - 1000 permille).

Definition at line 562 of file gig.h.

Referenced by UpdateChunks().

## EG2Release

double gig::DimensionRegion::EG2Release

Release time of the filter cutoff EG (0.000 - 60.000s).

Definition at line 568 of file gig.h.

Referenced by UpdateChunks().

## EG2Sustain

uint16_t gig::DimensionRegion::EG2Sustain

Sustain value of the filter cutoff EG (0 - 1000 permille).

Definition at line 567 of file gig.h.

Referenced by UpdateChunks().

## EG3Attack

double gig::DimensionRegion::EG3Attack

Attack time of the sample pitch EG (0.000 - 10.000s).

Definition at line 583 of file gig.h.

Referenced by UpdateChunks().

## EG3Depth

int16_t gig::DimensionRegion::EG3Depth

Depth of the sample pitch EG (-1200 - +1200).

Definition at line 584 of file gig.h.

Referenced by UpdateChunks().

## FineTune

int16_t DLS::Sampler::FineTune

Definition at line 428 of file DLS.h.

## Gain

int32_t DLS::Sampler::Gain

Deprecated
  Don't alter directly, use SetGain() instead!

Definition at line 429 of file DLS.h.

Referenced by SetGain().

## InvertAttenuationController

bool gig::DimensionRegion::InvertAttenuationController

Inverts the values coming from the defined Attenuation Controller.

Definition at line 621 of file gig.h.

Referenced by UpdateChunks().

## LFO1ControlDepth

uint16_t gig::DimensionRegion::LFO1ControlDepth

Controller depth influencing sample amplitude LFO pitch (0 - 1200 cents).

Definition at line 557 of file gig.h.

Referenced by UpdateChunks().

## LFO1Controller

lfo1_ctrl_t gig::DimensionRegion::LFO1Controller

MIDI Controller which controls sample amplitude LFO.

Definition at line 558 of file gig.h.

Referenced by UpdateChunks().

## LFO1FlipPhase

bool gig::DimensionRegion::LFO1FlipPhase

Inverts the polarity of the sample amplitude LFO wave, so it flips the wave form vertically.

Definition at line 559 of file gig.h.

Referenced by UpdateChunks().

## LFO1Frequency

double gig::DimensionRegion::LFO1Frequency

Frequency of the sample amplitude LFO (0.10 - 10.00 Hz).

Definition at line 554 of file gig.h.

Referenced by UpdateChunks().

## LFO1InternalDepth

uint16_t gig::DimensionRegion::LFO1InternalDepth

Firm pitch of the sample amplitude LFO (0 - 1200 cents).

Definition at line 556 of file gig.h.

Referenced by UpdateChunks().

## LFO1Phase

double gig::DimensionRegion::LFO1Phase

[gig extension]: Phase displacement of the amplitude LFO's wave form (0.0° - 360.0°).

Definition at line 555 of file gig.h.

Referenced by UpdateChunks().

## LFO1Sync

bool gig::DimensionRegion::LFO1Sync

If set to true only one LFO should be used for all voices.

Definition at line 560 of file gig.h.

Referenced by UpdateChunks().

## LFO1WaveForm

lfo_wave_t gig::DimensionRegion::LFO1WaveForm

[gig extension]: The fundamental wave form to be used by the amplitude LFO, e.g. sine, triangle, saw, square (default: sine).

Definition at line 553 of file gig.h.

Referenced by UpdateChunks().

## LFO2ControlDepth

uint16_t gig::DimensionRegion::LFO2ControlDepth

Controller depth influencing filter cutoff LFO pitch (0 - 1200).

Definition at line 578 of file gig.h.

Referenced by UpdateChunks().

## LFO2Controller

lfo2_ctrl_t gig::DimensionRegion::LFO2Controller

MIDI Controlle which controls the filter cutoff LFO.

Definition at line 579 of file gig.h.

Referenced by UpdateChunks().

## LFO2FlipPhase

bool gig::DimensionRegion::LFO2FlipPhase

Inverts the polarity of the filter cutoff LFO wave, so it flips the wave form vertically.

Definition at line 580 of file gig.h.

Referenced by UpdateChunks().

## LFO2Frequency

double gig::DimensionRegion::LFO2Frequency

Frequency of the filter cutoff LFO (0.10 - 10.00 Hz).

Definition at line 575 of file gig.h.

Referenced by UpdateChunks().

## LFO2InternalDepth

uint16_t gig::DimensionRegion::LFO2InternalDepth

Firm pitch of the filter cutoff LFO (0 - 1200 cents).

Definition at line 577 of file gig.h.

Referenced by UpdateChunks().

## LFO2Phase

double gig::DimensionRegion::LFO2Phase

[gig extension]: Phase displacement of the filter cutoff LFO's wave form (0.0° - 360.0°).

Definition at line 576 of file gig.h.

Referenced by UpdateChunks().

## LFO2Sync

bool gig::DimensionRegion::LFO2Sync

If set to true only one LFO should be used for all voices.

Definition at line 581 of file gig.h.

Referenced by UpdateChunks().

## LFO2WaveForm

lfo_wave_t gig::DimensionRegion::LFO2WaveForm

[gig extension]: The fundamental wave form to be used by the filter cutoff LFO, e.g. sine, triangle, saw, square (default: sine).

Definition at line 574 of file gig.h.

Referenced by UpdateChunks().

## LFO3ControlDepth

int16_t gig::DimensionRegion::LFO3ControlDepth

Controller depth of the sample pitch LFO (-1200 - +1200 cents).

Definition at line 589 of file gig.h.

Referenced by UpdateChunks().

## LFO3Controller

lfo3_ctrl_t gig::DimensionRegion::LFO3Controller

MIDI Controller which controls the sample pitch LFO.

Definition at line 590 of file gig.h.

Referenced by UpdateChunks().

## LFO3FlipPhase

bool gig::DimensionRegion::LFO3FlipPhase

[gig extension]: Inverts the polarity of the pitch LFO wave, so it flips the wave form vertically (NOTE: this setting for LFO3 is a gig format extension; flipping the polarity was only available for LFO1 and LFO2 in the original Gigasampler/GigaStudio software).

Definition at line 591 of file gig.h.

Referenced by UpdateChunks().

## LFO3Frequency

double gig::DimensionRegion::LFO3Frequency

Frequency of the sample pitch LFO (0.10 - 10.00 Hz).

Definition at line 586 of file gig.h.

Referenced by UpdateChunks().

## LFO3InternalDepth

int16_t gig::DimensionRegion::LFO3InternalDepth

Firm depth of the sample pitch LFO (-1200 - +1200 cents).

Definition at line 588 of file gig.h.

Referenced by UpdateChunks().

## LFO3Phase

double gig::DimensionRegion::LFO3Phase

[gig extension]: Phase displacement of the pitch LFO's wave form (0.0° - 360.0°).

Definition at line 587 of file gig.h.

Referenced by UpdateChunks().

## LFO3Sync

bool gig::DimensionRegion::LFO3Sync

If set to true only one LFO should be used for all voices.

Definition at line 592 of file gig.h.

Referenced by UpdateChunks().

## LFO3WaveForm

lfo_wave_t gig::DimensionRegion::LFO3WaveForm

[gig extension]: The fundamental wave form to be used by the pitch LFO, e.g. sine, triangle, saw, square (default: sine).

Definition at line 585 of file gig.h.

Referenced by UpdateChunks().

## MSDecode

bool gig::DimensionRegion::MSDecode

Gigastudio flag: defines if Mid Side Recordings should be decoded.

Definition at line 625 of file gig.h.

Referenced by UpdateChunks().

## NoNoteOffReleaseTrigger

bool gig::DimensionRegion::NoNoteOffReleaseTrigger

[gig extension]: If `true` then don't play a release trigger sample on MIDI note-off events.

Definition at line 632 of file gig.h.

Referenced by UpdateChunks().

## NoSampleCompression

bool DLS::Sampler::NoSampleCompression

inherited

Definition at line 431 of file DLS.h.

## NoSampleDepthTruncation

bool DLS::Sampler::NoSampleDepthTruncation

inherited

Definition at line 430 of file DLS.h.

## Pan

int8_t gig::DimensionRegion::Pan

Panorama / Balance (-64..0..63 <-> left..middle..right).

Definition at line 618 of file gig.h.

Referenced by UpdateChunks().

## PitchTrack

bool gig::DimensionRegion::PitchTrack

If true: sample will be pitched according to the key position (this will be disabled for drums for example).

Definition at line 616 of file gig.h.

Referenced by UpdateChunks().

## pParentList

RIFF::List* DLS::Sampler::pParentList

protected inherited

Definition at line 442 of file DLS.h.

## pSample

Sample* gig::DimensionRegion::pSample

Points to the Sample which is assigned to the dimension region.

Definition at line 538 of file gig.h.

Referenced by CopyAssign(), gig::File::DeleteSample(), and gig::File::UpdateChunks().

## pSampleLoops

sample_loop_t* DLS::Sampler::pSampleLoops

Points to the beginning of a sample loop array, or is NULL if there are no loops defined.

Definition at line 433 of file DLS.h.

Referenced by CopyAssign(), and gig::Sample::ReadAndLoop().

## ReleaseTriggerDecay

uint8_t gig::DimensionRegion::ReleaseTriggerDecay

0 - 8

Definition at line 613 of file gig.h.

Referenced by UpdateChunks().

## ReleaseVelocityResponseCurve

curve_type_t gig::DimensionRegion::ReleaseVelocityResponseCurve

Defines a transformation curve to the incoming release veloctiy values affecting envelope times.

Deprecated
  Don't alter directly, use SetReleaseVelocityResponseCurve() instead!

Definition at line 611 of file gig.h.

Referenced by SetReleaseVelocityResponseCurve(), SetReleaseVelocityResponseDepth(), and UpdateChunks().

## ReleaseVelocityResponseDepth

uint8_t gig::DimensionRegion::ReleaseVelocityResponseDepth

Dynamic range of release velocity affecting envelope time (0 - 4).

Deprecated
  Don't alter directly, use SetReleaseVelocityResponseDepth() instead!

Definition at line 612 of file gig.h.

Referenced by SetReleaseVelocityResponseCurve(), SetReleaseVelocityResponseDepth(), and UpdateChunks().

## SampleAttenuation

double gig::DimensionRegion::SampleAttenuation

Sample volume (calculated from DLS::Sampler::Gain).

Definition at line 627 of file gig.h.

Referenced by SetGain().

## SampleLoops

uint32_t DLS::Sampler::SampleLoops

Reflects the number of sample loops.

Definition at line 432 of file DLS.h.

Referenced by CopyAssign(), gig::Sample::ReadAndLoop(), and gig::File::UpdateChunks().

## SamplerOptions

uint32_t DLS::Sampler::SamplerOptions

protected inherited

Definition at line 444 of file DLS.h.

## SampleStartOffset

uint16_t gig::DimensionRegion::SampleStartOffset

Number of samples the sample start should be moved (0 - 2000).

Definition at line 626 of file gig.h.

Referenced by UpdateChunks().

## SelfMask

bool gig::DimensionRegion::SelfMask

If true: high velocity notes will stop low velocity notes at the same note, with that you can save voices that wouldn't be audible anyway.

Definition at line 619 of file gig.h.

Referenced by UpdateChunks().

## SustainDefeat

bool gig::DimensionRegion::SustainDefeat

If true: Sustain pedal will not hold a note.

Definition at line 624 of file gig.h.

Referenced by UpdateChunks().

## SustainReleaseTrigger

sust_rel_trg_t gig::DimensionRegion::SustainReleaseTrigger

[gig extension]: Whether a sustain pedal up event shall play release trigger sample.

Definition at line 631 of file gig.h.

Referenced by UpdateChunks().

## uiHeaderSize

uint32_t DLS::Sampler::uiHeaderSize

protected inherited

Definition at line 443 of file DLS.h.

## UnityNote

uint8_t DLS::Sampler::UnityNote

Definition at line 427 of file DLS.h.

## VCFCutoff

uint8_t gig::DimensionRegion::VCFCutoff

Max. cutoff frequency.

Definition at line 598 of file gig.h.

Referenced by UpdateChunks().

## VCFCutoffController

vcf_cutoff_ctrl_t gig::DimensionRegion::VCFCutoffController

Specifies which external controller has influence on the filter cutoff frequency.

Deprecated
  Don't alter directly, use SetVCFCutoffController() instead!

Definition at line 596 of file gig.h.

Referenced by SetVCFCutoffController(), SetVCFVelocityCurve(), SetVCFVelocityDynamicRange(), SetVCFVelocityScale(), and UpdateChunks().

## VCFCutoffControllerInvert

bool gig::DimensionRegion::VCFCutoffControllerInvert

Inverts values coming from the defined cutoff controller.

Definition at line 597 of file gig.h.

Referenced by UpdateChunks().

## VCFEnabled

bool gig::DimensionRegion::VCFEnabled

If filter should be used.

Definition at line 594 of file gig.h.

Referenced by UpdateChunks().

## VCFKeyboardTracking

bool gig::DimensionRegion::VCFKeyboardTracking

If true: VCF cutoff frequence will be dependend to the note key position relative to the defined breakpoint value.

Definition at line 605 of file gig.h.

Referenced by UpdateChunks().

## VCFKeyboardTrackingBreakpoint

uint8_t gig::DimensionRegion::VCFKeyboardTrackingBreakpoint

See VCFKeyboardTracking (0 - 127).

Definition at line 606 of file gig.h.

Referenced by UpdateChunks().

## VCFResonance

uint8_t gig::DimensionRegion::VCFResonance

Firm internal filter resonance weight.

Definition at line 602 of file gig.h.

Referenced by UpdateChunks().

## VCFResonanceController

vcf_res_ctrl_t gig::DimensionRegion::VCFResonanceController

Specifies which external controller has influence on the filter resonance Q.

Definition at line 604 of file gig.h.

Referenced by UpdateChunks().

## VCFResonanceDynamic

bool gig::DimensionRegion::VCFResonanceDynamic

If true: Increases the resonance Q according to changes of controllers that actually control the VCF cutoff frequency (EG2, ext. VCF MIDI controller).

Definition at line 603 of file gig.h.

Referenced by UpdateChunks().

## VCFType

vcf_type_t gig::DimensionRegion::VCFType

Defines the general filter characteristic (lowpass, highpass, bandpass, etc.).

Definition at line 595 of file gig.h.

Referenced by UpdateChunks().

## VCFVelocityCurve

curve_type_t gig::DimensionRegion::VCFVelocityCurve

Defines a transformation curve for the incoming velocity values, affecting the VCF.

Deprecated
  Don't alter directly, use SetVCFVelocityCurve() instead!

Definition at line 599 of file gig.h.

Referenced by SetVCFCutoffController(), SetVCFVelocityCurve(), SetVCFVelocityDynamicRange(), SetVCFVelocityScale(), and UpdateChunks().

## VCFVelocityDynamicRange

uint8_t gig::DimensionRegion::VCFVelocityDynamicRange

0x04 = lowest, 0x00 = highest .

Deprecated
  Don't alter directly, use SetVCFVelocityDynamicRange() instead!

Definition at line 601 of file gig.h.

Referenced by SetVCFCutoffController(), SetVCFVelocityCurve(), SetVCFVelocityDynamicRange(), SetVCFVelocityScale(), and UpdateChunks().

## VCFVelocityScale

uint8_t gig::DimensionRegion::VCFVelocityScale

(0-127) Amount velocity controls VCF cutoff frequency (only if no other VCF cutoff controller is defined, otherwise this is the minimum cutoff).

Deprecated
  Don't alter directly, use SetVCFVelocityScale() instead!

Definition at line 600 of file gig.h.

Referenced by SetVCFCutoffController(), SetVCFVelocityCurve(), SetVCFVelocityDynamicRange(), SetVCFVelocityScale(), and UpdateChunks().

## VelocityResponseCurve

curve_type_t gig::DimensionRegion::VelocityResponseCurve

Defines a transformation curve to the incoming velocity values affecting amplitude (usually you don't have to interpret this parameter, use GetVelocityAttenuation() instead).

Deprecated
  Don't alter directly, use SetVelocityResponseCurve() instead!

Definition at line 608 of file gig.h.

Referenced by SetVelocityResponseCurve(), SetVelocityResponseCurveScaling(), SetVelocityResponseDepth(), and UpdateChunks().

## VelocityResponseCurveScaling

uint8_t gig::DimensionRegion::VelocityResponseCurveScaling

0 - 127 (usually you don't have to interpret this parameter, use GetVelocityAttenuation() instead).

Deprecated
  Don't alter directly, use SetVelocityResponseCurveScaling() instead!

Definition at line 610 of file gig.h.

Referenced by SetVelocityResponseCurve(), SetVelocityResponseCurveScaling(), SetVelocityResponseDepth(), and UpdateChunks().

## VelocityResponseDepth

uint8_t gig::DimensionRegion::VelocityResponseDepth

Dynamic range of velocity affecting amplitude (0 - 4) (usually you don't have to interpret this parameter, use GetVelocityAttenuation() instead).

Deprecated
  Don't alter directly, use SetVelocityResponseDepth() instead!

Definition at line 609 of file gig.h.

Referenced by SetVelocityResponseCurve(), SetVelocityResponseCurveScaling(), SetVelocityResponseDepth(), and UpdateChunks().

## VelocityTable

uint8_t* gig::DimensionRegion::VelocityTable

protected

For velocity dimensions with custom defined zone ranges only: used for fast converting from velocity MIDI value to dimension bit number.

Definition at line 663 of file gig.h.

Referenced by CopyAssign(), and gig::Region::GetDimensionRegionByValue().

## VelocityUpperLimit

uint8_t gig::DimensionRegion::VelocityUpperLimit

Defines the upper velocity value limit of a velocity split (only if an user defined limit was set, thus a value not equal to 128/NumberOfSplits, else this value is 0). Only for gig2, for gig3 and above the DimensionUpperLimits are used instead.

Definition at line 537 of file gig.h.

Referenced by UpdateChunks().

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

- gig.h
- gig.cpp