Vkeybd: Bind F5 to F8 keys to velocity
This commit is contained in:
parent
a3e64445de
commit
322e7c328e
@ -315,6 +315,18 @@ APianoKeyboard::handle_fixed_keys (GdkEventKey* ev)
|
|||||||
case GDK_KEY_F4:
|
case GDK_KEY_F4:
|
||||||
PitchBend (16383, false);
|
PitchBend (16383, false);
|
||||||
return true;
|
return true;
|
||||||
|
case GDK_KEY_F5:
|
||||||
|
SetVelocity (32);
|
||||||
|
return true;
|
||||||
|
case GDK_KEY_F6:
|
||||||
|
SetVelocity (64);
|
||||||
|
return true;
|
||||||
|
case GDK_KEY_F7:
|
||||||
|
SetVelocity (96);
|
||||||
|
return true;
|
||||||
|
case GDK_KEY_F8:
|
||||||
|
SetVelocity (127);
|
||||||
|
return true;
|
||||||
case GDK_KEY_Down:
|
case GDK_KEY_Down:
|
||||||
PitchBend (0, true);
|
PitchBend (0, true);
|
||||||
return true;
|
return true;
|
||||||
|
@ -38,6 +38,7 @@ public:
|
|||||||
sigc::signal<void> Rest;
|
sigc::signal<void> Rest;
|
||||||
sigc::signal<void,bool> SustainChanged;
|
sigc::signal<void,bool> SustainChanged;
|
||||||
sigc::signal<void, int, bool> PitchBend;
|
sigc::signal<void, int, bool> PitchBend;
|
||||||
|
sigc::signal<void, int> SetVelocity;
|
||||||
sigc::signal<void, bool> SwitchOctave;
|
sigc::signal<void, bool> SwitchOctave;
|
||||||
|
|
||||||
void sustain_press ();
|
void sustain_press ();
|
||||||
|
@ -221,6 +221,7 @@ VirtualKeyboardWindow::VirtualKeyboardWindow ()
|
|||||||
_piano.NoteOff.connect (sigc::mem_fun (*this, &VirtualKeyboardWindow::note_off_event_handler));
|
_piano.NoteOff.connect (sigc::mem_fun (*this, &VirtualKeyboardWindow::note_off_event_handler));
|
||||||
_piano.SwitchOctave.connect (sigc::mem_fun (*this, &VirtualKeyboardWindow::octave_key_event_handler));
|
_piano.SwitchOctave.connect (sigc::mem_fun (*this, &VirtualKeyboardWindow::octave_key_event_handler));
|
||||||
_piano.PitchBend.connect (sigc::mem_fun (*this, &VirtualKeyboardWindow::pitch_bend_key_event_handler));
|
_piano.PitchBend.connect (sigc::mem_fun (*this, &VirtualKeyboardWindow::pitch_bend_key_event_handler));
|
||||||
|
_piano.SetVelocity.connect (sigc::mem_fun (*this, &VirtualKeyboardWindow::velocity_key_event_handler));
|
||||||
|
|
||||||
/* initialize GUI */
|
/* initialize GUI */
|
||||||
|
|
||||||
@ -448,6 +449,17 @@ VirtualKeyboardWindow::update_cc (size_t i, int cc)
|
|||||||
_cc_key[i].set_active (buf);
|
_cc_key[i].set_active (buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
VirtualKeyboardWindow::velocity_key_event_handler (int v)
|
||||||
|
{
|
||||||
|
if (v < 1 || v > 127) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
char buf[16];
|
||||||
|
sprintf (buf, "%d", v);
|
||||||
|
_piano_velocity.set_active (buf);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
VirtualKeyboardWindow::octave_key_event_handler (bool up)
|
VirtualKeyboardWindow::octave_key_event_handler (bool up)
|
||||||
{
|
{
|
||||||
|
@ -111,6 +111,7 @@ private:
|
|||||||
void modwheel_slider_adjusted ();
|
void modwheel_slider_adjusted ();
|
||||||
|
|
||||||
void octave_key_event_handler (bool);
|
void octave_key_event_handler (bool);
|
||||||
|
void velocity_key_event_handler (int);
|
||||||
void pitch_bend_key_event_handler (int, bool);
|
void pitch_bend_key_event_handler (int, bool);
|
||||||
bool pitch_bend_timeout ();
|
bool pitch_bend_timeout ();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user