|
|
| version 1.7, 2005/03/29 06:50:38 | version 1.8, 2006/12/10 11:14:31 |
|---|---|
| Line 3 | Line 3 |
| #include "dosio.h" | #include "dosio.h" |
| #include "textfile.h" | #include "textfile.h" |
| #include "midiout.h" | #include "midiout.h" |
| #if defined(SUPPORT_ARC) | |
| #include "arc.h" | |
| #endif | |
| #define CFG_MAXAMP 400 | #define CFG_MAXAMP 400 |
| Line 36 static const OEMCHAR str_env[] = OEMTEXT | Line 39 static const OEMCHAR str_env[] = OEMTEXT |
| static const OEMCHAR str_loop[] = OEMTEXT("loop"); | static const OEMCHAR str_loop[] = OEMTEXT("loop"); |
| static const OEMCHAR str_tail[] = OEMTEXT("tail"); | static const OEMCHAR str_tail[] = OEMTEXT("tail"); |
| static const OEMCHAR file_timiditycfg[] = OEMTEXT("timidity.cfg"); | static const OEMCHAR file_timiditycfg[] = OEMTEXT("timidity.cfg"); |
| static const OEMCHAR str_basedir[] = OEMTEXT("${basedir}"); | |
| static void pathadd(MIDIMOD mod, const OEMCHAR *path) { | static void pathadd(MIDIMOD mod, const OEMCHAR *path) { |
| Line 49 static void pathadd(MIDIMOD mod, const O | Line 53 static void pathadd(MIDIMOD mod, const O |
| // separator change! | // separator change! |
| file_catname(pl.path, path, NELEMENTS(pl.path)); | file_catname(pl.path, path, NELEMENTS(pl.path)); |
| if (path[0]) { | if (path[0]) { |
| file_setseparator(pl.path, NELEMENTS(pl.path)); | #if defined(SUPPORT_ARC) |
| if (milstr_chr(pl.path, '#') == NULL) | |
| #endif | |
| file_setseparator(pl.path, NELEMENTS(pl.path)); | |
| } | } |
| } | } |
| Line 71 static void pathaddex(MIDIMOD mod, const | Line 78 static void pathaddex(MIDIMOD mod, const |
| OEMCHAR _path[MAX_PATH]; | OEMCHAR _path[MAX_PATH]; |
| if (milstr_memcmp(path, OEMTEXT("${basedir}"))) { | if (milstr_memcmp(path, str_basedir)) { |
| pathadd(mod, path); | pathadd(mod, path); |
| } | } |
| else { | else { |
| Line 339 BRESULT cfgfile_getfile(MIDIMOD mod, con | Line 346 BRESULT cfgfile_getfile(MIDIMOD mod, con |
| while(p) { | while(p) { |
| file_cpyname(path, p->path, size); | file_cpyname(path, p->path, size); |
| file_catname(path, filename, size); | file_catname(path, filename, size); |
| #if defined(SUPPORT_ARC) | |
| attr = arcex_attr(path); | |
| #else | |
| attr = file_attr(path); | attr = file_attr(path); |
| #endif | |
| if (attr != -1) { | if (attr != -1) { |
| return(SUCCESS); | return(SUCCESS); |
| } | } |
| Line 429 cfl_err: | Line 440 cfl_err: |
| // ---- | // ---- |
| MIDIMOD midimod_create(UINT samprate) { | VEXTERN MIDIMOD VEXPORT midimod_create(UINT samprate) { |
| UINT size; | UINT size; |
| MIDIMOD ret; | MIDIMOD ret; |
| Line 472 mmcre_err1: | Line 483 mmcre_err1: |
| return(NULL); | return(NULL); |
| } | } |
| void midimod_destroy(MIDIMOD hdl) { | VEXTERN void VEXPORT midimod_destroy(MIDIMOD hdl) { |
| UINT r; | UINT r; |
| TONECFG bank; | TONECFG bank; |
| Line 495 void midimod_destroy(MIDIMOD hdl) { | Line 506 void midimod_destroy(MIDIMOD hdl) { |
| } | } |
| } | } |
| void midimod_loadprogram(MIDIMOD hdl, UINT num) { | VEXTERN void VEXPORT midimod_loadprogram(MIDIMOD hdl, UINT num) { |
| UINT bank; | UINT bank; |
| Line 508 void midimod_loadprogram(MIDIMOD hdl, UI | Line 519 void midimod_loadprogram(MIDIMOD hdl, UI |
| } | } |
| } | } |
| void midimod_loadrhythm(MIDIMOD hdl, UINT num) { | VEXTERN void VEXPORT midimod_loadrhythm(MIDIMOD hdl, UINT num) { |
| UINT bank; | UINT bank; |
| Line 521 void midimod_loadrhythm(MIDIMOD hdl, UIN | Line 532 void midimod_loadrhythm(MIDIMOD hdl, UIN |
| } | } |
| } | } |
| void midimod_loadgm(MIDIMOD hdl) { | VEXTERN void VEXPORT midimod_loadgm(MIDIMOD hdl) { |
| if (hdl) { | if (hdl) { |
| inst_bankload(hdl, 0); | inst_bankload(hdl, 0); |
| Line 529 void midimod_loadgm(MIDIMOD hdl) { | Line 540 void midimod_loadgm(MIDIMOD hdl) { |
| } | } |
| } | } |
| void midimod_loadall(MIDIMOD hdl) { | VEXTERN void VEXPORT midimod_loadall(MIDIMOD hdl) { |
| UINT b; | UINT b; |
| Line 540 void midimod_loadall(MIDIMOD hdl) { | Line 551 void midimod_loadall(MIDIMOD hdl) { |
| } | } |
| } | } |
| VEXTERN void VEXPORT midimod_loadallex(MIDIMOD hdl, FNMIDIOUTLAEXCB cb, void *userdata) { | |
| MIDIOUTLAEXPARAM param; | |
| UINT b; | |
| if (hdl) { | |
| ZeroMemory(¶m, sizeof(param)); | |
| param.userdata = userdata; | |
| for (b=0; b<(MIDI_BANKS*2); b++) { | |
| param.totaltones += inst_gettones(hdl, b); | |
| } | |
| for (b=0; b<(MIDI_BANKS*2); b++) { | |
| param.bank = b; | |
| inst_bankloadex(hdl, b, cb, ¶m); | |
| } | |
| } | |
| } | |