libgig
3.3.0.svn4
|
Encapsulates articulation information of a dimension region. More...
#include <gig.h>
Public Member Functions | |
double | GetVelocityAttenuation (uint8_t MIDIKeyVelocity) |
Returns the correct amplitude factor for the given MIDIKeyVelocity. More... | |
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. More... | |
void | SetVelocityResponseDepth (uint8_t depth) |
Updates the respective member variable and the lookup table / cache that depends on this value. More... | |
void | SetVelocityResponseCurveScaling (uint8_t scaling) |
Updates the respective member variable and the lookup table / cache that depends on this value. More... | |
void | SetReleaseVelocityResponseCurve (curve_type_t curve) |
Updates the respective member variable and the lookup table / cache that depends on this value. More... | |
void | SetReleaseVelocityResponseDepth (uint8_t depth) |
Updates the respective member variable and the lookup table / cache that depends on this value. More... | |
void | SetVCFCutoffController (vcf_cutoff_ctrl_t controller) |
Updates the respective member variable and the lookup table / cache that depends on this value. More... | |
void | SetVCFVelocityCurve (curve_type_t curve) |
Updates the respective member variable and the lookup table / cache that depends on this value. More... | |
void | SetVCFVelocityDynamicRange (uint8_t range) |
Updates the respective member variable and the lookup table / cache that depends on this value. More... | |
void | SetVCFVelocityScale (uint8_t scaling) |
Updates the respective member variable and the lookup table / cache that depends on this value. More... | |
Region * | GetParent () const |
virtual void | SetGain (int32_t gain) |
Updates the respective member variable and updates SampleAttenuation which depends on this value. More... | |
virtual void | UpdateChunks () |
Apply dimension region settings to the respective RIFF chunks. More... | |
virtual void | CopyAssign (const DimensionRegion *orig) |
Make a (semi) deep copy of the DimensionRegion object given by orig and assign it to this object. More... | |
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, otherwise the DimensionUpperLimts are used instead. More... | |
Sample * | pSample |
Points to the Sample which is assigned to the dimension region. More... | |
uint16_t | EG1PreAttack |
Preattack value of the sample amplitude EG (0 - 1000 permille). More... | |
double | EG1Attack |
Attack time of the sample amplitude EG (0.000 - 60.000s). More... | |
double | EG1Decay1 |
Decay time of the sample amplitude EG (0.000 - 60.000s). More... | |
double | EG1Decay2 |
Only if EG1InfiniteSustain == false: 2nd decay stage time of the sample amplitude EG (0.000 - 60.000s). More... | |
bool | EG1InfiniteSustain |
If true, instead of going into Decay2 phase, Decay1 level will be hold until note will be released. More... | |
uint16_t | EG1Sustain |
Sustain value of the sample amplitude EG (0 - 1000 permille). More... | |
double | EG1Release |
Release time of the sample amplitude EG (0.000 - 60.000s). More... | |
bool | EG1Hold |
If true, Decay1 stage should be postponed until the sample reached the sample loop start. More... | |
eg1_ctrl_t | EG1Controller |
MIDI Controller which has influence on sample amplitude EG parameters (attack, decay, release). More... | |
bool | EG1ControllerInvert |
Invert values coming from defined EG1 controller. More... | |
uint8_t | EG1ControllerAttackInfluence |
Amount EG1 Controller has influence on the EG1 Attack time (0 - 3, where 0 means off). More... | |
uint8_t | EG1ControllerDecayInfluence |
Amount EG1 Controller has influence on the EG1 Decay time (0 - 3, where 0 means off). More... | |
uint8_t | EG1ControllerReleaseInfluence |
Amount EG1 Controller has influence on the EG1 Release time (0 - 3, where 0 means off). More... | |
double | LFO1Frequency |
Frequency of the sample amplitude LFO (0.10 - 10.00 Hz). More... | |
uint16_t | LFO1InternalDepth |
Firm pitch of the sample amplitude LFO (0 - 1200 cents). More... | |
uint16_t | LFO1ControlDepth |
Controller depth influencing sample amplitude LFO pitch (0 - 1200 cents). More... | |
lfo1_ctrl_t | LFO1Controller |
MIDI Controller which controls sample amplitude LFO. More... | |
bool | LFO1FlipPhase |
Inverts phase of the sample amplitude LFO wave. More... | |
bool | LFO1Sync |
If set to true only one LFO should be used for all voices. More... | |
uint16_t | EG2PreAttack |
Preattack value of the filter cutoff EG (0 - 1000 permille). More... | |
double | EG2Attack |
Attack time of the filter cutoff EG (0.000 - 60.000s). More... | |
double | EG2Decay1 |
Decay time of the filter cutoff EG (0.000 - 60.000s). More... | |
double | EG2Decay2 |
Only if EG2InfiniteSustain == false: 2nd stage decay time of the filter cutoff EG (0.000 - 60.000s). More... | |
bool | EG2InfiniteSustain |
If true, instead of going into Decay2 phase, Decay1 level will be hold until note will be released. More... | |
uint16_t | EG2Sustain |
Sustain value of the filter cutoff EG (0 - 1000 permille). More... | |
double | EG2Release |
Release time of the filter cutoff EG (0.000 - 60.000s). More... | |
eg2_ctrl_t | EG2Controller |
MIDI Controller which has influence on filter cutoff EG parameters (attack, decay, release). More... | |
bool | EG2ControllerInvert |
Invert values coming from defined EG2 controller. More... | |
uint8_t | EG2ControllerAttackInfluence |
Amount EG2 Controller has influence on the EG2 Attack time (0 - 3, where 0 means off). More... | |
uint8_t | EG2ControllerDecayInfluence |
Amount EG2 Controller has influence on the EG2 Decay time (0 - 3, where 0 means off). More... | |
uint8_t | EG2ControllerReleaseInfluence |
Amount EG2 Controller has influence on the EG2 Release time (0 - 3, where 0 means off). More... | |
double | LFO2Frequency |
Frequency of the filter cutoff LFO (0.10 - 10.00 Hz). More... | |
uint16_t | LFO2InternalDepth |
Firm pitch of the filter cutoff LFO (0 - 1200 cents). More... | |
uint16_t | LFO2ControlDepth |
Controller depth influencing filter cutoff LFO pitch (0 - 1200). More... | |
lfo2_ctrl_t | LFO2Controller |
MIDI Controlle which controls the filter cutoff LFO. More... | |
bool | LFO2FlipPhase |
Inverts phase of the filter cutoff LFO wave. More... | |
bool | LFO2Sync |
If set to true only one LFO should be used for all voices. More... | |
double | EG3Attack |
Attack time of the sample pitch EG (0.000 - 10.000s). More... | |
int16_t | EG3Depth |
Depth of the sample pitch EG (-1200 - +1200). More... | |
double | LFO3Frequency |
Frequency of the sample pitch LFO (0.10 - 10.00 Hz). More... | |
int16_t | LFO3InternalDepth |
Firm depth of the sample pitch LFO (-1200 - +1200 cents). More... | |
int16_t | LFO3ControlDepth |
Controller depth of the sample pitch LFO (-1200 - +1200 cents). More... | |
lfo3_ctrl_t | LFO3Controller |
MIDI Controller which controls the sample pitch LFO. More... | |
bool | LFO3Sync |
If set to true only one LFO should be used for all voices. More... | |
bool | VCFEnabled |
If filter should be used. More... | |
vcf_type_t | VCFType |
Defines the general filter characteristic (lowpass, highpass, bandpass, etc.). More... | |
vcf_cutoff_ctrl_t | VCFCutoffController |
Specifies which external controller has influence on the filter cutoff frequency. More... | |
bool | VCFCutoffControllerInvert |
Inverts values coming from the defined cutoff controller. More... | |
uint8_t | VCFCutoff |
Max. cutoff frequency. More... | |
curve_type_t | VCFVelocityCurve |
Defines a transformation curve for the incoming velocity values, affecting the VCF. More... | |
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). More... | |
uint8_t | VCFVelocityDynamicRange |
0x04 = lowest, 0x00 = highest . More... | |
uint8_t | VCFResonance |
Firm internal filter resonance weight. More... | |
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). More... | |
vcf_res_ctrl_t | VCFResonanceController |
Specifies which external controller has influence on the filter resonance Q. More... | |
bool | VCFKeyboardTracking |
If true: VCF cutoff frequence will be dependend to the note key position relative to the defined breakpoint value. More... | |
uint8_t | VCFKeyboardTrackingBreakpoint |
See VCFKeyboardTracking (0 - 127). More... | |
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). More... | |
uint8_t | VelocityResponseDepth |
Dynamic range of velocity affecting amplitude (0 - 4) (usually you don't have to interpret this parameter, use GetVelocityAttenuation() instead). More... | |
uint8_t | VelocityResponseCurveScaling |
0 - 127 (usually you don't have to interpret this parameter, use GetVelocityAttenuation() instead). More... | |
curve_type_t | ReleaseVelocityResponseCurve |
Defines a transformation curve to the incoming release veloctiy values affecting envelope times. More... | |
uint8_t | ReleaseVelocityResponseDepth |
Dynamic range of release velocity affecting envelope time (0 - 4). More... | |
uint8_t | ReleaseTriggerDecay |
0 - 8 More... | |
crossfade_t | Crossfade |
bool | PitchTrack |
If true: sample will be pitched according to the key position (this will be disabled for drums for example). More... | |
dim_bypass_ctrl_t | DimensionBypass |
If defined, the MIDI controller can switch on/off the dimension in realtime. More... | |
int8_t | Pan |
Panorama / Balance (-64..0..63 <-> left..middle..right) More... | |
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. More... | |
attenuation_ctrl_t | AttenuationController |
MIDI Controller which has influence on the volume level of the sample (or entire sample group). More... | |
bool | InvertAttenuationController |
Inverts the values coming from the defined Attenuation Controller. More... | |
uint8_t | AttenuationControllerThreshold |
0-127 More... | |
uint8_t | ChannelOffset |
Audio output where the audio signal of the dimension region should be routed to (0 - 9). More... | |
bool | SustainDefeat |
If true: Sustain pedal will not hold a note. More... | |
bool | MSDecode |
Gigastudio flag: defines if Mid Side Recordings should be decoded. More... | |
uint16_t | SampleStartOffset |
Number of samples the sample start should be moved (0 - 2000). More... | |
double | SampleAttenuation |
Sample volume (calculated from DLS::Sampler::Gain) More... | |
uint8_t | DimensionUpperLimits [8] |
gig3: defines the upper limit of the dimension values for this dimension region More... | |
Protected Member Functions | |
DimensionRegion (Region *pParent, RIFF::List *_3ewl) | |
DimensionRegion (RIFF::List *_3ewl, const DimensionRegion &src) | |
~DimensionRegion () | |
void | AddSampleLoop (sample_loop_t *pLoopDef) |
Adds a new sample loop with the provided loop definition. More... | |
void | DeleteSampleLoop (sample_loop_t *pLoopDef) |
Deletes an existing sample loop. More... | |
virtual void | CopyAssign (const Sampler *orig) |
Make a deep copy of the Sampler object given by orig and assign it to this object. More... | |
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. More... | |
uint8_t | UnityNote |
int16_t | FineTune |
int32_t | Gain |
bool | NoSampleDepthTruncation |
bool | NoSampleCompression |
uint32_t | SampleLoops |
Reflects the number of sample loops. More... | |
sample_loop_t * | pSampleLoops |
Points to the beginning of a sample loop array, or is NULL if there are no loops defined. More... | |
RIFF::List * | pParentList |
uint32_t | uiHeaderSize |
uint32_t | SamplerOptions |
Friends | |
class | Region |
Encapsulates articulation information of a dimension region.
Every Gigasampler Instrument has at least one dimension region (exactly then when it has no dimension defined).
Gigasampler provides three Envelope Generators and Low Frequency Oscillators:
|
protected |
Definition at line 1314 of file gig.cpp.
References AttenuationController, AttenuationControllerThreshold, ChannelOffset, CHUNK_ID_3EWA, CHUNK_ID_WSMP, gig::leverage_ctrl_t::controller_number, Crossfade, gig::curve_type_linear, gig::curve_type_nonlinear, gig::curve_type_special, gig::curve_type_unknown, 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, EG1PreAttack, EG1Release, EG1Sustain, EG2Attack, EG2Controller, EG2ControllerAttackInfluence, EG2ControllerDecayInfluence, EG2ControllerInvert, EG2ControllerReleaseInfluence, EG2Decay1, EG2Decay2, EG2InfiniteSustain, EG2PreAttack, EG2Release, EG2Sustain, EG3Attack, EG3Depth, DLS::Sampler::Gain, RIFF::List::GetSubChunk(), GIG_EG_CTR_ATTACK_INFLUENCE_EXTRACT, GIG_EG_CTR_DECAY_INFLUENCE_EXTRACT, GIG_EG_CTR_RELEASE_INFLUENCE_EXTRACT, GIG_EXP_DECODE, GIG_PITCH_TRACK_EXTRACT, GIG_VCF_RESONANCE_CTRL_EXTRACT, InvertAttenuationController, gig::lfo1_ctrl_internal, LFO1ControlDepth, LFO1Controller, LFO1FlipPhase, LFO1Frequency, LFO1InternalDepth, LFO1Sync, gig::lfo2_ctrl_internal, LFO2ControlDepth, LFO2Controller, LFO2FlipPhase, LFO2Frequency, LFO2InternalDepth, LFO2Sync, gig::lfo3_ctrl_modwheel, LFO3ControlDepth, LFO3Controller, LFO3Frequency, LFO3InternalDepth, LFO3Sync, MSDecode, Pan, PitchTrack, pSample, RIFF::Chunk::Read(), RIFF::Chunk::ReadInt16(), RIFF::Chunk::ReadInt32(), RIFF::Chunk::ReadInt8(), RIFF::Chunk::ReadUint16(), RIFF::Chunk::ReadUint8(), ReleaseTriggerDecay, ReleaseVelocityResponseCurve, ReleaseVelocityResponseDepth, RIFF::Chunk::RemainingBytes(), SampleAttenuation, DLS::Sampler::SamplerOptions, SampleStartOffset, SelfMask, SustainDefeat, gig::leverage_ctrl_t::type, gig::leverage_ctrl_t::type_none, gig::vcf_cutoff_ctrl_none, 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, VelocityTable, and VelocityUpperLimit.
|
protected |
Definition at line 1582 of file gig.cpp.
References DLS::Sampler::pParentList, DLS::Sampler::pSampleLoops, DLS::Sampler::SampleLoops, and VelocityTable.
|
protected |
Definition at line 2203 of file gig.cpp.
References VelocityTable.
|
inherited |
Adds a new sample loop with the provided loop definition.
pLoopDef | - points to a loop definition that is to be copied |
Definition at line 623 of file DLS.cpp.
References DLS::Sampler::pSampleLoops, DLS::Sampler::SampleLoops, and DLS::sample_loop_t::Size.
|
virtualinherited |
Make a deep copy of the Sampler object given by orig and assign it to this object.
orig | - original Sampler object to be copied from |
Definition at line 669 of file DLS.cpp.
References DLS::Sampler::FineTune, DLS::Sampler::Gain, DLS::Sampler::NoSampleCompression, DLS::Sampler::NoSampleDepthTruncation, DLS::Sampler::pSampleLoops, DLS::Sampler::SampleLoops, DLS::Sampler::SamplerOptions, and DLS::Sampler::UnityNote.
Referenced by DLS::Region::CopyAssign().
|
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!
orig | - original DimensionRegion object to be copied from |
Definition at line 1610 of file gig.cpp.
References DLS::Sampler::pParentList, DLS::Sampler::pSampleLoops, DLS::Sampler::SampleLoops, and VelocityTable.
Referenced by gig::Region::CopyAssign().
|
inherited |
Deletes an existing sample loop.
pLoopDef | - pointer to existing loop definition |
Exception | - if given loop definition does not exist |
Definition at line 645 of file DLS.cpp.
References DLS::Sampler::pSampleLoops, and DLS::Sampler::SampleLoops.
Region * gig::DimensionRegion::GetParent | ( | ) | const |
Definition at line 1985 of file gig.cpp.
Referenced by UpdateChunks().
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.
MIDIKeyVelocity | MIDI velocity value of the triggered key (between 0 and 127) |
double gig::DimensionRegion::GetVelocityCutoff | ( | uint8_t | MIDIKeyVelocity | ) |
double gig::DimensionRegion::GetVelocityRelease | ( | uint8_t | MIDIKeyVelocity | ) |
|
virtual |
Updates the respective member variable and updates SampleAttenuation
which depends on this value.
Reimplemented from DLS::Sampler.
Definition at line 1640 of file gig.cpp.
References DLS::Sampler::Gain, SampleAttenuation, and DLS::Sampler::SetGain().
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 2282 of file gig.cpp.
References ReleaseVelocityResponseCurve, and ReleaseVelocityResponseDepth.
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 2291 of file gig.cpp.
References ReleaseVelocityResponseCurve, and ReleaseVelocityResponseDepth.
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 2300 of file gig.cpp.
References VCFCutoffController, VCFVelocityCurve, VCFVelocityDynamicRange, and VCFVelocityScale.
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 2309 of file gig.cpp.
References VCFCutoffController, VCFVelocityCurve, VCFVelocityDynamicRange, and VCFVelocityScale.
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 2318 of file gig.cpp.
References VCFCutoffController, VCFVelocityCurve, VCFVelocityDynamicRange, and VCFVelocityScale.
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 2327 of file gig.cpp.
References VCFCutoffController, VCFVelocityCurve, VCFVelocityDynamicRange, and VCFVelocityScale.
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 2246 of file gig.cpp.
References VelocityResponseCurve, VelocityResponseCurveScaling, and VelocityResponseDepth.
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 2270 of file gig.cpp.
References VelocityResponseCurve, VelocityResponseCurveScaling, and VelocityResponseDepth.
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 2258 of file gig.cpp.
References VelocityResponseCurve, VelocityResponseCurveScaling, and VelocityResponseDepth.
|
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.
Reimplemented from DLS::Sampler.
Definition at line 1652 of file gig.cpp.
References RIFF::List::AddSubChunk(), AttenuationController, AttenuationControllerThreshold, ChannelOffset, CHUNK_ID_3EWA, CHUNK_ID_WSMP, Crossfade, gig::curve_type_linear, gig::curve_type_nonlinear, gig::curve_type_special, gig::curve_type_unknown, 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, EG1PreAttack, EG1Release, EG1Sustain, EG2Attack, EG2Controller, EG2ControllerAttackInfluence, EG2ControllerDecayInfluence, EG2ControllerInvert, EG2ControllerReleaseInfluence, EG2Decay1, EG2Decay2, EG2InfiniteSustain, EG2PreAttack, EG2Release, EG2Sustain, EG3Attack, EG3Depth, RIFF::Chunk::GetNewSize(), DLS::Resource::GetParent(), GetParent(), RIFF::List::GetSubChunk(), GIG_EG_CTR_ATTACK_INFLUENCE_ENCODE, GIG_EG_CTR_DECAY_INFLUENCE_ENCODE, GIG_EG_CTR_RELEASE_INFLUENCE_ENCODE, GIG_EXP_ENCODE, GIG_PITCH_TRACK_ENCODE, GIG_VCF_RESONANCE_CTRL_ENCODE, gig::crossfade_t::in_end, gig::crossfade_t::in_start, InvertAttenuationController, LFO1ControlDepth, LFO1Controller, LFO1FlipPhase, LFO1Frequency, LFO1InternalDepth, LFO1Sync, LFO2ControlDepth, LFO2Controller, LFO2FlipPhase, LFO2Frequency, LFO2InternalDepth, LFO2Sync, LFO3ControlDepth, LFO3Controller, LFO3Frequency, LFO3InternalDepth, LFO3Sync, RIFF::Chunk::LoadChunkData(), DLS::version_t::major, MSDecode, gig::crossfade_t::out_end, gig::crossfade_t::out_start, Pan, PitchTrack, DLS::Sampler::pParentList, DLS::File::pVersion, ReleaseTriggerDecay, ReleaseVelocityResponseCurve, ReleaseVelocityResponseDepth, SampleStartOffset, SelfMask, SustainDefeat, 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.
Referenced by gig::Region::UpdateChunks().
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 421 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::AttenuationControllerThreshold |
uint8_t gig::DimensionRegion::ChannelOffset |
Audio output where the audio signal of the dimension region should be routed to (0 - 9).
Definition at line 424 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
crossfade_t gig::DimensionRegion::Crossfade |
Definition at line 416 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
dim_bypass_ctrl_t gig::DimensionRegion::DimensionBypass |
If defined, the MIDI controller can switch on/off the dimension in realtime.
Definition at line 418 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::DimensionUpperLimits[8] |
gig3: defines the upper limit of the dimension values for this dimension region
Definition at line 429 of file gig.h.
Referenced by gig::Region::AddDimension(), gig::Region::DeleteDimension(), DimensionRegion(), UpdateChunks(), and gig::Region::UpdateVelocityTable().
double gig::DimensionRegion::EG1Attack |
Attack time of the sample amplitude EG (0.000 - 60.000s).
Definition at line 349 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
eg1_ctrl_t gig::DimensionRegion::EG1Controller |
MIDI Controller which has influence on sample amplitude EG parameters (attack, decay, release).
Definition at line 356 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::EG1ControllerAttackInfluence |
Amount EG1 Controller has influence on the EG1 Attack time (0 - 3, where 0 means off).
Definition at line 358 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::EG1ControllerDecayInfluence |
Amount EG1 Controller has influence on the EG1 Decay time (0 - 3, where 0 means off).
Definition at line 359 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::EG1ControllerInvert |
Invert values coming from defined EG1 controller.
Definition at line 357 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::EG1ControllerReleaseInfluence |
Amount EG1 Controller has influence on the EG1 Release time (0 - 3, where 0 means off).
Definition at line 360 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::EG1Decay1 |
Decay time of the sample amplitude EG (0.000 - 60.000s).
Definition at line 350 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::EG1Decay2 |
Only if EG1InfiniteSustain == false: 2nd decay stage time of the sample amplitude EG (0.000 - 60.000s).
Definition at line 351 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::EG1Hold |
If true, Decay1 stage should be postponed until the sample reached the sample loop start.
Definition at line 355 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
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 352 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint16_t gig::DimensionRegion::EG1PreAttack |
Preattack value of the sample amplitude EG (0 - 1000 permille).
Definition at line 348 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::EG1Release |
Release time of the sample amplitude EG (0.000 - 60.000s).
Definition at line 354 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint16_t gig::DimensionRegion::EG1Sustain |
Sustain value of the sample amplitude EG (0 - 1000 permille).
Definition at line 353 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::EG2Attack |
Attack time of the filter cutoff EG (0.000 - 60.000s).
Definition at line 369 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
eg2_ctrl_t gig::DimensionRegion::EG2Controller |
MIDI Controller which has influence on filter cutoff EG parameters (attack, decay, release).
Definition at line 375 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::EG2ControllerAttackInfluence |
Amount EG2 Controller has influence on the EG2 Attack time (0 - 3, where 0 means off).
Definition at line 377 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::EG2ControllerDecayInfluence |
Amount EG2 Controller has influence on the EG2 Decay time (0 - 3, where 0 means off).
Definition at line 378 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::EG2ControllerInvert |
Invert values coming from defined EG2 controller.
Definition at line 376 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::EG2ControllerReleaseInfluence |
Amount EG2 Controller has influence on the EG2 Release time (0 - 3, where 0 means off).
Definition at line 379 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::EG2Decay1 |
Decay time of the filter cutoff EG (0.000 - 60.000s).
Definition at line 370 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::EG2Decay2 |
Only if EG2InfiniteSustain == false: 2nd stage decay time of the filter cutoff EG (0.000 - 60.000s).
Definition at line 371 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
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 372 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint16_t gig::DimensionRegion::EG2PreAttack |
Preattack value of the filter cutoff EG (0 - 1000 permille).
Definition at line 368 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::EG2Release |
Release time of the filter cutoff EG (0.000 - 60.000s).
Definition at line 374 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint16_t gig::DimensionRegion::EG2Sustain |
Sustain value of the filter cutoff EG (0 - 1000 permille).
Definition at line 373 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::EG3Attack |
Attack time of the sample pitch EG (0.000 - 10.000s).
Definition at line 387 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
int16_t gig::DimensionRegion::EG3Depth |
Depth of the sample pitch EG (-1200 - +1200).
Definition at line 388 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
|
inherited |
Definition at line 346 of file DLS.h.
Referenced by DLS::Sampler::CopyAssign(), DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
|
inherited |
Definition at line 347 of file DLS.h.
Referenced by DLS::Sampler::CopyAssign(), DimensionRegion(), DLS::Sampler::Sampler(), DLS::Sampler::SetGain(), SetGain(), and DLS::Sampler::UpdateChunks().
bool gig::DimensionRegion::InvertAttenuationController |
Inverts the values coming from the defined Attenuation Controller.
Definition at line 422 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint16_t gig::DimensionRegion::LFO1ControlDepth |
Controller depth influencing sample amplitude LFO pitch (0 - 1200 cents).
Definition at line 363 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
lfo1_ctrl_t gig::DimensionRegion::LFO1Controller |
MIDI Controller which controls sample amplitude LFO.
Definition at line 364 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::LFO1FlipPhase |
Inverts phase of the sample amplitude LFO wave.
Definition at line 365 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::LFO1Frequency |
Frequency of the sample amplitude LFO (0.10 - 10.00 Hz).
Definition at line 361 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint16_t gig::DimensionRegion::LFO1InternalDepth |
Firm pitch of the sample amplitude LFO (0 - 1200 cents).
Definition at line 362 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::LFO1Sync |
If set to true only one LFO should be used for all voices.
Definition at line 366 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint16_t gig::DimensionRegion::LFO2ControlDepth |
Controller depth influencing filter cutoff LFO pitch (0 - 1200).
Definition at line 382 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
lfo2_ctrl_t gig::DimensionRegion::LFO2Controller |
MIDI Controlle which controls the filter cutoff LFO.
Definition at line 383 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::LFO2FlipPhase |
Inverts phase of the filter cutoff LFO wave.
Definition at line 384 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::LFO2Frequency |
Frequency of the filter cutoff LFO (0.10 - 10.00 Hz).
Definition at line 380 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint16_t gig::DimensionRegion::LFO2InternalDepth |
Firm pitch of the filter cutoff LFO (0 - 1200 cents).
Definition at line 381 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::LFO2Sync |
If set to true only one LFO should be used for all voices.
Definition at line 385 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
int16_t gig::DimensionRegion::LFO3ControlDepth |
Controller depth of the sample pitch LFO (-1200 - +1200 cents).
Definition at line 391 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
lfo3_ctrl_t gig::DimensionRegion::LFO3Controller |
MIDI Controller which controls the sample pitch LFO.
Definition at line 392 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
double gig::DimensionRegion::LFO3Frequency |
Frequency of the sample pitch LFO (0.10 - 10.00 Hz).
Definition at line 389 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
int16_t gig::DimensionRegion::LFO3InternalDepth |
Firm depth of the sample pitch LFO (-1200 - +1200 cents).
Definition at line 390 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::LFO3Sync |
If set to true only one LFO should be used for all voices.
Definition at line 393 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::MSDecode |
Gigastudio flag: defines if Mid Side Recordings should be decoded.
Definition at line 426 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
|
inherited |
Definition at line 349 of file DLS.h.
Referenced by DLS::Sampler::CopyAssign(), DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
|
inherited |
Definition at line 348 of file DLS.h.
Referenced by DLS::Sampler::CopyAssign(), DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
int8_t gig::DimensionRegion::Pan |
Panorama / Balance (-64..0..63 <-> left..middle..right)
Definition at line 419 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
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 417 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
|
protectedinherited |
Definition at line 359 of file DLS.h.
Referenced by gig::Region::AddDimension(), CopyAssign(), DimensionRegion(), DLS::Sampler::Sampler(), DLS::Sampler::UpdateChunks(), and UpdateChunks().
Sample* gig::DimensionRegion::pSample |
Points to the Sample which is assigned to the dimension region.
Definition at line 346 of file gig.h.
Referenced by gig::File::DeleteSample(), DimensionRegion(), gig::Region::Region(), gig::Region::UpdateChunks(), and gig::File::UpdateChunks().
|
inherited |
Points to the beginning of a sample loop array, or is NULL if there are no loops defined.
Definition at line 351 of file DLS.h.
Referenced by DLS::Sampler::AddSampleLoop(), DLS::Sampler::CopyAssign(), CopyAssign(), DLS::Sampler::DeleteSampleLoop(), DimensionRegion(), gig::Sample::ReadAndLoop(), DLS::Sampler::Sampler(), DLS::Sampler::UpdateChunks(), and DLS::Sampler::~Sampler().
uint8_t gig::DimensionRegion::ReleaseTriggerDecay |
curve_type_t gig::DimensionRegion::ReleaseVelocityResponseCurve |
Defines a transformation curve to the incoming release veloctiy values affecting envelope times.
Definition at line 412 of file gig.h.
Referenced by DimensionRegion(), SetReleaseVelocityResponseCurve(), SetReleaseVelocityResponseDepth(), and UpdateChunks().
uint8_t gig::DimensionRegion::ReleaseVelocityResponseDepth |
Dynamic range of release velocity affecting envelope time (0 - 4).
Definition at line 413 of file gig.h.
Referenced by DimensionRegion(), SetReleaseVelocityResponseCurve(), SetReleaseVelocityResponseDepth(), and UpdateChunks().
double gig::DimensionRegion::SampleAttenuation |
Sample volume (calculated from DLS::Sampler::Gain)
Definition at line 428 of file gig.h.
Referenced by DimensionRegion(), and SetGain().
|
inherited |
Reflects the number of sample loops.
Definition at line 350 of file DLS.h.
Referenced by DLS::Sampler::AddSampleLoop(), DLS::Sampler::CopyAssign(), CopyAssign(), DLS::Sampler::DeleteSampleLoop(), DimensionRegion(), gig::Sample::ReadAndLoop(), DLS::Sampler::Sampler(), DLS::Sampler::UpdateChunks(), and gig::File::UpdateChunks().
|
protectedinherited |
Definition at line 361 of file DLS.h.
Referenced by DLS::Sampler::CopyAssign(), DimensionRegion(), DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
uint16_t gig::DimensionRegion::SampleStartOffset |
Number of samples the sample start should be moved (0 - 2000).
Definition at line 427 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
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 420 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::SustainDefeat |
If true: Sustain pedal will not hold a note.
Definition at line 425 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
|
protectedinherited |
Definition at line 360 of file DLS.h.
Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
|
inherited |
Definition at line 345 of file DLS.h.
Referenced by DLS::Sampler::CopyAssign(), DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
uint8_t gig::DimensionRegion::VCFCutoff |
Max. cutoff frequency.
Definition at line 399 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
vcf_cutoff_ctrl_t gig::DimensionRegion::VCFCutoffController |
Specifies which external controller has influence on the filter cutoff frequency.
Definition at line 397 of file gig.h.
Referenced by DimensionRegion(), SetVCFCutoffController(), SetVCFVelocityCurve(), SetVCFVelocityDynamicRange(), SetVCFVelocityScale(), and UpdateChunks().
bool gig::DimensionRegion::VCFCutoffControllerInvert |
Inverts values coming from the defined cutoff controller.
Definition at line 398 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
bool gig::DimensionRegion::VCFEnabled |
If filter should be used.
Definition at line 395 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
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 406 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::VCFKeyboardTrackingBreakpoint |
See VCFKeyboardTracking (0 - 127).
Definition at line 407 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
uint8_t gig::DimensionRegion::VCFResonance |
Firm internal filter resonance weight.
Definition at line 403 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
vcf_res_ctrl_t gig::DimensionRegion::VCFResonanceController |
Specifies which external controller has influence on the filter resonance Q.
Definition at line 405 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
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 404 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
vcf_type_t gig::DimensionRegion::VCFType |
Defines the general filter characteristic (lowpass, highpass, bandpass, etc.).
Definition at line 396 of file gig.h.
Referenced by DimensionRegion(), and UpdateChunks().
curve_type_t gig::DimensionRegion::VCFVelocityCurve |
Defines a transformation curve for the incoming velocity values, affecting the VCF.
Definition at line 400 of file gig.h.
Referenced by DimensionRegion(), SetVCFCutoffController(), SetVCFVelocityCurve(), SetVCFVelocityDynamicRange(), SetVCFVelocityScale(), and UpdateChunks().
uint8_t gig::DimensionRegion::VCFVelocityDynamicRange |
0x04 = lowest, 0x00 = highest .
Definition at line 402 of file gig.h.
Referenced by DimensionRegion(), SetVCFCutoffController(), SetVCFVelocityCurve(), SetVCFVelocityDynamicRange(), SetVCFVelocityScale(), and UpdateChunks().
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).
Definition at line 401 of file gig.h.
Referenced by DimensionRegion(), SetVCFCutoffController(), SetVCFVelocityCurve(), SetVCFVelocityDynamicRange(), SetVCFVelocityScale(), and UpdateChunks().
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).
Definition at line 409 of file gig.h.
Referenced by DimensionRegion(), SetVelocityResponseCurve(), SetVelocityResponseCurveScaling(), SetVelocityResponseDepth(), and UpdateChunks().
uint8_t gig::DimensionRegion::VelocityResponseCurveScaling |
0 - 127 (usually you don't have to interpret this parameter, use GetVelocityAttenuation() instead).
Definition at line 411 of file gig.h.
Referenced by DimensionRegion(), SetVelocityResponseCurve(), SetVelocityResponseCurveScaling(), SetVelocityResponseDepth(), and UpdateChunks().
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).
Definition at line 410 of file gig.h.
Referenced by DimensionRegion(), SetVelocityResponseCurve(), SetVelocityResponseCurveScaling(), SetVelocityResponseDepth(), and UpdateChunks().
|
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 460 of file gig.h.
Referenced by CopyAssign(), DimensionRegion(), gig::Region::GetDimensionRegionByValue(), gig::Region::UpdateVelocityTable(), and ~DimensionRegion().
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, otherwise the DimensionUpperLimts are used instead.
Definition at line 345 of file gig.h.
Referenced by DimensionRegion(), UpdateChunks(), and gig::Region::UpdateVelocityTable().