rem: PRINT(("multi->control_count %u\n", multi->control_count));
add: PRINT(("multi->control_count %lu\n", multi->control_count));
context: emuxki_create_controls_list(multi_dev *multi){	uint32 	i = 0, index = 0, count, id, parent, parent2, parent3;	emuxki_dev *card = (emuxki_dev*)multi->card;	const ac97_source_info *info;				parent = emuxki_create_group_control(multi, &index, 0, 0, "Playback");			for(i=EMU_GPR_FIRST_MIX; i<card->gpr_count; i++) {		const emuxki_gpr *gpr = &card->gpr[i];		if((gpr->type & EMU_MIX_PLAYBACK) == 0)			continue;				parent2 = emuxki_create_group_control(multi, &index, parent, 0, gpr->name);						emuxki_create_gpr_control(multi, &index, parent2, 0, gpr);		if(gpr->type & EMU_MIX_GAIN && gpr->type & EMU_MIX_STEREO)			i++;	}		parent = emuxki_create_group_control(multi, &index, 0, 0, "Record");			for(i=EMU_GPR_FIRST_MIX; i<card->gpr_count; i++) {		const emuxki_gpr *gpr = &card->gpr[i];		if((gpr->type & EMU_MIX_RECORD) == 0)			continue;		parent2 = emuxki_create_group_control(multi, &index, parent, 0, gpr->name);				emuxki_create_gpr_control(multi, &index, parent2, 0, gpr);		if(gpr->type & EMU_MIX_GAIN && gpr->type & EMU_MIX_STEREO)			i++;	}		/* AC97 Record */	info = &source_info[0];	PRINT(("name : %s\n", info->name));		parent2 = emuxki_create_group_control(multi, &index, parent, 0, info->name);			if(info->type & B_MIX_GAIN) {		if(info->type & B_MIX_MUTE) {			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_ENABLE;			multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;			multi->controls[index].mix_control.parent = parent2;			multi->controls[index].mix_control.string = S_MUTE;			multi->controls[index].cookie = info;			multi->controls[index].type = B_MIX_MUTE;			multi->controls[index].get = &emuxki_ac97_get_mix;			multi->controls[index].set = &emuxki_ac97_set_mix;			index++;		}			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;		multi->controls[index].mix_control.flags = B_MULTI_MIX_GAIN;		multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;		multi->controls[index].mix_control.parent = parent2;		strcpy(multi->controls[index].mix_control.name, info->name);		multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;		multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;		multi->controls[index].mix_control.u.gain.granularity = info->granularity;		multi->controls[index].cookie = info;		multi->controls[index].type = B_MIX_GAIN;		multi->controls[index].get = &emuxki_ac97_get_mix;		multi->controls[index].set = &emuxki_ac97_set_mix;		id = multi->controls[index].mix_control.id;		index++;				if(info->type & B_MIX_STEREO) {			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_GAIN;			multi->controls[index].mix_control.master = id;			multi->controls[index].mix_control.parent = parent2;			strcpy(multi->controls[index].mix_control.name, info->name);			multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;			multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;			multi->controls[index].mix_control.u.gain.granularity = info->granularity;			multi->controls[index].cookie = info;			multi->controls[index].type = B_MIX_GAIN;			multi->controls[index].get = &emuxki_ac97_get_mix;			multi->controls[index].set = &emuxki_ac97_set_mix;			index++;		}			if(info->type & B_MIX_RECORDMUX) {			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX;			multi->controls[index].mix_control.parent = parent2;			strcpy(multi->controls[index].mix_control.name, "Record Mux");			multi->controls[index].cookie = info;			multi->controls[index].type = B_MIX_MUX;			multi->controls[index].get = &emuxki_ac97_get_mix;			multi->controls[index].set = &emuxki_ac97_set_mix;			parent3 = multi->controls[index].mix_control.id;			index++;						multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;			multi->controls[index].mix_control.parent = parent3;			multi->controls[index].mix_control.string = S_MIC;			index++;			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;			multi->controls[index].mix_control.parent = parent3;			strcpy(multi->controls[index].mix_control.name, "CD In");			index++;			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;			multi->controls[index].mix_control.parent = parent3;			strcpy(multi->controls[index].mix_control.name, "Video In");			index++;			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;			multi->controls[index].mix_control.parent = parent3;			strcpy(multi->controls[index].mix_control.name, "Aux In");			index++;			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;			multi->controls[index].mix_control.parent = parent3;			strcpy(multi->controls[index].mix_control.name, "Line In");			index++;			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;			multi->controls[index].mix_control.parent = parent3;			multi->controls[index].mix_control.string = S_STEREO_MIX;			index++;			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;			multi->controls[index].mix_control.parent = parent3;			multi->controls[index].mix_control.string = S_MONO_MIX;			index++;			multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;			multi->controls[index].mix_control.parent = parent3;			strcpy(multi->controls[index].mix_control.name, "TAD");			index++;		}	} 			parent = emuxki_create_group_control(multi, &index, 0, 0, "AC97 Mixer");		count = source_info_size;	if(IS_AUDIGY2(&card->config))		count = 1;	if(!IS_LIVE_5_1(&card->config) && !IS_AUDIGY(&card->config))		count--;			for(i=1; i < count ; i++) {		info = &source_info[i];		PRINT(("name : %s\n", info->name));					parent2 = emuxki_create_group_control(multi, &index, parent, 0, info->name);						if(info->type & B_MIX_GAIN) {			if(info->type & B_MIX_MUTE) {				multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;				multi->controls[index].mix_control.flags = B_MULTI_MIX_ENABLE;				multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;				multi->controls[index].mix_control.parent = parent2;				multi->controls[index].mix_control.string = S_MUTE;				multi->controls[index].cookie = info;				multi->controls[index].type = B_MIX_MUTE;				multi->controls[index].get = &emuxki_ac97_get_mix;				multi->controls[index].set = &emuxki_ac97_set_mix;				index++;			}					multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;			multi->controls[index].mix_control.flags = B_MULTI_MIX_GAIN;			multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;			multi->controls[index].mix_control.parent = parent2;			strcpy(multi->controls[index].mix_control.name, info->name);			multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;			multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;			multi->controls[index].mix_control.u.gain.granularity = info->granularity;			multi->controls[index].cookie = info;			multi->controls[index].type = B_MIX_GAIN;			multi->controls[index].get = &emuxki_ac97_get_mix;			multi->controls[index].set = &emuxki_ac97_set_mix;			id = multi->controls[index].mix_control.id;			index++;						if(info->type & B_MIX_STEREO) {				multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;				multi->controls[index].mix_control.flags = B_MULTI_MIX_GAIN;				multi->controls[index].mix_control.master = id;				multi->controls[index].mix_control.parent = parent2;				strcpy(multi->controls[index].mix_control.name, info->name);				multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;				multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;				multi->controls[index].mix_control.u.gain.granularity = info->granularity;				multi->controls[index].cookie = info;				multi->controls[index].type = B_MIX_GAIN;				multi->controls[index].get = &emuxki_ac97_get_mix;				multi->controls[index].set = &emuxki_ac97_set_mix;				index++;			}		} 		}		parent = emuxki_create_group_control(multi, &index, 0, S_SETUP, NULL);		/* AC97 20db Boost Mic */	info = &source_info[6];			if(info->type & B_MIX_GAIN && info->type & B_MIX_MICBOOST) {		multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;		multi->controls[index].mix_control.flags = B_MULTI_MIX_ENABLE;		multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;		multi->controls[index].mix_control.parent = parent;		strcpy(multi->controls[index].mix_control.name, "Mic +20dB");		multi->controls[index].cookie = info;		multi->controls[index].type = B_MIX_MICBOOST;		multi->controls[index].get = &emuxki_ac97_get_mix;		multi->controls[index].set = &emuxki_ac97_set_mix;		index++;	}		if(true) {		multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;		multi->controls[index].mix_control.flags = B_MULTI_MIX_ENABLE;		multi->controls[index].mix_control.master = EMU_MULTI_CONTROL_MASTERID;		multi->controls[index].mix_control.parent = parent;		strcpy(multi->controls[index].mix_control.name, "Enable digital");		multi->controls[index].cookie = NULL;		multi->controls[index].type = EMU_DIGITAL_MODE;		multi->controls[index].get = &emuxki_parameter_get_mix;		multi->controls[index].set = &emuxki_parameter_set_mix;		index++;		}		if(true) {		multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;		multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX;		multi->controls[index].mix_control.parent = parent;		strcpy(multi->controls[index].mix_control.name, "Audio mode");		multi->controls[index].cookie = NULL;		multi->controls[index].type = EMU_AUDIO_MODE;		multi->controls[index].get = &emuxki_parameter_get_mix;		multi->controls[index].set = &emuxki_parameter_set_mix;		parent2 = multi->controls[index].mix_control.id;		index++;				multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;		multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;		multi->controls[index].mix_control.parent = parent2;		strcpy(multi->controls[index].mix_control.name, "2.0");		index++;		multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;		multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;		multi->controls[index].mix_control.parent = parent2;		strcpy(multi->controls[index].mix_control.name, "4.0");		index++;		multi->controls[index].mix_control.id = EMU_MULTI_CONTROL_FIRSTID + index;		multi->controls[index].mix_control.flags = B_MULTI_MIX_MUX_VALUE;		multi->controls[index].mix_control.parent = parent2;		strcpy(multi->controls[index].mix_control.name, "5.1");		index++;	}					multi->control_count = index;	PRINT(("multi->control_count %u\n", multi->control_count));	return B_OK;}