aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2024-02-02 10:35:18 +0100
committerBad Diode <bd@badd10de.dev>2024-02-02 10:35:18 +0100
commit0d02b2eab23f92720e3c47bbed27976cb9eccae7 (patch)
tree39ff10fabec9759d3b1d1d1a65013c7547c9c4bd
parentc2f1900a5118c8772584d4391c4a7cb84a834894 (diff)
downloadstepper-main.tar.gz
stepper-main.zip
Replace unnecessary drawf with draws calls for performanceHEADmain
-rw-r--r--src/drawing.c534
1 files changed, 267 insertions, 267 deletions
diff --git a/src/drawing.c b/src/drawing.c
index 16a914a..1d91d86 100644
--- a/src/drawing.c
+++ b/src/drawing.c
@@ -256,7 +256,7 @@ void
256draw_bank_buttons() { 256draw_bank_buttons() {
257 size_t x = BANK_START_X + 1; 257 size_t x = BANK_START_X + 1;
258 size_t y = BANK_START_Y; 258 size_t y = BANK_START_Y;
259 txt_drawf_small("BANK", x - 3, y - 10, COL_FG); 259 txt_draws_small("BANK", x - 3, y - 10, COL_FG);
260 char bank_names[] = { 260 char bank_names[] = {
261 'A', 'B', 'C', 'D', 'E', 'F' 261 'A', 'B', 'C', 'D', 'E', 'F'
262 }; 262 };
@@ -303,7 +303,7 @@ draw_pattern_buttons() {
303 size_t x = PAT_START_X; 303 size_t x = PAT_START_X;
304 size_t y = PAT_START_Y; 304 size_t y = PAT_START_Y;
305 305
306 txt_drawf_small("PAT", x, y - 10, COL_FG); 306 txt_draws_small("PAT", x, y - 10, COL_FG);
307 char pat_names[] = { 307 char pat_names[] = {
308 'A', 'B', 'C', 'D', 308 'A', 'B', 'C', 'D',
309 'E', 'F', 'G', 'H', 309 'E', 'F', 'G', 'H',
@@ -416,7 +416,7 @@ draw_bpm() {
416 // Draw bounding box. 416 // Draw bounding box.
417 draw_filled_rect(x, y, x + R_COL_W - 2, y + BPM_H - 3, COL_BG); 417 draw_filled_rect(x, y, x + R_COL_W - 2, y + BPM_H - 3, COL_BG);
418 draw_rect(x, y, x + R_COL_W - 2, y + BPM_H - 3, COL_FG); 418 draw_rect(x, y, x + R_COL_W - 2, y + BPM_H - 3, COL_FG);
419 txt_drawf_small("BPM", x + 7, y - 10, COL_FG); 419 txt_draws_small("BPM", x + 7, y - 10, COL_FG);
420 420
421 if (settings.sync == SYNC_IN_LINK_96BPQ || 421 if (settings.sync == SYNC_IN_LINK_96BPQ ||
422 settings.sync == SYNC_IN_LINK_48BPQ || 422 settings.sync == SYNC_IN_LINK_48BPQ ||
@@ -424,7 +424,7 @@ draw_bpm() {
424 settings.sync == SYNC_IN_LINK_12BPQ || 424 settings.sync == SYNC_IN_LINK_12BPQ ||
425 settings.sync == SYNC_IN_LINK_6BPQ || 425 settings.sync == SYNC_IN_LINK_6BPQ ||
426 settings.sync == SYNC_IN_LINK_4BPQ) { 426 settings.sync == SYNC_IN_LINK_4BPQ) {
427 txt_drawf("SYNC", x + 2, y + 2, COL_FG); 427 txt_draws("SYNC", x + 2, y + 2, COL_FG);
428 } else { 428 } else {
429 // Make sure its horizontally centered if only 2 digits 429 // Make sure its horizontally centered if only 2 digits
430 int bpm; 430 int bpm;
@@ -449,9 +449,9 @@ draw_scale() {
449 // Draw bounding box. 449 // Draw bounding box.
450 draw_filled_rect(x, y, x + R_COL_W - 2, y + SCALE_H - 3, COL_BG); 450 draw_filled_rect(x, y, x + R_COL_W - 2, y + SCALE_H - 3, COL_BG);
451 draw_rect(x, y, x + R_COL_W - 2, y + SCALE_H - 3, COL_FG); 451 draw_rect(x, y, x + R_COL_W - 2, y + SCALE_H - 3, COL_FG);
452 txt_drawf_small("SCALE", x + 3, y - 10, COL_FG); 452 txt_draws_small("SCALE", x + 3, y - 10, COL_FG);
453 453
454 txt_drawf(scale_short[current_scale], x + 2, y + 2, COL_FG); 454 txt_draws(scale_short[current_scale], x + 2, y + 2, COL_FG);
455} 455}
456 456
457void 457void
@@ -650,52 +650,52 @@ draw_params_cursor_wave(size_t i, u8 clr) {
650 case 0: { 650 case 0: {
651 x += 4 + PARAMS_BOX_OFFSET_X * 0; 651 x += 4 + PARAMS_BOX_OFFSET_X * 0;
652 y += PARAMS_BOX_H - 7; 652 y += PARAMS_BOX_H - 7;
653 txt_drawf_small("shape", x, y, COL_BG); 653 txt_draws_small("shape", x, y, COL_BG);
654 } break; 654 } break;
655 case 1: { 655 case 1: {
656 x += 6 + PARAMS_BOX_OFFSET_X * 1; 656 x += 6 + PARAMS_BOX_OFFSET_X * 1;
657 y += PARAMS_BOX_H - 7; 657 y += PARAMS_BOX_H - 7;
658 txt_drawf_small("type", x, y, COL_BG); 658 txt_draws_small("type", x, y, COL_BG);
659 } break; 659 } break;
660 case 2: { 660 case 2: {
661 x += 4 + PARAMS_BOX_OFFSET_X * 2; 661 x += 4 + PARAMS_BOX_OFFSET_X * 2;
662 y += PARAMS_BOX_H - 7; 662 y += PARAMS_BOX_H - 7;
663 txt_drawf_small("shape", x, y, COL_BG); 663 txt_draws_small("shape", x, y, COL_BG);
664 } break; 664 } break;
665 case 3: { 665 case 3: {
666 x += 6 + PARAMS_BOX_OFFSET_X * 3; 666 x += 6 + PARAMS_BOX_OFFSET_X * 3;
667 y += PARAMS_BOX_H - 7; 667 y += PARAMS_BOX_H - 7;
668 txt_drawf_small("type", x, y, COL_BG); 668 txt_draws_small("type", x, y, COL_BG);
669 } break; 669 } break;
670 case 4: { 670 case 4: {
671 x += 6 + PARAMS_BOX_OFFSET_X * 4; 671 x += 6 + PARAMS_BOX_OFFSET_X * 4;
672 y += PARAMS_BOX_H - 7; 672 y += PARAMS_BOX_H - 7;
673 txt_drawf_small("prob", x, y, COL_BG); 673 txt_draws_small("prob", x, y, COL_BG);
674 } break; 674 } break;
675 case 5: { 675 case 5: {
676 x += 4 + PARAMS_BOX_OFFSET_X * 0; 676 x += 4 + PARAMS_BOX_OFFSET_X * 0;
677 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 677 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
678 txt_drawf_small("voice", x, y, COL_BG); 678 txt_draws_small("voice", x, y, COL_BG);
679 } break; 679 } break;
680 case 6: { 680 case 6: {
681 x += 8 + PARAMS_BOX_OFFSET_X * 1; 681 x += 8 + PARAMS_BOX_OFFSET_X * 1;
682 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 682 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
683 txt_drawf_small("vol", x, y, COL_BG); 683 txt_draws_small("vol", x, y, COL_BG);
684 } break; 684 } break;
685 case 7: { 685 case 7: {
686 x += 2 + PARAMS_BOX_OFFSET_X * 2; 686 x += 2 + PARAMS_BOX_OFFSET_X * 2;
687 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 687 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
688 txt_drawf_small("attack", x, y, COL_BG); 688 txt_draws_small("attack", x, y, COL_BG);
689 } break; 689 } break;
690 case 8: { 690 case 8: {
691 x += 4 + PARAMS_BOX_OFFSET_X * 3; 691 x += 4 + PARAMS_BOX_OFFSET_X * 3;
692 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 692 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
693 txt_drawf_small("decay", x, y, COL_BG); 693 txt_draws_small("decay", x, y, COL_BG);
694 } break; 694 } break;
695 case 9: { 695 case 9: {
696 x += 8 + PARAMS_BOX_OFFSET_X * 4; 696 x += 8 + PARAMS_BOX_OFFSET_X * 4;
697 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 697 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
698 txt_drawf_small("pan", x, y, COL_BG); 698 txt_draws_small("pan", x, y, COL_BG);
699 } break; 699 } break;
700 default: break; 700 default: break;
701 } 701 }
@@ -723,32 +723,32 @@ draw_params_cursor_noise(size_t i, u8 clr) {
723 case 0: { 723 case 0: {
724 x += 6 + PARAMS_BOX_OFFSET_X * 0; 724 x += 6 + PARAMS_BOX_OFFSET_X * 0;
725 y += PARAMS_BOX_H - 7; 725 y += PARAMS_BOX_H - 7;
726 txt_drawf_small("mode", x, y, COL_BG); 726 txt_draws_small("mode", x, y, COL_BG);
727 } break; 727 } break;
728 case 1: { 728 case 1: {
729 x += 8 + PARAMS_BOX_OFFSET_X * 1; 729 x += 8 + PARAMS_BOX_OFFSET_X * 1;
730 y += PARAMS_BOX_H - 7; 730 y += PARAMS_BOX_H - 7;
731 txt_drawf_small("vol", x, y, COL_BG); 731 txt_draws_small("vol", x, y, COL_BG);
732 } break; 732 } break;
733 case 2: { 733 case 2: {
734 x += 6 + PARAMS_BOX_OFFSET_X * 2; 734 x += 6 + PARAMS_BOX_OFFSET_X * 2;
735 y += PARAMS_BOX_H - 7; 735 y += PARAMS_BOX_H - 7;
736 txt_drawf_small("time", x, y, COL_BG); 736 txt_draws_small("time", x, y, COL_BG);
737 } break; 737 } break;
738 case 3: { 738 case 3: {
739 x += 8 + PARAMS_BOX_OFFSET_X * 3; 739 x += 8 + PARAMS_BOX_OFFSET_X * 3;
740 y += PARAMS_BOX_H - 7; 740 y += PARAMS_BOX_H - 7;
741 txt_drawf_small("dir", x, y, COL_BG); 741 txt_draws_small("dir", x, y, COL_BG);
742 } break; 742 } break;
743 case 4: { 743 case 4: {
744 x += 6 + PARAMS_BOX_OFFSET_X * 4; 744 x += 6 + PARAMS_BOX_OFFSET_X * 4;
745 y += PARAMS_BOX_H - 7; 745 y += PARAMS_BOX_H - 7;
746 txt_drawf_small("prob", x, y, COL_BG); 746 txt_draws_small("prob", x, y, COL_BG);
747 } break; 747 } break;
748 case 9: { 748 case 9: {
749 x += 8 + PARAMS_BOX_OFFSET_X * 4; 749 x += 8 + PARAMS_BOX_OFFSET_X * 4;
750 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 750 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
751 txt_drawf_small("pan", x, y, COL_BG); 751 txt_draws_small("pan", x, y, COL_BG);
752 } break; 752 } break;
753 default: break; 753 default: break;
754 } 754 }
@@ -776,47 +776,47 @@ draw_params_cursor_square(size_t i, u8 clr) {
776 case 0: { 776 case 0: {
777 x += 4 + PARAMS_BOX_OFFSET_X * 0; 777 x += 4 + PARAMS_BOX_OFFSET_X * 0;
778 y += PARAMS_BOX_H - 7; 778 y += PARAMS_BOX_H - 7;
779 txt_drawf_small("shape", x, y, COL_BG); 779 txt_draws_small("shape", x, y, COL_BG);
780 } break; 780 } break;
781 case 1: { 781 case 1: {
782 x += 8 + PARAMS_BOX_OFFSET_X * 1; 782 x += 8 + PARAMS_BOX_OFFSET_X * 1;
783 y += PARAMS_BOX_H - 7; 783 y += PARAMS_BOX_H - 7;
784 txt_drawf_small("vol", x, y, COL_BG); 784 txt_draws_small("vol", x, y, COL_BG);
785 } break; 785 } break;
786 case 2: { 786 case 2: {
787 x += 6 + PARAMS_BOX_OFFSET_X * 2; 787 x += 6 + PARAMS_BOX_OFFSET_X * 2;
788 y += PARAMS_BOX_H - 7; 788 y += PARAMS_BOX_H - 7;
789 txt_drawf_small("time", x, y, COL_BG); 789 txt_draws_small("time", x, y, COL_BG);
790 } break; 790 } break;
791 case 3: { 791 case 3: {
792 x += 8 + PARAMS_BOX_OFFSET_X * 3; 792 x += 8 + PARAMS_BOX_OFFSET_X * 3;
793 y += PARAMS_BOX_H - 7; 793 y += PARAMS_BOX_H - 7;
794 txt_drawf_small("dir", x, y, COL_BG); 794 txt_draws_small("dir", x, y, COL_BG);
795 } break; 795 } break;
796 case 4: { 796 case 4: {
797 x += 6 + PARAMS_BOX_OFFSET_X * 4; 797 x += 6 + PARAMS_BOX_OFFSET_X * 4;
798 y += PARAMS_BOX_H - 7; 798 y += PARAMS_BOX_H - 7;
799 txt_drawf_small("prob", x, y, COL_BG); 799 txt_draws_small("prob", x, y, COL_BG);
800 } break; 800 } break;
801 case 5: { 801 case 5: {
802 x += 4 + PARAMS_BOX_OFFSET_X * 0; 802 x += 4 + PARAMS_BOX_OFFSET_X * 0;
803 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 803 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
804 txt_drawf_small("sweep", x, y, COL_BG); 804 txt_draws_small("sweep", x, y, COL_BG);
805 } break; 805 } break;
806 case 6: { 806 case 6: {
807 x += 6 + PARAMS_BOX_OFFSET_X * 1; 807 x += 6 + PARAMS_BOX_OFFSET_X * 1;
808 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 808 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
809 txt_drawf_small("time", x, y, COL_BG); 809 txt_draws_small("time", x, y, COL_BG);
810 } break; 810 } break;
811 case 7: { 811 case 7: {
812 x += 8 + PARAMS_BOX_OFFSET_X * 2; 812 x += 8 + PARAMS_BOX_OFFSET_X * 2;
813 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 813 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
814 txt_drawf_small("dir", x, y, COL_BG); 814 txt_draws_small("dir", x, y, COL_BG);
815 } break; 815 } break;
816 case 9: { 816 case 9: {
817 x += 8 + PARAMS_BOX_OFFSET_X * 4; 817 x += 8 + PARAMS_BOX_OFFSET_X * 4;
818 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y; 818 y += PARAMS_BOX_H - 7 + PARAMS_BOX_OFFSET_Y;
819 txt_drawf_small("pan", x, y, COL_BG); 819 txt_draws_small("pan", x, y, COL_BG);
820 } break; 820 } break;
821 default: break; 821 default: break;
822 } 822 }
@@ -865,39 +865,39 @@ draw_prob(u8 prob, u8 clr) {
865 size_t y = PARAMS_START_Y + 5; 865 size_t y = PARAMS_START_Y + 5;
866 switch (prob) { 866 switch (prob) {
867 case PROB_100: { 867 case PROB_100: {
868 txt_drawf("100", x, y, clr); 868 txt_draws("100", x, y, clr);
869 txt_drawc('%', x + 18, y, clr); 869 txt_drawc('%', x + 18, y, clr);
870 } break; 870 } break;
871 case PROB_80: { 871 case PROB_80: {
872 txt_drawf("80", x + 3, y, clr); 872 txt_draws("80", x + 3, y, clr);
873 txt_drawc('%', x + 15, y, clr); 873 txt_drawc('%', x + 15, y, clr);
874 } break; 874 } break;
875 case PROB_60: { 875 case PROB_60: {
876 txt_drawf("60", x + 3, y, clr); 876 txt_draws("60", x + 3, y, clr);
877 txt_drawc('%', x + 15, y, clr); 877 txt_drawc('%', x + 15, y, clr);
878 } break; 878 } break;
879 case PROB_40: { 879 case PROB_40: {
880 txt_drawf("40", x + 3, y, clr); 880 txt_draws("40", x + 3, y, clr);
881 txt_drawc('%', x + 15, y, clr); 881 txt_drawc('%', x + 15, y, clr);
882 } break; 882 } break;
883 case PROB_20: { 883 case PROB_20: {
884 txt_drawf("20", x + 3, y, clr); 884 txt_draws("20", x + 3, y, clr);
885 txt_drawc('%', x + 15, y, clr); 885 txt_drawc('%', x + 15, y, clr);
886 } break; 886 } break;
887 case PROB_FIRST: { txt_drawf("1st", x + 3, y, clr); } break; 887 case PROB_FIRST: { txt_draws("1st", x + 3, y, clr); } break;
888 case PROB_NOT_FIRST: { 888 case PROB_NOT_FIRST: {
889 txt_drawf("1st", x + 3, y, clr); 889 txt_draws("1st", x + 3, y, clr);
890 draw_line(x + 3, y - 1, x + 21, y - 1, clr); 890 draw_line(x + 3, y - 1, x + 21, y - 1, clr);
891 } break; 891 } break;
892 case PROB_ONE_TWO: { txt_drawf("1:2", x + 3, y, clr); } break; 892 case PROB_ONE_TWO: { txt_draws("1:2", x + 3, y, clr); } break;
893 case PROB_TWO_TWO: { txt_drawf("2:2", x + 3, y, clr); } break; 893 case PROB_TWO_TWO: { txt_draws("2:2", x + 3, y, clr); } break;
894 case PROB_ONE_THREE: { txt_drawf("1:3", x + 3, y, clr); } break; 894 case PROB_ONE_THREE: { txt_draws("1:3", x + 3, y, clr); } break;
895 case PROB_TWO_THREE: { txt_drawf("2:3", x + 3, y, clr); } break; 895 case PROB_TWO_THREE: { txt_draws("2:3", x + 3, y, clr); } break;
896 case PROB_THREE_THREE: { txt_drawf("3:3", x + 3, y, clr); } break; 896 case PROB_THREE_THREE: { txt_draws("3:3", x + 3, y, clr); } break;
897 case PROB_ONE_FOUR: { txt_drawf("1:4", x + 3, y, clr); } break; 897 case PROB_ONE_FOUR: { txt_draws("1:4", x + 3, y, clr); } break;
898 case PROB_TWO_FOUR: { txt_drawf("2:4", x + 3, y, clr); } break; 898 case PROB_TWO_FOUR: { txt_draws("2:4", x + 3, y, clr); } break;
899 case PROB_THREE_FOUR: { txt_drawf("3:4", x + 3, y, clr); } break; 899 case PROB_THREE_FOUR: { txt_draws("3:4", x + 3, y, clr); } break;
900 case PROB_FOUR_FOUR: { txt_drawf("4:4", x + 3, y, clr); } break; 900 case PROB_FOUR_FOUR: { txt_draws("4:4", x + 3, y, clr); } break;
901 default: break; 901 default: break;
902 } 902 }
903} 903}
@@ -919,13 +919,13 @@ draw_panning(s8 pan, u8 clr) {
919 size_t y = PARAMS_START_Y + PARAMS_BOX_OFFSET_Y + 5; 919 size_t y = PARAMS_START_Y + PARAMS_BOX_OFFSET_Y + 5;
920 switch (pan) { 920 switch (pan) {
921 case -1: { 921 case -1: {
922 txt_drawf("L", x + 9, y, clr); 922 txt_draws("L", x + 9, y, clr);
923 } break; 923 } break;
924 case 0: { 924 case 0: {
925 txt_drawf("MID", x + 3, y, clr); 925 txt_draws("MID", x + 3, y, clr);
926 } break; 926 } break;
927 case 1: { 927 case 1: {
928 txt_drawf("R", x + 9, y, clr); 928 txt_draws("R", x + 9, y, clr);
929 } break; 929 } break;
930 default: break; 930 default: break;
931 } 931 }
@@ -1004,9 +1004,9 @@ draw_parameters_wave(ChannelWaveParams *params, bool global) {
1004 size_t x = PARAMS_START_X; 1004 size_t x = PARAMS_START_X;
1005 size_t y = PARAMS_START_Y + PARAMS_BOX_OFFSET_Y; 1005 size_t y = PARAMS_START_Y + PARAMS_BOX_OFFSET_Y;
1006 switch (params->wave_mode) { 1006 switch (params->wave_mode) {
1007 case 0: { txt_drawf("A", x + 12, y + 5, cols[5]); } break; 1007 case 0: { txt_draws("A", x + 12, y + 5, cols[5]); } break;
1008 case 1: { txt_drawf("B", x + 12, y + 5, cols[5]); } break; 1008 case 1: { txt_draws("B", x + 12, y + 5, cols[5]); } break;
1009 case 2: { txt_drawf("A+B", x + 6, y + 5, cols[5]); } break; 1009 case 2: { txt_draws("A+B", x + 6, y + 5, cols[5]); } break;
1010 } 1010 }
1011 } 1011 }
1012 1012
@@ -1016,23 +1016,23 @@ draw_parameters_wave(ChannelWaveParams *params, bool global) {
1016 size_t y = PARAMS_START_Y + PARAMS_BOX_OFFSET_Y + 5; 1016 size_t y = PARAMS_START_Y + PARAMS_BOX_OFFSET_Y + 5;
1017 switch (params->wave_volume) { 1017 switch (params->wave_volume) {
1018 case 0: { 1018 case 0: {
1019 txt_drawf("0", x + 6, y, cols[6]); 1019 txt_draws("0", x + 6, y, cols[6]);
1020 txt_drawc('%', x + 12, y, cols[6]); 1020 txt_drawc('%', x + 12, y, cols[6]);
1021 } break; 1021 } break;
1022 case 1: { 1022 case 1: {
1023 txt_drawf("25", x + 3, y, cols[6]); 1023 txt_draws("25", x + 3, y, cols[6]);
1024 txt_drawc('%', x + 15, y, cols[6]); 1024 txt_drawc('%', x + 15, y, cols[6]);
1025 } break; 1025 } break;
1026 case 2: { 1026 case 2: {
1027 txt_drawf("50", x + 3, y, cols[6]); 1027 txt_draws("50", x + 3, y, cols[6]);
1028 txt_drawc('%', x + 15, y, cols[6]); 1028 txt_drawc('%', x + 15, y, cols[6]);
1029 } break; 1029 } break;
1030 case 3: { 1030 case 3: {
1031 txt_drawf("75", x + 3, y, cols[6]); 1031 txt_draws("75", x + 3, y, cols[6]);
1032 txt_drawc('%', x + 15, y, cols[6]); 1032 txt_drawc('%', x + 15, y, cols[6]);
1033 } break; 1033 } break;
1034 case 4: { 1034 case 4: {
1035 txt_drawf("100", x, y, cols[6]); 1035 txt_draws("100", x, y, cols[6]);
1036 txt_drawc('%', x + 18, y, cols[6]); 1036 txt_drawc('%', x + 18, y, cols[6]);
1037 } break; 1037 } break;
1038 } 1038 }
@@ -1070,17 +1070,17 @@ draw_parameters_wave(ChannelWaveParams *params, bool global) {
1070 { 1070 {
1071 size_t x = PARAMS_START_X; 1071 size_t x = PARAMS_START_X;
1072 size_t y = PARAMS_START_Y; 1072 size_t y = PARAMS_START_Y;
1073 txt_drawf_small("shape", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[0]); 1073 txt_draws_small("shape", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[0]);
1074 txt_drawf_small("type", x + 6 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[1]); 1074 txt_draws_small("type", x + 6 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[1]);
1075 txt_drawf_small("shape", x + 4 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[2]); 1075 txt_draws_small("shape", x + 4 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[2]);
1076 txt_drawf_small("type", x + 6 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[3]); 1076 txt_draws_small("type", x + 6 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[3]);
1077 txt_drawf_small("prob", x + 6 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[4]); 1077 txt_draws_small("prob", x + 6 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[4]);
1078 y += PARAMS_BOX_OFFSET_Y; 1078 y += PARAMS_BOX_OFFSET_Y;
1079 txt_drawf_small("voice", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[5]); 1079 txt_draws_small("voice", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[5]);
1080 txt_drawf_small("vol", x + 8 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[6]); 1080 txt_draws_small("vol", x + 8 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[6]);
1081 txt_drawf_small("attack", x + 2 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[7]); 1081 txt_draws_small("attack", x + 2 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[7]);
1082 txt_drawf_small("decay", x + 4 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[8]); 1082 txt_draws_small("decay", x + 4 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[8]);
1083 txt_drawf_small("pan", x + 8 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[9]); 1083 txt_draws_small("pan", x + 8 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[9]);
1084 } 1084 }
1085} 1085}
1086 1086
@@ -1232,27 +1232,27 @@ draw_parameters_square1(ChannelSquare1Params *params, bool global) {
1232 1232
1233 // Number. 1233 // Number.
1234 switch (params->sweep_number) { 1234 switch (params->sweep_number) {
1235 case 0: { txt_drawf("0", x + 12, y + 5, cols[5]); } break; 1235 case 0: { txt_draws("0", x + 12, y + 5, cols[5]); } break;
1236 case 1: { txt_drawf("1", x + 12, y + 5, cols[5]); } break; 1236 case 1: { txt_draws("1", x + 12, y + 5, cols[5]); } break;
1237 case 2: { txt_drawf("2", x + 12, y + 5, cols[5]); } break; 1237 case 2: { txt_draws("2", x + 12, y + 5, cols[5]); } break;
1238 case 3: { txt_drawf("3", x + 12, y + 5, cols[5]); } break; 1238 case 3: { txt_draws("3", x + 12, y + 5, cols[5]); } break;
1239 case 4: { txt_drawf("4", x + 12, y + 5, cols[5]); } break; 1239 case 4: { txt_draws("4", x + 12, y + 5, cols[5]); } break;
1240 case 5: { txt_drawf("5", x + 12, y + 5, cols[5]); } break; 1240 case 5: { txt_draws("5", x + 12, y + 5, cols[5]); } break;
1241 case 6: { txt_drawf("6", x + 12, y + 5, cols[5]); } break; 1241 case 6: { txt_draws("6", x + 12, y + 5, cols[5]); } break;
1242 case 7: { txt_drawf("7", x + 12, y + 5, cols[5]); } break; 1242 case 7: { txt_draws("7", x + 12, y + 5, cols[5]); } break;
1243 } 1243 }
1244 1244
1245 // Time. 1245 // Time.
1246 x += PARAMS_BOX_OFFSET_X; 1246 x += PARAMS_BOX_OFFSET_X;
1247 switch (params->sweep_time) { 1247 switch (params->sweep_time) {
1248 case 0: { txt_drawf("Off", x + 6, y + 5, cols[6]); } break; 1248 case 0: { txt_draws("Off", x + 6, y + 5, cols[6]); } break;
1249 case 1: { txt_drawf("7ms", x + 6, y + 5, cols[6]); } break; 1249 case 1: { txt_draws("7ms", x + 6, y + 5, cols[6]); } break;
1250 case 2: { txt_drawf("15ms", x + 3, y + 5, cols[6]); } break; 1250 case 2: { txt_draws("15ms", x + 3, y + 5, cols[6]); } break;
1251 case 3: { txt_drawf("23ms", x + 3, y + 5, cols[6]); } break; 1251 case 3: { txt_draws("23ms", x + 3, y + 5, cols[6]); } break;
1252 case 4: { txt_drawf("31ms", x + 3, y + 5, cols[6]); } break; 1252 case 4: { txt_draws("31ms", x + 3, y + 5, cols[6]); } break;
1253 case 5: { txt_drawf("39ms", x + 3, y + 5, cols[6]); } break; 1253 case 5: { txt_draws("39ms", x + 3, y + 5, cols[6]); } break;
1254 case 6: { txt_drawf("46ms", x + 3, y + 5, cols[6]); } break; 1254 case 6: { txt_draws("46ms", x + 3, y + 5, cols[6]); } break;
1255 case 7: { txt_drawf("54ms", x + 3, y + 5, cols[6]); } break; 1255 case 7: { txt_draws("54ms", x + 3, y + 5, cols[6]); } break;
1256 } 1256 }
1257 1257
1258 // Direction. 1258 // Direction.
@@ -1260,8 +1260,8 @@ draw_parameters_square1(ChannelSquare1Params *params, bool global) {
1260 char arr_down[2] = { 0x19, 0 }; 1260 char arr_down[2] = { 0x19, 0 };
1261 char arr_up[2] = { 0x18, 0 }; 1261 char arr_up[2] = { 0x18, 0 };
1262 switch (params->sweep_direction) { 1262 switch (params->sweep_direction) {
1263 case 0: { txt_drawf(arr_up, x + 12, y + 5, cols[7]); } break; 1263 case 0: { txt_draws(arr_up, x + 12, y + 5, cols[7]); } break;
1264 case 1: { txt_drawf(arr_down, x + 12, y + 5, cols[7]); } break; 1264 case 1: { txt_draws(arr_down, x + 12, y + 5, cols[7]); } break;
1265 } 1265 }
1266 } 1266 }
1267 1267
@@ -1269,16 +1269,16 @@ draw_parameters_square1(ChannelSquare1Params *params, bool global) {
1269 { 1269 {
1270 size_t x = PARAMS_START_X; 1270 size_t x = PARAMS_START_X;
1271 size_t y = PARAMS_START_Y; 1271 size_t y = PARAMS_START_Y;
1272 txt_drawf_small("shape", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[0]); 1272 txt_draws_small("shape", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[0]);
1273 txt_drawf_small("vol", x + 8 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[1]); 1273 txt_draws_small("vol", x + 8 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[1]);
1274 txt_drawf_small("time", x + 6 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[2]); 1274 txt_draws_small("time", x + 6 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[2]);
1275 txt_drawf_small("dir", x + 8 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[3]); 1275 txt_draws_small("dir", x + 8 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[3]);
1276 txt_drawf_small("prob", x + 6 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[4]); 1276 txt_draws_small("prob", x + 6 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[4]);
1277 y += PARAMS_BOX_OFFSET_Y; 1277 y += PARAMS_BOX_OFFSET_Y;
1278 txt_drawf_small("sweep", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[5]); 1278 txt_draws_small("sweep", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[5]);
1279 txt_drawf_small("time", x + 6 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[6]); 1279 txt_draws_small("time", x + 6 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[6]);
1280 txt_drawf_small("dir", x + 8 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[7]); 1280 txt_draws_small("dir", x + 8 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[7]);
1281 txt_drawf_small("pan", x + 8 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[9]); 1281 txt_draws_small("pan", x + 8 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[9]);
1282 } 1282 }
1283 1283
1284 // Empty spacers. 1284 // Empty spacers.
@@ -1411,13 +1411,13 @@ draw_parameters_square2(ChannelSquare2Params *params, bool global) {
1411 { 1411 {
1412 size_t x = PARAMS_START_X; 1412 size_t x = PARAMS_START_X;
1413 size_t y = PARAMS_START_Y; 1413 size_t y = PARAMS_START_Y;
1414 txt_drawf_small("shape", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[0]); 1414 txt_draws_small("shape", x + 4 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[0]);
1415 txt_drawf_small("vol", x + 8 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[1]); 1415 txt_draws_small("vol", x + 8 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[1]);
1416 txt_drawf_small("time", x + 6 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[2]); 1416 txt_draws_small("time", x + 6 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[2]);
1417 txt_drawf_small("dir", x + 8 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[3]); 1417 txt_draws_small("dir", x + 8 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[3]);
1418 txt_drawf_small("prob", x + 6 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[4]); 1418 txt_draws_small("prob", x + 6 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[4]);
1419 y += PARAMS_BOX_OFFSET_Y; 1419 y += PARAMS_BOX_OFFSET_Y;
1420 txt_drawf_small("pan", x + 8 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[9]); 1420 txt_draws_small("pan", x + 8 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[9]);
1421 } 1421 }
1422 1422
1423 // Empty spacers. 1423 // Empty spacers.
@@ -1467,8 +1467,8 @@ draw_parameters_noise(ChannelNoiseParams* params, bool global) {
1467 size_t x = PARAMS_START_X; 1467 size_t x = PARAMS_START_X;
1468 size_t y = PARAMS_START_Y; 1468 size_t y = PARAMS_START_Y;
1469 switch (params->bit_mode) { 1469 switch (params->bit_mode) {
1470 case 0: { txt_drawf("A", x + 12, y + 5, cols[0]); } break; 1470 case 0: { txt_draws("A", x + 12, y + 5, cols[0]); } break;
1471 case 1: { txt_drawf("B", x + 12, y + 5, cols[0]); } break; 1471 case 1: { txt_draws("B", x + 12, y + 5, cols[0]); } break;
1472 } 1472 }
1473 } 1473 }
1474 1474
@@ -1504,13 +1504,13 @@ draw_parameters_noise(ChannelNoiseParams* params, bool global) {
1504 { 1504 {
1505 size_t x = PARAMS_START_X; 1505 size_t x = PARAMS_START_X;
1506 size_t y = PARAMS_START_Y; 1506 size_t y = PARAMS_START_Y;
1507 txt_drawf_small("mode", x + 6 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[0]); 1507 txt_draws_small("mode", x + 6 + PARAMS_BOX_OFFSET_X * 0, y + PARAMS_BOX_H - 7, cols[0]);
1508 txt_drawf_small("vol", x + 8 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[1]); 1508 txt_draws_small("vol", x + 8 + PARAMS_BOX_OFFSET_X * 1, y + PARAMS_BOX_H - 7, cols[1]);
1509 txt_drawf_small("time", x + 6 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[2]); 1509 txt_draws_small("time", x + 6 + PARAMS_BOX_OFFSET_X * 2, y + PARAMS_BOX_H - 7, cols[2]);
1510 txt_drawf_small("dir", x + 8 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[3]); 1510 txt_draws_small("dir", x + 8 + PARAMS_BOX_OFFSET_X * 3, y + PARAMS_BOX_H - 7, cols[3]);
1511 txt_drawf_small("prob", x + 6 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[4]); 1511 txt_draws_small("prob", x + 6 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[4]);
1512 y += PARAMS_BOX_OFFSET_Y; 1512 y += PARAMS_BOX_OFFSET_Y;
1513 txt_drawf_small("pan", x + 8 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[9]); 1513 txt_draws_small("pan", x + 8 + PARAMS_BOX_OFFSET_X * 4, y + PARAMS_BOX_H - 7, cols[9]);
1514 } 1514 }
1515 1515
1516 // Empty spacers. 1516 // Empty spacers.
@@ -1718,81 +1718,81 @@ draw_piano_notes(void) {
1718 1718
1719void 1719void
1720draw_notif_param_edit_prob(u8 prob, u8 x, u8 y, u8 color) { 1720draw_notif_param_edit_prob(u8 prob, u8 x, u8 y, u8 color) {
1721 txt_drawf_small("PROB/CONDITION: ", x + 2, y + 1, color); 1721 txt_draws_small("PROB/CONDITION: ", x + 2, y + 1, color);
1722 switch (prob) { 1722 switch (prob) {
1723 case PROB_100: { txt_drawf_small("100", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 19 * 4, y + 1, color); } break; 1723 case PROB_100: { txt_draws_small("100", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 19 * 4, y + 1, color); } break;
1724 case PROB_80: { txt_drawf_small("80", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 18 * 4, y + 1, color); } break; 1724 case PROB_80: { txt_draws_small("80", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 18 * 4, y + 1, color); } break;
1725 case PROB_60: { txt_drawf_small("60", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 18 * 4, y + 1, color); } break; 1725 case PROB_60: { txt_draws_small("60", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 18 * 4, y + 1, color); } break;
1726 case PROB_40: { txt_drawf_small("40", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 18 * 4, y + 1, color); } break; 1726 case PROB_40: { txt_draws_small("40", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 18 * 4, y + 1, color); } break;
1727 case PROB_20: { txt_drawf_small("20", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 18 * 4, y + 1, color); } break; 1727 case PROB_20: { txt_draws_small("20", x + 2 + 16 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 18 * 4, y + 1, color); } break;
1728 case PROB_FIRST: { txt_drawf_small("first bar", x + 2 + 16 * 4, y + 1, color); } break; 1728 case PROB_FIRST: { txt_draws_small("first bar", x + 2 + 16 * 4, y + 1, color); } break;
1729 case PROB_NOT_FIRST: { txt_drawf_small("not first bar", x + 2 + 16 * 4, y + 1, color); } break; 1729 case PROB_NOT_FIRST: { txt_draws_small("not first bar", x + 2 + 16 * 4, y + 1, color); } break;
1730 case PROB_ONE_TWO: { txt_drawf_small("1st bar out of 2", x + 2 + 16 * 4, y + 1, color); } break; 1730 case PROB_ONE_TWO: { txt_draws_small("1st bar out of 2", x + 2 + 16 * 4, y + 1, color); } break;
1731 case PROB_TWO_TWO: { txt_drawf_small("2nd bar out of 2", x + 2 + 16 * 4, y + 1, color); } break; 1731 case PROB_TWO_TWO: { txt_draws_small("2nd bar out of 2", x + 2 + 16 * 4, y + 1, color); } break;
1732 case PROB_ONE_THREE: { txt_drawf_small("1st bar out of 3", x + 2 + 16 * 4, y + 1, color); } break; 1732 case PROB_ONE_THREE: { txt_draws_small("1st bar out of 3", x + 2 + 16 * 4, y + 1, color); } break;
1733 case PROB_TWO_THREE: { txt_drawf_small("2nd bar out of 3", x + 2 + 16 * 4, y + 1, color); } break; 1733 case PROB_TWO_THREE: { txt_draws_small("2nd bar out of 3", x + 2 + 16 * 4, y + 1, color); } break;
1734 case PROB_THREE_THREE: { txt_drawf_small("3rd bar out of 3", x + 2 + 16 * 4, y + 1, color); } break; 1734 case PROB_THREE_THREE: { txt_draws_small("3rd bar out of 3", x + 2 + 16 * 4, y + 1, color); } break;
1735 case PROB_ONE_FOUR: { txt_drawf_small("1st bar out of 4", x + 2 + 16 * 4, y + 1, color); } break; 1735 case PROB_ONE_FOUR: { txt_draws_small("1st bar out of 4", x + 2 + 16 * 4, y + 1, color); } break;
1736 case PROB_TWO_FOUR: { txt_drawf_small("2nd bar out of 4", x + 2 + 16 * 4, y + 1, color); } break; 1736 case PROB_TWO_FOUR: { txt_draws_small("2nd bar out of 4", x + 2 + 16 * 4, y + 1, color); } break;
1737 case PROB_THREE_FOUR: { txt_drawf_small("3rd bar out of 4", x + 2 + 16 * 4, y + 1, color); } break; 1737 case PROB_THREE_FOUR: { txt_draws_small("3rd bar out of 4", x + 2 + 16 * 4, y + 1, color); } break;
1738 case PROB_FOUR_FOUR: { txt_drawf_small("4th bar out of 4", x + 2 + 16 * 4, y + 1, color); } break; 1738 case PROB_FOUR_FOUR: { txt_draws_small("4th bar out of 4", x + 2 + 16 * 4, y + 1, color); } break;
1739 } 1739 }
1740} 1740}
1741 1741
1742void 1742void
1743draw_notif_param_edit_pan(s8 pan, u8 x, u8 y, u8 color) { 1743draw_notif_param_edit_pan(s8 pan, u8 x, u8 y, u8 color) {
1744 txt_drawf_small("panning: ", x + 2, y + 1, color); 1744 txt_draws_small("panning: ", x + 2, y + 1, color);
1745 switch (pan) { 1745 switch (pan) {
1746 case -1: { txt_drawf_small("left", x + 2 + 9 * 4, y + 1, color); } break; 1746 case -1: { txt_draws_small("left", x + 2 + 9 * 4, y + 1, color); } break;
1747 case 0: { txt_drawf_small("middle", x + 2 + 9 * 4, y + 1, color); } break; 1747 case 0: { txt_draws_small("middle", x + 2 + 9 * 4, y + 1, color); } break;
1748 case 1: { txt_drawf_small("right", x + 2 + 9 * 4, y + 1, color); } break; 1748 case 1: { txt_draws_small("right", x + 2 + 9 * 4, y + 1, color); } break;
1749 } 1749 }
1750} 1750}
1751 1751
1752void 1752void
1753draw_notif_param_env_vol(u8 vol, u8 x, u8 y, u8 color) { 1753draw_notif_param_env_vol(u8 vol, u8 x, u8 y, u8 color) {
1754 txt_drawf_small("VOL: ", x + 2, y + 1, color); 1754 txt_draws_small("VOL: ", x + 2, y + 1, color);
1755 switch (vol) { 1755 switch (vol) {
1756 case 0: { txt_drawf_small("0", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 6 * 4, y + 1, color); } break; 1756 case 0: { txt_draws_small("0", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 6 * 4, y + 1, color); } break;
1757 case 1: { txt_drawf_small("6", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 6 * 4, y + 1, color); } break; 1757 case 1: { txt_draws_small("6", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 6 * 4, y + 1, color); } break;
1758 case 2: { txt_drawf_small("13", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1758 case 2: { txt_draws_small("13", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1759 case 3: { txt_drawf_small("20", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1759 case 3: { txt_draws_small("20", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1760 case 4: { txt_drawf_small("26", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1760 case 4: { txt_draws_small("26", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1761 case 5: { txt_drawf_small("33", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1761 case 5: { txt_draws_small("33", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1762 case 6: { txt_drawf_small("40", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1762 case 6: { txt_draws_small("40", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1763 case 7: { txt_drawf_small("46", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1763 case 7: { txt_draws_small("46", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1764 case 8: { txt_drawf_small("53", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1764 case 8: { txt_draws_small("53", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1765 case 9: { txt_drawf_small("60", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1765 case 9: { txt_draws_small("60", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1766 case 10: { txt_drawf_small("66", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1766 case 10: { txt_draws_small("66", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1767 case 11: { txt_drawf_small("73", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1767 case 11: { txt_draws_small("73", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1768 case 12: { txt_drawf_small("80", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1768 case 12: { txt_draws_small("80", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1769 case 13: { txt_drawf_small("86", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1769 case 13: { txt_draws_small("86", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1770 case 14: { txt_drawf_small("93", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break; 1770 case 14: { txt_draws_small("93", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 7 * 4, y + 1, color); } break;
1771 case 15: { txt_drawf_small("100", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 8 * 4, y + 1, color); } break; 1771 case 15: { txt_draws_small("100", x + 2 + 5 * 4, y + 1, color); txt_drawc_small('%', x + 2 + 8 * 4, y + 1, color); } break;
1772 } 1772 }
1773} 1773}
1774 1774
1775void 1775void
1776draw_notif_param_env_time(u8 time, u8 x, u8 y, u8 color) { 1776draw_notif_param_env_time(u8 time, u8 x, u8 y, u8 color) {
1777 txt_drawf_small("TIME: ", x + 2, y + 1, color); 1777 txt_draws_small("TIME: ", x + 2, y + 1, color);
1778 switch (time) { 1778 switch (time) {
1779 case 0: { txt_drawf_small("off", x + 2 + 6 * 4, y + 1, color); } break; 1779 case 0: { txt_draws_small("off", x + 2 + 6 * 4, y + 1, color); } break;
1780 case 1: { txt_drawf_small("150ms", x + 2 + 6 * 4, y + 1, color); } break; 1780 case 1: { txt_draws_small("150ms", x + 2 + 6 * 4, y + 1, color); } break;
1781 case 2: { txt_drawf_small("310ms", x + 2 + 6 * 4, y + 1, color); } break; 1781 case 2: { txt_draws_small("310ms", x + 2 + 6 * 4, y + 1, color); } break;
1782 case 3: { txt_drawf_small("460ms", x + 2 + 6 * 4, y + 1, color); } break; 1782 case 3: { txt_draws_small("460ms", x + 2 + 6 * 4, y + 1, color); } break;
1783 case 4: { txt_drawf_small("620ms", x + 2 + 6 * 4, y + 1, color); } break; 1783 case 4: { txt_draws_small("620ms", x + 2 + 6 * 4, y + 1, color); } break;
1784 case 5: { txt_drawf_small("780ms", x + 2 + 6 * 4, y + 1, color); } break; 1784 case 5: { txt_draws_small("780ms", x + 2 + 6 * 4, y + 1, color); } break;
1785 case 6: { txt_drawf_small("930ms", x + 2 + 6 * 4, y + 1, color); } break; 1785 case 6: { txt_draws_small("930ms", x + 2 + 6 * 4, y + 1, color); } break;
1786 case 7: { txt_drawf_small("1s", x + 2 + 6 * 4, y + 1, color); } break; 1786 case 7: { txt_draws_small("1s", x + 2 + 6 * 4, y + 1, color); } break;
1787 } 1787 }
1788} 1788}
1789 1789
1790void 1790void
1791draw_notif_param_env_dir(u8 dir, u8 x, u8 y, u8 color) { 1791draw_notif_param_env_dir(u8 dir, u8 x, u8 y, u8 color) {
1792 txt_drawf_small("DIRECTION: ", x + 2, y + 1, color); 1792 txt_draws_small("DIRECTION: ", x + 2, y + 1, color);
1793 switch (dir) { 1793 switch (dir) {
1794 case 0: { txt_drawf_small("down", x + 2 + 11 * 4, y + 1, color); } break; 1794 case 0: { txt_draws_small("down", x + 2 + 11 * 4, y + 1, color); } break;
1795 case 1: { txt_drawf_small("up", x + 2 + 11 * 4, y + 1, color); } break; 1795 case 1: { txt_draws_small("up", x + 2 + 11 * 4, y + 1, color); } break;
1796 } 1796 }
1797} 1797}
1798 1798
@@ -1816,12 +1816,12 @@ draw_notif_bar() {
1816 msg[i] = notif.msg[i]; 1816 msg[i] = notif.msg[i];
1817 } 1817 }
1818 } 1818 }
1819 txt_drawf_small(msg, x0 + 2, y0 + 1, color); 1819 txt_draws_small(msg, x0 + 2, y0 + 1, color);
1820 } else { 1820 } else {
1821 if (play_status && chain.len != 0 && chain.enabled) { 1821 if (play_status && chain.len != 0 && chain.enabled) {
1822 u8 x = x0 + 2; 1822 u8 x = x0 + 2;
1823 u8 y = y0 + 1; 1823 u8 y = y0 + 1;
1824 txt_drawf_small("CHAIN: ", x, y, color); 1824 txt_draws_small("CHAIN: ", x, y, color);
1825 x += 4 * 7; 1825 x += 4 * 7;
1826 bool first = true; 1826 bool first = true;
1827 for (size_t i = 0, k = 0; i < MAX_CHAIN; i++) { 1827 for (size_t i = 0, k = 0; i < MAX_CHAIN; i++) {
@@ -1850,16 +1850,16 @@ draw_notif_bar() {
1850 params = &ch1_params; 1850 params = &ch1_params;
1851 } 1851 }
1852 if (input_handler == handle_param_selection_ch1) { 1852 if (input_handler == handle_param_selection_ch1) {
1853 txt_drawf_small("(ALL)", x0 + NOTIF_W - 7 * 3 - 3, y0 + 1, color); 1853 txt_draws_small("(ALL)", x0 + NOTIF_W - 7 * 3 - 3, y0 + 1, color);
1854 } 1854 }
1855 switch (param_selection_loc) { 1855 switch (param_selection_loc) {
1856 case 0: { 1856 case 0: {
1857 txt_drawf_small("SHAPE: ", x0 + 2, y0 + 1, color); 1857 txt_draws_small("SHAPE: ", x0 + 2, y0 + 1, color);
1858 switch (params->duty_cycle) { 1858 switch (params->duty_cycle) {
1859 case 0: { txt_drawf_small("12", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1859 case 0: { txt_draws_small("12", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1860 case 1: { txt_drawf_small("25", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1860 case 1: { txt_draws_small("25", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1861 case 2: { txt_drawf_small("50", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1861 case 2: { txt_draws_small("50", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1862 case 3: { txt_drawf_small("75", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1862 case 3: { txt_draws_small("75", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1863 } 1863 }
1864 txt_drawc_small('%', x0 + 2 + 9 * 4, y0 + 1, color); 1864 txt_drawc_small('%', x0 + 2 + 9 * 4, y0 + 1, color);
1865 } break; 1865 } break;
@@ -1868,36 +1868,36 @@ draw_notif_bar() {
1868 case 3: { draw_notif_param_env_dir(params->env_direction, x0, y0, color); } break; 1868 case 3: { draw_notif_param_env_dir(params->env_direction, x0, y0, color); } break;
1869 case 4: { draw_notif_param_edit_prob(params->prob, x0, y0, color); } break; 1869 case 4: { draw_notif_param_edit_prob(params->prob, x0, y0, color); } break;
1870 case 5: { 1870 case 5: {
1871 txt_drawf_small("SWEEP BITS: ", x0 + 2, y0 + 1, color); 1871 txt_draws_small("SWEEP BITS: ", x0 + 2, y0 + 1, color);
1872 switch (params->sweep_number) { 1872 switch (params->sweep_number) {
1873 case 0: { txt_drawf_small("0", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1873 case 0: { txt_draws_small("0", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1874 case 1: { txt_drawf_small("1", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1874 case 1: { txt_draws_small("1", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1875 case 2: { txt_drawf_small("2", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1875 case 2: { txt_draws_small("2", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1876 case 3: { txt_drawf_small("3", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1876 case 3: { txt_draws_small("3", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1877 case 4: { txt_drawf_small("4", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1877 case 4: { txt_draws_small("4", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1878 case 5: { txt_drawf_small("5", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1878 case 5: { txt_draws_small("5", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1879 case 6: { txt_drawf_small("6", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1879 case 6: { txt_draws_small("6", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1880 case 7: { txt_drawf_small("7", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1880 case 7: { txt_draws_small("7", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1881 } 1881 }
1882 } break; 1882 } break;
1883 case 6: { 1883 case 6: {
1884 txt_drawf_small("SWEEP TIME: ", x0 + 2, y0 + 1, color); 1884 txt_draws_small("SWEEP TIME: ", x0 + 2, y0 + 1, color);
1885 switch (params->sweep_time) { 1885 switch (params->sweep_time) {
1886 case 0: { txt_drawf_small("off", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1886 case 0: { txt_draws_small("off", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1887 case 1: { txt_drawf_small("7ms", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1887 case 1: { txt_draws_small("7ms", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1888 case 2: { txt_drawf_small("15ms", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1888 case 2: { txt_draws_small("15ms", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1889 case 3: { txt_drawf_small("23ms", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1889 case 3: { txt_draws_small("23ms", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1890 case 4: { txt_drawf_small("31ms", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1890 case 4: { txt_draws_small("31ms", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1891 case 5: { txt_drawf_small("39ms", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1891 case 5: { txt_draws_small("39ms", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1892 case 6: { txt_drawf_small("46ms", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1892 case 6: { txt_draws_small("46ms", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1893 case 7: { txt_drawf_small("54ms", x0 + 2 + 12 * 4, y0 + 1, color); } break; 1893 case 7: { txt_draws_small("54ms", x0 + 2 + 12 * 4, y0 + 1, color); } break;
1894 } 1894 }
1895 } break; 1895 } break;
1896 case 7: { 1896 case 7: {
1897 txt_drawf_small("SWEEP DIRECTION: ", x0 + 2, y0 + 1, color); 1897 txt_draws_small("SWEEP DIRECTION: ", x0 + 2, y0 + 1, color);
1898 switch (params->sweep_direction) { 1898 switch (params->sweep_direction) {
1899 case 0: { txt_drawf_small("up", x0 + 2 + 17 * 4, y0 + 1, color); } break; 1899 case 0: { txt_draws_small("up", x0 + 2 + 17 * 4, y0 + 1, color); } break;
1900 case 1: { txt_drawf_small("down", x0 + 2 + 17 * 4, y0 + 1, color); } break; 1900 case 1: { txt_draws_small("down", x0 + 2 + 17 * 4, y0 + 1, color); } break;
1901 } 1901 }
1902 } break; 1902 } break;
1903 case 9: { draw_notif_param_edit_pan(params->pan, x0, y0, color); } break; 1903 case 9: { draw_notif_param_edit_pan(params->pan, x0, y0, color); } break;
@@ -1915,12 +1915,12 @@ draw_notif_bar() {
1915 } 1915 }
1916 switch (param_selection_loc) { 1916 switch (param_selection_loc) {
1917 case 0: { 1917 case 0: {
1918 txt_drawf_small("SHAPE: ", x0 + 2, y0 + 1, color); 1918 txt_draws_small("SHAPE: ", x0 + 2, y0 + 1, color);
1919 switch (params->duty_cycle) { 1919 switch (params->duty_cycle) {
1920 case 0: { txt_drawf_small("12", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1920 case 0: { txt_draws_small("12", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1921 case 1: { txt_drawf_small("25", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1921 case 1: { txt_draws_small("25", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1922 case 2: { txt_drawf_small("50", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1922 case 2: { txt_draws_small("50", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1923 case 3: { txt_drawf_small("75", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1923 case 3: { txt_draws_small("75", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1924 } 1924 }
1925 txt_drawc_small('%', x0 + 2 + 9 * 4, y0 + 1, color); 1925 txt_drawc_small('%', x0 + 2 + 9 * 4, y0 + 1, color);
1926 } break; 1926 } break;
@@ -1943,64 +1943,64 @@ draw_notif_bar() {
1943 } 1943 }
1944 switch (param_selection_loc) { 1944 switch (param_selection_loc) {
1945 case 0: { 1945 case 0: {
1946 txt_drawf_small("SHAPE A: ", x0 + 2, y0 + 1, color); 1946 txt_draws_small("SHAPE A: ", x0 + 2, y0 + 1, color);
1947 switch (params->shape_a) { 1947 switch (params->shape_a) {
1948 case 0: { txt_drawf_small("sin", x0 + 2 + 9 * 4, y0 + 1, color); } break; 1948 case 0: { txt_draws_small("sin", x0 + 2 + 9 * 4, y0 + 1, color); } break;
1949 case 1: { txt_drawf_small("saw", x0 + 2 + 9 * 4, y0 + 1, color); } break; 1949 case 1: { txt_draws_small("saw", x0 + 2 + 9 * 4, y0 + 1, color); } break;
1950 case 2: { txt_drawf_small("square", x0 + 2 + 9 * 4, y0 + 1, color); } break; 1950 case 2: { txt_draws_small("square", x0 + 2 + 9 * 4, y0 + 1, color); } break;
1951 } 1951 }
1952 } break; 1952 } break;
1953 case 1: { 1953 case 1: {
1954 txt_drawf_small("TYPE A: ", x0 + 2, y0 + 1, color); 1954 txt_draws_small("TYPE A: ", x0 + 2, y0 + 1, color);
1955 switch (params->type_a) { 1955 switch (params->type_a) {
1956 case 0: { txt_drawf_small("a", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1956 case 0: { txt_draws_small("a", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1957 case 1: { txt_drawf_small("b", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1957 case 1: { txt_draws_small("b", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1958 case 2: { txt_drawf_small("c", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1958 case 2: { txt_draws_small("c", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1959 case 3: { txt_drawf_small("d", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1959 case 3: { txt_draws_small("d", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1960 case 4: { txt_drawf_small("e", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1960 case 4: { txt_draws_small("e", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1961 case 5: { txt_drawf_small("f", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1961 case 5: { txt_draws_small("f", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1962 case 6: { txt_drawf_small("g", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1962 case 6: { txt_draws_small("g", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1963 case 7: { txt_drawf_small("h", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1963 case 7: { txt_draws_small("h", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1964 } 1964 }
1965 } break; 1965 } break;
1966 case 2: { 1966 case 2: {
1967 txt_drawf_small("SHAPE B: ", x0 + 2, y0 + 1, color); 1967 txt_draws_small("SHAPE B: ", x0 + 2, y0 + 1, color);
1968 switch (params->shape_b) { 1968 switch (params->shape_b) {
1969 case 0: { txt_drawf_small("sin", x0 + 2 + 9 * 4, y0 + 1, color); } break; 1969 case 0: { txt_draws_small("sin", x0 + 2 + 9 * 4, y0 + 1, color); } break;
1970 case 1: { txt_drawf_small("saw", x0 + 2 + 9 * 4, y0 + 1, color); } break; 1970 case 1: { txt_draws_small("saw", x0 + 2 + 9 * 4, y0 + 1, color); } break;
1971 case 2: { txt_drawf_small("square", x0 + 2 + 9 * 4, y0 + 1, color); } break; 1971 case 2: { txt_draws_small("square", x0 + 2 + 9 * 4, y0 + 1, color); } break;
1972 } 1972 }
1973 } break; 1973 } break;
1974 case 3: { 1974 case 3: {
1975 txt_drawf_small("TYPE B: ", x0 + 2, y0 + 1, color); 1975 txt_draws_small("TYPE B: ", x0 + 2, y0 + 1, color);
1976 switch (params->type_b) { 1976 switch (params->type_b) {
1977 case 0: { txt_drawf_small("a", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1977 case 0: { txt_draws_small("a", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1978 case 1: { txt_drawf_small("b", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1978 case 1: { txt_draws_small("b", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1979 case 2: { txt_drawf_small("c", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1979 case 2: { txt_draws_small("c", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1980 case 3: { txt_drawf_small("d", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1980 case 3: { txt_draws_small("d", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1981 case 4: { txt_drawf_small("e", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1981 case 4: { txt_draws_small("e", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1982 case 5: { txt_drawf_small("f", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1982 case 5: { txt_draws_small("f", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1983 case 6: { txt_drawf_small("g", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1983 case 6: { txt_draws_small("g", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1984 case 7: { txt_drawf_small("h", x0 + 2 + 8 * 4, y0 + 1, color); } break; 1984 case 7: { txt_draws_small("h", x0 + 2 + 8 * 4, y0 + 1, color); } break;
1985 } 1985 }
1986 } break; 1986 } break;
1987 case 4: { draw_notif_param_edit_prob(params->prob, x0, y0, color); } break; 1987 case 4: { draw_notif_param_edit_prob(params->prob, x0, y0, color); } break;
1988 case 5: { 1988 case 5: {
1989 txt_drawf_small("VOICE: ", x0 + 2, y0 + 1, color); 1989 txt_draws_small("VOICE: ", x0 + 2, y0 + 1, color);
1990 switch (params->wave_mode) { 1990 switch (params->wave_mode) {
1991 case 0: { txt_drawf_small("A", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1991 case 0: { txt_draws_small("A", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1992 case 1: { txt_drawf_small("B", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1992 case 1: { txt_draws_small("B", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1993 case 2: { txt_drawf_small("A + B", x0 + 2 + 7 * 4, y0 + 1, color); } break; 1993 case 2: { txt_draws_small("A + B", x0 + 2 + 7 * 4, y0 + 1, color); } break;
1994 } 1994 }
1995 } break; 1995 } break;
1996 case 6: { 1996 case 6: {
1997 txt_drawf_small("VOLUME: ", x0 + 2, y0 + 1, color); 1997 txt_draws_small("VOLUME: ", x0 + 2, y0 + 1, color);
1998 switch (params->wave_volume) { 1998 switch (params->wave_volume) {
1999 case 0: { txt_drawf_small("0", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 9 * 4, y0 + 1, color); } break; 1999 case 0: { txt_draws_small("0", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 9 * 4, y0 + 1, color); } break;
2000 case 1: { txt_drawf_small("25", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 10 * 4, y0 + 1, color); } break; 2000 case 1: { txt_draws_small("25", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 10 * 4, y0 + 1, color); } break;
2001 case 2: { txt_drawf_small("50", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 10 * 4, y0 + 1, color); } break; 2001 case 2: { txt_draws_small("50", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 10 * 4, y0 + 1, color); } break;
2002 case 3: { txt_drawf_small("75", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 10 * 4, y0 + 1, color); } break; 2002 case 3: { txt_draws_small("75", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 10 * 4, y0 + 1, color); } break;
2003 case 4: { txt_drawf_small("100", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 11 * 4, y0 + 1, color); } break; 2003 case 4: { txt_draws_small("100", x0 + 2 + 8 * 4, y0 + 1, color); txt_drawc_small('%', x0 + 2 + 11 * 4, y0 + 1, color); } break;
2004 } 2004 }
2005 } break; 2005 } break;
2006 case 7: { 2006 case 7: {
@@ -2032,10 +2032,10 @@ draw_notif_bar() {
2032 } 2032 }
2033 switch (param_selection_loc) { 2033 switch (param_selection_loc) {
2034 case 0: { 2034 case 0: {
2035 txt_drawf_small("MODE: ", x0 + 2, y0 + 1, color); 2035 txt_draws_small("MODE: ", x0 + 2, y0 + 1, color);
2036 switch (params->bit_mode) { 2036 switch (params->bit_mode) {
2037 case 0: { txt_drawf_small("a", x0 + 2 + 6 * 4, y0 + 1, color); } break; 2037 case 0: { txt_draws_small("a", x0 + 2 + 6 * 4, y0 + 1, color); } break;
2038 case 1: { txt_drawf_small("b", x0 + 2 + 6 * 4, y0 + 1, color); } break; 2038 case 1: { txt_draws_small("b", x0 + 2 + 6 * 4, y0 + 1, color); } break;
2039 } 2039 }
2040 } break; 2040 } break;
2041 case 1: { draw_notif_param_env_vol(params->env_volume, x0, y0, color); } break; 2041 case 1: { draw_notif_param_env_vol(params->env_volume, x0, y0, color); } break;
@@ -2050,53 +2050,53 @@ draw_notif_bar() {
2050 if (settings.help == TOGGLE_ON) { 2050 if (settings.help == TOGGLE_ON) {
2051 if (input_handler == handle_trigger_selection) { 2051 if (input_handler == handle_trigger_selection) {
2052 if (key_pressed(KEY_B) && ctrl.key_b > 10) { 2052 if (key_pressed(KEY_B) && ctrl.key_b > 10) {
2053 txt_drawf_small("D-PAD:NUDGE TRIGGER", x0 + 2, y0 + 1, color); 2053 txt_draws_small("D-PAD:NUDGE TRIGGER", x0 + 2, y0 + 1, color);
2054 } else if (key_pressed(KEY_SELECT)) { 2054 } else if (key_pressed(KEY_SELECT)) {
2055 txt_drawf_small("SEL+B:COPY TRIG SEL+A:PASTE TRIG", x0 + 2, y0 + 1, color); 2055 txt_draws_small("SEL+B:COPY TRIG SEL+A:PASTE TRIG", x0 + 2, y0 + 1, color);
2056 } else { 2056 } else {
2057 txt_drawf_small("L/R:NOTE SEL+L/R:OCTAVE A:PARAMS B:TOGGLE", x0 + 2, y0 + 1, color); 2057 txt_draws_small("L/R:NOTE SEL+L/R:OCTAVE A:PARAMS B:TOGGLE", x0 + 2, y0 + 1, color);
2058 } 2058 }
2059 } else if (input_handler == handle_channel_selection) { 2059 } else if (input_handler == handle_channel_selection) {
2060 if (key_pressed(KEY_SELECT)) { 2060 if (key_pressed(KEY_SELECT)) {
2061 txt_drawf_small("SEL+B:COPY CHANNEL SEL+A:PASTE CHANNEL", x0 + 2, y0 + 1, color); 2061 txt_draws_small("SEL+B:COPY CHANNEL SEL+A:PASTE CHANNEL", x0 + 2, y0 + 1, color);
2062 } else { 2062 } else {
2063 txt_drawf_small("L/R:NOTE SEL+L/R:OCTAVE A:PARAMS B:TOGGLE", x0 + 2, y0 + 1, color); 2063 txt_draws_small("L/R:NOTE SEL+L/R:OCTAVE A:PARAMS B:TOGGLE", x0 + 2, y0 + 1, color);
2064 } 2064 }
2065 } else if (input_handler == handle_param_selection_sq1 || 2065 } else if (input_handler == handle_param_selection_sq1 ||
2066 input_handler == handle_param_selection_sq2 || 2066 input_handler == handle_param_selection_sq2 ||
2067 input_handler == handle_param_selection_wave || 2067 input_handler == handle_param_selection_wave ||
2068 input_handler == handle_param_selection_noise) { 2068 input_handler == handle_param_selection_noise) {
2069 txt_drawf_small("L/R:ADJUST SELECT:COPY PARAMETERS", x0 + 2, y0 + 1, color); 2069 txt_draws_small("L/R:ADJUST SELECT:COPY PARAMETERS", x0 + 2, y0 + 1, color);
2070 } else if (input_handler == handle_pattern_selection) { 2070 } else if (input_handler == handle_pattern_selection) {
2071 if (key_pressed(KEY_SELECT)) { 2071 if (key_pressed(KEY_SELECT)) {
2072 txt_drawf_small("SEL+B:COPY PATTERN SEL+A:PASTE PATTERN", x0 + 2, y0 + 1, color); 2072 txt_draws_small("SEL+B:COPY PATTERN SEL+A:PASTE PATTERN", x0 + 2, y0 + 1, color);
2073 } else { 2073 } else {
2074 txt_drawf_small("L/R:CHAIN A:PARAMS B:QUEUE SEL+L+R:CLEAR", x0 + 2, y0 + 1, color); 2074 txt_draws_small("L/R:CHAIN A:PARAMS B:QUEUE SEL+L+R:CLEAR", x0 + 2, y0 + 1, color);
2075 } 2075 }
2076 } else if (input_handler == handle_pattern_chain) { 2076 } else if (input_handler == handle_pattern_chain) {
2077 switch (param_selection_loc) { 2077 switch (param_selection_loc) {
2078 case CHAIN_BTN_ENABLE: { 2078 case CHAIN_BTN_ENABLE: {
2079 txt_drawf_small("A:BACK B:TOGGLE CHAIN", x0 + 2, y0 + 1, color); 2079 txt_draws_small("A:BACK B:TOGGLE CHAIN", x0 + 2, y0 + 1, color);
2080 } break; 2080 } break;
2081 case CHAIN_BTN_CLEAR: { 2081 case CHAIN_BTN_CLEAR: {
2082 txt_drawf_small("A:BACK B:CLEAR CHAIN", x0 + 2, y0 + 1, color); 2082 txt_draws_small("A:BACK B:CLEAR CHAIN", x0 + 2, y0 + 1, color);
2083 } break; 2083 } break;
2084 case CHAIN_BTN_RANDOM: { 2084 case CHAIN_BTN_RANDOM: {
2085 txt_drawf_small("A:BACK B:RANDOMIZE CHAIN", x0 + 2, y0 + 1, color); 2085 txt_draws_small("A:BACK B:RANDOMIZE CHAIN", x0 + 2, y0 + 1, color);
2086 } break; 2086 } break;
2087 default: { 2087 default: {
2088 txt_drawf_small("L/R:CHANGE PATTERN A:BACK B:TOGGLE STEP", x0 + 2, y0 + 1, color); 2088 txt_draws_small("L/R:CHANGE PATTERN A:BACK B:TOGGLE STEP", x0 + 2, y0 + 1, color);
2089 } break; 2089 } break;
2090 } 2090 }
2091 2091
2092 } else if (input_handler == handle_right_col_selection) { 2092 } else if (input_handler == handle_right_col_selection) {
2093 if (right_col_selection_loc == R_COL_STOP) { 2093 if (right_col_selection_loc == R_COL_STOP) {
2094 txt_drawf_small("B:STOP", x0 + 2, y0 + 1, color); 2094 txt_draws_small("B:STOP", x0 + 2, y0 + 1, color);
2095 } else if (right_col_selection_loc == R_COL_PLAY) { 2095 } else if (right_col_selection_loc == R_COL_PLAY) {
2096 if (play_status == 0) { 2096 if (play_status == 0) {
2097 txt_drawf_small("B:PLAY", x0 + 2, y0 + 1, color); 2097 txt_draws_small("B:PLAY", x0 + 2, y0 + 1, color);
2098 } else { 2098 } else {
2099 txt_drawf_small("B:PAUSE", x0 + 2, y0 + 1, color); 2099 txt_draws_small("B:PAUSE", x0 + 2, y0 + 1, color);
2100 } 2100 }
2101 } else if (right_col_selection_loc == R_COL_BPM) { 2101 } else if (right_col_selection_loc == R_COL_BPM) {
2102 if (key_pressed(KEY_SELECT)) { 2102 if (key_pressed(KEY_SELECT)) {
@@ -2108,10 +2108,10 @@ draw_notif_bar() {
2108 } 2108 }
2109 txt_drawf_small("TEMPO: %d bpm", x0 + 2, y0 + 1, color, bpm); 2109 txt_drawf_small("TEMPO: %d bpm", x0 + 2, y0 + 1, color, bpm);
2110 } else { 2110 } else {
2111 txt_drawf_small("L/R:TEMPO (+1) SEL+L/R:TEMPO (+10)", x0 + 2, y0 + 1, color); 2111 txt_draws_small("L/R:TEMPO (+1) SEL+L/R:TEMPO (+10)", x0 + 2, y0 + 1, color);
2112 } 2112 }
2113 } else if (right_col_selection_loc == R_COL_SETTINGS) { 2113 } else if (right_col_selection_loc == R_COL_SETTINGS) {
2114 txt_drawf_small("B:SETTINGS", x0 + 2, y0 + 1, color); 2114 txt_draws_small("B:SETTINGS", x0 + 2, y0 + 1, color);
2115 } else if (right_col_selection_loc == R_COL_SCALE) { 2115 } else if (right_col_selection_loc == R_COL_SCALE) {
2116 if (key_pressed(KEY_SELECT)) { 2116 if (key_pressed(KEY_SELECT)) {
2117 const char *roots[12] = { 2117 const char *roots[12] = {
@@ -2121,7 +2121,7 @@ draw_notif_bar() {
2121 txt_drawf_small("ROOT: %s SCALE: %s", x0 + 2, y0 + 1, color, 2121 txt_drawf_small("ROOT: %s SCALE: %s", x0 + 2, y0 + 1, color,
2122 roots[current_scale_root], scale_long[current_scale]); 2122 roots[current_scale_root], scale_long[current_scale]);
2123 } else { 2123 } else {
2124 txt_drawf_small("L/R:SCALE SEL+L/R:ROOT NOTE", x0 + 2, y0 + 1, color); 2124 txt_draws_small("L/R:SCALE SEL+L/R:ROOT NOTE", x0 + 2, y0 + 1, color);
2125 } 2125 }
2126 } else if (right_col_selection_loc == R_COL_BANK_A || 2126 } else if (right_col_selection_loc == R_COL_BANK_A ||
2127 right_col_selection_loc == R_COL_BANK_B || 2127 right_col_selection_loc == R_COL_BANK_B ||
@@ -2130,9 +2130,9 @@ draw_notif_bar() {
2130 right_col_selection_loc == R_COL_BANK_E || 2130 right_col_selection_loc == R_COL_BANK_E ||
2131 right_col_selection_loc == R_COL_BANK_F) { 2131 right_col_selection_loc == R_COL_BANK_F) {
2132 if (settings.auto_save) { 2132 if (settings.auto_save) {
2133 txt_drawf_small("B:SAVE CURRENT BANK AND SWITCH", x0 + 2, y0 + 1, color); 2133 txt_draws_small("B:SAVE CURRENT BANK AND SWITCH", x0 + 2, y0 + 1, color);
2134 } else { 2134 } else {
2135 txt_drawf_small("B:SWITCH BANK", x0 + 2, y0 + 1, color); 2135 txt_draws_small("B:SWITCH BANK", x0 + 2, y0 + 1, color);
2136 } 2136 }
2137 } 2137 }
2138 } 2138 }
@@ -2140,24 +2140,24 @@ draw_notif_bar() {
2140 } 2140 }
2141 if (input_handler == handle_right_col_selection) { 2141 if (input_handler == handle_right_col_selection) {
2142 switch (right_col_selection_loc) { 2142 switch (right_col_selection_loc) {
2143 case R_COL_BANK_A: { txt_drawf_small("BANK A", x0 + 2, y0 + 1, color); } break; 2143 case R_COL_BANK_A: { txt_draws_small("BANK A", x0 + 2, y0 + 1, color); } break;
2144 case R_COL_BANK_B: { txt_drawf_small("BANK B", x0 + 2, y0 + 1, color); } break; 2144 case R_COL_BANK_B: { txt_draws_small("BANK B", x0 + 2, y0 + 1, color); } break;
2145 case R_COL_BANK_C: { txt_drawf_small("BANK C", x0 + 2, y0 + 1, color); } break; 2145 case R_COL_BANK_C: { txt_draws_small("BANK C", x0 + 2, y0 + 1, color); } break;
2146 case R_COL_BANK_D: { txt_drawf_small("BANK D", x0 + 2, y0 + 1, color); } break; 2146 case R_COL_BANK_D: { txt_draws_small("BANK D", x0 + 2, y0 + 1, color); } break;
2147 case R_COL_BANK_E: { txt_drawf_small("BANK E", x0 + 2, y0 + 1, color); } break; 2147 case R_COL_BANK_E: { txt_draws_small("BANK E", x0 + 2, y0 + 1, color); } break;
2148 case R_COL_BANK_F: { txt_drawf_small("BANK F", x0 + 2, y0 + 1, color); } break; 2148 case R_COL_BANK_F: { txt_draws_small("BANK F", x0 + 2, y0 + 1, color); } break;
2149 case R_COL_STOP: { 2149 case R_COL_STOP: {
2150 txt_drawf_small("STOP", x0 + 2, y0 + 1, color); 2150 txt_draws_small("STOP", x0 + 2, y0 + 1, color);
2151 } break; 2151 } break;
2152 case R_COL_PLAY: { 2152 case R_COL_PLAY: {
2153 if (play_status == 0) { 2153 if (play_status == 0) {
2154 txt_drawf_small("PLAY", x0 + 2, y0 + 1, color); 2154 txt_draws_small("PLAY", x0 + 2, y0 + 1, color);
2155 } else { 2155 } else {
2156 txt_drawf_small("PAUSE", x0 + 2, y0 + 1, color); 2156 txt_draws_small("PAUSE", x0 + 2, y0 + 1, color);
2157 } 2157 }
2158 } break; 2158 } break;
2159 case R_COL_SETTINGS: { 2159 case R_COL_SETTINGS: {
2160 txt_drawf_small("SETTINGS", x0 + 2, y0 + 1, color); 2160 txt_draws_small("SETTINGS", x0 + 2, y0 + 1, color);
2161 } break; 2161 } break;
2162 case R_COL_SCALE: { 2162 case R_COL_SCALE: {
2163 const char *roots[12] = { 2163 const char *roots[12] = {
@@ -2181,9 +2181,9 @@ draw_notif_bar() {
2181 } 2181 }
2182 2182
2183 if (play_status == 0) { 2183 if (play_status == 0) {
2184 txt_drawf_small("STOPPED", x0 + 2, y0 + 1, color); 2184 txt_draws_small("STOPPED", x0 + 2, y0 + 1, color);
2185 } else { 2185 } else {
2186 txt_drawf_small("PLAYING", x0 + 2, y0 + 1, color); 2186 txt_draws_small("PLAYING", x0 + 2, y0 + 1, color);
2187 } 2187 }
2188 } 2188 }
2189} 2189}
@@ -2223,14 +2223,14 @@ draw_pattern_chain() {
2223 size_t x1 = x0 + 30; 2223 size_t x1 = x0 + 30;
2224 size_t y0 = PAT_TRIG_START_Y - 16 + 1; 2224 size_t y0 = PAT_TRIG_START_Y - 16 + 1;
2225 size_t y1 = y0 + 8; 2225 size_t y1 = y0 + 8;
2226 txt_drawf_small("toggle", x0 + 2, y0, COL_FG); 2226 txt_draws_small("toggle", x0 + 2, y0, COL_FG);
2227 draw_rect(x0, y0, x1, y1, COL_FG); 2227 draw_rect(x0, y0, x1, y1, COL_FG);
2228 x0 += 42; 2228 x0 += 42;
2229 x1 += 42; 2229 x1 += 42;
2230 txt_drawf_small("clear", x0 + 4, y0, COL_FG); 2230 txt_draws_small("clear", x0 + 4, y0, COL_FG);
2231 draw_rect(x0, y0, x1, y1, COL_FG); 2231 draw_rect(x0, y0, x1, y1, COL_FG);
2232 x0 += 42; 2232 x0 += 42;
2233 x1 += 42; 2233 x1 += 42;
2234 txt_drawf_small("random", x0 + 2, y0, COL_FG); 2234 txt_draws_small("random", x0 + 2, y0, COL_FG);
2235 draw_rect(x0, y0, x1, y1, COL_FG); 2235 draw_rect(x0, y0, x1, y1, COL_FG);
2236} 2236}