⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 w32g_pref.c

📁 linux上播放midi音乐,但是要一些设置.可网上查找. 软件名称: TiMidity++-2.13.0.tar
💻 C
📖 第 1 页 / 共 5 页
字号:
extern int w32g_syn_do_after_pref_apply ( void );#endifextern int IniFileAutoSave;static void PrefSettingApply(void){#ifndef IA_W32G_SYN	 w32g_send_rc(RC_EXT_APPLY_SETTING, 0);#else	int before_pref_apply_ok;	before_pref_apply_ok = ( w32g_syn_do_before_pref_apply () == 0 );	ApplySettingPlayer(sp_temp);	ApplySettingTiMidity(st_temp);	SaveSettingPlayer(sp_current);	SaveSettingTiMidity(st_current);	memcpy(sp_temp, sp_current, sizeof(SETTING_PLAYER));	memcpy(st_temp, st_current, sizeof(SETTING_TIMIDITY));	if(IniFileAutoSave)		SaveIniFile(sp_current, st_current);	if ( before_pref_apply_ok )		w32g_syn_do_after_pref_apply ();	PrefWndSetOK = 0;//	PrefWndDoing = 0;#endif}void reload_cfg(void){	free_instrument_map();	clean_up_pathlist();	free_instruments(0);	tmdy_free_config();	timidity_start_initialize();	read_config_file ( sp_temp->ConfigFile, 0 );	PrefSettingApply();#ifndef IA_W32G_SYN	TracerWndApplyQuietChannel(st_temp->quietchannels);#endif}static BOOL APIENTRYPrefPlayerDialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam){	static int initflag = 1; 	switch (uMess){	case WM_INITDIALOG:		SetDlgItemText(hwnd,IDC_EDIT_CONFIG_FILE,TEXT(sp_temp->ConfigFile));		{		char buff[64];		sprintf(buff,"%d",sp_temp->SubWindowMax);		SetDlgItemText(hwnd,IDC_EDIT_SUBWINDOW_MAX,TEXT(buff));		}		switch(sp_temp->PlayerLanguage){		case LANGUAGE_ENGLISH:			CheckRadioButton(hwnd,IDC_RADIOBUTTON_JAPANESE,IDC_RADIOBUTTON_ENGLISH,			IDC_RADIOBUTTON_ENGLISH);			break;		default:		case LANGUAGE_JAPANESE:			CheckRadioButton(hwnd,IDC_RADIOBUTTON_JAPANESE,IDC_RADIOBUTTON_ENGLISH,			IDC_RADIOBUTTON_JAPANESE);			break;		}		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECKBOX_AUTOQUIT,								strchr(st_temp->opt_ctl + 1, 'x'));		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECKBOX_AUTOUNIQ,								strchr(st_temp->opt_ctl + 1, 'u'));		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECKBOX_AUTOREFINE,								strchr(st_temp->opt_ctl + 1, 'R'));		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECKBOX_AUTOSTART,								strchr(st_temp->opt_ctl + 1, 'a'));		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECKBOX_NOT_CONTINUE,								strchr(st_temp->opt_ctl + 1, 'C'));		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECKBOX_NOT_DRAG_START,								!strchr(st_temp->opt_ctl + 1, 'd'));		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECKBOX_NOT_LOOPING,								!strchr(st_temp->opt_ctl + 1, 'l'));		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECKBOX_RANDOM,								strchr(st_temp->opt_ctl + 1, 'r'));		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECK_SEACHDIRRECURSIVE,								sp_temp->SeachDirRecursive);		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECK_DOCWNDINDEPENDENT,								sp_temp->DocWndIndependent);		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECK_DOCWNDAUTOPOPUP,								sp_temp->DocWndAutoPopup);		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECK_INIFILE_AUTOSAVE,								sp_temp->IniFileAutoSave);		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECK_AUTOLOAD_PLAYLIST,								sp_temp->AutoloadPlaylist);		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECK_AUTOSAVE_PLAYLIST,								sp_temp->AutosavePlaylist);		DLG_FLAG_TO_CHECKBUTTON(hwnd,IDC_CHECK_POS_SIZE_SAVE,								sp_temp->PosSizeSave);		initflag = 0;		break;	case WM_COMMAND:	switch (LOWORD(wParam)) {		case IDC_BUTTON_CONFIG_FILE:			{				char filename[MAXPATH+1];				filename[0] = '\0';				SendDlgItemMessage(hwnd,IDC_EDIT_CONFIG_FILE,WM_GETTEXT,					(WPARAM)MAX_PATH,(LPARAM)TEXT(filename));				if(!DlgOpenConfigFile(filename,hwnd))				if(filename[0]!='\0')						SetDlgItemText(hwnd,IDC_EDIT_CONFIG_FILE,TEXT(filename));	   }			break;		case IDC_BUTTON_CFG_EDIT:			ShellExecute(NULL, "open", "notepad.exe", ConfigFile, NULL, SW_SHOWNORMAL);			break;/*		case IDC_BUTTON_CFG_DIR:			ShellExecute(NULL, "open", ConfigFileOpenDir, NULL, NULL, SW_SHOWNORMAL);			break;*/		case IDC_BUTTON_CFG_RELOAD:		{			int i;			for (i = 0; i < PREF_PAGE_MAX; i++ ) {				SendMessage ( pref_pages[i].hwnd, WM_MYSAVE, (WPARAM)0, (LPARAM)0 );			}			reload_cfg();			SetWindowLong(hwnd,	DWL_MSGRESULT, TRUE);		}			break;		case IDC_RADIOBUTTON_JAPANESE:		case IDC_RADIOBUTTON_ENGLISH:			break;		default:		break;	  }		PrefWndSetOK = 1;		break;	case WM_MYSAVE:	{		if ( initflag ) break;		SendDlgItemMessage(hwnd,IDC_EDIT_CONFIG_FILE,WM_GETTEXT,			(WPARAM)MAX_PATH,(LPARAM)TEXT(sp_temp->ConfigFile));		{		char buff[64];		SendDlgItemMessage(hwnd,IDC_EDIT_SUBWINDOW_MAX,WM_GETTEXT,			(WPARAM)60,(LPARAM)TEXT(buff));		sp_temp->SubWindowMax = atoi(buff);		if ( sp_temp->SubWindowMax < 1 )			sp_temp->SubWindowMax = 1;		if ( sp_temp->SubWindowMax > 10 )			sp_temp->SubWindowMax = 10;		}		if(SendDlgItemMessage(hwnd,IDC_RADIOBUTTON_ENGLISH,BM_GETCHECK,0,0)){			sp_temp->PlayerLanguage = LANGUAGE_ENGLISH;		} else if(SendDlgItemMessage(hwnd,IDC_RADIOBUTTON_JAPANESE,BM_GETCHECK,0,0)){			sp_temp->PlayerLanguage = LANGUAGE_JAPANESE;		}	 {	 int flag;		SettingCtlFlag(st_temp, 'x',							DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECKBOX_AUTOQUIT,flag));		SettingCtlFlag(st_temp, 'u',							DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECKBOX_AUTOUNIQ,flag));		SettingCtlFlag(st_temp, 'R',							DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECKBOX_AUTOREFINE,flag));		SettingCtlFlag(st_temp, 'a',							DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECKBOX_AUTOSTART,flag));		SettingCtlFlag(st_temp, 'C',							DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECKBOX_NOT_CONTINUE,flag));		SettingCtlFlag(st_temp, 'd',							!DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECKBOX_NOT_DRAG_START,flag));		SettingCtlFlag(st_temp, 'l',							!DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECKBOX_NOT_LOOPING,flag));		SettingCtlFlag(st_temp, 'r',							DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECKBOX_RANDOM,flag));		}		DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECK_SEACHDIRRECURSIVE,			sp_temp->SeachDirRecursive);		DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECK_DOCWNDINDEPENDENT,			sp_temp->DocWndIndependent);		DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECK_DOCWNDAUTOPOPUP,			sp_temp->DocWndAutoPopup);		DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECK_INIFILE_AUTOSAVE,			sp_temp->IniFileAutoSave);		DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECK_AUTOLOAD_PLAYLIST,			sp_temp->AutoloadPlaylist);		DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECK_AUTOSAVE_PLAYLIST,			sp_temp->AutosavePlaylist);		DLG_CHECKBUTTON_TO_FLAG(hwnd,IDC_CHECK_POS_SIZE_SAVE,			sp_temp->PosSizeSave);		SetWindowLong(hwnd,DWL_MSGRESULT,FALSE);	}		break;	case WM_SIZE:		return FALSE;	case WM_CLOSE:		break;	default:	  break;	}	return FALSE;}// IDC_COMBO_REVERB#define cb_num_IDC_COMBO_REVERB 5static char *cb_info_IDC_COMBO_REVERB_en[] = {	"No Reverb",	"Standard Reverb",	"Global Old Reverb",	"New Reverb",	"Global New Reverb",};static char *cb_info_IDC_COMBO_REVERB_jp[] = {	"儕僶乕僽側偟",	"昗弨儕僶乕僽",	"昗弨儕僶乕僽乮僌儘乕僶儖乯",	"怴儕僶乕僽",	"怴儕僶乕僽乮僌儘乕僶儖乯",};// IDC_COMBO_CHORUS#define cb_num_IDC_COMBO_CHORUS 3static char *cb_info_IDC_COMBO_CHORUS_en[] = {	"No Chorus",	"Standard Chorus",	"Surround Chorus",};static char *cb_info_IDC_COMBO_CHORUS_jp[] = {	"僐乕儔僗側偟",	"昗弨僐乕儔僗",	"僒儔僂儞僪僐乕儔僗",};// IDC_COMBO_DELAY#define cb_num_IDC_COMBO_DELAY 2static char *cb_info_IDC_COMBO_DELAY_en[] = {	"No Delay",	"Standard Delay",};static char *cb_info_IDC_COMBO_DELAY_jp[] = {	"僨傿儗僀側偟",	"昗弨僨傿儗僀",};// IDC_COMBO_LPF#define cb_num_IDC_COMBO_LPF 3static char *cb_info_IDC_COMBO_LPF_en[] = {	"No Filter",	"Lowpass Filter (12dB/oct)",	"Lowpass Filter (24dB/oct)",};static char *cb_info_IDC_COMBO_LPF_jp[] = {	"僼傿儖僞側偟",	"LPF (12dB/oct)",	"LPF (24dB/oct)",};// IDC_COMBO_MODULEstruct _ModuleList {	int num;	char *name;};static struct _ModuleList cb_info_IDC_COMBO_MODULE[] = {	MODULE_TIMIDITY_DEFAULT, "TiMidity++ Default",	MODULE_SC55, "SC-55",	MODULE_SC88, "SC-88",	MODULE_SC88PRO, "SC-88Pro",	MODULE_SC8850, "SC-8850",	MODULE_MU50, "MU-50",	MODULE_MU80, "MU-80",	MODULE_MU90, "MU-90",	MODULE_MU100, "MU-100",	MODULE_SBLIVE, "Sound Blaster Live!",	MODULE_SBAUDIGY, "Sound Blaster Audigy",	MODULE_TIMIDITY_SPECIAL1, "TiMidity++ Special 1",	MODULE_TIMIDITY_DEBUG, "TiMidity++ Debug",};#define cb_num_IDC_COMBO_MODULE (sizeof(cb_info_IDC_COMBO_MODULE) / sizeof(struct _ModuleList))static int find_combo_module_item(int val){	int i;	for (i = 0; i < cb_num_IDC_COMBO_MODULE; i++)		if (val == cb_info_IDC_COMBO_MODULE[i].num) {return i;}	return 0;}static BOOL APIENTRYPrefTiMidity1DialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam){	static int initflag = 1; 	int i;	char **cb_info;	switch (uMess){	case WM_INITDIALOG:		// CHORUS		if (PlayerLanguage == LANGUAGE_JAPANESE)			cb_info = cb_info_IDC_COMBO_CHORUS_jp;		else 			cb_info = cb_info_IDC_COMBO_CHORUS_en;		for (i = 0; i < cb_num_IDC_COMBO_CHORUS; i++)			SendDlgItemMessage(hwnd, IDC_COMBO_CHORUS,					CB_INSERTSTRING, (WPARAM) -1,					(LPARAM) cb_info[i]);		if(GetDlgItemInt(hwnd, IDC_EDIT_CHORUS, NULL, FALSE)==0)			SetDlgItemInt(hwnd, IDC_EDIT_CHORUS, 1, TRUE);		if (st_temp->opt_surround_chorus)			i = 2;		else			i = st_temp->opt_chorus_control;		if (i >= 0) {			SendDlgItemMessage(hwnd, IDC_COMBO_CHORUS, CB_SETCURSEL,					(WPARAM) i, (LPARAM) 0);			SendDlgItemMessage(hwnd, IDC_CHECKBOX_CHORUS_LEVEL, BM_SETCHECK, 0, 0);		} else {			SendDlgItemMessage(hwnd, IDC_COMBO_CHORUS, CB_SETCURSEL,					(WPARAM) ((-i) / 128 + 1), (LPARAM) 0);			SendDlgItemMessage(hwnd, IDC_CHECKBOX_CHORUS_LEVEL, BM_SETCHECK, 1, 0);			SetDlgItemInt(hwnd, IDC_EDIT_CHORUS, -i, TRUE);		}		SendMessage(hwnd, WM_COMMAND, IDC_CHECKBOX_CHORUS_LEVEL, 0);		// REVERB		if (PlayerLanguage == LANGUAGE_JAPANESE)			cb_info = cb_info_IDC_COMBO_REVERB_jp;		else 			cb_info = cb_info_IDC_COMBO_REVERB_en;		for (i = 0; i < cb_num_IDC_COMBO_REVERB; i++)			SendDlgItemMessage(hwnd, IDC_COMBO_REVERB,					CB_INSERTSTRING, (WPARAM) -1,					(LPARAM) cb_info[i]);		if(GetDlgItemInt(hwnd, IDC_EDIT_REVERB, NULL, FALSE)==0)			SetDlgItemInt(hwnd, IDC_EDIT_REVERB, 1, TRUE);		if (st_temp->opt_reverb_control >= 0) {			SendDlgItemMessage(hwnd, IDC_COMBO_REVERB, CB_SETCURSEL,					(WPARAM) st_temp->opt_reverb_control, (LPARAM) 0);			SendDlgItemMessage(hwnd, IDC_CHECKBOX_REVERB_LEVEL, BM_SETCHECK, 0, 0);		} else {			SendDlgItemMessage(hwnd, IDC_COMBO_REVERB, CB_SETCURSEL,					(WPARAM) ((-st_temp->opt_reverb_control) / 128 + 1), (LPARAM) 0);			SendDlgItemMessage(hwnd, IDC_CHECKBOX_REVERB_LEVEL, BM_SETCHECK, 1, 0);			SetDlgItemInt(hwnd, IDC_EDIT_REVERB, (-st_temp->opt_reverb_control) % 128, TRUE);		}		SendMessage(hwnd, WM_COMMAND, IDC_CHECKBOX_REVERB_LEVEL, 0);		// DELAY		if (PlayerLanguage == LANGUAGE_JAPANESE)			cb_info = cb_info_IDC_COMBO_DELAY_jp;		else 			cb_info = cb_info_IDC_COMBO_DELAY_en;		for (i = 0; i < cb_num_IDC_COMBO_DELAY; i++)			SendDlgItemMessage(hwnd, IDC_COMBO_DELAY,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -