Commit Graph

30 Commits

Author SHA1 Message Date
Robin Gareus
9c6d9324bd VKeybd: exponential pitch-wheel/bend interpolation 2019-12-17 16:47:46 +01:00
Robin Gareus
9ddc4fcce9 Vkeybd: fix octave up/down direction, speed up pitch-bend 2019-12-16 15:42:42 +01:00
Robin Gareus
322e6e08c4 Vkeybd: grab all key-events and use timer instead of key-repeat
This fixes an issue with arrow-keys (up/down, left/right). Those
were previously only handled when the Virtual Keyboard window itself
had focus.

Also key-repeat for pitch-bend is now ignored and a dedicated timer
is used to queue events. This fixes an issue with the first repeat
taking longer than successive ones, and makes this feature independent
of any desktop user settings.
2019-12-16 15:02:39 +01:00
Robin Gareus
2add730263 Vkeybd: Experiment with key-repeat for pitch-bend 2019-12-16 02:30:42 +01:00
Robin Gareus
e1c0f99ef2 VKeybd: add Up/Down as alternative Pitch-bend shortcuts 2019-12-15 17:30:25 +01:00
Robin Gareus
f969d4fc31 Vkeybd: Add tooltip to pitchbend control 2019-12-15 14:06:00 +01:00
Robin Gareus
a31fde491a VKeybd: Pitchebend sprung mode and keyboard-shortcuts
This unconditionally returns the pitch-bend wheel when used
by mouse-drag/drop.  Mouse-wheel retains the "wheel" mode.

<F1>-<F4> key-bindings have been added to jump to discrete values
2019-12-15 14:06:00 +01:00
Robin Gareus
cc9f941488 VKeybd: shrink height when hiding config pane 2019-12-13 16:04:34 +01:00
Robin Gareus
5324587a80 Vkeybd: default to single-row QWERTY binding 2019-12-12 23:59:38 +01:00
Robin Gareus
db08810164 Virtual-keyboard: "Tab" to sustain (still undocumented) 2019-11-02 23:56:40 +01:00
Robin Gareus
b68a7fdf96 Make virtual-keyboard messages translatable -- #7834 2019-11-02 02:44:27 +01:00
Robin Gareus
b53431a089 Virtual-keyboard: consolidate options
Remove use options for annotations, force them "always on",
and request space to draw them.

Add option to pick single-line octave bindings
2019-10-27 00:06:14 +02:00
Robin Gareus
35788fbaaa Virtual-keyboard: prefer dropdown for channel & transpose
This addresses issue with text-entry and input focus
2019-10-25 23:53:23 +02:00
Robin Gareus
7bb67d0402 Virtual-keyboard: fix text-entry in config widgets 2019-10-25 21:54:16 +02:00
Robin Gareus
12d4d6daa7 Virtual-keyboard: never-ending details
- Fix key-bindings (first propagate to piano, ignore global bindings)
- Allow to switch octaves with left/right arrow key
- Tweak font-sizes used for annotations
2019-10-25 21:24:25 +02:00
Robin Gareus
c0c1fd8b60 Rename PianoKeyboard class, avoid ambiguities
A C++ class "PianoKeyboard" in the global namespace may cause
issues with some plugins that export and use an identically
named symbol.
2019-10-25 21:24:25 +02:00
Robin Gareus
7672b1cb43 NO-OP: whitespace 2019-10-25 21:24:25 +02:00
Robin Gareus
3f2f517291 Rough-in gtk-pianokeyboard C -> C++ 2019-10-24 19:59:22 +02:00
Robin Gareus
aaae93cae3 Return key-focus to piano-keyboard 2019-10-24 05:13:56 +02:00
Robin Gareus
f3e6f60242 Virtual-keyboard: add option to transpose 2019-10-21 19:31:25 +02:00
Robin Gareus
226cac95e7 NO-OP: whitespace 2019-10-21 16:08:28 +02:00
Robin Gareus
3daf16dc3a Virtual-keyboard: cont'd initial development:
* Reset default note range to 0..127 for step-entry and other users
* Allow to print label "C-<n>" on keyboard
* Fix 6 octave note range
* Save/load user settings in virtual-keyboard window
2019-10-21 16:07:12 +02:00
Robin Gareus
b523583bb4 Virtual-Keyboard significant overhaul:
* fix key-range off-by-one 0..127
* allow to shift octave
* allow to configure note range
* highlight grand-piano range and keyboard-shortcut range
* proper piano layout (black key offsets)
* add support for DVORAK keyboard layout

(still incomplete: settings are not yet saved/restored,
_piano_key_velocity should become a HSliderController, ...)
2019-10-21 05:42:05 +02:00
Robin Gareus
92173ca118 Virtual-Keyboard: Fix use of scrollwheel on dropdowns 2019-10-20 21:22:38 +02:00
Robin Gareus
20daca9290 Virtual-Keyboard: save/restore state 2019-10-20 20:53:40 +02:00
Robin Gareus
9c00d6216a Virtual-keyboard: add a pitch-bender 2019-10-20 18:29:23 +02:00
Robin Gareus
e63c2133e5 Virtual-keyboard: add CCs, bank/patch selector 2019-10-20 02:44:16 +02:00
Robin Gareus
19e4f47b4b Cont'd work on Virtual-keyboard
* allow gtk_pianokeyboard to respond to y-axis click position
  and include MIDI velocity with note-on signal
* add configuration settings to virual-keyboard
  min/max velocity, keyboard-layout
* add a CC7 controller knob
2019-10-18 22:56:46 +02:00
Robin Gareus
f0d2327af0 Use AsyncMIDIPort API 2019-10-18 22:56:46 +02:00
Robin Gareus
ebb89ba805 Super basic Virtual-Keyboard UI 2019-10-18 03:50:52 +02:00