b = (meas >> 8 & 0x0f) + (beat + 1 << 4); 
b = ((meas >> 8) & 0x0f) + ((beat + 1) << 4); 
static void insert_note_steps(void){	MidiEventList *e;	int32 i, n, at, lasttime, meas, beat;	uint8 num, denom, a, b;		e = evlist;	for (i = n = 0; i < event_count - 1 && n < 256 - 1; i++, e = e->next)		if (e->event.type == ME_TIMESIG && e->event.channel == 0) {			if (n == 0 && e->event.time > 0) {	/* 4/4 is default */				SETMIDIEVENT(timesig[n], 0, ME_TIMESIG, 0, 4, 4);				n++;			}			if (n > 0 && e->event.a == timesig[n - 1].a					&& e->event.b == timesig[n - 1].b)				continue;	/* unchanged */			if (n > 0 && e->event.time == timesig[n - 1].time)				n--;	/* overwrite previous timesig */			timesig[n++] = e->event;		}	if (n == 0) {		SETMIDIEVENT(timesig[n], 0, ME_TIMESIG, 0, 4, 4);		n++;	}	timesig[n] = timesig[n - 1];	timesig[n].time = 0x7fffffff;	/* stopper */	lasttime = e->event.time;	readmidi_set_track(0, 1);	at = n = meas = beat = 0;	while (at < lasttime && ! readmidi_error_flag) {		if (at >= timesig[n].time) {			if (beat != 0)				meas++, beat = 0;			num = timesig[n].a, denom = timesig[n].b, n++;		}		a = meas & 0xff;		b = (meas >> 8 & 0x0f) + (beat + 1 << 4);		MIDIEVENT(at, ME_NOTE_STEP, 0, a, b);		if (++beat == num)			meas++, beat = 0;		at += current_file_info->divisions * 4 / denom;	}}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/64c3a98e5ef08ab323c2ea983ca497f2df9f9db2/readmidi.c/clean/timidity/readmidi.c