34void Key::Update(uint32_t now_ms, uint32_t delta_ms,
bool sustain_pedal_on) {
54 return active_lights_factor;
83 float delta_s = delta_ms / 1000.f;
85 const float kRate = .12f;
92 const float kRate = .05f;
96 float delta_s = delta_ms / 1000.f;
98 const float kRate = 12.0f;
105 const float kRate = 2.0f;
136 color_selector_value);
144 key->
SetOn(velocity, pixel_color_hsv, now_ms);
192 for (
int i = 0; i <
kNumKeys; ++i) {
198 for (
int i = 0; i <
kNumKeys; ++i) {
205 return ::KeyIndex(midi_pitch);
UISlider brightness("Brightness", 128, 0, 255, 1)
void Update(uint32_t now_ms, uint32_t delta_ms)
static const int kNumKeys
void HandleControlChange(uint8_t d1, uint8_t d2)
void HandleAfterTouchPoly(uint8_t note, uint8_t pressure)
void HandleNoteOn(uint8_t midi_note, uint8_t velocity, int color_selector_value, uint32_t now_ms)
static uint8_t KeyIndex(int midi_pitch)
Key * GetKey(int midi_pitch)
void HandleNoteOff(uint8_t midi_note, uint8_t velocity, uint32_t now_ms)
const ColorHSV SelectColor(int midi_note, float brightness, int color_selector_val)
void SetOff(uint32_t now_ms)
float AttackRemapFactor(uint32_t now_ms)
float IntensityFactor() const
void SetOn(uint8_t vel, const ColorHSV &color, uint32_t now_ms)
unsigned long event_time_
float CalcAttackDecayFactor(uint32_t delta_ms) const
void Update(uint32_t now_ms, uint32_t delta_ms, bool sustain_pedal_on)
float VelocityFactor() const
void UpdateIntensity(uint32_t now_ms, uint32_t delta_ms)
float CalcDecayFactor(bool sustain_pedal_on, bool key_on, int key_idx, float velocity, bool dampened_key, float time_elapsed_ms)
float ToBrightness(int velocity)