libgig
3.3.0.svn3
|
Defines Region information of an Instrument. More...
#include <DLS.h>
Public Member Functions | |
Sample * | GetSample () |
void | SetSample (Sample *pSample) |
Assign another sample to this Region. More... | |
virtual void | SetKeyRange (uint16_t Low, uint16_t High) |
Modifies the key range of this Region and makes sure the respective chunks are in correct order. More... | |
virtual void | UpdateChunks () |
Apply Region settings to the respective RIFF chunks. More... | |
Resource * | GetParent () |
void | GenerateDLSID () |
Generates a new DLSID for the resource. More... | |
Articulation * | GetFirstArticulation () |
Articulation * | GetNextArticulation () |
void | AddSampleLoop (sample_loop_t *pLoopDef) |
Adds a new sample loop with the provided loop definition. More... | |
void | DeleteSampleLoop (sample_loop_t *pLoopDef) |
Deletes an existing sample loop. More... | |
virtual void | SetGain (int32_t gain) |
Public Attributes | |
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. More... | |
dlsid_t * | pDLSID |
Points to a dlsid_t structure if the file provided a DLS ID else is NULL. More... | |
uint8_t | UnityNote |
int16_t | FineTune |
int32_t | Gain |
bool | NoSampleDepthTruncation |
bool | NoSampleCompression |
uint32_t | SampleLoops |
Reflects the number of sample loops. More... | |
sample_loop_t * | pSampleLoops |
Points to the beginning of a sample loop array, or is NULL if there are no loops defined. More... | |
Protected Types | |
typedef std::list< Articulation * > | ArticulationList |
Protected Member Functions | |
Region (Instrument *pInstrument, RIFF::List *rgnList) | |
virtual | ~Region () |
Destructor. More... | |
void | LoadArticulations () |
Protected Attributes | |
RIFF::List * | pCkRegion |
uint32_t | WavePoolTableIndex |
Sample * | pSample |
uint16_t | FormatOptionFlags |
uint16_t | WaveLinkOptionFlags |
Resource * | pParent |
RIFF::List * | pResourceList |
RIFF::List * | pParentList |
ArticulationList * | pArticulations |
ArticulationList::iterator | ArticulationsIterator |
RIFF::List * | pParentList |
uint32_t | uiHeaderSize |
uint32_t | SamplerOptions |
Friends | |
class | Instrument |
Defines Region information of an Instrument.
|
protectedinherited |
|
protected |
Definition at line 864 of file DLS.cpp.
References Channel, CHUNK_ID_RGNH, CHUNK_ID_WLNK, F_RGN_OPTION_SELFNONEXCLUSIVE, F_WAVELINK_MULTICHANNEL, F_WAVELINK_PHASE_MASTER, FormatOptionFlags, RIFF::List::GetSubChunk(), DLS::range_t::high, KeyGroup, KeyRange, Layer, DLS::range_t::low, MultiChannel, pCkRegion, PhaseGroup, PhaseMaster, pSample, RIFF::Chunk::Read(), RIFF::Chunk::ReadUint16(), RIFF::Chunk::ReadUint32(), RIFF::Chunk::RemainingBytes(), SelfNonExclusive, VelocityRange, WaveLinkOptionFlags, and WavePoolTableIndex.
|
protectedvirtual |
Destructor.
Removes RIFF chunks associated with this Region.
Reimplemented in gig::Region.
Definition at line 912 of file DLS.cpp.
References RIFF::List::DeleteSubChunk(), RIFF::Chunk::GetParent(), pCkRegion, and DLS::Resource::pParent.
|
inherited |
Adds a new sample loop with the provided loop definition.
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.
|
inherited |
Deletes an existing sample loop.
pLoopDef | - pointer to existing loop definition |
Exception | - if given loop definition does not exist |
Definition at line 598 of file DLS.cpp.
References DLS::Sampler::pSampleLoops, and DLS::Sampler::SampleLoops.
|
inherited |
Generates a new DLSID for the resource.
Definition at line 450 of file DLS.cpp.
References DLS::dlsid_t::abData, DLS::Resource::pDLSID, DLS::dlsid_t::ulData1, DLS::dlsid_t::usData2, and DLS::dlsid_t::usData3.
Referenced by gig::File::AddInstrument(), and gig::File::File().
|
inherited |
Definition at line 174 of file DLS.cpp.
References DLS::Articulator::ArticulationsIterator, DLS::Articulator::LoadArticulations(), and DLS::Articulator::pArticulations.
|
inherited |
Definition at line 181 of file DLS.cpp.
References DLS::Articulator::ArticulationsIterator, and DLS::Articulator::pArticulations.
|
inlineinherited |
Definition at line 328 of file DLS.h.
References DLS::Resource::pParent.
Referenced by gig::Region::AddDimension(), GetSample(), gig::Region::GetSampleFromWavePool(), gig::Region::Region(), SetKeyRange(), gig::Region::SetKeyRange(), UpdateChunks(), gig::DimensionRegion::UpdateChunks(), gig::Region::UpdateChunks(), gig::Instrument::UpdateChunks(), and gig::Sample::Write().
Sample * DLS::Region::GetSample | ( | ) |
Definition at line 917 of file DLS.cpp.
References DLS::File::GetFirstSample(), DLS::File::GetNextSample(), DLS::Resource::GetParent(), pSample, DLS::File::pWavePoolTable, DLS::Sample::ulWavePoolOffset, and WavePoolTableIndex.
|
protectedinherited |
Definition at line 187 of file DLS.cpp.
References CHUNK_ID_ART2, CHUNK_ID_ARTL, RIFF::Chunk::GetChunkID(), RIFF::List::GetFirstSubChunk(), RIFF::List::GetListType(), RIFF::List::GetNextSubChunk(), RIFF::List::GetSubList(), LIST_TYPE_LAR2, LIST_TYPE_LART, DLS::Articulator::pArticulations, and DLS::Articulator::pParentList.
Referenced by DLS::Articulator::GetFirstArticulation().
|
virtualinherited |
Reimplemented in gig::DimensionRegion.
Definition at line 531 of file DLS.cpp.
References DLS::Sampler::Gain.
Referenced by gig::DimensionRegion::SetGain().
|
virtual |
Modifies the key range of this Region and makes sure the respective chunks are in correct order.
Low | - lower end of key range |
High | - upper end of key range |
Reimplemented in gig::Region.
Definition at line 946 of file DLS.cpp.
References DLS::Resource::GetParent(), DLS::range_t::high, KeyRange, DLS::Instrument::LoadRegions(), DLS::range_t::low, and DLS::Instrument::pRegions.
Referenced by gig::Region::SetKeyRange().
void DLS::Region::SetSample | ( | Sample * | pSample | ) |
Assign another sample to this Region.
pSample | - sample to be assigned |
Definition at line 934 of file DLS.cpp.
References pSample, and WavePoolTableIndex.
|
virtual |
Apply Region settings to the respective RIFF chunks.
You have to call File::Save() to make changes persistent.
Reimplemented from DLS::Articulator.
Reimplemented in gig::Region.
Definition at line 980 of file DLS.cpp.
References RIFF::List::AddSubChunk(), Channel, CHUNK_ID_RGNH, CHUNK_ID_WLNK, F_RGN_OPTION_SELFNONEXCLUSIVE, F_WAVELINK_MULTICHANNEL, F_WAVELINK_PHASE_MASTER, FormatOptionFlags, DLS::Resource::GetParent(), RIFF::Chunk::GetSize(), RIFF::List::GetSubChunk(), DLS::range_t::high, KeyGroup, KeyRange, Layer, RIFF::Chunk::LoadChunkData(), DLS::range_t::low, MultiChannel, pCkRegion, PhaseGroup, PhaseMaster, pSample, DLS::File::pSamples, SelfNonExclusive, DLS::Articulator::UpdateChunks(), DLS::Sampler::UpdateChunks(), VelocityRange, WaveLinkOptionFlags, and WavePoolTableIndex.
Referenced by gig::Region::UpdateChunks().
|
friend |
|
protectedinherited |
Definition at line 277 of file DLS.h.
Referenced by DLS::Articulator::GetFirstArticulation(), and DLS::Articulator::GetNextArticulation().
uint32_t DLS::Region::Channel |
Definition at line 412 of file DLS.h.
Referenced by Region(), and UpdateChunks().
|
inherited |
Definition at line 343 of file DLS.h.
Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
|
protected |
Definition at line 422 of file DLS.h.
Referenced by Region(), and UpdateChunks().
|
inherited |
Definition at line 344 of file DLS.h.
Referenced by gig::DimensionRegion::DimensionRegion(), DLS::Sampler::Sampler(), DLS::Sampler::SetGain(), gig::DimensionRegion::SetGain(), and DLS::Sampler::UpdateChunks().
uint16_t DLS::Region::KeyGroup |
Definition at line 406 of file DLS.h.
Referenced by Region(), and UpdateChunks().
range_t DLS::Region::KeyRange |
Definition at line 404 of file DLS.h.
Referenced by Region(), SetKeyRange(), UpdateChunks(), and gig::Instrument::UpdateRegionKeyTable().
uint16_t DLS::Region::Layer |
Definition at line 407 of file DLS.h.
Referenced by Region(), and UpdateChunks().
bool DLS::Region::MultiChannel |
Definition at line 411 of file DLS.h.
Referenced by Region(), and UpdateChunks().
|
inherited |
Definition at line 346 of file DLS.h.
Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
|
inherited |
Definition at line 345 of file DLS.h.
Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
|
protectedinherited |
Definition at line 276 of file DLS.h.
Referenced by DLS::Articulator::Articulator(), DLS::Articulator::GetFirstArticulation(), DLS::Articulator::GetNextArticulation(), DLS::Articulator::LoadArticulations(), DLS::Articulator::UpdateChunks(), and DLS::Articulator::~Articulator().
|
protected |
Definition at line 419 of file DLS.h.
Referenced by gig::Region::AddDimension(), gig::Region::DeleteDimension(), Region(), UpdateChunks(), gig::Region::UpdateChunks(), and ~Region().
|
inherited |
Points to a dlsid_t structure if the file provided a DLS ID else is NULL.
Definition at line 326 of file DLS.h.
Referenced by DLS::Resource::GenerateDLSID(), DLS::Resource::Resource(), DLS::Resource::UpdateChunks(), and DLS::Resource::~Resource().
uint16_t DLS::Region::PhaseGroup |
Definition at line 410 of file DLS.h.
Referenced by Region(), and UpdateChunks().
bool DLS::Region::PhaseMaster |
Definition at line 409 of file DLS.h.
Referenced by Region(), and UpdateChunks().
|
inherited |
Points (in any case) to an Info object, providing additional, optional infos and comments.
Definition at line 325 of file DLS.h.
Referenced by gig::File::AddInstrument(), gig::File::File(), gig::Instrument::Instrument(), DLS::Resource::Resource(), gig::Sample::Sample(), DLS::Resource::UpdateChunks(), and DLS::Resource::~Resource().
|
protectedinherited |
Definition at line 332 of file DLS.h.
Referenced by DLS::Resource::GetParent(), DLS::Resource::Resource(), gig::Sample::UpdateChunks(), DLS::Instrument::~Instrument(), ~Region(), and DLS::Sample::~Sample().
|
protectedinherited |
Definition at line 275 of file DLS.h.
Referenced by DLS::Articulator::Articulator(), gig::Region::DeleteDimension(), and DLS::Articulator::LoadArticulations().
|
protectedinherited |
Definition at line 355 of file DLS.h.
Referenced by gig::Region::AddDimension(), gig::DimensionRegion::DimensionRegion(), DLS::Sampler::Sampler(), DLS::Sampler::UpdateChunks(), and gig::DimensionRegion::UpdateChunks().
|
protectedinherited |
Definition at line 333 of file DLS.h.
Referenced by DLS::Resource::Resource(), and DLS::Resource::UpdateChunks().
|
protected |
Definition at line 421 of file DLS.h.
Referenced by GetSample(), gig::Region::GetSample(), Region(), SetSample(), UpdateChunks(), and gig::Region::UpdateChunks().
|
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(), gig::DimensionRegion::DimensionRegion(), gig::Sample::ReadAndLoop(), DLS::Sampler::Sampler(), DLS::Sampler::UpdateChunks(), and DLS::Sampler::~Sampler().
|
inherited |
Reflects the number of sample loops.
Definition at line 347 of file DLS.h.
Referenced by DLS::Sampler::AddSampleLoop(), DLS::Sampler::DeleteSampleLoop(), gig::DimensionRegion::DimensionRegion(), gig::Sample::ReadAndLoop(), DLS::Sampler::Sampler(), DLS::Sampler::UpdateChunks(), and gig::File::UpdateChunks().
|
protectedinherited |
Definition at line 357 of file DLS.h.
Referenced by gig::DimensionRegion::DimensionRegion(), DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
bool DLS::Region::SelfNonExclusive |
Definition at line 408 of file DLS.h.
Referenced by Region(), and UpdateChunks().
|
protectedinherited |
Definition at line 356 of file DLS.h.
Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
|
inherited |
Definition at line 342 of file DLS.h.
Referenced by DLS::Sampler::Sampler(), and DLS::Sampler::UpdateChunks().
range_t DLS::Region::VelocityRange |
Definition at line 405 of file DLS.h.
Referenced by Region(), and UpdateChunks().
|
protected |
Definition at line 423 of file DLS.h.
Referenced by Region(), and UpdateChunks().
|
protected |
Definition at line 420 of file DLS.h.
Referenced by GetSample(), gig::Region::GetSample(), gig::Region::GetSampleFromWavePool(), Region(), SetSample(), and UpdateChunks().