gig::DimensionRegion Class Reference

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

#include <gig.h>

Inheritance diagram for gig::DimensionRegion:

DLS::Sampler List of all members.

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.
RegionGetParent () const
virtual void SetGain (int32_t gain)
 Updates the respective member variable and updates SampleAttenuation which depends on this value.
virtual void UpdateChunks ()
 Apply dimension region settings to the respective RIFF chunks.

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.
SamplepSample
 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).
double LFO1Frequency
 Frequency of the sample amplitude LFO (0.10 - 10.00 Hz).
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 phase of the sample amplitude LFO wave.
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).
double LFO2Frequency
 Frequency of the filter cutoff LFO (0.10 - 10.00 Hz).
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 phase of the filter cutoff LFO wave.
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).
double LFO3Frequency
 Frequency of the sample pitch LFO (0.10 - 10.00 Hz).
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 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

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.
void DeleteSampleLoop (sample_loop_t *pLoopDef)
 Deletes an existing sample loop.

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.
uint8_t UnityNote
int16_t FineTune
int32_t Gain
bool NoSampleDepthTruncation
bool NoSampleCompression
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.
RIFF::ListpParentList
uint32_t uiHeaderSize
uint32_t SamplerOptions

Friends

class Region

Detailed Description

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:

Definition at line 343 of file gig.h.


Constructor & Destructor Documentation

gig::DimensionRegion::DimensionRegion ( Region pParent,
RIFF::List _3ewl 
) [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.

gig::DimensionRegion::DimensionRegion ( RIFF::List _3ewl,
const DimensionRegion src 
) [protected]

Definition at line 1582 of file gig.cpp.

References DLS::Sampler::pParentList, DLS::Sampler::pSampleLoops, DLS::Sampler::SampleLoops, and VelocityTable.

gig::DimensionRegion::~DimensionRegion (  )  [protected]

Definition at line 2167 of file gig.cpp.

References VelocityTable.


Member Function Documentation

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 2194 of file gig.cpp.

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

Definition at line 2198 of file gig.cpp.

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

Definition at line 2202 of file gig.cpp.

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 2210 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 2222 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 2234 of file gig.cpp.

References VelocityResponseCurve, VelocityResponseCurveScaling, and VelocityResponseDepth.

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 2246 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 2255 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 2264 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 2273 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 2282 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 2291 of file gig.cpp.

References VCFCutoffController, VCFVelocityCurve, VCFVelocityDynamicRange, and VCFVelocityScale.

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

Definition at line 1949 of file gig.cpp.

Referenced by UpdateChunks().

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 1604 of file gig.cpp.

References DLS::Sampler::Gain, SampleAttenuation, and DLS::Sampler::SetGain().

void gig::DimensionRegion::UpdateChunks (  )  [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 1616 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(), 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.

void DLS::Sampler::AddSampleLoop ( sample_loop_t pLoopDef  )  [inherited]

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 576 of file DLS.cpp.

References DLS::Sampler::pSampleLoops, DLS::Sampler::SampleLoops, and DLS::sample_loop_t::Size.

void DLS::Sampler::DeleteSampleLoop ( sample_loop_t pLoopDef  )  [inherited]

Deletes an existing sample loop.

Parameters:
pLoopDef - pointer to existing loop definition
Exceptions:
Exception - if given loop definition does not exist

Definition at line 598 of file DLS.cpp.

References DLS::Sampler::pSampleLoops, and DLS::Sampler::SampleLoops.


Friends And Related Function Documentation

friend class Region [friend]

Definition at line 463 of file gig.h.


Member Data Documentation

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(), 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 DimensionRegion(), gig::Region::Region(), and gig::Region::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::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().

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::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::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::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().

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

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

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::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().

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::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().

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

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::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::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().

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::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::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().

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

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::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().

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::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().

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

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

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

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

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

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::VCFEnabled

If filter should be used.

Definition at line 395 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().

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

uint8_t gig::DimensionRegion::VCFCutoff

Max. cutoff frequency.

Definition at line 399 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.

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

Definition at line 400 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).

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

Definition at line 401 of file gig.h.

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

uint8_t gig::DimensionRegion::VCFVelocityDynamicRange

0x04 = lowest, 0x00 = highest .

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

Definition at line 402 of file gig.h.

Referenced by DimensionRegion(), SetVCFCutoffController(), SetVCFVelocityCurve(), SetVCFVelocityDynamicRange(), SetVCFVelocityScale(), 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().

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_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::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().

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

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

Definition at line 410 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).

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

Definition at line 411 of file gig.h.

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

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

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

Definition at line 413 of file gig.h.

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

uint8_t gig::DimensionRegion::ReleaseTriggerDecay

0 - 8

Definition at line 414 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().

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

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

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::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().

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

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

uint8_t gig::DimensionRegion::AttenuationControllerThreshold

0-127

Definition at line 423 of file gig.h.

Referenced by DimensionRegion(), and UpdateChunks().

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

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

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

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

double gig::DimensionRegion::SampleAttenuation

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

Definition at line 428 of file gig.h.

Referenced by DimensionRegion(), and SetGain().

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(), and UpdateChunks().

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 459 of file gig.h.

Referenced by DimensionRegion(), gig::Region::GetDimensionRegionByValue(), gig::Region::UpdateVelocityTable(), and ~DimensionRegion().

uint8_t DLS::Sampler::UnityNote [inherited]

Definition at line 342 of file DLS.h.

Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().

int16_t DLS::Sampler::FineTune [inherited]

Definition at line 343 of file DLS.h.

Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().

int32_t DLS::Sampler::Gain [inherited]

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

Definition at line 344 of file DLS.h.

Referenced by DimensionRegion(), DLS::Sampler::Sampler(), SetGain(), DLS::Sampler::SetGain(), and DLS::Sampler::UpdateChunks().

bool DLS::Sampler::NoSampleDepthTruncation [inherited]

Definition at line 345 of file DLS.h.

Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().

bool DLS::Sampler::NoSampleCompression [inherited]

Definition at line 346 of file DLS.h.

Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().

uint32_t DLS::Sampler::SampleLoops [inherited]

Reflects the number of sample loops.

Definition at line 347 of file DLS.h.

Referenced by DLS::Sampler::AddSampleLoop(), DLS::Sampler::DeleteSampleLoop(), DimensionRegion(), gig::Sample::ReadAndLoop(), DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().

sample_loop_t* DLS::Sampler::pSampleLoops [inherited]

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

Definition at line 348 of file DLS.h.

Referenced by DLS::Sampler::AddSampleLoop(), DLS::Sampler::DeleteSampleLoop(), DimensionRegion(), gig::Sample::ReadAndLoop(), DLS::Sampler::Sampler(), DLS::Sampler::UpdateChunks(), and DLS::Sampler::~Sampler().

RIFF::List* DLS::Sampler::pParentList [protected, inherited]

Definition at line 355 of file DLS.h.

Referenced by gig::Region::AddDimension(), DimensionRegion(), DLS::Sampler::Sampler(), UpdateChunks(), and DLS::Sampler::UpdateChunks().

uint32_t DLS::Sampler::uiHeaderSize [protected, inherited]

Definition at line 356 of file DLS.h.

Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().

uint32_t DLS::Sampler::SamplerOptions [protected, inherited]

Definition at line 357 of file DLS.h.

Referenced by DimensionRegion(), DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().


The documentation for this class was generated from the following files:
Generated on Sun May 1 03:22:47 2011 for libgig by  doxygen 1.5.2