Skip to content

Commit

Permalink
Keycodes restored
Browse files Browse the repository at this point in the history
The onKeyDown handler was reading the wrong part of the data
structure, so keypresses didn't navigate patches. Moreover, the
handler was over-registered. Finally, once those problems were
fixes, make + and - zoom and unzoom the UI.

Closes surge-synthesizer#496 Keyboard Hook doesn't work
Closes surge-synthesizer#479 +/- for zoom
Closes surge-synthesizer#427 Keyboard hook over-registered
  • Loading branch information
baconpaul committed Feb 4, 2019
1 parent 186cd3e commit bbe833c
Showing 1 changed file with 38 additions and 36 deletions.
74 changes: 38 additions & 36 deletions src/common/gui/SurgeGUIEditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -419,44 +419,44 @@ void SurgeGUIEditor::refresh_mod()

int32_t SurgeGUIEditor::onKeyDown(const VstKeyCode& code, CFrame* frame)
{
switch (code.character)
{
case VKEY_ALT:
// modsource = modsource_editor;
// queue_refresh = true;
mod_editor = true;
refresh_mod();
return 1;
case VKEY_TAB:
toggle_mod_editing();
return 1;
case VKEY_LEFT:
synth->incrementCategory(false);
return 1;
case VKEY_RIGHT:
synth->incrementCategory(true);
return 1;
case VKEY_UP:
synth->incrementPatch(false);
return 1;
case VKEY_DOWN:
synth->incrementPatch(true);
return 1;
}
return -1;
if(code.character == 0 )
{
switch (code.virt)
{
case VKEY_TAB:
toggle_mod_editing();
return 1;
case VKEY_LEFT:
synth->incrementCategory(false);
return 1;
case VKEY_RIGHT:
synth->incrementCategory(true);
return 1;
case VKEY_UP:
synth->incrementPatch(false);
return 1;
case VKEY_DOWN:
synth->incrementPatch(true);
return 1;
}
}
else
{
switch(code.character)
{
case '+':
setZoomFactor(getZoomFactor()+10);
return 1;
case '-':
setZoomFactor(getZoomFactor()-10);
return 1;
}
}
return -1;
}

int32_t SurgeGUIEditor::onKeyUp(const VstKeyCode& keyCode, CFrame* frame)
{
switch (keyCode.character)
{
case VKEY_ALT:
// modsource = 0;
// queue_refresh = true;
mod_editor = false;
refresh_mod();
return 1;
}
return -1;
}

Expand Down Expand Up @@ -499,8 +499,6 @@ void SurgeGUIEditor::openOrRecreateEditor()
return;
assert(frame);

getFrame()->registerKeyboardHook(this);

if (editor_open)
close_editor();

Expand Down Expand Up @@ -1255,6 +1253,10 @@ bool PLUGIN_API SurgeGUIEditor::open(void* parent, const PlatformType& platformT
synth = (sub3_synth*)plug->plugin_instance;
#endif*/

/*
** Register only once (when we open)
*/
frame->registerKeyboardHook(this);
openOrRecreateEditor();

return true;
Expand Down

0 comments on commit bbe833c

Please sign in to comment.