52 std::function<void(
int note,
float velocity)>
on_note_on;
102 return input_capture_;
152 bool input_capture_ =
true;
153 bool sustain_ =
false;
156 bool dragging_strip_ =
false;
157 static constexpr float kVelStep = 1.0f / 16.0f;
158 static constexpr int kPitchBendMax = 20;
169 int piano_window_lo()
const;
173 void strip_bounds(
float& x0,
float& x1)
const;
176 int octave_for_strip_x(
float panel_x)
const;
179 bool point_over_strip(
Point pos,
float& panel_x)
const;
182 void update_readouts();
186 void control_press(
const std::string& tag);
187 void control_release(
const std::string& tag);
190 void refresh_mod_lights();
193 void flash_action(
const std::string& tag,
bool on);
196 std::vector<int> held_notes_;
199 void apply_held_notes();
201 int typing_element_for_semitone(
int semitone)
const;
202 void light_typing_semitone(
int semitone,
bool on);
Definition canvas.hpp:240
DesignFrameView(std::string svg, std::vector< DesignFrameElement > elements, float panel_x=-1, float panel_y=-1, float panel_w=-1, float panel_h=-1)
Definition musical_typing.hpp:37
int midi_for_element(int index) const
void on_mouse_drag(Point pos) override
bool input_capture() const
Definition musical_typing_keyboard.hpp:101
void paint(canvas::Canvas &canvas) override
void on_hover_move(Point pos) override
Pointer moved over this view with no button held, reported in this view's LOCAL coordinates.
MusicalTypingController & controller()
Definition musical_typing_keyboard.hpp:57
void on_active_frame_changed() override
void on_focus_changed(bool gained) override
Called when this view gains or loses focus.
void set_input_capture(bool capture)
Mode
Definition musical_typing_keyboard.hpp:46
@ typing
Definition musical_typing_keyboard.hpp:46
@ piano
Definition musical_typing_keyboard.hpp:46
std::function< void(float bend)> on_pitch_bend
Definition musical_typing_keyboard.hpp:74
std::function< void(bool on)> on_sustain
Definition musical_typing_keyboard.hpp:75
void on_mouse_leave() override
void on_mouse_down(Point pos) override
std::function< void(float w, float h)> on_intrinsic_size_changed
Definition musical_typing_keyboard.hpp:84
void on_mouse_up(Point pos) override
std::function< void(float amount)> on_modulation
Definition musical_typing_keyboard.hpp:76
std::function< void(int note, float velocity)> on_note_on
Definition musical_typing_keyboard.hpp:52
void set_base_note(int note)
bool on_key_event(const KeyEvent &event) override
Key event with modifiers and up/down state.
bool wants_mouse_input() const override
True if this widget handles mouse down/drag through virtual methods even when it does not expose JS p...
Definition musical_typing_keyboard.hpp:128
int element_for_action(const std::string &tag) const
void set_active_notes(std::span< const int > midi_notes)
std::function< void(int note)> on_note_off
Definition musical_typing_keyboard.hpp:53
Computer-keyboard "musical typing" — maps the QWERTY row to MIDI notes so a plugin/standalone editor ...
Definition affine_transform.hpp:24
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27
@ h
Definition input_events.hpp:39
@ w
Definition input_events.hpp:41
constexpr int kPianoFrame
Definition musical_typing_keyboard.hpp:15
constexpr int kTypingFrame
Definition musical_typing_keyboard.hpp:14
@ on
Definition accessibility.hpp:132
Rich key event with key code, modifiers, and repeat state.
Definition input_events.hpp:193
Definition geometry.hpp:20