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-2019 by Christian Schoenebeck * |
* Copyright (C) 2003-2021 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 * |
343 |
class Articulator : public Storage { |
class Articulator : public Storage { |
344 |
public: |
public: |
345 |
Articulator(RIFF::List* ParentList); |
Articulator(RIFF::List* ParentList); |
346 |
Articulation* GetFirstArticulation(); |
Articulation* GetArticulation(size_t pos); |
347 |
Articulation* GetNextArticulation(); |
Articulation* GetFirstArticulation() LIBGIG_DEPRECATED_API("Use GetArticulation() instead."); |
348 |
|
Articulation* GetNextArticulation() LIBGIG_DEPRECATED_API("Use GetArticulation() instead."); |
349 |
virtual void UpdateChunks(progress_t* pProgress) OVERRIDE; |
virtual void UpdateChunks(progress_t* pProgress) OVERRIDE; |
350 |
virtual void DeleteChunks() OVERRIDE; |
virtual void DeleteChunks() OVERRIDE; |
351 |
virtual void CopyAssign(const Articulator* orig); |
virtual void CopyAssign(const Articulator* orig); |
352 |
protected: |
protected: |
353 |
typedef std::list<Articulation*> ArticulationList; |
typedef std::vector<Articulation*> ArticulationList; |
354 |
RIFF::List* pParentList; |
RIFF::List* pParentList; |
355 |
ArticulationList* pArticulations; |
ArticulationList* pArticulations; |
356 |
ArticulationList::iterator ArticulationsIterator; |
ArticulationList::iterator ArticulationsIterator; |
530 |
uint32_t MIDIProgram; ///< Specifies the MIDI Program Change Number this Instrument should be assigned to. |
uint32_t MIDIProgram; ///< Specifies the MIDI Program Change Number this Instrument should be assigned to. |
531 |
uint32_t Regions; ///< Reflects the number of <i>Region</i> defintions this Instrument has. |
uint32_t Regions; ///< Reflects the number of <i>Region</i> defintions this Instrument has. |
532 |
|
|
533 |
Region* GetFirstRegion(); |
Region* GetRegionAt(size_t pos); |
534 |
Region* GetNextRegion(); |
Region* GetFirstRegion() LIBGIG_DEPRECATED_API("Use GetRegionAt() instead."); |
535 |
|
Region* GetNextRegion() LIBGIG_DEPRECATED_API("Use GetRegionAt() instead."); |
536 |
Region* AddRegion(); |
Region* AddRegion(); |
537 |
void DeleteRegion(Region* pRegion); |
void DeleteRegion(Region* pRegion); |
538 |
virtual void UpdateChunks(progress_t* pProgress) OVERRIDE; |
virtual void UpdateChunks(progress_t* pProgress) OVERRIDE; |
539 |
virtual void DeleteChunks() OVERRIDE; |
virtual void DeleteChunks() OVERRIDE; |
540 |
virtual void CopyAssign(const Instrument* orig); |
virtual void CopyAssign(const Instrument* orig); |
541 |
protected: |
protected: |
542 |
typedef std::list<Region*> RegionList; |
typedef std::vector<Region*> RegionList; |
543 |
struct midi_locale_t { |
struct midi_locale_t { |
544 |
uint32_t bank; |
uint32_t bank; |
545 |
uint32_t instrument; |
uint32_t instrument; |
569 |
File(RIFF::File* pRIFF); |
File(RIFF::File* pRIFF); |
570 |
String GetFileName(); |
String GetFileName(); |
571 |
void SetFileName(const String& name); |
void SetFileName(const String& name); |
572 |
Sample* GetFirstSample(); ///< Returns a pointer to the first <i>Sample</i> object of the file, <i>NULL</i> otherwise. |
Sample* GetSample(size_t index); |
573 |
Sample* GetNextSample(); ///< Returns a pointer to the next <i>Sample</i> object of the file, <i>NULL</i> otherwise. |
Sample* GetFirstSample() LIBGIG_DEPRECATED_API("Use GetSample() instead."); |
574 |
|
Sample* GetNextSample() LIBGIG_DEPRECATED_API("Use GetSample() instead."); |
575 |
Sample* AddSample(); |
Sample* AddSample(); |
576 |
void DeleteSample(Sample* pSample); |
void DeleteSample(Sample* pSample); |
577 |
Instrument* GetFirstInstrument(); ///< Returns a pointer to the first <i>Instrument</i> object of the file, <i>NULL</i> otherwise. |
Instrument* GetFirstInstrument(); ///< Returns a pointer to the first <i>Instrument</i> object of the file, <i>NULL</i> otherwise. |
578 |
Instrument* GetNextInstrument(); ///< Returns a pointer to the next <i>Instrument</i> object of the file, <i>NULL</i> otherwise. |
Instrument* GetNextInstrument(); ///< Returns a pointer to the next <i>Instrument</i> object of the file, <i>NULL</i> otherwise. |
579 |
Instrument* AddInstrument(); |
Instrument* AddInstrument(); |
580 |
void DeleteInstrument(Instrument* pInstrument); |
void DeleteInstrument(Instrument* pInstrument); |
581 |
|
RIFF::File* GetRiffFile(); |
582 |
RIFF::File* GetExtensionFile(int index); |
RIFF::File* GetExtensionFile(int index); |
583 |
virtual void UpdateChunks(progress_t* pProgress) OVERRIDE; |
virtual void UpdateChunks(progress_t* pProgress) OVERRIDE; |
584 |
virtual void Save(const String& Path, progress_t* pProgress = NULL); |
virtual void Save(const String& Path, progress_t* pProgress = NULL); |
585 |
virtual void Save(progress_t* pProgress = NULL); |
virtual void Save(progress_t* pProgress = NULL); |
586 |
virtual ~File(); |
virtual ~File(); |
587 |
protected: |
protected: |
588 |
typedef std::list<Sample*> SampleList; |
typedef std::vector<Sample*> SampleList; |
589 |
typedef std::list<Instrument*> InstrumentList; |
typedef std::list<Instrument*> InstrumentList; |
590 |
|
|
591 |
RIFF::File* pRIFF; |
RIFF::File* pRIFF; |