From 4d777bf877dac561436c4e77864fc3764d0dae9e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sun, 28 Jan 2024 15:03:19 -0500 Subject: [PATCH] you know what, new labels --- src/gui/doAction.cpp | 68 +++++++++++++++++++++++++++++++++++++++++++- src/gui/insEdit.cpp | 4 +-- 2 files changed, 69 insertions(+), 3 deletions(-) diff --git a/src/gui/doAction.cpp b/src/gui/doAction.cpp index f2b3092ba..4f358a4e8 100644 --- a/src/gui/doAction.cpp +++ b/src/gui/doAction.cpp @@ -947,6 +947,71 @@ void FurnaceGUI::doAction(int what) { sampleListDir=!sampleListDir; break; case GUI_ACTION_SAMPLE_LIST_MAKE_MAP: + // determine instrument type + std::vector tempTypeList=e->getPossibleInsTypes(); + makeInsTypeList.clear(); + + for (DivInstrumentType& i: tempTypeList) { + if (i==DIV_INS_PCE || + i==DIV_INS_MSM6258 || + i==DIV_INS_MSM6295 || + i==DIV_INS_ADPCMA || + i==DIV_INS_ADPCMB || + i==DIV_INS_SEGAPCM || + i==DIV_INS_QSOUND || + i==DIV_INS_YMZ280B || + i==DIV_INS_RF5C68 || + i==DIV_INS_MULTIPCM || + i==DIV_INS_MIKEY || + i==DIV_INS_X1_010 || + i==DIV_INS_SWAN || + i==DIV_INS_AY || + i==DIV_INS_AY8930 || + i==DIV_INS_VRC6 || + i==DIV_INS_SU || + i==DIV_INS_SNES || + i==DIV_INS_ES5506 || + i==DIV_INS_K007232 || + i==DIV_INS_GA20 || + i==DIV_INS_K053260 || + i==DIV_INS_C140 || + i==DIV_INS_C219) { + makeInsTypeList.push_back(i); + } + } + + if (makeInsTypeList.size()>1) { + displayInsTypeList=true; + displayInsTypeListMakeInsSample=-2; + break; + } + + DivInstrumentType insType=DIV_INS_AMIGA; + if (!makeInsTypeList.empty()) { + insType=makeInsTypeList[0]; + } + + curIns=e->addInstrument(cursor.xCoarse); + if (curIns==-1) { + showError("too many instruments!"); + } else { + e->song.ins[curIns]->type=insType; + e->song.ins[curIns]->name="Drum Kit"; + e->song.ins[curIns]->amiga.useNoteMap=true; + if (insType!=DIV_INS_AMIGA) e->song.ins[curIns]->amiga.useSample=true; + + for (int i=0; i<120; i++) { + e->song.ins[curIns]->amiga.noteMap[i].freq=48; + e->song.ins[curIns]->amiga.noteMap[i].map=i; + e->song.ins[curIns]->amiga.noteMap[i].dpcmFreq=15; + } + + nextWindow=GUI_WINDOW_INS_EDIT; + MARK_MODIFIED; + wavePreviewInit=true; + updateFMPreview=true; + } + break; break; case GUI_ACTION_SAMPLE_SELECT: @@ -1460,7 +1525,8 @@ void FurnaceGUI::doAction(int what) { i==DIV_INS_K007232 || i==DIV_INS_GA20 || i==DIV_INS_K053260 || - i==DIV_INS_C140) { + i==DIV_INS_C140 || + i==DIV_INS_C219) { makeInsTypeList.push_back(i); } } diff --git a/src/gui/insEdit.cpp b/src/gui/insEdit.cpp index ec1a8d9c7..f38dba6a1 100644 --- a/src/gui/insEdit.cpp +++ b/src/gui/insEdit.cpp @@ -329,11 +329,11 @@ const char* es5506FilterModes[4]={ }; const char* powerNoiseControlBits[3]={ - "tap B", "slope AM", NULL + "enable tap B", "AM with slope", NULL }; const char* powerNoiseSlopeControlBits[7]={ - "down B", "down A", "reset B", "reset A", "clip B", "clip A", NULL + "invert B", "invert A", "reset B", "reset A", "clip B", "clip A", NULL }; const char* panBits[5]={