|
|
| version 1.1.1.1, 2003/10/16 17:58:10 | version 1.5, 2005/02/07 14:46:13 |
|---|---|
| Line 71 static int cfggetarg(char *str, char *ar | Line 71 static int cfggetarg(char *str, char *ar |
| int ret; | int ret; |
| BOOL quot; | BOOL quot; |
| char *p; | char *p; |
| BYTE c; | UINT8 c; |
| ret = 0; | ret = 0; |
| while(maxarg--) { | while(maxarg--) { |
| Line 193 static void settone(MIDIMOD mod, int ban | Line 193 static void settone(MIDIMOD mod, int ban |
| int i; | int i; |
| char *key; | char *key; |
| char *data; | char *data; |
| BYTE flag; | UINT8 flag; |
| if ((bank < 0) || (bank >= (MIDI_BANKS * 2)) || (argc < 2) || | if ((bank < 0) || (bank >= (MIDI_BANKS * 2)) || (argc < 2) || |
| (cfggetval(argv[0], &val) != SUCCESS) || (val < 0) || (val >= 128)) { | (cfggetval(argv[0], &val) != SUCCESS) || (val < 0) || (val >= 128)) { |
| Line 227 static void settone(MIDIMOD mod, int ban | Line 227 static void settone(MIDIMOD mod, int ban |
| } | } |
| else { // for drums | else { // for drums |
| flag |= TONECFG_NOLOOP | TONECFG_NOENV; | flag |= TONECFG_NOLOOP | TONECFG_NOENV; |
| tone->note = (BYTE)val; | tone->note = (UINT8)val; |
| } | } |
| for (i=2; i<argc; i++) { | for (i=2; i<argc; i++) { |
| Line 260 static void settone(MIDIMOD mod, int ban | Line 260 static void settone(MIDIMOD mod, int ban |
| else if (!milstr_cmp(key, str_note)) { | else if (!milstr_cmp(key, str_note)) { |
| if ((cfggetval(data, &val) == SUCCESS) && | if ((cfggetval(data, &val) == SUCCESS) && |
| (val >= 0) && (val < 128)) { | (val >= 0) && (val < 128)) { |
| tone->note = (BYTE)val; | tone->note = (UINT8)val; |
| } | } |
| } | } |
| else if (!milstr_cmp(key, str_pan)) { | else if (!milstr_cmp(key, str_pan)) { |
| Line 288 static void settone(MIDIMOD mod, int ban | Line 288 static void settone(MIDIMOD mod, int ban |
| else { | else { |
| continue; | continue; |
| } | } |
| tone->pan = (BYTE)val; | tone->pan = (UINT8)val; |
| } | } |
| else if (!milstr_cmp(key, str_strip)) { | else if (!milstr_cmp(key, str_strip)) { |
| if (!milstr_cmp(data, str_env)) { | if (!milstr_cmp(data, str_env)) { |
| Line 321 BOOL cfgfile_getfile(MIDIMOD mod, const | Line 321 BOOL cfgfile_getfile(MIDIMOD mod, const |
| } | } |
| p = mod->pathlist; | p = mod->pathlist; |
| while(p) { | while(p) { |
| milstr_ncpy(path, p->path, size); | file_cpyname(path, p->path, size); |
| milstr_ncat(path, filename, size); | file_catname(path, filename, size); |
| attr = file_attr(path); | attr = file_attr(path); |
| if (attr != -1) { | if (attr != -1) { |
| return(SUCCESS); | return(SUCCESS); |
| Line 357 BOOL cfgfile_load(MIDIMOD mod, const cha | Line 357 BOOL cfgfile_load(MIDIMOD mod, const cha |
| goto cfl_err; | goto cfl_err; |
| } | } |
| while(textfile_read(tfh, buf, sizeof(buf)) == SUCCESS) { | while(textfile_read(tfh, buf, sizeof(buf)) == SUCCESS) { |
| argc = cfggetarg(buf, argv, sizeof(argv)/sizeof(char *)); | argc = cfggetarg(buf, argv, NELEMENTS(argv)); |
| if (argc < 2) { | if (argc < 2) { |
| continue; | continue; |
| } | } |
| cfg = 0; | cfg = 0; |
| while(cfg < (sizeof(cfgstr)/sizeof(char *))) { | while(cfg < NELEMENTS(cfgstr)) { |
| if (!milstr_cmp(argv[0], cfgstr[cfg])) { | if (!milstr_cmp(argv[0], cfgstr[cfg])) { |
| break; | break; |
| } | } |
| Line 423 MIDIMOD midimod_create(UINT samprate) { | Line 423 MIDIMOD midimod_create(UINT samprate) { |
| size += sizeof(INSTRUMENT) * 128 * 2; | size += sizeof(INSTRUMENT) * 128 * 2; |
| size += sizeof(_TONECFG) * 128 * 2; | size += sizeof(_TONECFG) * 128 * 2; |
| ret = (MIDIMOD)_MALLOC(size, "MIDIMOD"); | ret = (MIDIMOD)_MALLOC(size, "MIDIMOD"); |
| if (ret) { | if (ret == NULL) { |
| ZeroMemory(ret, size); | goto mmcre_err1; |
| ret->samprate = samprate; | } |
| ret->tone[0] = (INSTRUMENT *)(ret + 1); | ZeroMemory(ret, size); |
| ret->tone[1] = ret->tone[0] + 128; | ret->samprate = samprate; |
| ret->tonecfg[0] = (TONECFG)(ret->tone[1] + 128); | ret->tone[0] = (INSTRUMENT *)(ret + 1); |
| ret->tonecfg[1] = ret->tonecfg[0] + 128; | ret->tone[1] = ret->tone[0] + 128; |
| ret->pathtbl = listarray_new(sizeof(_PATHLIST), 64); | ret->tonecfg[0] = (TONECFG)(ret->tone[1] + 128); |
| pathadd(ret, NULL); | ret->tonecfg[1] = ret->tonecfg[0] + 128; |
| pathadd(ret, file_getcd(str_null)); | ret->pathtbl = listarray_new(sizeof(_PATHLIST), 64); |
| ret->namelist = listarray_new(MAX_NAME, 128); | pathadd(ret, NULL); |
| r = cfgfile_load(ret, file_timiditycfg, 0); | pathadd(ret, file_getcd(str_null)); |
| ret->namelist = listarray_new(MAX_NAME, 128); | |
| r = cfgfile_load(ret, file_timiditycfg, 0); | |
| #if defined(TIMIDITY_CFGFILE) | #if defined(TIMIDITY_CFGFILE) |
| if (r != SUCCESS) { | if (r != SUCCESS) { |
| r = cfgfile_load(ret, TIMIDITY_CFGFILE, 0); | r = cfgfile_load(ret, TIMIDITY_CFGFILE, 0); |
| } | } |
| #endif | #endif |
| if (r != SUCCESS) { | |
| goto mmcre_err2; | |
| } | } |
| return(ret); | return(ret); |
| mmcre_err2: | |
| listarray_destroy(ret->namelist); | |
| listarray_destroy(ret->pathtbl); | |
| _MFREE(ret); | |
| mmcre_err1: | |
| return(NULL); | |
| } | } |
| void midimod_destroy(MIDIMOD hdl) { | void midimod_destroy(MIDIMOD hdl) { |
| Line 493 void midimod_loadrhythm(MIDIMOD hdl, UIN | Line 505 void midimod_loadrhythm(MIDIMOD hdl, UIN |
| } | } |
| } | } |
| void midimod_loadgm(MIDIMOD hdl) { | |
| if (hdl) { | |
| inst_bankload(hdl, 0); | |
| inst_bankload(hdl, 1); | |
| } | |
| } | |
| void midimod_loadall(MIDIMOD hdl) { | |
| UINT b; | |
| if (hdl) { | |
| for (b=0; b<(MIDI_BANKS*2); b++) { | |
| inst_bankload(hdl, b); | |
| } | |
| } | |
| } | |