2 |
* * |
* * |
3 |
* libgig - C++ cross-platform Gigasampler format file loader library * |
* libgig - C++ cross-platform Gigasampler format file loader library * |
4 |
* * |
* * |
5 |
* Copyright (C) 2003 by Christian Schoenebeck * |
* Copyright (C) 2003, 2004 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 * |
9 |
* it under the terms of the GNU General Public License as published by * |
* it under the terms of the GNU General Public License as published by * |
167 |
vcf_res_ctrl_genpurpose5 = 2, ///< General Purpose Controller 5 (Button, MIDI Controller 80) |
vcf_res_ctrl_genpurpose5 = 2, ///< General Purpose Controller 5 (Button, MIDI Controller 80) |
168 |
vcf_res_ctrl_genpurpose6 = 3 ///< General Purpose Controller 6 (Button, MIDI Controller 81) |
vcf_res_ctrl_genpurpose6 = 3 ///< General Purpose Controller 6 (Button, MIDI Controller 81) |
169 |
} vcf_res_ctrl_t; |
} vcf_res_ctrl_t; |
170 |
|
|
171 |
/** |
/** |
172 |
* Defines a controller that has a certain contrained influence on a |
* Defines a controller that has a certain contrained influence on a |
173 |
* particular synthesis parameter (used to define attenuation controller, |
* particular synthesis parameter (used to define attenuation controller, |
183 |
type_velocity = 0xff, ///< Key Velocity |
type_velocity = 0xff, ///< Key Velocity |
184 |
type_controlchange = 0xfe ///< Ordinary MIDI control change controller, see field 'controller_number' |
type_controlchange = 0xfe ///< Ordinary MIDI control change controller, see field 'controller_number' |
185 |
} type_t; |
} type_t; |
186 |
|
|
187 |
type_t type; ///< Controller type |
type_t type; ///< Controller type |
188 |
uint controller_number; ///< MIDI controller number if this controller is a control change controller, 0 otherwise |
uint controller_number; ///< MIDI controller number if this controller is a control change controller, 0 otherwise |
189 |
}; |
}; |
190 |
|
|
191 |
/** |
/** |
192 |
* Defines controller influencing attenuation. |
* Defines controller influencing attenuation. |
193 |
* |
* |
194 |
* @see leverage_ctrl_t |
* @see leverage_ctrl_t |
195 |
*/ |
*/ |
196 |
typedef leverage_ctrl_t attenuation_ctrl_t; |
typedef leverage_ctrl_t attenuation_ctrl_t; |
197 |
|
|
198 |
/** |
/** |
199 |
* Defines controller influencing envelope generator 1. |
* Defines controller influencing envelope generator 1. |
200 |
* |
* |
201 |
* @see leverage_ctrl_t |
* @see leverage_ctrl_t |
202 |
*/ |
*/ |
203 |
typedef leverage_ctrl_t eg1_ctrl_t; |
typedef leverage_ctrl_t eg1_ctrl_t; |
204 |
|
|
205 |
/** |
/** |
206 |
* Defines controller influencing envelope generator 2. |
* Defines controller influencing envelope generator 2. |
207 |
* |
* |
442 |
_lev_ctrl_effect5depth = 0x2d, ///< Effect 5 Depth (MIDI Controller 95) |
_lev_ctrl_effect5depth = 0x2d, ///< Effect 5 Depth (MIDI Controller 95) |
443 |
_lev_ctrl_channelaftertouch = 0x2f, ///< Channel Key Pressure |
_lev_ctrl_channelaftertouch = 0x2f, ///< Channel Key Pressure |
444 |
_lev_ctrl_velocity = 0xff ///< Key Velocity |
_lev_ctrl_velocity = 0xff ///< Key Velocity |
445 |
} _lev_ctrl_t; |
} _lev_ctrl_t; |
446 |
typedef std::map<uint32_t, double*> VelocityTableMap; |
typedef std::map<uint32_t, double*> VelocityTableMap; |
447 |
|
|
448 |
static uint Instances; ///< Number of DimensionRegion instances. |
static uint Instances; ///< Number of DimensionRegion instances. |
449 |
static VelocityTableMap* pVelocityTables; ///< Contains the tables corresponding to the various velocity parameters (VelocityResponseCurve and VelocityResponseDepth). |
static VelocityTableMap* pVelocityTables; ///< Contains the tables corresponding to the various velocity parameters (VelocityResponseCurve and VelocityResponseDepth). |
450 |
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. |
451 |
|
|
452 |
leverage_ctrl_t DecodeLeverageController(_lev_ctrl_t EncodedController); |
leverage_ctrl_t DecodeLeverageController(_lev_ctrl_t EncodedController); |
453 |
}; |
}; |
454 |
|
|