#include <gig.h>
Inheritance diagram for gig::Region:
Public Member Functions | |
DimensionRegion * | GetDimensionRegionByValue (const uint DimValues[8]) |
Use this method in your audio engine to get the appropriate dimension region with it's articulation data for the current situation. | |
DimensionRegion * | GetDimensionRegionByBit (const uint8_t DimBits[8]) |
Returns the appropriate DimensionRegion for the given dimension bit numbers (zone index). | |
Sample * | GetSample () |
Returns pointer address to the Sample referenced with this region. | |
Resource * | GetParent () |
Articulation * | GetFirstArticulation () |
Articulation * | GetNextArticulation () |
Public Attributes | |
unsigned int | Dimensions |
Number of defined dimensions. | |
dimension_def_t | pDimensionDefinitions [8] |
Defines the five (gig2) or eight (gig3) possible dimensions (the dimension's controller and number of bits/splits). | |
uint32_t | DimensionRegions |
Total number of DimensionRegions this Region contains. | |
DimensionRegion * | pDimensionRegions [256] |
Pointer array to the 32 (gig2) or 256 (gig3) possible dimension regions (reflects NULL for dimension regions not in use). Avoid to access the array directly and better use GetDimensionRegionByValue() instead, but of course in some cases it makes sense to use the array (e.g. iterating through all DimensionRegions). | |
unsigned int | Layers |
Amount of defined layers (1 - 32). A value of 1 actually means no layering, a value > 1 means there is Layer dimension. The same information can of course also be obtained by accessing pDimensionDefinitions. | |
range_t | KeyRange |
range_t | VelocityRange |
uint16_t | KeyGroup |
uint16_t | Layer |
bool | SelfNonExclusive |
bool | PhaseMaster |
uint16_t | PhaseGroup |
bool | MultiChannel |
uint32_t | Channel |
Info * | pInfo |
Points (in any case) to an Info object, providing additional, optional infos and comments. | |
dlsid_t * | pDLSID |
Points to a dlsid_t structure if the file provided a DLS ID else is NULL. | |
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. | |
Protected Types | |
typedef std::list< Articulation * > | ArticulationList |
Protected Member Functions | |
Region (Instrument *pInstrument, RIFF::List *rgnList) | |
void | LoadDimensionRegions (RIFF::List *rgn) |
Sample * | GetSampleFromWavePool (unsigned int WavePoolTableIndex, progress_t *pProgress=NULL) |
~Region () | |
void | LoadArticulations () |
Protected Attributes | |
uint8_t | VelocityTable [128] |
For velocity dimensions with custom defined zone ranges only: used for fast converting from velocity MIDI value to dimension bit number. | |
RIFF::List * | pCkRegion |
uint32_t | WavePoolTableIndex |
Sample * | pSample |
Resource * | pParent |
RIFF::List * | pParentList |
ArticulationList * | pArticulations |
ArticulationList::iterator | ArticulationsIterator |
uint32_t | SamplerOptions |
Friends | |
class | Instrument |
Definition at line 638 of file gig.h.
|
|
|
Definition at line 1432 of file gig.cpp. References Dimensions, and pDimensionRegions. |
|
Reimplemented from DLS::Region. Definition at line 1544 of file gig.cpp. References pDimensionDefinitions. |
|
Returns the appropriate DimensionRegion for the given dimension bit numbers (zone index). You usually use GetDimensionRegionByValue instead of calling this method directly!
Definition at line 1601 of file gig.cpp. References gig::dimension_def_t::bits, pDimensionDefinitions, and pDimensionRegions. |
|
Use this method in your audio engine to get the appropriate dimension region with it's articulation data for the current situation. Just call the method with the current MIDI controller values and you'll get the DimensionRegion with the appropriate articulation data for the current situation (for this Region of course only). To do that you'll first have to look which dimensions with which controllers and in which order are defined for this Region when you load the .gig file. Special cases are e.g. layer or channel dimensions where you just put in the index numbers instead of a MIDI controller value (means 0 for left channel, 1 for right channel or 0 for layer 0, 1 for layer 1, etc.).
Definition at line 1571 of file gig.cpp. References gig::dimension_def_t::bits, pDimensionDefinitions, gig::split_type_bit, gig::split_type_customvelocity, gig::split_type_normal, and VelocityTable. |
|
Definition at line 85 of file DLS.cpp. References DLS::Articulator::ArticulationsIterator, DLS::Articulator::LoadArticulations(), and DLS::Articulator::pArticulations. |
|
Definition at line 92 of file DLS.cpp. References DLS::Articulator::ArticulationsIterator, and DLS::Articulator::pArticulations. |
|
Definition at line 350 of file DLS.h. Referenced by DLS::Region::GetSample(), and GetSampleFromWavePool(). |
|
Returns pointer address to the Sample referenced with this region. This is the global Sample for the entire Region (not sure if this is actually used by the Gigasampler engine - I would only use the Sample referenced by the appropriate DimensionRegion instead of this sample).
Reimplemented from DLS::Region. Definition at line 1620 of file gig.cpp. References GetSampleFromWavePool(), DLS::Region::pSample, and DLS::Region::WavePoolTableIndex. Referenced by PrintRegions(). |
|
Definition at line 1625 of file gig.cpp. References gig::Sample::FileNo, gig::File::GetFirstSample(), gig::File::GetNextSample(), DLS::Resource::GetParent(), DLS::Region::pSample, DLS::File::pWavePoolTable, DLS::File::pWavePoolTableHi, and DLS::Sample::ulWavePoolOffset. Referenced by GetSample(). |
|
Definition at line 98 of file DLS.cpp. References RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubList(), LIST_TYPE_ART1, LIST_TYPE_ART2, LIST_TYPE_LAR2, LIST_TYPE_LART, DLS::Articulator::pArticulations, and DLS::Articulator::pParentList. Referenced by DLS::Articulator::GetFirstArticulation(). |
|
Definition at line 1528 of file gig.cpp. References RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubList(), LIST_TYPE_3EWL, LIST_TYPE_3PRG, and pDimensionRegions. |
|
Reimplemented from DLS::Region. |
|
Definition at line 306 of file DLS.h. Referenced by DLS::Articulator::GetFirstArticulation(), and DLS::Articulator::GetNextArticulation(). |
|
Definition at line 411 of file DLS.h. Referenced by DLS::Region::Region(). |
|
Total number of DimensionRegions this Region contains.
|
|
Number of defined dimensions.
Definition at line 640 of file gig.h. Referenced by PrintRegions(), and Region(). |
|
Definition at line 362 of file DLS.h. Referenced by PrintDimensionRegions(), and DLS::Sampler::Sampler(). |
|
Definition at line 363 of file DLS.h. Referenced by gig::DimensionRegion::DimensionRegion(), PrintDimensionRegions(), and DLS::Sampler::Sampler(). |
|
Definition at line 405 of file DLS.h. Referenced by DLS::Region::Region(). |
|
Definition at line 403 of file DLS.h. Referenced by PrintRegions(), and DLS::Region::Region(). |
|
Definition at line 406 of file DLS.h. Referenced by PrintRegions(), and DLS::Region::Region(). |
|
Amount of defined layers (1 - 32). A value of 1 actually means no layering, a value > 1 means there is Layer dimension. The same information can of course also be obtained by accessing pDimensionDefinitions.
Definition at line 644 of file gig.h. Referenced by PrintRegions(). |
|
Definition at line 410 of file DLS.h. Referenced by DLS::Region::Region(). |
|
Definition at line 365 of file DLS.h. Referenced by DLS::Sampler::Sampler(). |
|
Definition at line 364 of file DLS.h. Referenced by DLS::Sampler::Sampler(). |
|
Definition at line 305 of file DLS.h. Referenced by DLS::Articulator::Articulator(), DLS::Articulator::GetFirstArticulation(), DLS::Articulator::GetNextArticulation(), DLS::Articulator::LoadArticulations(), and DLS::Articulator::~Articulator(). |
|
Definition at line 415 of file DLS.h. Referenced by DLS::Region::Region(). |
|
Defines the five (gig2) or eight (gig3) possible dimensions (the dimension's controller and number of bits/splits).
Definition at line 641 of file gig.h. Referenced by GetDimensionRegionByBit(), GetDimensionRegionByValue(), PrintRegions(), and ~Region(). |
|
Pointer array to the 32 (gig2) or 256 (gig3) possible dimension regions (reflects NULL for dimension regions not in use). Avoid to access the array directly and better use GetDimensionRegionByValue() instead, but of course in some cases it makes sense to use the array (e.g. iterating through all DimensionRegions).
Definition at line 643 of file gig.h. Referenced by GetDimensionRegionByBit(), LoadDimensionRegions(), PrintDimensionRegions(), PrintRegions(), and Region(). |
|
Points to a dlsid_t structure if the file provided a DLS ID else is NULL.
Definition at line 348 of file DLS.h. Referenced by DLS::Resource::Resource(), and DLS::Resource::~Resource(). |
|
Definition at line 409 of file DLS.h. Referenced by DLS::Region::Region(). |
|
Definition at line 408 of file DLS.h. Referenced by DLS::Region::Region(). |
|
Points (in any case) to an Info object, providing additional, optional infos and comments.
Definition at line 347 of file DLS.h. Referenced by ExtractSamples(), main(), PrintDimensionRegions(), PrintInstruments(), PrintRegions(), PrintSamples(), DLS::Resource::Resource(), and DLS::Resource::~Resource(). |
|
Definition at line 350 of file DLS.h. Referenced by DLS::Resource::Resource(). |
|
Definition at line 304 of file DLS.h. Referenced by DLS::Articulator::Articulator(), and DLS::Articulator::LoadArticulations(). |
|
Definition at line 417 of file DLS.h. Referenced by GetSample(), DLS::Region::GetSample(), GetSampleFromWavePool(), and DLS::Region::Region(). |
|
Points to the beginning of a sample loop array, or is NULL if there are no loops defined.
Definition at line 367 of file DLS.h. Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::~Sampler(). |
|
Reflects the number of sample loops.
Definition at line 366 of file DLS.h. Referenced by PrintRegions(), and DLS::Sampler::Sampler(). |
|
Definition at line 369 of file DLS.h. Referenced by gig::DimensionRegion::DimensionRegion(), and DLS::Sampler::Sampler(). |
|
Definition at line 407 of file DLS.h. Referenced by DLS::Region::Region(). |
|
Definition at line 361 of file DLS.h. Referenced by PrintDimensionRegions(), and DLS::Sampler::Sampler(). |
|
Definition at line 404 of file DLS.h. Referenced by PrintRegions(), and DLS::Region::Region(). |
|
For velocity dimensions with custom defined zone ranges only: used for fast converting from velocity MIDI value to dimension bit number.
Definition at line 650 of file gig.h. Referenced by GetDimensionRegionByValue(). |
|
Definition at line 416 of file DLS.h. Referenced by GetSample(), DLS::Region::GetSample(), and DLS::Region::Region(). |