Fix ESFM blank instrument; fix ESFM envelope drawing

Co-authored-by: LTVA1 <87536432+LTVA1@users.noreply.github.com>
This commit is contained in:
Kagamiin~ 2024-01-17 10:37:23 -03:00 committed by tildearrow
parent cb38cf8f67
commit 514c642b60
2 changed files with 6 additions and 1 deletions

View file

@ -643,6 +643,11 @@ void FurnaceGUI::doAction(int what) {
e->song.ins[curIns]->fm.op[i].rr=15;
e->song.ins[curIns]->fm.op[i].tl=127;
e->song.ins[curIns]->fm.op[i].dt=3;
e->song.ins[curIns]->esfm.op[i].ct=0;
e->song.ins[curIns]->esfm.op[i].dt=0;
e->song.ins[curIns]->esfm.op[i].modIn=0;
e->song.ins[curIns]->esfm.op[i].outLvl=0;
}
}
wantScrollList=true;

View file

@ -1338,7 +1338,7 @@ void FurnaceGUI::drawFMEnv(unsigned char tl, unsigned char ar, unsigned char dr,
//addAALine(dl,pos3,posSLineVEnd,colorS); //draw vert. line through sustain level
addAALine(dl,pos1,pos2,color); //A
addAALine(dl,pos2,posDecayRate0Pt,color); //Line from A to end of graph
} else if (d2r==0.0 || ((instType==DIV_INS_OPL || instType==DIV_INS_SNES) && sus==1.0) || (instType==DIV_INS_OPLL && egt!=0.0)) { //envelope stays at the sustain level forever
} else if (d2r==0.0 || ((instType==DIV_INS_OPL || instType==DIV_INS_SNES || instType==DIV_INS_ESFM) && sus==1.0) || (instType==DIV_INS_OPLL && egt!=0.0)) { //envelope stays at the sustain level forever
dl->AddTriangleFilled(posRStart,posREnd,pos1,colorS); //draw release as shaded triangle behind everything
addAALine(dl,pos3,posSLineHEnd,colorR); //draw horiz line through sustain level
addAALine(dl,pos3,posSLineVEnd,colorR); //draw vert. line through sustain level