|
|
| version 1.2, 2003/10/18 01:21:58 | version 1.4, 2003/12/08 00:55:34 |
|---|---|
| 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); | |
| } | |
| } | |
| } | |