414 |
/** Defines <i>Region</i> information of an <i>Instrument</i>. */ |
/** Defines <i>Region</i> information of an <i>Instrument</i>. */ |
415 |
class Region : public Resource, public Articulator, public Sampler { |
class Region : public Resource, public Articulator, public Sampler { |
416 |
public: |
public: |
417 |
range_t KeyRange; |
range_t KeyRange; ///< @deprecated Only read, don't write! Use SetKeyRange() instead. |
418 |
range_t VelocityRange; |
range_t VelocityRange; |
419 |
uint16_t KeyGroup; |
uint16_t KeyGroup; |
420 |
uint16_t Layer; |
uint16_t Layer; |
426 |
|
|
427 |
Sample* GetSample(); |
Sample* GetSample(); |
428 |
void SetSample(Sample* pSample); |
void SetSample(Sample* pSample); |
429 |
|
virtual void SetKeyRange(uint16_t Low, uint16_t High); |
430 |
virtual void UpdateChunks(); |
virtual void UpdateChunks(); |
431 |
protected: |
protected: |
432 |
RIFF::List* pCkRegion; |
RIFF::List* pCkRegion; |
453 |
Region* GetFirstRegion(); |
Region* GetFirstRegion(); |
454 |
Region* GetNextRegion(); |
Region* GetNextRegion(); |
455 |
Region* AddRegion(); |
Region* AddRegion(); |
|
void MoveRegion(Region* pSrc, Region* pDst); |
|
456 |
void DeleteRegion(Region* pRegion); |
void DeleteRegion(Region* pRegion); |
457 |
virtual void UpdateChunks(); |
virtual void UpdateChunks(); |
458 |
protected: |
protected: |
470 |
virtual void LoadRegions(); |
virtual void LoadRegions(); |
471 |
virtual ~Instrument(); |
virtual ~Instrument(); |
472 |
friend class File; |
friend class File; |
473 |
|
friend class Region; |
474 |
|
private: |
475 |
|
void MoveRegion(Region* pSrc, Region* pDst); |
476 |
}; |
}; |
477 |
|
|
478 |
/** Parses DLS Level 1 and 2 compliant files and provides abstract access to the data. */ |
/** Parses DLS Level 1 and 2 compliant files and provides abstract access to the data. */ |