Compact FM editor with alternate envelope display (#210)

* tab names, env size, ssg tickbox

* Env size, ssg tickbox, tab names

* Horizontal line showing sustain

* Compress the envelope horizontally

* Draw release as shaded triangle in background

* Envelopes now scale with TL

* Draw two lines to SL, changed env horiz. scaling

* SL line again (yes, the env clips thru the window)

* Slopes of DR and D2R stay constant when SL changes

* revert horiz SL line behavior

* Minor code cleanup

* Handle cases where AR, Dr, or D2R are 0

* FM editor fits without vertical scrollbar at 1080p

* Reverse sliders so louder/longer is on the right

Co-authored-by: BlastBrothers <Blast_Brothers_aol.com>

(TODO: add options for this)
This commit is contained in:
BlastBrothers 2022-02-22 23:39:44 -05:00 committed by GitHub
parent ef0e19413c
commit f3016bc6d7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 84 additions and 46 deletions

View file

@ -626,7 +626,7 @@ class FurnaceGUI {
int lastIns[DIV_MAX_CHANS];
void drawAlgorithm(unsigned char alg, FurnaceGUIFMAlgs algType, const ImVec2& size);
void drawFMEnv(unsigned char ar, unsigned char dr, unsigned char d2r, unsigned char rr, unsigned char sl, const ImVec2& size);
void drawFMEnv(unsigned char tl, unsigned char ar, unsigned char dr, unsigned char d2r, unsigned char rr, unsigned char sl, const ImVec2& size);
void updateWindowTitle();
void prepareLayout();