/[svn]/libgig/trunk/src/gig.h
ViewVC logotype

Diff of /libgig/trunk/src/gig.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1207 by persson, Sat May 26 13:59:40 2007 UTC revision 1335 by schoenebeck, Sun Sep 9 21:22:58 2007 UTC
# Line 470  namespace gig { Line 470  namespace gig {
470              double GetVelocityAttenuation(uint8_t MIDIKeyVelocity);              double GetVelocityAttenuation(uint8_t MIDIKeyVelocity);
471              double GetVelocityRelease(uint8_t MIDIKeyVelocity);              double GetVelocityRelease(uint8_t MIDIKeyVelocity);
472              double GetVelocityCutoff(uint8_t MIDIKeyVelocity);              double GetVelocityCutoff(uint8_t MIDIKeyVelocity);
473                Region* GetParent() const;
474              // derived methods              // derived methods
475              DLS::Sampler::AddSampleLoop;              DLS::Sampler::AddSampleLoop;
476              DLS::Sampler::DeleteSampleLoop;              DLS::Sampler::DeleteSampleLoop;
# Line 477  namespace gig { Line 478  namespace gig {
478              virtual void UpdateChunks();              virtual void UpdateChunks();
479          protected:          protected:
480              uint8_t* VelocityTable; ///< For velocity dimensions with custom defined zone ranges only: used for fast converting from velocity MIDI value to dimension bit number.              uint8_t* VelocityTable; ///< For velocity dimensions with custom defined zone ranges only: used for fast converting from velocity MIDI value to dimension bit number.
481              DimensionRegion(RIFF::List* _3ewl);              DimensionRegion(Region* pParent, RIFF::List* _3ewl);
482                DimensionRegion(RIFF::List* _3ewl, const DimensionRegion& src);
483             ~DimensionRegion();             ~DimensionRegion();
484              friend class Region;              friend class Region;
485          private:          private:
# Line 516  namespace gig { Line 518  namespace gig {
518              double*                  pVelocityAttenuationTable;  ///< Points to the velocity table corresponding to the velocity parameters of this DimensionRegion.              double*                  pVelocityAttenuationTable;  ///< Points to the velocity table corresponding to the velocity parameters of this DimensionRegion.
519              double*                  pVelocityReleaseTable;      ///< Points to the velocity table corresponding to the release velocity parameters of this DimensionRegion              double*                  pVelocityReleaseTable;      ///< Points to the velocity table corresponding to the release velocity parameters of this DimensionRegion
520              double*                  pVelocityCutoffTable;       ///< Points to the velocity table corresponding to the filter velocity parameters of this DimensionRegion              double*                  pVelocityCutoffTable;       ///< Points to the velocity table corresponding to the filter velocity parameters of this DimensionRegion
521                Region*                  pRegion;
522    
523              leverage_ctrl_t DecodeLeverageController(_lev_ctrl_t EncodedController);              leverage_ctrl_t DecodeLeverageController(_lev_ctrl_t EncodedController);
524              _lev_ctrl_t     EncodeLeverageController(leverage_ctrl_t DecodedController);              _lev_ctrl_t     EncodeLeverageController(leverage_ctrl_t DecodedController);
# Line 635  namespace gig { Line 638  namespace gig {
638              DimensionRegion*        pDimensionRegions[256];   ///< Pointer array to the 32 (gig2) or 256 (gig3) possible dimension regions (reflects NULL for dimension regions not in use). Avoid to access the array directly and better use GetDimensionRegionByValue() instead, but of course in some cases it makes sense to use the array (e.g. iterating through all DimensionRegions). Use AddDimension() and DeleteDimension() to create a new dimension or delete an existing one (which will create or delete the respective dimension region(s) automatically).              DimensionRegion*        pDimensionRegions[256];   ///< Pointer array to the 32 (gig2) or 256 (gig3) possible dimension regions (reflects NULL for dimension regions not in use). Avoid to access the array directly and better use GetDimensionRegionByValue() instead, but of course in some cases it makes sense to use the array (e.g. iterating through all DimensionRegions). Use AddDimension() and DeleteDimension() to create a new dimension or delete an existing one (which will create or delete the respective dimension region(s) automatically).
639              unsigned int            Layers;                   ///< Amount of defined layers (1 - 32). A value of 1 actually means no layering, a value > 1 means there is Layer dimension. The same information can of course also be obtained by accessing pDimensionDefinitions. Do not alter this value!              unsigned int            Layers;                   ///< Amount of defined layers (1 - 32). A value of 1 actually means no layering, a value > 1 means there is Layer dimension. The same information can of course also be obtained by accessing pDimensionDefinitions. Do not alter this value!
640    
641                // own methods
642              DimensionRegion* GetDimensionRegionByValue(const uint DimValues[8]);              DimensionRegion* GetDimensionRegionByValue(const uint DimValues[8]);
643              DimensionRegion* GetDimensionRegionByBit(const uint8_t DimBits[8]);              DimensionRegion* GetDimensionRegionByBit(const uint8_t DimBits[8]);
644              Sample*          GetSample();              Sample*          GetSample();
645              void             AddDimension(dimension_def_t* pDimDef);              void             AddDimension(dimension_def_t* pDimDef);
646              void             DeleteDimension(dimension_def_t* pDimDef);              void             DeleteDimension(dimension_def_t* pDimDef);
647                // overridden methods
648                virtual void     SetKeyRange(uint16_t Low, uint16_t High);
649              virtual void     UpdateChunks();              virtual void     UpdateChunks();
650          protected:          protected:
651              Region(Instrument* pInstrument, RIFF::List* rgnList);              Region(Instrument* pInstrument, RIFF::List* rgnList);
# Line 674  namespace gig { Line 680  namespace gig {
680    
681              // derived methods from DLS::Resource              // derived methods from DLS::Resource
682              DLS::Resource::GetParent;              DLS::Resource::GetParent;
             // derived methods from DLS::Instrument  
             DLS::Instrument::MoveRegion;  
683              // overridden methods              // overridden methods
684              Region*   GetFirstRegion();              Region*   GetFirstRegion();
685              Region*   GetNextRegion();              Region*   GetNextRegion();
# Line 691  namespace gig { Line 695  namespace gig {
695             ~Instrument();             ~Instrument();
696              void UpdateRegionKeyTable();              void UpdateRegionKeyTable();
697              friend class File;              friend class File;
698                friend class Region; // so Region can call UpdateRegionKeyTable()
699      };      };
700    
701      /** @brief Group of Gigasampler objects      /** @brief Group of Gigasampler objects

Legend:
Removed from v.1207  
changed lines
  Added in v.1335

  ViewVC Help
Powered by ViewVC