ToneBankElement *elm; 
Instrument *play_midi_load_instrument(int dr, int bk, int prog){	ToneBank **bank = (dr) ? drumset : tonebank;	Instrument *ip;	ToneBankElement *elm;	int load_success = 0;		if (bank[bk] == NULL)		bk = 0;	if ((ip = bank[bk]->tone[prog].instrument) == MAGIC_LOAD_INSTRUMENT) {		if (ip = bank[bk]->tone[prog].instrument =				load_instrument(dr, bk, prog))			load_success = 1;#ifndef SUPPRESS_CHANNEL_LAYER	} else if (ip == NULL) {		if (ip = bank[bk]->tone[prog].instrument =				load_instrument(dr, bk, prog))			load_success = 1;#endif	}	if (ip == NULL && bk) {		/* Instrument is not found.		 * Retry to load the instrument from bank 0		 */		if ((ip = bank[0]->tone[prog].instrument) == NULL				|| ip == MAGIC_LOAD_INSTRUMENT)			ip = bank[0]->tone[prog].instrument =					load_instrument(dr, 0, prog);		if (ip) {			/* duplicate tone bank parameter */			elm = &bank[bk]->tone[prog];			copy_tone_bank_element(elm, &bank[0]->tone[prog]);			elm->instrument = ip;			load_success = 1;		}	}	if (load_success)		aq_add(NULL, 0);	/* Update software buffer */	if (ip == MAGIC_ERROR_INSTRUMENT)		return NULL;	if (ip == NULL)		bank[bk]->tone[prog].instrument = MAGIC_ERROR_INSTRUMENT;	return ip;}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/0bc0ced38dc0791052ac10d9aa7dd16f1c0c4797/playmidi.c/clean/timidity/playmidi.c