asb2m10 / dexed

DX7 FM multi plaform/multi format plugin
GNU General Public License v3.0
2.76k stars 240 forks source link

added octave up and down buttons #409

Open quirkylemon opened 6 months ago

quirkylemon commented 6 months ago

I added octave shift buttons and very basic documentation for the feature. This currently has an issue where if press one of the octave buttons while holding notes it can cause them to get stuck. but this is also an issue in Surge-XT and LMMS iirc.

Also at some point I hope to add a panic button that will clear all audio output and active notes.

FulopNandor commented 4 months ago

I have applied the ''octave-shift'' modifications in both MS Windows 10 and Raspbian OS (bookworm), and I have also experienced that the virtual keyboard can get stuck in both cases. The symptoms were same in the standalone versions: when some keys associated to notes were depressed and held down (e.g. key S and D), and then either key X or C was depressed and released during the held state of keys S and D, and, finally, the keys S and D were also released, the notes associated to S and D and their octaves were activated simultaneously - but not terminated only if button INIT was clicked. dexed-octave-shift-keyboard-stucking

I have also made a further attempt: I moved the subdirectory ''JUCE'' being in ''libs'' outside of my local repo and substituted it with a soft symlink to the most recent version of JUCE just cloned. Unfortunately it has not solved the stucking problem.

quirkylemon commented 4 months ago

yeah that is an issue in Surge XT too. I am not sure how to go about fixing it so any ideas you might have would be greatly appreciated.

FulopNandor commented 4 months ago

Unfortunately, I have no enough experience related to JUCE, so I have really no idea, how to overcome this problem. So, I really would not like to express any negative criticism, but I have also encountered another problem, which is marginal to the current issue but might be related: JUCE does not handle the mapping of PC keyboard layout schemes properly. I use a Hungarian PC keyboard, where the positions of the Z and Y keys are swapped compared to the original US keyboards. Interestingly, my Z key, which is next to T, does not produce any sound - but the Y key does, which is next to X, according to Hungarian keyboard layout.

mkruselj commented 3 months ago

@FulopNandor Yes, JUCE virtual keyboard only supports QWERTY layout. For Surge XT I had to write specific layouts and offer an option to switch between them, you can see here:

https://github.com/surge-synthesizer/surge/blob/2834ca4c4fb270b1987bc0de1c47b9c0830563e6/src/surge-xt/SurgeSynthEditor.h#L118 https://github.com/surge-synthesizer/surge/blob/2834ca4c4fb270b1987bc0de1c47b9c0830563e6/src/surge-xt/SurgeSynthEditor.cpp#L279

And then provide UI for switching between those layouts.

FulopNandor commented 3 months ago

@mkruselj, thank you for your answer, I am going to study that!:-)