Skip to content

feature: Piano Keyboard - #2983

Merged
seangoodvibes merged 5 commits into
SynthstromAudible:communityfrom
stosem:piano-keyboard
Nov 27, 2024
Merged

feature: Piano Keyboard#2983
seangoodvibes merged 5 commits into
SynthstromAudible:communityfrom
stosem:piano-keyboard

Conversation

@stosem

@stosem stosem commented Nov 27, 2024

Copy link
Copy Markdown
Contributor

This PR implements a new Piano Keyboard in Deluge.

Demo

IMAGE ALT TEXT HERE
https://www.youtube.com/watch?v=sAme2Ztx4FE

Features

  • Classic piano keyboard layout
  • Two octaves in a row
  • 5 octaves in one screen
  • Vertical scroll for octaves
  • Horizontal scroll for shifting notes
  • Scale support (notes in a scale are brighter)
  • Root note support (brightest one)
  • Same notes highlighting on other octaves
  • Highlighting incoming MIDI notes
  • You can set this keyboard by default in Settings -> Default -> Keyboard

Description

This is the classic piano keyboard layout for Deluge.
Now you can play your favourite chords and triads in Deluge in the usual way.
The white keys are on the first row, and the black ones are on the second.
This keyboard is duplicated on the screen. And you can move octaves to the right or up.
You can also play with both hands, increasing octaves with one hand or the other.
So, 5 octaves on one screen. But you can also scroll this keyboard vertically to increase octaves to the highest or decrease to the lowest.
You can also turn on the scale. And all the notes in this scale will be displayed brighter than the notes outside the scale. Of course, you can change the scale to minor or any other, and the keys will change accordingly.
The same thing with the root note. It is displayed brighter than the others. You can also change the root note.
And of course all the notes you play are also highlighted.
But that's not all. You can switch the keyboard to start on a different note than C. This is done by using the horizontal scroll. This way you can set the keyboard to start on the note you want.
Last but not least, this keyboard highlights incoming MIDI notes.

This feature was requested in #55 but not wasn't finished. I hope you will like it now.
Thanks!

@stellar-aria stellar-aria left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, but I'd like a second opinion.

@stellar-aria

Copy link
Copy Markdown
Collaborator

Actually, on second look I think this is good to go. Thank you so much for doing this! (And thank you for writing such clean, documented code!)

@stosem

stosem commented Nov 27, 2024

Copy link
Copy Markdown
Contributor Author

Thank you, for the review, @stellar-aria !

@github-actions

github-actions Bot commented Nov 27, 2024

Copy link
Copy Markdown
Contributor

Test Results

106 tests  ±0   106 ✅ ±0   0s ⏱️ ±0s
 16 suites ±0     0 💤 ±0 
 16 files   ±0     0 ❌ ±0 

Results for commit b00a410. ± Comparison against base commit 5f1e0ad.

♻️ This comment has been updated with latest results.

@seangoodvibes

seangoodvibes commented Nov 27, 2024

Copy link
Copy Markdown
Collaborator

There's some compile issues that will prevent this from merging:

  • formatting: run ./dbt format
  • strings: one of the string lines in seven_segment.json needs to be fixed

Can we also document this feature please:

Community Features: add it after 4.4.1.7 https://github.com/SynthstromAudible/DelugeFirmware/blob/community/docs/community_features.md#4417---display-chord-library-keyboard-layout

Change Log: add it under Keyboard View
https://github.com/SynthstromAudible/DelugeFirmware/blob/community/CHANGELOG.md#keyboard-view

Comment thread src/deluge/gui/l10n/seven_segment.json Outdated
@stosem

stosem commented Nov 27, 2024

Copy link
Copy Markdown
Contributor Author

Thanks @seangoodvibes for finding! I fixed the json and added documentation. Please let me know if anything else is needed.! 🙏

Comment thread docs/community_features.md
Comment thread docs/community_features.md
@seangoodvibes

Copy link
Copy Markdown
Collaborator

Thanks @seangoodvibes for finding! I fixed the json and added documentation. Please let me know if anything else is needed.! 🙏

Thanks! Just a couple more things

@stosem

stosem commented Nov 27, 2024

Copy link
Copy Markdown
Contributor Author

Thanks, @seangoodvibes for guiding me!

@seangoodvibes
seangoodvibes added this pull request to the merge queue Nov 27, 2024
Merged via the queue into SynthstromAudible:community with commit 165f8ab Nov 27, 2024
@stosem
stosem deleted the piano-keyboard branch November 27, 2024 18:53
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 12, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
seangoodvibes pushed a commit to seangoodvibes/DelugeFirmware that referenced this pull request Jan 15, 2026
* feature: piano keyboard

* fix seven_segment.json, add documentation

* fix formating

* add piano keyb layout to the doc menu

---------

Co-authored-by: Katherine Whitlock <kate@skylinesynths.nyc>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants