130 |
/** Defines how the filter cutoff frequency is controlled by. */ |
/** Defines how the filter cutoff frequency is controlled by. */ |
131 |
typedef enum { |
typedef enum { |
132 |
vcf_cutoff_ctrl_none = 0x00, |
vcf_cutoff_ctrl_none = 0x00, |
133 |
vcf_cutoff_ctrl_none2 = 0x01, ///< The difference betwheen none and none2 is unknown |
vcf_cutoff_ctrl_none2 = 0x01, ///< The difference between none and none2 is unknown |
134 |
vcf_cutoff_ctrl_modwheel = 0x81, ///< Modulation Wheel (MIDI Controller 1) |
vcf_cutoff_ctrl_modwheel = 0x81, ///< Modulation Wheel (MIDI Controller 1) |
135 |
vcf_cutoff_ctrl_effect1 = 0x8c, ///< Effect Controller 1 (Coarse, MIDI Controller 12) |
vcf_cutoff_ctrl_effect1 = 0x8c, ///< Effect Controller 1 (Coarse, MIDI Controller 12) |
136 |
vcf_cutoff_ctrl_effect2 = 0x8d, ///< Effect Controller 2 (Coarse, MIDI Controller 13) |
vcf_cutoff_ctrl_effect2 = 0x8d, ///< Effect Controller 2 (Coarse, MIDI Controller 13) |
591 |
void DeleteDimension(dimension_def_t* pDimDef); |
void DeleteDimension(dimension_def_t* pDimDef); |
592 |
virtual void UpdateChunks(); |
virtual void UpdateChunks(); |
593 |
protected: |
protected: |
|
typedef std::list<dimension_def_t*> DimensionList; |
|
|
|
|
594 |
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. |
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. |
|
DimensionList DimensionDefinitions; |
|
595 |
|
|
596 |
Region(Instrument* pInstrument, RIFF::List* rgnList); |
Region(Instrument* pInstrument, RIFF::List* rgnList); |
597 |
void LoadDimensionRegions(RIFF::List* rgn); |
void LoadDimensionRegions(RIFF::List* rgn); |
634 |
// own methods |
// own methods |
635 |
Region* GetRegion(unsigned int Key); |
Region* GetRegion(unsigned int Key); |
636 |
protected: |
protected: |
|
Region** pRegions; ///< Pointer array to the regions |
|
637 |
Region* RegionKeyTable[128]; ///< fast lookup for the corresponding Region of a MIDI key |
Region* RegionKeyTable[128]; ///< fast lookup for the corresponding Region of a MIDI key |
|
int RegionIndex; |
|
638 |
|
|
639 |
Instrument(File* pFile, RIFF::List* insList, progress_t* pProgress = NULL); |
Instrument(File* pFile, RIFF::List* insList, progress_t* pProgress = NULL); |
640 |
~Instrument(); |
~Instrument(); |
669 |
Instrument* GetInstrument(uint index, progress_t* pProgress = NULL); |
Instrument* GetInstrument(uint index, progress_t* pProgress = NULL); |
670 |
Instrument* AddInstrument(); |
Instrument* AddInstrument(); |
671 |
void DeleteInstrument(Instrument* pInstrument); |
void DeleteInstrument(Instrument* pInstrument); |
|
~File(); |
|
672 |
protected: |
protected: |
673 |
typedef std::list<Sample*> SampleList; |
// overridden protected methods from DLS::File |
674 |
typedef std::list<Instrument*> InstrumentList; |
virtual void LoadSamples(); |
675 |
|
virtual void LoadInstruments(); |
676 |
SampleList* pSamples; |
// own protected methods |
677 |
SampleList::iterator SamplesIterator; |
virtual void LoadSamples(progress_t* pProgress); |
678 |
InstrumentList* pInstruments; |
virtual void LoadInstruments(progress_t* pProgress); |
|
InstrumentList::iterator InstrumentsIterator; |
|
|
|
|
|
void LoadSamples(progress_t* pProgress = NULL); |
|
|
void LoadInstruments(progress_t* pProgress = NULL); |
|
679 |
friend class Region; |
friend class Region; |
|
|
|
|
std::list<RIFF::File*> ExtensionFiles; |
|
680 |
}; |
}; |
681 |
|
|
682 |
/** Will be thrown whenever a gig specific error occurs while trying to access a Gigasampler File. */ |
/** Will be thrown whenever a gig specific error occurs while trying to access a Gigasampler File. */ |