36void Key::Update(uint32_t now_ms, uint32_t delta_ms,
bool sustain_pedal_on) {
56 return active_lights_factor;
85 float delta_s = delta_ms / 1000.f;
87 const float kRate = .12f;
94 const float kRate = .05f;
98 float delta_s = delta_ms / 1000.f;
100 const float kRate = 12.0f;
107 const float kRate = 2.0f;
138 color_selector_value);
146 key->
SetOn(velocity, pixel_color_hsv, now_ms);
191 for (
int i = 0; i <
kNumKeys; ++i) {
197 for (
int i = 0; i <
kNumKeys; ++i) {
204 return ::KeyIndex(midi_pitch);
UISlider brightness("Brightness", 255, 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)