diff options
Diffstat (limited to 'curses')
-rw-r--r-- | curses/.gitignore | 11 | ||||
-rw-r--r-- | curses/main.c | 59 |
2 files changed, 32 insertions, 38 deletions
diff --git a/curses/.gitignore b/curses/.gitignore index bab26a8..ebac467 100644 --- a/curses/.gitignore +++ b/curses/.gitignore @@ -1,12 +1 @@ -Makefile.in -aclocal.m4 -autom4te.cache -compile -configure -depcomp -install-sh -missing -Makefile -config.log -config.status fmpc diff --git a/curses/main.c b/curses/main.c index bfcaa51..cbde86a 100644 --- a/curses/main.c +++ b/curses/main.c @@ -265,7 +265,7 @@ static bool readrom(struct opna *opna) { const char *home = getenv("HOME"); char *dpath = 0; if (home) { - const char *datadir = "/.local/share/libopna/"; + const char *datadir = "/.local/share/fmplayer/"; dpath = malloc(strlen(home)+strlen(datadir)+strlen(path) + 1); if (dpath) { strcpy(dpath, home); @@ -443,10 +443,11 @@ int main(int argc, char **argv) { work.opna_writereg = opna_writereg_libopna; work.opna_status = opna_status_libopna; work.opna = &timer; - if (!fmp_init(&work, &fmp, g_data, filelen)) { + if (!fmp_load(&fmp, g_data, filelen)) { fprintf(stderr, "not fmp\n"); return 1; } + fmp_init(&work, &fmp); bool pvi_loaded = loadpvi(&work, &fmp, argv[1]); bool ppz_loaded = loadppzpvi(&work, &fmp, argv[1]); @@ -465,18 +466,41 @@ int main(int argc, char **argv) { } SDL_PauseAudioDevice(ad, 0); - setlocale(LC_CTYPE, ""); + + initscr(); + cbreak(); + noecho(); + clear(); + refresh(); + + timeout(20); + + static const char pdzf_mode_str[3][9] = { + "OFF", "STANDARD", "ENHANCED" + }; + mvprintw(0, 0, "PART PTR TONE LEN VOL NOTE DET FREQ PQRAWE"); + mvprintw(14, 61, "PPZ8"); + mvprintw(16, 0, "FM RHYTHM SSG ADPCM"); + mvprintw(17, 0, "TL ENV TL PTR LV LV"); + mvprintw(21, 48, "NZ"); + mvprintw(24, 0, "PPZ: %c%8s PVI: %c%8s PDZF: %s", + ppz_loaded ? ' ' : '!', + fmp.ppz_name, + pvi_loaded ? ' ' : '!', + fmp.pvi_name, + pdzf_mode_str[fmp.pdzf.mode] + ); + enum { - //TBUFLEN = 80*3*2, - TBUFLEN = 0x10000 + TBUFLEN = 80*2*2 }; char titlebuf[TBUFLEN+1] = {0}; - if (work.title) { + for (int l = 0; l < 3; l++) { iconv_t cd = iconv_open("//IGNORE", "CP932"); if (cd != (iconv_t)-1) { char titlebufcrlf[TBUFLEN+1] = {0}; - const char *in = work.title; + const char *in = work.comment[l]; size_t inleft = strlen(in)+1; char *out = titlebufcrlf; size_t outleft = TBUFLEN; @@ -495,28 +519,9 @@ int main(int argc, char **argv) { if (!titlebufcrlf[i]) break; } } + mvprintw(25+l, 0, "%s", titlebuf); } - initscr(); - cbreak(); - noecho(); - clear(); - refresh(); - - timeout(20); - - mvprintw(0, 0, "PART PTR TONE LEN VOL NOTE DET FREQ PQRAWE"); - mvprintw(14, 61, "PPZ8"); - mvprintw(16, 0, "FM RHYTHM SSG ADPCM"); - mvprintw(17, 0, "TL ENV TL PTR LV LV"); - mvprintw(21, 48, "NZ"); - mvprintw(24, 0, "PPZ: %c%8s PVI: %c%8s", - ppz_loaded ? ' ' : '!', - fmp.ppz_name, - pvi_loaded ? ' ' : '!', - fmp.pvi_name); - mvprintw(25, 0, "%s", titlebuf); - int cont = 1; int pause = 0; while (cont) { |