more work that I did not push

This commit is contained in:
tildearrow 2024-01-29 23:08:20 -05:00
parent 5fc0aa10e8
commit 5224c4666d
2 changed files with 20 additions and 30 deletions

View file

@ -980,37 +980,12 @@ void FurnaceGUI::doAction(int what) {
}
}
if (makeInsTypeList.size()>1) {
displayInsTypeList=true;
displayInsTypeListMakeInsSample=-2;
break;
if (makeInsTypeList.empty()) {
makeInsTypeList.push_back(DIV_INS_AMIGA);
}
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;
}
displayInsTypeList=true;
displayInsTypeListMakeInsSample=-2;
break;
}

View file

@ -5901,7 +5901,22 @@ bool FurnaceGUI::loop() {
if (curIns==-1) {
showError("too many instruments!");
} else {
if (displayInsTypeListMakeInsSample>=0 && displayInsTypeListMakeInsSample<(int)e->song.sample.size()) {
if (displayInsTypeListMakeInsSample==-2) {
e->song.ins[curIns]->type=i;
e->song.ins[curIns]->name="Drum Kit";
e->song.ins[curIns]->amiga.useNoteMap=true;
if (i!=DIV_INS_AMIGA) e->song.ins[curIns]->amiga.useSample=true;
for (int j=0; j<120; j++) {
e->song.ins[curIns]->amiga.noteMap[i].freq=48;
e->song.ins[curIns]->amiga.noteMap[i].map=j;
e->song.ins[curIns]->amiga.noteMap[i].dpcmFreq=15;
}
nextWindow=GUI_WINDOW_INS_EDIT;
wavePreviewInit=true;
updateFMPreview=true;
} else if (displayInsTypeListMakeInsSample>=0 && displayInsTypeListMakeInsSample<(int)e->song.sample.size()) {
e->song.ins[curIns]->type=i;
e->song.ins[curIns]->name=e->song.sample[displayInsTypeListMakeInsSample]->name;
e->song.ins[curIns]->amiga.initSample=displayInsTypeListMakeInsSample;