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 { |
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 |
|
|
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 |
* |
* |
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. */ |