83 |
pSample->Close(); |
pSample->Close(); |
84 |
} |
} |
85 |
}; |
}; |
86 |
|
|
87 |
|
class CC { |
88 |
|
public: |
89 |
|
uint8_t Controller; ///< MIDI controller number. |
90 |
|
float Influence; ///< Controller Value. |
91 |
|
|
92 |
|
CC() { CC(0, 0.0f); } |
93 |
|
|
94 |
|
CC(uint8_t Controller, float Influence) { |
95 |
|
this->Controller = Controller; |
96 |
|
this->Influence = Influence; |
97 |
|
} |
98 |
|
|
99 |
|
CC(const CC& cc) { Copy(cc); } |
100 |
|
void operator=(const CC& cc) { Copy(cc); } |
101 |
|
|
102 |
|
void Copy(const CC& cc) { |
103 |
|
Controller = cc.Controller; |
104 |
|
Influence = cc.Influence; |
105 |
|
} |
106 |
|
}; |
107 |
|
|
108 |
///////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////// |
109 |
// class Exception |
// class Exception |
246 |
float level; |
float level; |
247 |
float shape; |
float shape; |
248 |
float curve; |
float curve; |
249 |
|
LinuxSampler::ArrayList<CC> time_oncc; |
250 |
|
LinuxSampler::ArrayList<CC> level_oncc; |
251 |
|
|
252 |
EGNode(); |
EGNode(); |
253 |
|
EGNode(const EGNode& egNode) { Copy(egNode); } |
254 |
|
void operator=(const EGNode& egNode) { Copy(egNode); } |
255 |
|
void Copy(const EGNode& egNode); |
256 |
}; |
}; |
257 |
|
|
258 |
class EG |
class EG |
265 |
float amplitude; |
float amplitude; |
266 |
float cutoff; |
float cutoff; |
267 |
EG(); |
EG(); |
268 |
|
EG(const EG& eg) { Copy(eg); } |
269 |
|
void operator=(const EG& eg) { Copy(eg); } |
270 |
|
void Copy(const EG& eg); |
271 |
}; |
}; |
272 |
|
|
273 |
class LFO |
class LFO |
274 |
{ |
{ |
275 |
public: |
public: |
276 |
|
float delay; // 0 to 100 seconds |
277 |
float freq; // 0 to 20 Hz |
float freq; // 0 to 20 Hz |
278 |
|
float fade; // 0 to 100 seconds |
279 |
|
float phase; // 0 to 360 degrees |
280 |
uint wave; // 0 to 4294967296 |
uint wave; // 0 to 4294967296 |
|
float delay; // 0 to 100 seconds |
|
281 |
float volume; // -144 to 6 dB |
float volume; // -144 to 6 dB |
282 |
int pitch; // -9600 to 9600 cents |
int pitch; // -9600 to 9600 cents |
283 |
int cutoff; // -9600 to 9600 cents |
int cutoff; // -9600 to 9600 cents |
284 |
float resonance; // 0 to 40 dB |
float resonance; // 0 to 40 dB |
285 |
float pan; // -100 to 100 % |
float pan; // -100 to 100 % |
286 |
|
|
287 |
|
LinuxSampler::ArrayList<CC> freq_oncc; // 0 to 20 Hz |
288 |
|
LinuxSampler::ArrayList<CC> fade_oncc; // 0 to 100 seconds |
289 |
|
LinuxSampler::ArrayList<CC> phase_oncc; // 0 to 360 degrees |
290 |
|
LinuxSampler::ArrayList<CC> pitch_oncc; |
291 |
|
|
292 |
LFO(); |
LFO(); |
293 |
|
LFO(const LFO& lfo) { Copy(lfo); } |
294 |
|
void operator=(const LFO& lfo) { Copy(lfo); } |
295 |
|
void Copy(const LFO& lfo); |
296 |
}; |
}; |
297 |
|
|
298 |
// Fixed size array with copy-on-write semantics |
// Fixed size array with copy-on-write semantics |
454 |
//Deprecated (from version 1) |
//Deprecated (from version 1) |
455 |
float ampeg_delay, ampeg_start, ampeg_attack, ampeg_hold, ampeg_decay, ampeg_sustain, ampeg_release; |
float ampeg_delay, ampeg_start, ampeg_attack, ampeg_hold, ampeg_decay, ampeg_sustain, ampeg_release; |
456 |
float ampeg_vel2delay, ampeg_vel2attack, ampeg_vel2hold, ampeg_vel2decay, ampeg_vel2sustain, ampeg_vel2release; |
float ampeg_vel2delay, ampeg_vel2attack, ampeg_vel2hold, ampeg_vel2decay, ampeg_vel2sustain, ampeg_vel2release; |
457 |
|
LinuxSampler::ArrayList<CC> ampeg_delaycc, ampeg_startcc, ampeg_attackcc, ampeg_holdcc; |
458 |
|
LinuxSampler::ArrayList<CC> ampeg_decaycc, ampeg_sustaincc, ampeg_releasecc; |
459 |
float fileg_delay, fileg_start, fileg_attack, fileg_hold, fileg_decay, fileg_sustain, fileg_release; |
float fileg_delay, fileg_start, fileg_attack, fileg_hold, fileg_decay, fileg_sustain, fileg_release; |
460 |
|
float fileg_vel2delay, fileg_vel2attack, fileg_vel2hold, fileg_vel2decay, fileg_vel2sustain, fileg_vel2release; |
461 |
float pitcheg_delay, pitcheg_start, pitcheg_attack, pitcheg_hold, pitcheg_decay, pitcheg_sustain, pitcheg_release; |
float pitcheg_delay, pitcheg_start, pitcheg_attack, pitcheg_hold, pitcheg_decay, pitcheg_sustain, pitcheg_release; |
462 |
float pitcheg_vel2delay, pitcheg_vel2attack, pitcheg_vel2hold, pitcheg_vel2decay, pitcheg_vel2sustain, pitcheg_vel2release; |
float pitcheg_vel2delay, pitcheg_vel2attack, pitcheg_vel2hold, pitcheg_vel2decay, pitcheg_vel2sustain, pitcheg_vel2release; |
463 |
int pitcheg_depth; |
int fileg_depth, pitcheg_depth; |
464 |
float amplfo_delay, amplfo_fade, amplfo_freq, amplfo_depth; |
float amplfo_delay, amplfo_fade, amplfo_freq, amplfo_depth; |
465 |
float fillfo_delay, fillfo_fade, fillfo_freq, fillfo_depth; |
float fillfo_delay, fillfo_fade, fillfo_freq, fillfo_depth; |
466 |
float pitchlfo_delay, pitchlfo_fade, pitchlfo_freq; |
float pitchlfo_delay, pitchlfo_fade, pitchlfo_freq; |
467 |
int pitchlfo_depth; |
int pitchlfo_depth; |
468 |
|
Array<int> pitchlfo_depthcc; |
469 |
|
|
470 |
|
LinuxSampler::ArrayList<CC> pitchlfo_freqcc; // 0 to 20 Hz |
471 |
|
LinuxSampler::ArrayList<CC> fillfo_freqcc; // 0 to 20 Hz |
472 |
|
LinuxSampler::ArrayList<CC> amplfo_freqcc; // 0 to 20 Hz |
473 |
|
|
474 |
// envelope generators |
// envelope generators |
475 |
LinuxSampler::ArrayList<EG> eg; |
LinuxSampler::ArrayList<EG> eg; |