2 |
* * |
* * |
3 |
* libgig - C++ cross-platform Gigasampler format file access library * |
* libgig - C++ cross-platform Gigasampler format file access library * |
4 |
* * |
* * |
5 |
* Copyright (C) 2003-2010 by Christian Schoenebeck * |
* Copyright (C) 2003-2013 by Christian Schoenebeck * |
6 |
* <cuse@users.sourceforge.net> * |
* <cuse@users.sourceforge.net> * |
7 |
* * |
* * |
8 |
* This library is free software; you can redistribute it and/or modify * |
* This library is free software; you can redistribute it and/or modify * |
270 |
Articulation* GetFirstArticulation(); |
Articulation* GetFirstArticulation(); |
271 |
Articulation* GetNextArticulation(); |
Articulation* GetNextArticulation(); |
272 |
virtual void UpdateChunks(); |
virtual void UpdateChunks(); |
273 |
|
virtual void CopyAssign(const Articulator* orig); |
274 |
protected: |
protected: |
275 |
typedef std::list<Articulation*> ArticulationList; |
typedef std::list<Articulation*> ArticulationList; |
276 |
RIFF::List* pParentList; |
RIFF::List* pParentList; |
312 |
void SetFixedStringLengths(const string_length_t* lengths); |
void SetFixedStringLengths(const string_length_t* lengths); |
313 |
virtual ~Info(); |
virtual ~Info(); |
314 |
virtual void UpdateChunks(); |
virtual void UpdateChunks(); |
315 |
|
virtual void CopyAssign(const Info* orig); |
316 |
private: |
private: |
317 |
RIFF::List* pResourceListChunk; |
RIFF::List* pResourceListChunk; |
318 |
const string_length_t* pFixedStringLengths; ///< List of IDs and string lengths for strings that should be stored in a fixed length format. This is used for gig files, not for ordinary DLS files. |
const string_length_t* pFixedStringLengths; ///< List of IDs and string lengths for strings that should be stored in a fixed length format. This is used for gig files, not for ordinary DLS files. |
330 |
Resource* GetParent() { return pParent; } |
Resource* GetParent() { return pParent; } |
331 |
virtual void UpdateChunks(); |
virtual void UpdateChunks(); |
332 |
void GenerateDLSID(); |
void GenerateDLSID(); |
333 |
|
virtual void CopyAssign(const Resource* orig); |
334 |
protected: |
protected: |
335 |
Resource* pParent; |
Resource* pParent; |
336 |
RIFF::List* pResourceList; |
RIFF::List* pResourceList; |
354 |
void DeleteSampleLoop(sample_loop_t* pLoopDef); |
void DeleteSampleLoop(sample_loop_t* pLoopDef); |
355 |
virtual void SetGain(int32_t gain); |
virtual void SetGain(int32_t gain); |
356 |
virtual void UpdateChunks(); |
virtual void UpdateChunks(); |
357 |
|
virtual void CopyAssign(const Sampler* orig); |
358 |
protected: |
protected: |
359 |
RIFF::List* pParentList; |
RIFF::List* pParentList; |
360 |
uint32_t uiHeaderSize; |
uint32_t uiHeaderSize; |
419 |
void SetSample(Sample* pSample); |
void SetSample(Sample* pSample); |
420 |
virtual void SetKeyRange(uint16_t Low, uint16_t High); |
virtual void SetKeyRange(uint16_t Low, uint16_t High); |
421 |
virtual void UpdateChunks(); |
virtual void UpdateChunks(); |
422 |
|
virtual void CopyAssign(const Region* orig); |
423 |
protected: |
protected: |
424 |
RIFF::List* pCkRegion; |
RIFF::List* pCkRegion; |
425 |
uint32_t WavePoolTableIndex; // index in the wave pool table to the sample wave this region is linked to |
uint32_t WavePoolTableIndex; // index in the wave pool table to the sample wave this region is linked to |
447 |
Region* AddRegion(); |
Region* AddRegion(); |
448 |
void DeleteRegion(Region* pRegion); |
void DeleteRegion(Region* pRegion); |
449 |
virtual void UpdateChunks(); |
virtual void UpdateChunks(); |
450 |
|
virtual void CopyAssign(const Instrument* orig); |
451 |
protected: |
protected: |
452 |
typedef std::list<Region*> RegionList; |
typedef std::list<Region*> RegionList; |
453 |
struct midi_locale_t { |
struct midi_locale_t { |
460 |
RegionList::iterator RegionsIterator; |
RegionList::iterator RegionsIterator; |
461 |
|
|
462 |
Instrument(File* pFile, RIFF::List* insList); |
Instrument(File* pFile, RIFF::List* insList); |
463 |
|
void CopyAssignCore(const Instrument* orig); |
464 |
virtual void LoadRegions(); |
virtual void LoadRegions(); |
465 |
virtual ~Instrument(); |
virtual ~Instrument(); |
466 |
friend class File; |
friend class File; |