libgig
4.0.0
|
Provides access to a Gigasampler/GigaStudio instrument. More...
#include <gig.h>
Public Member Functions | |
Region * | GetFirstRegion () |
Returns the first Region of the instrument. More... | |
Region * | GetNextRegion () |
Returns the next Region of the instrument. More... | |
Region * | AddRegion () |
void | DeleteRegion (Region *pRegion) |
void | MoveTo (Instrument *dst) |
Move this instrument at the position before. More... | |
virtual void | UpdateChunks (progress_t *pProgress) |
Apply Instrument with all its Regions to the respective RIFF chunks. More... | |
virtual void | CopyAssign (const Instrument *orig) |
Make a (semi) deep copy of the Instrument object given by orig and assign it to this object. More... | |
Region * | GetRegion (unsigned int Key) |
Returns the appropriate Region for a triggered note. More... | |
MidiRule * | GetMidiRule (int i) |
Returns a MIDI rule of the instrument. More... | |
MidiRuleCtrlTrigger * | AddMidiRuleCtrlTrigger () |
Adds the "controller trigger" MIDI rule to the instrument. More... | |
MidiRuleLegato * | AddMidiRuleLegato () |
Adds the legato MIDI rule to the instrument. More... | |
MidiRuleAlternator * | AddMidiRuleAlternator () |
Adds the alternator MIDI rule to the instrument. More... | |
void | DeleteMidiRule (int i) |
Deletes a MIDI rule from the instrument. More... | |
Script * | GetScriptOfSlot (uint index) |
Get instrument script (gig format extension). More... | |
void | AddScriptSlot (Script *pScript, bool bypass=false) |
Add new instrument script slot (gig format extension). More... | |
void | SwapScriptSlots (uint index1, uint index2) |
Flip two script slots with each other (gig format extension). More... | |
void | RemoveScriptSlot (uint index) |
Remove script slot. More... | |
void | RemoveScript (Script *pScript) |
Remove reference to given Script (gig format extension). More... | |
uint | ScriptSlotCount () const |
Instrument's amount of script slots. More... | |
bool | IsScriptSlotBypassed (uint index) |
Whether script execution shall be skipped. More... | |
void | SetScriptSlotBypassed (uint index, bool bBypass) |
Defines whether execution shall be skipped. More... | |
Public Attributes | |
int32_t | Attenuation |
in dB More... | |
uint16_t | EffectSend |
int16_t | FineTune |
in cents More... | |
uint16_t | PitchbendRange |
Number of semitones pitchbend controller can pitch (default is 2). More... | |
bool | PianoReleaseMode |
range_t | DimensionKeyRange |
0-127 (where 0 means C1 and 127 means G9) More... | |
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 () | |
Destructor. More... | |
void | CopyAssign (const Instrument *orig, const std::map< Sample *, Sample *> *mSamples) |
Make a (semi) deep copy of the Instrument object given by orig and assign it to this object. More... | |
void | UpdateRegionKeyTable () |
void | LoadScripts () |
void | UpdateScriptFileOffsets () |
void | DeleteRegion (Region *pRegion) |
virtual void | CopyAssign (const Instrument *orig) |
Make a (semi) deep copy of the Instrument object given by orig and assign it to this object. More... | |
virtual void | CopyAssign (const Resource *orig) |
Make a deep copy of the Resource object given by orig and assign it to this object. More... | |
virtual void | CopyAssign (const Articulator *orig) |
Not yet implemented in this version, since the .gig format does not need to copy DLS articulators and so far nobody used pure DLS instrument AFAIK. More... | |
void | CopyAssignCore (const Instrument *orig) |
virtual void | LoadRegions () |
Resource * | GetParent () |
const Resource * | GetParent () const |
void | GenerateDLSID () |
Generates a new DLSID for the resource. More... | |
Articulation * | GetFirstArticulation () |
Articulation * | GetNextArticulation () |
void | LoadArticulations () |
Protected Attributes | |
Region * | RegionKeyTable [128] |
fast lookup for the corresponding Region of a MIDI key More... | |
bool | IsDrum |
Indicates if the Instrument is a drum type, as they differ in the synthesis model of DLS from melodic instruments. More... | |
uint16_t | MIDIBank |
Reflects combination of MIDIBankCoarse and MIDIBankFine (bank 1 - bank 16384). Do not change this value, it will not be saved! Change MIDIBankCoarse and MIDIBankFine instead (we might change that in future). More... | |
uint8_t | MIDIBankCoarse |
Reflects the MIDI Bank number for MIDI Control Change 0 (bank 1 - 128). More... | |
uint8_t | MIDIBankFine |
Reflects the MIDI Bank number for MIDI Control Change 32 (bank 1 - 128). More... | |
uint32_t | MIDIProgram |
Specifies the MIDI Program Change Number this Instrument should be assigned to. More... | |
uint32_t | Regions |
Reflects the number of Region defintions this Instrument has. More... | |
RIFF::List * | pCkInstrument |
RegionList * | pRegions |
RegionList::iterator | RegionsIterator |
Info * | pInfo |
Points (in any case) to an Info object, providing additional, optional infos and comments. More... | |
dlsid_t * | pDLSID |
Points to a dlsid_t structure if the file provided a DLS ID else is NULL. More... | |
Resource * | pParent |
RIFF::List * | pResourceList |
RIFF::List * | pParentList |
ArticulationList * | pArticulations |
ArticulationList::iterator | ArticulationsIterator |
Friends | |
class | File |
class | Region |
Provides access to a Gigasampler/GigaStudio instrument.
This class provides access to Gigasampler/GigaStudio instruments contained in .gig files. A gig instrument is merely a set of keyboard ranges (called Region), plus some additional global informations about the instrument. The major part of the actual instrument definition used for the synthesis of the instrument is contained in the respective Region object (or actually in the respective DimensionRegion object being, see description of Region for details).
Since the gig format was designed as extension to the DLS file format, this class is derived from the DLS::Instrument class. So also refer to DLS::Instrument for additional informations, class attributes and methods.
|
protectedinherited |
|
protectedinherited |
|
protected |
Definition at line 4333 of file gig.cpp.
References Attenuation, CHUNK_ID_3EWG, CHUNK_ID_INAM, CHUNK_ID_ISFT, CHUNK_ID_SCSL, DimensionKeyRange, EffectSend, FineTune, gig::File::GetAutoLoad(), RIFF::List::GetFirstSubList(), RIFF::List::GetListType(), RIFF::List::GetNextSubList(), RIFF::Chunk::GetSize(), RIFF::List::GetSubChunk(), RIFF::List::GetSubList(), gig::range_t::high, LIST_TYPE_3LS, LIST_TYPE_LART, LIST_TYPE_LRGN, LIST_TYPE_RGN, gig::range_t::low, PianoReleaseMode, DLS::Resource::pInfo, PitchbendRange, DLS::Instrument::pRegions, RIFF::Chunk::ReadInt16(), RIFF::Chunk::ReadInt32(), RIFF::Chunk::ReadUint16(), RIFF::Chunk::ReadUint32(), RIFF::Chunk::ReadUint8(), Region, RegionKeyTable, DLS::Instrument::Regions, DLS::Info::SetFixedStringLengths(), RIFF::Chunk::SetPos(), RIFF::stream_curpos, and UpdateRegionKeyTable().
|
protectedvirtual |
Destructor.
Removes RIFF chunks associated with this Instrument and frees all memory occupied by this instrument.
Reimplemented from DLS::Instrument.
MidiRuleAlternator * gig::Instrument::AddMidiRuleAlternator | ( | ) |
MidiRuleCtrlTrigger * gig::Instrument::AddMidiRuleCtrlTrigger | ( | ) |
MidiRuleLegato * gig::Instrument::AddMidiRuleLegato | ( | ) |
Region * gig::Instrument::AddRegion | ( | ) |
Definition at line 4619 of file gig.cpp.
References RIFF::List::AddSubList(), RIFF::List::GetSubList(), LIST_TYPE_LRGN, LIST_TYPE_RGN, DLS::Instrument::pCkInstrument, DLS::Instrument::pRegions, Region, DLS::Instrument::Regions, and UpdateRegionKeyTable().
Referenced by CopyAssign().
void gig::Instrument::AddScriptSlot | ( | Script * | pScript, |
bool | bypass = false |
||
) |
Add new instrument script slot (gig format extension).
Add the given real-time instrument script reference to this instrument, which shall be executed by the sampler for for this instrument. The script will be added to the end of the script list of this instrument. The positions of the scripts in the Instrument's Script list are relevant, because they define in which order they shall be executed by the sampler. For this reason it is also legal to add the same script twice to an instrument, for example you might have a script called "MyFilter" which performs an event filter task, and you might have another script called "MyNoteTrigger" which triggers new notes, then you might for example have the following list of scripts on the instrument:
Which would make sense, because the 2nd script launched new events, which you might need to filter as well.
There are two ways to disable / "bypass" scripts. You can either disable a script locally for the respective script slot on an instrument (i.e. by passing false
to the 2nd argument of this method, or by calling SetScriptBypassed()). Or you can disable a script globally for all slots and all instruments by setting Script::Bypass.
pScript | - script that shall be executed for this instrument |
bypass | - if enabled, the sampler shall skip executing this script (in the respective list position) |
Definition at line 4844 of file gig.cpp.
References LoadScripts().
|
virtualinherited |
Not yet implemented in this version, since the .gig format does not need to copy DLS articulators and so far nobody used pure DLS instrument AFAIK.
Definition at line 240 of file DLS.cpp.
Referenced by DLS::Region::CopyAssign(), and DLS::Instrument::CopyAssignCore().
|
virtualinherited |
Make a deep copy of the Resource object given by orig and assign it to this object.
orig | - original Resource object to be copied from |
Definition at line 542 of file DLS.cpp.
References DLS::Resource::pInfo.
Referenced by DLS::Region::CopyAssign(), DLS::Sample::CopyAssignCore(), and DLS::Instrument::CopyAssignCore().
|
virtualinherited |
Make a (semi) deep copy of the Instrument 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 Instrument object to be copied from |
Definition at line 1381 of file DLS.cpp.
References DLS::Instrument::AddRegion(), DLS::Region::CopyAssign(), DLS::Instrument::CopyAssignCore(), DLS::Instrument::DeleteRegion(), DLS::Instrument::GetFirstRegion(), DLS::Instrument::pRegions, and DLS::Instrument::Regions.
|
virtual |
Make a (semi) deep copy of the Instrument 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 Instrument object to be copied from |
Definition at line 4977 of file gig.cpp.
Referenced by gig::File::AddContentOf(), and gig::File::AddDuplicateInstrument().
|
protected |
Make a (semi) deep copy of the Instrument object given by orig and assign it to this object.
orig | - original Instrument object to be copied from |
mSamples | - crosslink map between the foreign file's samples and this file's samples |
Definition at line 4989 of file gig.cpp.
References AddRegion(), Attenuation, gig::Region::CopyAssign(), DLS::Instrument::CopyAssignCore(), DeleteRegion(), DimensionKeyRange, EffectSend, FineTune, GetFirstRegion(), PianoReleaseMode, PitchbendRange, DLS::Instrument::pRegions, DLS::Instrument::Regions, and UpdateRegionKeyTable().
|
protectedinherited |
Definition at line 1359 of file DLS.cpp.
References DLS::Articulator::CopyAssign(), DLS::Resource::CopyAssign(), DLS::Instrument::IsDrum, DLS::Instrument::MIDIBank, DLS::Instrument::MIDIBankCoarse, DLS::Instrument::MIDIBankFine, and DLS::Instrument::MIDIProgram.
Referenced by DLS::Instrument::CopyAssign(), and CopyAssign().
void gig::Instrument::DeleteMidiRule | ( | int | i | ) |
|
inherited |
Definition at line 1291 of file DLS.cpp.
References DLS::Instrument::pRegions, and DLS::Instrument::Regions.
Referenced by DLS::Instrument::CopyAssign(), and DeleteRegion().
void gig::Instrument::DeleteRegion | ( | Region * | pRegion | ) |
Definition at line 4633 of file gig.cpp.
References DLS::Instrument::DeleteRegion(), DLS::Instrument::pRegions, and UpdateRegionKeyTable().
Referenced by CopyAssign().
|
inherited |
Generates a new DLSID for the resource.
Definition at line 495 of file DLS.cpp.
Referenced by gig::File::AddInstrument(), and gig::File::File().
|
inherited |
Region * gig::Instrument::GetFirstRegion | ( | ) |
Returns the first Region of the instrument.
You have to call this method once before you use GetNextRegion().
Definition at line 4599 of file gig.cpp.
References DLS::Instrument::pRegions, and DLS::Instrument::RegionsIterator.
Referenced by CopyAssign().
MidiRule * gig::Instrument::GetMidiRule | ( | int | i | ) |
Returns a MIDI rule of the instrument.
The list of MIDI rules, at least in gig v3, always contains at most two rules. The second rule can only be the DEF filter (which currently isn't supported by libgig).
i | - MIDI rule number |
|
inherited |
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.
Definition at line 4613 of file gig.cpp.
References DLS::Instrument::pRegions, and DLS::Instrument::RegionsIterator.
|
inlineinherited |
Definition at line 350 of file DLS.h.
Referenced by gig::Region::AddDimension(), DLS::Region::CopyAssign(), gig::DimensionRegion::CopyAssign(), gig::Region::DeleteDimensionZone(), DLS::Region::GetSample(), gig::Region::GetSampleFromWavePool(), LoadScripts(), MoveTo(), gig::Region::Region(), DLS::Region::SetKeyRange(), gig::Region::SetKeyRange(), gig::Region::SplitDimensionZone(), DLS::Region::UpdateChunks(), gig::DimensionRegion::UpdateChunks(), gig::Region::UpdateChunks(), UpdateChunks(), and gig::Sample::Write().
|
inlineinherited |
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 4581 of file gig.cpp.
References DLS::Instrument::pRegions, and RegionKeyTable.
Script * gig::Instrument::GetScriptOfSlot | ( | uint | index | ) |
Get instrument script (gig format extension).
Returns the real-time instrument script of instrument script slot index.
index | - instrument script slot index |
Definition at line 4803 of file gig.cpp.
References LoadScripts().
bool gig::Instrument::IsScriptSlotBypassed | ( | uint | index | ) |
Whether script execution shall be skipped.
Defines locally for the Script reference slot in the Instrument's Script list, whether the script shall be skipped by the sampler regarding execution.
It is also possible to ignore exeuction of the script globally, for all slots and for all instruments by setting Script::Bypass.
index | - index of the script slot on this instrument |
Definition at line 4940 of file gig.cpp.
References ScriptSlotCount().
|
protectedinherited |
Definition at line 189 of file DLS.cpp.
References DLS::Connection::Articulation, CHUNK_ID_ART2, CHUNK_ID_ARTL, RIFF::Chunk::GetChunkID(), RIFF::List::GetFirstSubChunk(), RIFF::List::GetListType(), RIFF::List::GetNextSubChunk(), RIFF::List::GetSubList(), LIST_TYPE_LAR2, and LIST_TYPE_LART.
|
protectedvirtualinherited |
Definition at line 1256 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, DLS::Instrument::pRegions, and DLS::Instrument::Region.
Referenced by DLS::Instrument::AddRegion(), DLS::Instrument::GetFirstRegion(), and DLS::Region::SetKeyRange().
|
protected |
Definition at line 4760 of file gig.cpp.
References CHUNK_HEADER_SIZE, RIFF::Chunk::GetFilePos(), DLS::Resource::GetParent(), RIFF::Chunk::GetPos(), gig::ScriptGroup::GetScript(), and gig::File::GetScriptGroup().
Referenced by AddScriptSlot(), GetScriptOfSlot(), RemoveScript(), RemoveScriptSlot(), SwapScriptSlots(), and UpdateChunks().
void gig::Instrument::MoveTo | ( | Instrument * | dst | ) |
Move this instrument at the position before.
This method can be used to reorder the sequence of instruments in a .gig file. This might be helpful especially on large .gig files which contain a large number of instruments within the same .gig file. So grouping such instruments to similar ones, can help to keep track of them when working with such complex .gig files.
When calling this method, this instrument will be removed from in its current position in the instruments list and moved to the requested target position provided by
dst. | You may also pass NULL as argument to this method, in that case this intrument will be moved to the very end of the .gig file's instrument list. |
You have to call Save() to make the order change persistent to the .gig file.
Currently this method is limited to moving the instrument within the same .gig file. Trying to move it to another .gig file by calling this method will throw an exception.
dst | - destination instrument at which this instrument will be moved to, or pass NULL for moving to end of list |
gig::Exception | if this instrument and target instrument are not part of the same file |
Definition at line 4667 of file gig.cpp.
References DLS::Resource::GetParent(), RIFF::List::GetSubList(), LIST_TYPE_LINS, RIFF::List::MoveSubChunk(), DLS::Instrument::pCkInstrument, DLS::File::pInstruments, and DLS::File::pRIFF.
void gig::Instrument::RemoveScript | ( | Script * | pScript | ) |
Remove reference to given Script (gig format extension).
This will remove all script slots on the instrument which are referencing the given script.
pScript | - script reference to remove from this instrument |
Definition at line 4897 of file gig.cpp.
References LoadScripts().
Referenced by gig::Script::RemoveAllScriptReferences().
void gig::Instrument::RemoveScriptSlot | ( | uint | index | ) |
Remove script slot.
Removes the script slot with the given slot index.
index | - index of script slot to remove |
Definition at line 4879 of file gig.cpp.
References LoadScripts().
uint gig::Instrument::ScriptSlotCount | ( | ) | const |
Instrument's amount of script slots.
This method returns the amount of script slots this instrument currently uses.
A script slot is a reference of a real-time instrument script to be executed by the sampler. The scripts will be executed by the sampler in sequence of the slots. One (same) script may be referenced multiple times in different slots.
Definition at line 4920 of file gig.cpp.
Referenced by IsScriptSlotBypassed(), SetScriptSlotBypassed(), and UpdateChunks().
void gig::Instrument::SetScriptSlotBypassed | ( | uint | index, |
bool | bBypass | ||
) |
Defines whether execution shall be skipped.
You can call this method to define locally whether or whether not the given script slot shall be executed by the sampler.
index | - script slot index on this instrument |
bBypass | - if true, the script slot will be skipped by the sampler |
Definition at line 4960 of file gig.cpp.
References ScriptSlotCount().
void gig::Instrument::SwapScriptSlots | ( | uint | index1, |
uint | index2 | ||
) |
Flip two script slots with each other (gig format extension).
Swaps the position of the two given scripts in the Instrument's Script list. The positions of the scripts in the Instrument's Script list are relevant, because they define in which order they shall be executed by the sampler.
index1 | - index of the first script slot to swap |
index2 | - index of the second script slot to swap |
Definition at line 4864 of file gig.cpp.
References LoadScripts().
|
virtual |
Apply Instrument with all its Regions 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.
pProgress | - callback function for progress notification |
gig::Exception | if samples cannot be dereferenced |
Reimplemented from DLS::Instrument.
Definition at line 4470 of file gig.cpp.
References RIFF::List::AddSubChunk(), RIFF::List::AddSubList(), Attenuation, CHUNK_ID_3EWG, CHUNK_ID_SCSL, RIFF::List::DeleteSubChunk(), DimensionKeyRange, EffectSend, FineTune, DLS::Resource::GetParent(), RIFF::Chunk::GetSize(), RIFF::List::GetSubChunk(), RIFF::List::GetSubList(), gig::range_t::high, LIST_TYPE_3LS, LIST_TYPE_LART, RIFF::Chunk::LoadChunkData(), LoadScripts(), gig::range_t::low, DLS::version_t::major, DLS::Instrument::pCkInstrument, PianoReleaseMode, PitchbendRange, DLS::Instrument::pRegions, DLS::File::pVersion, RIFF::Chunk::Resize(), ScriptSlotCount(), DLS::Instrument::UpdateChunks(), and gig::MidiRule::UpdateChunks().
|
protected |
Definition at line 4438 of file gig.cpp.
References DLS::range_t::high, DLS::Region::KeyRange, DLS::range_t::low, DLS::Instrument::pRegions, and RegionKeyTable.
Referenced by AddRegion(), CopyAssign(), DeleteRegion(), and Instrument().
|
protected |
Definition at line 4554 of file gig.cpp.
References CHUNK_HEADER_SIZE, CHUNK_ID_SCSL, RIFF::List::GetSubChunk(), RIFF::List::GetSubList(), LIST_TYPE_3LS, DLS::Instrument::pCkInstrument, RIFF::Chunk::SetPos(), RIFF::stream_curpos, and RIFF::Chunk::WriteUint32().
|
friend |
Definition at line 1130 of file gig.h.
Referenced by AddRegion(), and Instrument().
|
protectedinherited |
int32_t gig::Instrument::Attenuation |
in dB
Definition at line 1086 of file gig.h.
Referenced by CopyAssign(), Instrument(), and UpdateChunks().
range_t gig::Instrument::DimensionKeyRange |
0-127 (where 0 means C1 and 127 means G9)
Definition at line 1091 of file gig.h.
Referenced by CopyAssign(), Instrument(), and UpdateChunks().
uint16_t gig::Instrument::EffectSend |
Definition at line 1087 of file gig.h.
Referenced by CopyAssign(), Instrument(), and UpdateChunks().
int16_t gig::Instrument::FineTune |
in cents
Definition at line 1088 of file gig.h.
Referenced by CopyAssign(), Instrument(), and UpdateChunks().
|
inherited |
Indicates if the Instrument is a drum type, as they differ in the synthesis model of DLS from melodic instruments.
Definition at line 461 of file DLS.h.
Referenced by DLS::Instrument::CopyAssignCore(), DLS::Instrument::Instrument(), and DLS::Instrument::UpdateChunks().
|
inherited |
Reflects combination of MIDIBankCoarse and MIDIBankFine (bank 1 - bank 16384). Do not change this value, it will not be saved! Change MIDIBankCoarse and MIDIBankFine instead (we might change that in future).
Definition at line 462 of file DLS.h.
Referenced by DLS::Instrument::CopyAssignCore(), DLS::Instrument::Instrument(), and DLS::Instrument::UpdateChunks().
|
inherited |
Reflects the MIDI Bank number for MIDI Control Change 0 (bank 1 - 128).
Definition at line 463 of file DLS.h.
Referenced by DLS::Instrument::CopyAssignCore(), DLS::Instrument::Instrument(), and DLS::Instrument::UpdateChunks().
|
inherited |
Reflects the MIDI Bank number for MIDI Control Change 32 (bank 1 - 128).
Definition at line 464 of file DLS.h.
Referenced by DLS::Instrument::CopyAssignCore(), DLS::Instrument::Instrument(), and DLS::Instrument::UpdateChunks().
|
inherited |
Specifies the MIDI Program Change Number this Instrument should be assigned to.
Definition at line 465 of file DLS.h.
Referenced by DLS::Instrument::CopyAssignCore(), DLS::Instrument::Instrument(), and DLS::Instrument::UpdateChunks().
|
protectedinherited |
|
protectedinherited |
Definition at line 481 of file DLS.h.
Referenced by DLS::Instrument::AddRegion(), AddRegion(), gig::Region::DeleteDimensionZone(), DLS::Instrument::Instrument(), DLS::Instrument::LoadRegions(), MoveTo(), gig::Region::SplitDimensionZone(), DLS::Instrument::UpdateChunks(), UpdateChunks(), UpdateScriptFileOffsets(), and DLS::Instrument::~Instrument().
|
inherited |
bool gig::Instrument::PianoReleaseMode |
Definition at line 1090 of file gig.h.
Referenced by CopyAssign(), Instrument(), and UpdateChunks().
|
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 gig::File::AddInstrument(), DLS::Resource::CopyAssign(), gig::File::File(), Instrument(), and gig::Sample::Sample().
uint16_t gig::Instrument::PitchbendRange |
Number of semitones pitchbend controller can pitch (default is 2).
Definition at line 1089 of file gig.h.
Referenced by CopyAssign(), Instrument(), and UpdateChunks().
|
protectedinherited |
Definition at line 356 of file DLS.h.
Referenced by gig::Sample::UpdateChunks(), DLS::Instrument::~Instrument(), DLS::Region::~Region(), and DLS::Sample::~Sample().
|
protectedinherited |
Definition at line 296 of file DLS.h.
Referenced by gig::Region::DeleteDimension().
|
protectedinherited |
Definition at line 482 of file DLS.h.
Referenced by DLS::Instrument::AddRegion(), AddRegion(), DLS::Instrument::CopyAssign(), CopyAssign(), DLS::Instrument::DeleteRegion(), DeleteRegion(), DLS::Instrument::GetFirstRegion(), GetFirstRegion(), DLS::Instrument::GetNextRegion(), GetNextRegion(), GetRegion(), DLS::Instrument::Instrument(), Instrument(), DLS::Instrument::LoadRegions(), DLS::Region::SetKeyRange(), DLS::Instrument::UpdateChunks(), UpdateChunks(), UpdateRegionKeyTable(), and DLS::Instrument::~Instrument().
|
protectedinherited |
|
protected |
fast lookup for the corresponding Region of a MIDI key
Definition at line 1121 of file gig.h.
Referenced by GetRegion(), Instrument(), and UpdateRegionKeyTable().
|
inherited |
Reflects the number of Region defintions this Instrument has.
Definition at line 466 of file DLS.h.
Referenced by DLS::Instrument::AddRegion(), AddRegion(), DLS::Instrument::CopyAssign(), CopyAssign(), DLS::Instrument::DeleteRegion(), DLS::Instrument::Instrument(), Instrument(), and DLS::Instrument::UpdateChunks().
|
protectedinherited |
Definition at line 483 of file DLS.h.
Referenced by DLS::Instrument::GetFirstRegion(), GetFirstRegion(), DLS::Instrument::GetNextRegion(), and GetNextRegion().