diff options
Diffstat (limited to 'fmdsp')
| -rw-r--r-- | fmdsp/fmdsp.c | 19 | 
1 files changed, 11 insertions, 8 deletions
| diff --git a/fmdsp/fmdsp.c b/fmdsp/fmdsp.c index 6c880b7..abf60a0 100644 --- a/fmdsp/fmdsp.c +++ b/fmdsp/fmdsp.c @@ -452,7 +452,7 @@ static void fmdsp_track_without_key(  ) {    const char *track_info1 = "    ";    char track_info2[5] = "    "; -  if (track->playing) { +  if (track->playing || track->info == FMDRIVER_TRACK_INFO_SSGEFF) {      switch (track->info) {      case FMDRIVER_TRACK_INFO_PPZ8:        snprintf(track_info2, sizeof(track_info2), "PPZ8"); @@ -460,11 +460,14 @@ static void fmdsp_track_without_key(      case FMDRIVER_TRACK_INFO_PDZF:        snprintf(track_info2, sizeof(track_info2), "PDZF");        break; -    case FMDRIVER_TRACK_INFO_SSG_NOISE_ONLY: -      snprintf(track_info2, sizeof(track_info2), "N%02X ", work->ssg_noise_freq); -      break; -    case FMDRIVER_TRACK_INFO_SSG_NOISE_MIX: -      snprintf(track_info2, sizeof(track_info2), "M%02X ", work->ssg_noise_freq); +    case FMDRIVER_TRACK_INFO_SSGEFF: +      track_info1 = "EFF "; +    case FMDRIVER_TRACK_INFO_SSG: +      if (track->ssg_noise) { +        snprintf(track_info2, sizeof(track_info2), "%c%02X ", +                 track->ssg_tone ? 'M' : 'N', +                 work->ssg_noise_freq); +      }        break;      case FMDRIVER_TRACK_INFO_FM3EX:        track_info1 = "EX  "; @@ -564,7 +567,7 @@ static void fmdsp_update_10(struct fmdsp *fmdsp,      for (int i = 0; i < KEY_OCTAVES; i++) {        vramblit(vram, KEY_X+KEY_W*i, TRACK_H*it+KEY_Y,                  s_key_bg, KEY_W, KEY_H); -      if (track->playing) { +      if (track->playing || track->info == FMDRIVER_TRACK_INFO_SSGEFF) {          if (track->actual_key >> 4 == i) {            vramblit_key(vram, KEY_X+KEY_W*i, TRACK_H*it+KEY_Y,                        s_key_mask, KEY_W, KEY_H, @@ -618,7 +621,7 @@ static void fmdsp_update_13(struct fmdsp *fmdsp,      for (int i = 0; i < KEY_OCTAVES; i++) {        vramblit(vram, KEY_X+KEY_W*i, TRACK_H_S*it+KEY_Y,                  s_key_bg + KEY_S_OFFSET, KEY_W, KEY_H_S); -      if (track->playing) { +      if (track->playing || track->info == FMDRIVER_TRACK_INFO_SSGEFF) {          if (track->actual_key >> 4 == i) {            vramblit_key(vram, KEY_X+KEY_W*i, TRACK_H_S*it+KEY_Y,                        s_key_mask + KEY_S_OFFSET, KEY_W, KEY_H_S, | 
