blob: 1223e436d837569a1ccbe8071535ac8d435c46e5 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#include "mdaPianoVoice.h"
mdaPianoVoice::mdaPianoVoice(double rate, short * samples, KGRP * master_kgrp) {
//set tuning
Fs = rate;
iFs = 1.0f/Fs;
waves = samples;
kgrp = master_kgrp;
default_preset[p_offset(p_envelope_decay)] = 0.500f;
default_preset[p_offset(p_envelope_release)] = 0.500f;
default_preset[p_offset(p_hardness_offset)] = 0.500f;
default_preset[p_offset(p_velocity_to_hardness)] = 0.500f;
default_preset[p_offset(p_muffling_filter)] = 0.803f;
default_preset[p_offset(p_velocity_to_muffling)] = 0.251f;
default_preset[p_offset(p_velocity_sensitivity)] = 0.376f;
default_preset[p_offset(p_stereo_width)] = 0.500f;
default_preset[p_offset(p_polyphony)] = 0.330f;
default_preset[p_offset(p_fine_tuning)] = 0.500f;
default_preset[p_offset(p_random_detuning)] = 0.246f;
default_preset[p_offset(p_stretch_tuning)] = 0.500f;
reset();
}
void mdaPianoVoice::reset() {
env = 0.0f;
dec = 0.99f;
muff = 160.0f;
volume = 0.2f;
}
float mdaPianoVoice::p_helper(unsigned short id, Param d) {
if (d == Default)
return default_preset[p_offset(id)];
else
return *p(id);
}
|