command palette: support for changing (selection's) instrument

This commit is contained in:
YohananDiamond 2023-08-15 18:37:30 -03:00
parent 74bb1b1016
commit 0060ea507a
5 changed files with 17 additions and 1 deletions

View file

@ -59,6 +59,9 @@ void FurnaceGUI::drawPalette() {
case CMDPAL_TYPE_SAMPLES:
hint="Search samples...";
break;
case CMDPAL_TYPE_INSTRUMENT_CHANGE:
hint="Search instruments (to change to)...";
break;
}
if (ImGui::InputTextWithHint("##CommandPaletteSearch",hint,&paletteQuery) || paletteFirstFrame) {
@ -83,6 +86,7 @@ void FurnaceGUI::drawPalette() {
break;
case CMDPAL_TYPE_INSTRUMENTS:
case CMDPAL_TYPE_INSTRUMENT_CHANGE:
if (matchFuzzy("- None -",paletteQuery.c_str())) {
paletteSearchResults.push_back(0);
}
@ -136,6 +140,7 @@ void FurnaceGUI::drawPalette() {
s=recentFile.at(id).c_str();
break;
case CMDPAL_TYPE_INSTRUMENTS:
case CMDPAL_TYPE_INSTRUMENT_CHANGE:
if (id==0) {
s="- None -";
} else {
@ -194,6 +199,10 @@ void FurnaceGUI::drawPalette() {
curSample=i;
break;
case CMDPAL_TYPE_INSTRUMENT_CHANGE:
doChangeIns(i-1);
break;
default:
logE("invalid command palette type");
break;

View file

@ -22,6 +22,7 @@ enum CommandPaletteType {
CMDPAL_TYPE_RECENT,
CMDPAL_TYPE_INSTRUMENTS,
CMDPAL_TYPE_SAMPLES,
CMDPAL_TYPE_INSTRUMENT_CHANGE,
// a menu to select wavetables is beyond scope (they can't be put as strings)
// TODO: are there more?

View file

@ -202,6 +202,10 @@ void FurnaceGUI::doAction(int what) {
displayPalette=true;
curPaletteType=CMDPAL_TYPE_SAMPLES;
break;
case GUI_ACTION_CMDPAL_INSTRUMENT_CHANGE:
displayPalette=true;
curPaletteType=CMDPAL_TYPE_INSTRUMENT_CHANGE;
break;
case GUI_ACTION_WINDOW_EDIT_CONTROLS:
nextWindow=GUI_WINDOW_EDIT_CONTROLS;
break;

View file

@ -519,6 +519,7 @@ enum FurnaceGUIActions {
GUI_ACTION_CMDPAL_RECENT,
GUI_ACTION_CMDPAL_INSTRUMENTS,
GUI_ACTION_CMDPAL_SAMPLES,
GUI_ACTION_CMDPAL_INSTRUMENT_CHANGE,
GUI_ACTION_CMDPAL_MAX,
GUI_ACTION_WINDOW_EDIT_CONTROLS,

View file

@ -566,6 +566,7 @@ const FurnaceGUIActionDef guiActions[GUI_ACTION_MAX]={
D("CMDPAL_RECENT", "Recent files (Palette)", 0),
D("CMDPAL_INSTRUMENTS", "Instruments (Palette)", 0),
D("CMDPAL_SAMPLES", "Samples (Palette)", 0),
D("CMDPAL_INSTRUMENT_CHANGE", "Change instrument (Palette)", 0),
D("CMDPAL_MAX", "", NOT_AN_ACTION),
D("WINDOW_EDIT_CONTROLS", "Edit Controls", 0),