/[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 282 by schoenebeck, Wed Oct 13 20:05:42 2004 UTC revision 345 by schoenebeck, Fri Jan 21 16:40:37 2005 UTC
# Line 63  Line 63 
63  #define GIG_EG_CTR_ATTACK_INFLUENCE_EXTRACT(x)                  ((x >> 1) & 0x03)  #define GIG_EG_CTR_ATTACK_INFLUENCE_EXTRACT(x)                  ((x >> 1) & 0x03)
64  #define GIG_EG_CTR_DECAY_INFLUENCE_EXTRACT(x)                   ((x >> 3) & 0x03)  #define GIG_EG_CTR_DECAY_INFLUENCE_EXTRACT(x)                   ((x >> 3) & 0x03)
65  #define GIG_EG_CTR_RELEASE_INFLUENCE_EXTRACT(x)                 ((x >> 5) & 0x03)  #define GIG_EG_CTR_RELEASE_INFLUENCE_EXTRACT(x)                 ((x >> 5) & 0x03)
 #define GIG_VELOCITY_TRANSFORM_NONLINEAR(x,dynamic,scale)       (-0.1666235937e0+0.5143775427e-4*x*x+0.5318278732e-1*dynamic*dynamic-0.3560390502e-4*scale*scale+0.4683631221e-2*x-0.9484386143e-1*dynamic+0.8030068910e-2*scale)  
 #define GIG_VELOCITY_TRANSFORM_LINEAR(x,dynamic,scale)          (((1.0+scale*3.0/128.0)/110.0)*x+dynamic/5.0+dynamic*scale)  
 #define GIG_VELOCITY_TRANSFORM_SPECIAL(x,dynamic,scale)         (-0.1630504921e0+0.5794551347e-4*x*x+0.8361491099e-2*dynamic*dynamic-0.4303475615e-5*scale*scale+0.2085522765e-2*x+0.1313747345e-1*dynamic+0.3220916836e-2*scale)  
66    
67  /** Gigasampler specific classes and definitions */  /** Gigasampler specific classes and definitions */
68  namespace gig {  namespace gig {
# Line 277  namespace gig { Line 274  namespace gig {
274          vcf_type_bandreject   = 0x03          vcf_type_bandreject   = 0x03
275      } vcf_type_t;      } vcf_type_t;
276    
277      /** Defines the envelope of a crossfade. */      /**
278         * Defines the envelope of a crossfade.
279         *
280         * Note: The default value for crossfade points is 0,0,0,0. Layers with
281         * such a default value should be treated as if they would not have a
282         * crossfade, that is the crossfade volume factor should <b>always</b>
283         * be 1.0f for such layers.
284         */
285      struct crossfade_t {      struct crossfade_t {
286          #if WORDS_BIGENDIAN          #if WORDS_BIGENDIAN
         uint8_t in_start;   ///< Start position of fade in.  
         uint8_t in_end;     ///< End position of fade in.  
         uint8_t out_start;  ///< Start position of fade out.  
         uint8_t out_end;    ///< End postition of fade out.  
         #else // little endian  
287          uint8_t out_end;    ///< End postition of fade out.          uint8_t out_end;    ///< End postition of fade out.
288          uint8_t out_start;  ///< Start position of fade out.          uint8_t out_start;  ///< Start position of fade out.
289          uint8_t in_end;     ///< End position of fade in.          uint8_t in_end;     ///< End position of fade in.
290          uint8_t in_start;   ///< Start position of fade in.          uint8_t in_start;   ///< Start position of fade in.
291            #else // little endian
292            uint8_t in_start;   ///< Start position of fade in.
293            uint8_t in_end;     ///< End position of fade in.
294            uint8_t out_start;  ///< Start position of fade out.
295            uint8_t out_end;    ///< End postition of fade out.
296          #endif // WORDS_BIGENDIAN          #endif // WORDS_BIGENDIAN
297      };      };
298    
# Line 303  namespace gig { Line 307  namespace gig {
307      class File;      class File;
308      class Instrument;      class Instrument;
309      class Sample;      class Sample;
310        class Region;
311    
312      /** Encapsulates articulation information of a dimension region.      /** Encapsulates articulation information of a dimension region.
313       *       *
# Line 449  namespace gig { Line 454  namespace gig {
454              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.
455    
456              leverage_ctrl_t DecodeLeverageController(_lev_ctrl_t EncodedController);              leverage_ctrl_t DecodeLeverageController(_lev_ctrl_t EncodedController);
457                double* CreateVelocityTable(curve_type_t curveType, uint8_t depth, uint8_t scaling);
458      };      };
459    
460      /** Encapsulates sample waves used for playback. */      /** Encapsulates sample waves used for playback. */

Legend:
Removed from v.282  
changed lines
  Added in v.345

  ViewVC Help
Powered by ViewVC