static int init_with_config(const char *cf) { int rc; rc = init_begin_config(cf); if (rc != 0) { mid_exit (); return rc; } rc = read_config_file(cf, 0); if (rc != 0) mid_exit (); else { timi_free(rcf_fp); rcf_fp = NULL; } return rc; }
static int init_alloc_banks (void) { /* Allocate memory for the standard tonebank and drumset */ master_tonebank[0] = (MidToneBank *) timi_calloc(sizeof(MidToneBank)); if (!master_tonebank[0]) goto _nomem; master_tonebank[0]->tone = (MidToneBankElement *) timi_calloc(128 * sizeof(MidToneBankElement)); if (!master_tonebank[0]->tone) goto _nomem; master_drumset[0] = (MidToneBank *) timi_calloc(sizeof(MidToneBank)); if (!master_drumset[0]) goto _nomem; master_drumset[0]->tone = (MidToneBankElement *) timi_calloc(128 * sizeof(MidToneBankElement)); if (!master_drumset[0]->tone) goto _nomem; return 0; _nomem: DEBUG_MSG("Out of memory\n"); mid_exit (); return -2; }
void MusicDriver_LibTimidity::Stop() { if (_midi.status == MIDI_PLAYING) this->StopSong(); mid_exit(); }