Commit Graph

26 Commits

Author SHA1 Message Date
Robin Gareus dad32d8b11
Clean up slider-controller includes 2024-05-14 23:41:51 +02:00
Paul Davis 3c2112abf5 widgets & GUI: Start/StopGesture signals should pass on GDK event state 2023-07-26 13:11:52 -06:00
Robin Gareus 322e7c328e
Vkeybd: Bind F5 to F8 keys to velocity 2023-06-10 15:03:09 +02:00
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Paul Davis ca22ba77e1 Constification: make Stateful::get_state() const, with all other required const-ness added (GUI) 2022-04-06 21:56:59 -06:00
Robin Gareus 24b46d1f75
Vkeybd: improve velocity dropdown usability
Limit velocity dropdown to a subset of most used values, but
allow to select any value using mouse-wheel
2019-12-25 13:15:32 +01:00
Robin Gareus bc776eac97
Vkeybd: use ArdourWidgets for all GUI elements
Remove Gtk widgets and improve look&feel consistency.
2019-12-24 18:15:09 +01:00
Robin Gareus d0668721d5
Vkeybd simplification
* remove Y-axis dependent velocity (difference between
  black/white keys made this not very usable
* remove Bank/Patch selector (there are already three other
  Bank/Patch UIs
* move keyboard-layout selection into Preferences > MIDI
2019-12-19 18:57:40 +01:00
Robin Gareus 89ca6e151a
Vkeybd: add a mod-wheel 2019-12-19 18:45:49 +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 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 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 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 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 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 ebb89ba805
Super basic Virtual-Keyboard UI 2019-10-18 03:50:52 +02:00