--- libgig/trunk/src/DLS.h 2007/05/27 13:54:24 1209 +++ libgig/trunk/src/DLS.h 2007/09/30 18:13:33 1358 @@ -316,7 +316,7 @@ String SourceForm; ///< . Identifies the original form of the material that was digitized, such as record, sampling CD, TV sound track. This is not neccessarily the same as Medium. String Commissioned; ///< . Lists the name of the person or organization that commissioned the subject of the file, e.g., Pope Julian II. String Subject; ///< . Describes the contents of the file. - bool UseFixedLengthStrings; ///< Deprecated. Use #FixedStringLengths instead. + bool UseFixedLengthStrings; ///< @deprecated Use #FixedStringLengths instead. struct FixedStringLength { uint32_t chunkId; @@ -355,7 +355,7 @@ public: uint8_t UnityNote; int16_t FineTune; - int32_t Gain; + int32_t Gain; ///< @deprecated Don't alter directly, use SetGain() instead! bool NoSampleDepthTruncation; bool NoSampleCompression; uint32_t SampleLoops; ///< Reflects the number of sample loops. @@ -363,6 +363,7 @@ void AddSampleLoop(sample_loop_t* pLoopDef); void DeleteSampleLoop(sample_loop_t* pLoopDef); + virtual void SetGain(int32_t gain); virtual void UpdateChunks(); protected: RIFF::List* pParentList; @@ -414,7 +415,7 @@ /** Defines Region information of an Instrument. */ class Region : public Resource, public Articulator, public Sampler { public: - range_t KeyRange; + range_t KeyRange; ///< @deprecated Only read, don't write! Use SetKeyRange() instead. range_t VelocityRange; uint16_t KeyGroup; uint16_t Layer; @@ -426,6 +427,7 @@ Sample* GetSample(); void SetSample(Sample* pSample); + virtual void SetKeyRange(uint16_t Low, uint16_t High); virtual void UpdateChunks(); protected: RIFF::List* pCkRegion; @@ -452,7 +454,6 @@ Region* GetFirstRegion(); Region* GetNextRegion(); Region* AddRegion(); - void MoveRegion(Region* pSrc, Region* pDst); void DeleteRegion(Region* pRegion); virtual void UpdateChunks(); protected: @@ -470,6 +471,9 @@ virtual void LoadRegions(); virtual ~Instrument(); friend class File; + friend class Region; + private: + void MoveRegion(Region* pSrc, Region* pDst); }; /** Parses DLS Level 1 and 2 compliant files and provides abstract access to the data. */