#include <gig.h>
Inheritance diagram for gig::Instrument:
Public Member Functions | |
Region * | GetFirstRegion () |
Returns the first Region of the instrument. | |
Region * | GetNextRegion () |
Returns the next Region of the instrument. | |
Region * | GetRegion (unsigned int Key) |
Returns the appropriate Region for a triggered note. | |
Public Attributes | |
int32_t | Attenuation |
in dB | |
uint16_t | EffectSend |
int16_t | FineTune |
in cents | |
uint16_t | PitchbendRange |
Number of semitones pitchbend controller can pitch (default is 2). | |
bool | PianoReleaseMode |
range_t | DimensionKeyRange |
0-127 (where 0 means C1 and 127 means G9) | |
Protected Types | |
typedef std::list< Region * > | RegionList |
typedef std::list< Articulation * > | ArticulationList |
Protected Member Functions | |
Instrument (File *pFile, RIFF::List *insList, progress_t *pProgress=NULL) | |
~Instrument () | |
void | LoadRegions () |
Resource * | GetParent () |
Articulation * | GetFirstArticulation () |
Articulation * | GetNextArticulation () |
void | LoadArticulations () |
Protected Attributes | |
Region ** | pRegions |
Pointer array to the regions. | |
Region * | RegionKeyTable [128] |
fast lookup for the corresponding Region of a MIDI key | |
int | RegionIndex |
bool | IsDrum |
Indicates if the Instrument is a drum type, as they differ in the synthesis model of DLS from melodic instruments. | |
uint16_t | MIDIBank |
Reflects combination of MIDIBankCoarse and MIDIBankFine (bank 1 - bank 16384). | |
uint8_t | MIDIBankCoarse |
Reflects the MIDI Bank number for MIDI Control Change 0 (bank 1 - 128). | |
uint8_t | MIDIBankFine |
Reflects the MIDI Bank number for MIDI Control Change 32 (bank 1 - 128). | |
uint32_t | MIDIProgram |
Specifies the MIDI Program Change Number this Instrument should be assigned to. | |
uint32_t | Regions |
Reflects the number of Region defintions this Instrument has. | |
RIFF::List * | pCkInstrument |
RegionList::iterator | RegionsIterator |
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. | |
Resource * | pParent |
RIFF::List * | pParentList |
ArticulationList * | pArticulations |
ArticulationList::iterator | ArticulationsIterator |
Friends | |
class | File |
Definition at line 660 of file gig.h.
typedef std::list<Articulation*> DLS::Articulator::ArticulationList [protected, inherited] |
typedef std::list<Region*> DLS::Instrument::RegionList [protected, inherited] |
gig::Instrument::Instrument | ( | File * | pFile, | |
RIFF::List * | insList, | |||
progress_t * | pProgress = NULL | |||
) | [protected] |
Definition at line 1644 of file gig.cpp.
References gig::__notify_progress(), Attenuation, CHUNK_ID_3EWG, DimensionKeyRange, EffectSend, FineTune, RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubChunk(), RIFF::List::GetSubList(), gig::range_t::high, DLS::Region::KeyRange, LIST_TYPE_LART, LIST_TYPE_LRGN, LIST_TYPE_RGN, gig::range_t::low, PianoReleaseMode, PitchbendRange, pRegions, RIFF::Chunk::ReadInt16(), RIFF::Chunk::ReadInt32(), RIFF::Chunk::ReadUint16(), RIFF::Chunk::ReadUint8(), RegionIndex, RegionKeyTable, and DLS::Instrument::Regions.
gig::Instrument::~Instrument | ( | ) | [protected, virtual] |
Reimplemented from DLS::Instrument.
Definition at line 1692 of file gig.cpp.
References pRegions, and DLS::Instrument::Regions.
Articulation * DLS::Articulator::GetFirstArticulation | ( | ) | [inherited] |
Definition at line 85 of file DLS.cpp.
References DLS::Articulator::ArticulationsIterator, DLS::Articulator::LoadArticulations(), and DLS::Articulator::pArticulations.
Region * gig::Instrument::GetFirstRegion | ( | ) |
Returns the first Region of the instrument.
You have to call this method once before you use GetNextRegion().
Reimplemented from DLS::Instrument.
Definition at line 1725 of file gig.cpp.
References pRegions, RegionIndex, and DLS::Instrument::Regions.
Referenced by PrintRegions().
Articulation * DLS::Articulator::GetNextArticulation | ( | ) | [inherited] |
Definition at line 92 of file DLS.cpp.
References DLS::Articulator::ArticulationsIterator, and DLS::Articulator::pArticulations.
Region * gig::Instrument::GetNextRegion | ( | ) |
Returns the next Region of the instrument.
You have to call GetFirstRegion() once before you can use this method. By calling this method multiple times it iterates through the available Regions.
Reimplemented from DLS::Instrument.
Definition at line 1739 of file gig.cpp.
References pRegions, RegionIndex, and DLS::Instrument::Regions.
Resource* DLS::Resource::GetParent | ( | ) | [inline, inherited] |
Definition at line 350 of file DLS.h.
Referenced by DLS::Region::GetSample(), gig::Region::GetSampleFromWavePool(), and gig::Region::Region().
Region * gig::Instrument::GetRegion | ( | unsigned int | Key | ) |
Returns the appropriate Region for a triggered note.
Key | MIDI Key number of triggered note / key (0 - 127) |
Definition at line 1708 of file gig.cpp.
References pRegions, and RegionKeyTable.
void DLS::Articulator::LoadArticulations | ( | ) | [protected, inherited] |
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().
void DLS::Instrument::LoadRegions | ( | ) | [protected, inherited] |
Definition at line 365 of file DLS.cpp.
References RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::List::GetSubList(), LIST_TYPE_LRGN, LIST_TYPE_RGN, LIST_TYPE_RGN2, DLS::Instrument::pCkInstrument, and DLS::Instrument::pRegions.
Referenced by DLS::Instrument::GetFirstRegion().
friend class File [friend] |
ArticulationList::iterator DLS::Articulator::ArticulationsIterator [protected, inherited] |
Definition at line 306 of file DLS.h.
Referenced by DLS::Articulator::GetFirstArticulation(), and DLS::Articulator::GetNextArticulation().
int32_t gig::Instrument::Attenuation |
0-127 (where 0 means C1 and 127 means G9)
Definition at line 678 of file gig.h.
Referenced by Instrument().
uint16_t gig::Instrument::EffectSend |
int16_t gig::Instrument::FineTune |
bool DLS::Instrument::IsDrum [inherited] |
Indicates if the Instrument is a drum type, as they differ in the synthesis model of DLS from melodic instruments.
Definition at line 427 of file DLS.h.
Referenced by DLS::Instrument::Instrument().
uint16_t DLS::Instrument::MIDIBank [inherited] |
Reflects combination of MIDIBankCoarse and MIDIBankFine (bank 1 - bank 16384).
Definition at line 428 of file DLS.h.
Referenced by DLS::Instrument::Instrument(), and PrintInstruments().
uint8_t DLS::Instrument::MIDIBankCoarse [inherited] |
Reflects the MIDI Bank number for MIDI Control Change 0 (bank 1 - 128).
Definition at line 429 of file DLS.h.
Referenced by DLS::Instrument::Instrument().
uint8_t DLS::Instrument::MIDIBankFine [inherited] |
Reflects the MIDI Bank number for MIDI Control Change 32 (bank 1 - 128).
Definition at line 430 of file DLS.h.
Referenced by DLS::Instrument::Instrument().
uint32_t DLS::Instrument::MIDIProgram [inherited] |
Specifies the MIDI Program Change Number this Instrument should be assigned to.
Definition at line 431 of file DLS.h.
Referenced by DLS::Instrument::Instrument(), and PrintInstruments().
ArticulationList* DLS::Articulator::pArticulations [protected, inherited] |
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().
RIFF::List* DLS::Instrument::pCkInstrument [protected, inherited] |
Definition at line 443 of file DLS.h.
Referenced by DLS::Instrument::Instrument(), and DLS::Instrument::LoadRegions().
dlsid_t* DLS::Resource::pDLSID [inherited] |
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().
Info* DLS::Resource::pInfo [inherited] |
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().
uint16_t gig::Instrument::PitchbendRange |
Number of semitones pitchbend controller can pitch (default is 2).
Definition at line 676 of file gig.h.
Referenced by Instrument().
Resource* DLS::Resource::pParent [protected, inherited] |
RIFF::List* DLS::Articulator::pParentList [protected, inherited] |
Definition at line 304 of file DLS.h.
Referenced by DLS::Articulator::Articulator(), and DLS::Articulator::LoadArticulations().
Region** gig::Instrument::pRegions [protected] |
Pointer array to the regions.
Reimplemented from DLS::Instrument.
Definition at line 689 of file gig.h.
Referenced by GetFirstRegion(), GetNextRegion(), GetRegion(), Instrument(), and ~Instrument().
int gig::Instrument::RegionIndex [protected] |
Definition at line 691 of file gig.h.
Referenced by GetFirstRegion(), GetNextRegion(), and Instrument().
Region* gig::Instrument::RegionKeyTable[128] [protected] |
fast lookup for the corresponding Region of a MIDI key
Definition at line 690 of file gig.h.
Referenced by GetRegion(), and Instrument().
uint32_t DLS::Instrument::Regions [inherited] |
Reflects the number of Region defintions this Instrument has.
Definition at line 432 of file DLS.h.
Referenced by GetFirstRegion(), GetNextRegion(), Instrument(), DLS::Instrument::Instrument(), and ~Instrument().
RegionList::iterator DLS::Instrument::RegionsIterator [protected, inherited] |
Definition at line 445 of file DLS.h.
Referenced by DLS::Instrument::GetFirstRegion(), and DLS::Instrument::GetNextRegion().