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

📄 mac_dlog.c

📁 MIDI解码程序(用VC编写)
💻 C
📖 第 1 页 / 共 2 页
字号:
										/*-----reverb-----*/					switch(GetDialogItemValue(dialog, iReverb))					{					  case 1:					    opt_reverb_control = 0;					    break;					  case 2:					    if(GetDialogItemValue(dialog, iReverb_setlevel))						opt_reverb_control =							- (mac_limit_params( GetDialogTEValue( dialog, iReverb_level ), 1, 127));					    else						opt_reverb_control = 1;					    break;					  case 3:					    opt_reverb_control = 2;					    break;					  /*default:					    ctl->cmsg(CMSG_ERROR, VERB_NORMAL,						      "Invalid -EFreverb parameter.");*/					}										/*-----chorus-----*/					opt_surround_chorus = 0;					switch(GetDialogItemValue(dialog, iChorus))					{					  case 1:					    opt_chorus_control = 0;					    break;					  case 2:					    if( GetDialogItemValue(dialog, iChorus_setlevel) )						opt_chorus_control =							- (mac_limit_params( GetDialogTEValue(dialog,iChorus_level), 1, 127 ) );					    else						opt_chorus_control = 1;					    break;					  case 3:						opt_surround_chorus = 1;					    	if( GetDialogItemValue(dialog, iChorus_setlevel) )							opt_chorus_control =								- (mac_limit_params( GetDialogTEValue(dialog,iChorus_level), 1,63));					  	else							opt_chorus_control = 1;						break;					  /*default:					    ctl->cmsg(CMSG_ERROR, VERB_NORMAL,						      "Invalid -EFchorus parameter.");					    return 1;*/					}										modify_release=0;					if( GetDialogItemValue(dialog, iModify_release) ){						modify_release=GetDialogTEValue(dialog, iModify_release_ms);						modify_release = mac_limit_params(modify_release, 0, 5000);					}					effect_lr_mode=	GetDialogItemValue(dialog, iPresence_balance)-2;					value=GetDialogItemValue(dialog, iManufacture);					opt_default_mid= 	(value==1? 0x41:		//GS										 value==2? 0x43:0x7e);	//XG:GM					evil_level= 		GetDialogItemValue(dialog, iEvil_level);					//do_initial_filling=	GetDialogItemValue(dialog, iDo_initial_filling)? 1:0;					gShuffle=			GetDialogItemValue(dialog, iShuffle)? 1:0;										DisposeDialog(theDialog);					return noErr;				case iCancel:					DisposeDialog(theDialog);					return 1;				case iDefault:					mac_DefaultOption();					SetDialogValue(theDialog);					break;/*				case iMore:					if( !more )					{						SizeWindow(GetDialogWindow(theDialog), 400, 300, 1);						SetDialogControlTitle(theDialog,iMore, "\pFew...");						more=true;					}					else					{						SizeWindow(GetDialogWindow(theDialog), 400, 160, 1);						SetDialogControlTitle(theDialog,iMore, "\pMore...");						more=false;					}*/					break;				case iRate:					break;				case iMono:					SetDialogItemValue(dialog, iMono, 1);					SetDialogItemValue(dialog, iStereo, 0);					break;				case iStereo:					SetDialogItemValue(dialog, iStereo, 1);					SetDialogItemValue(dialog, iMono, 0);					break;				case iFreeInstr:	ToggleDialogItem(dialog, iFreeInstr);	break;				case iAntiali:		ToggleDialogItem(dialog, iAntiali);		break;				case iFastDecay:	ToggleDialogItem(dialog, iFastDecay);	break;				case iAdjustPanning:ToggleDialogItem(dialog, iAdjustPanning); break;				case iModulation_wheel:	ToggleDialogItem(dialog, iModulation_wheel);	break;				case iPortamento:		ToggleDialogItem(dialog, iPortamento);	break;				case iNrpn_vibrato:		ToggleDialogItem(dialog, iNrpn_vibrato);	break;				case iChannel_pressure:	ToggleDialogItem(dialog, iChannel_pressure);	break;				case iText_meta_event:	ToggleDialogItem(dialog, iText_meta_event);	break;				case iOverlap_voice:	ToggleDialogItem(dialog, iOverlap_voice);	break;				case iReverb:					mac_AdjustDialog(dialog);					break;				case iReverb_setlevel:					ToggleDialogItem(dialog, iReverb_setlevel);					mac_AdjustDialog(dialog);					break;				case iChorus:					mac_AdjustDialog(dialog);					break;				case iChorus_setlevel:					ToggleDialogItem(dialog, iChorus_setlevel);					mac_AdjustDialog(dialog);					break;				case iModify_release:					ToggleDialogItem(dialog, iModify_release);					if( GetDialogItemValue(dialog, iModify_release) ){ //newly checked on						SetDialogTEValue(theDialog, iModify_release_ms, DEFAULT_MREL);					}					mac_AdjustDialog(dialog);					break;				case iShuffle:			ToggleDialogItem(dialog, iShuffle);	break;				}			}		}	}}/* ****************************************************** */struct{	int		version;	short	playerX,playerY,			logX, logY,			logW, logH,			listX, listY,			listW, listH,			docX,  docY,			docW,  docH,			specX, specY,			traceX, traceY, wrdX,wrdY, skinX,skinY;	int		rate;	char	mono, freeinstrument, antialias, fastdecay, adjustpanning;	int		voice;	short	amplitude;	int32	controlratio;	double	silentsec;	int32	modify_release;	int		effect_lr_mode;	int		opt_default_mid;	int		showMsg, showList, showWrd, showDoc, showSpec, showTrace, showSkin,			modulation_wheel, portamento, nrpn_vibrato, reverb_control,			chorus_control, surround_chorus, channel_pressure,			xg_bank_select_lsb, trace_text_meta_event, overlap_voice_allow,			do_reverb_flag;	int		evil_level,do_initial_filling;	int		gShuffle;	char	skin_mainfile[256];	char	wrdfontname[256];	char	rsv[256];}Preference;#define	PREF_VER	14						/* ++ 2.6.1        ->prefver=14 */						/* ++ 2.1.0        ->prefver=13 */#define	PREF_NUM	(sizeof(Preference))	/*pref data bytes*/OSErr mac_GetPreference(){	OSErr	err;	short	vRefNum, refNum=0;	long	count, dirID;	FSSpec	spec;		memset(&Preference, 0, sizeof(Preference) );		err=FindFolder(kOnSystemDisk, kPreferencesFolderType, kCreateFolder,						&vRefNum, &dirID);	if( err ) return err;		err=FSMakeFSSpec(vRefNum, dirID, PREF_FILENAME, &spec);	if( err )	return err;	//pref file not found		err=FSpOpenDF(&spec, fsRdPerm, &refNum);	if( err )	return err;		count=PREF_NUM;	err=FSRead(refNum, &count, (char*)&Preference);	FSClose(refNum);	if( Preference.version!=PREF_VER || count<PREF_NUM )	{		StopAlertMessage("\pPreference file is invalid! Default Setting is applyed.");		return 1;	}			mac_PlayerWindow.X=	Preference.playerX;	mac_PlayerWindow.Y=	Preference.playerY;	mac_LogWindow.X=	Preference.logX;	mac_LogWindow.Y=	Preference.logY;	mac_LogWindow.width=Preference.logW;	mac_LogWindow.hight=Preference.logH;	mac_ListWindow.X=		Preference.listX;	mac_ListWindow.Y=		Preference.listY;	mac_ListWindow.width=	Preference.listW;	mac_ListWindow.hight=	Preference.listH;		mac_DocWindow.X=		Preference.docX;	mac_DocWindow.Y=		Preference.docY;	mac_DocWindow.width=	Preference.docW;	mac_DocWindow.hight=	Preference.docH;		mac_SpecWindow.X=	Preference.specX;	mac_SpecWindow.Y=	Preference.specY;	mac_TraceWindow.X=	Preference.traceX;	mac_TraceWindow.Y=	Preference.traceY;	mac_WrdWindow.X=	Preference.wrdX;	mac_WrdWindow.Y=	Preference.wrdY;	mac_WrdWindow.X=	Preference.wrdX;	mac_WrdWindow.Y=	Preference.wrdY;	mac_SkinWindow.X=	Preference.skinX;	mac_SkinWindow.Y=	Preference.skinY;		play_mode->rate=Preference.rate;	if( Preference.mono ){		play_mode->encoding |= PE_MONO;		/*mono*/	}else{		play_mode->encoding &= ~PE_MONO;	/*stereo*/	}	free_instruments_afterwards=	Preference.freeinstrument;	antialiasing_allowed=			Preference.antialias;	fast_decay=						Preference.fastdecay;	adjust_panning_immediately=		Preference.adjustpanning;	voices=							Preference.voice;	mac_amplitude=					Preference.amplitude;	control_ratio=					Preference.controlratio;	gSilentSec=						Preference.silentsec;	modify_release=					Preference.modify_release;	effect_lr_mode=					Preference.effect_lr_mode;	opt_default_mid=				Preference.opt_default_mid;		mac_LogWindow.show=				Preference.showMsg;	mac_ListWindow.show=			Preference.showList;	mac_DocWindow.show=				Preference.showDoc;	mac_WrdWindow.show=				Preference.showWrd;	mac_DocWindow.show=				Preference.showDoc;	mac_SpecWindow.show=			Preference.showSpec;	mac_TraceWindow.show=			Preference.showTrace;	opt_modulation_wheel =		Preference.modulation_wheel;	opt_portamento =			Preference.portamento;	opt_nrpn_vibrato =			Preference.nrpn_vibrato;	opt_reverb_control =		Preference.reverb_control;	opt_chorus_control =		Preference.chorus_control;	opt_surround_chorus = 		Preference.surround_chorus;	opt_channel_pressure =		Preference.channel_pressure;	opt_trace_text_meta_event =	Preference.trace_text_meta_event;	opt_overlap_voice_allow =	Preference.overlap_voice_allow;	evil_level=					Preference.evil_level;	do_initial_filling=			Preference.do_initial_filling;	gShuffle=					Preference.gShuffle;	return noErr;}OSErr mac_SetPreference(){	OSErr	err;	short	vRefNum,refNum=0;	long	count;	long	dirID;	Point p={0,0};	FSSpec	spec;		err=FindFolder(kOnSystemDisk, kPreferencesFolderType, kCreateFolder,						&vRefNum, &dirID);	if( err ) return err;		err=FSMakeFSSpec(vRefNum, dirID, PREF_FILENAME, &spec);	if( err==fnfErr )	{		err=FSpCreate(&spec, 'TIMI', 'pref', smSystemScript);		if(err) return err;	}	else if( err!=noErr ) return err;		err=FSpOpenDF(&spec, fsWrPerm, &refNum);	if( err )	return err;		Preference.version=	PREF_VER;	Preference.playerX=	mac_PlayerWindow.X;	Preference.playerY=	mac_PlayerWindow.Y;	Preference.logX=	mac_LogWindow.X;	Preference.logY=	mac_LogWindow.Y;	Preference.logW=	mac_LogWindow.width;	Preference.logH=	mac_LogWindow.hight;	Preference.listX=	mac_ListWindow.X;	Preference.listY=	mac_ListWindow.Y;	Preference.listW=	mac_ListWindow.width;	Preference.listH=	mac_ListWindow.hight;	Preference.docX=	mac_DocWindow.X;	Preference.docY=	mac_DocWindow.Y;	Preference.docW=	mac_DocWindow.width;	Preference.docH=	mac_DocWindow.hight;	Preference.specX=	mac_SpecWindow.X;	Preference.specY=	mac_SpecWindow.Y;	Preference.traceX=	mac_TraceWindow.X;	Preference.traceY=	mac_TraceWindow.Y;	Preference.wrdX=	mac_WrdWindow.X;	Preference.wrdY=	mac_WrdWindow.Y;	Preference.skinX=	mac_SkinWindow.X;	Preference.skinY=	mac_SkinWindow.Y;		Preference.rate=	play_mode->rate;	Preference.mono=	(play_mode->encoding & PE_MONO);	Preference.freeinstrument=	free_instruments_afterwards;	Preference.antialias=		antialiasing_allowed;	Preference.fastdecay=		fast_decay;	Preference.adjustpanning=	adjust_panning_immediately;	Preference.voice=			voices;	Preference.amplitude=		mac_amplitude;	Preference.controlratio=	control_ratio;	Preference.silentsec=		gSilentSec;	Preference.modify_release=	modify_release;	Preference.effect_lr_mode=	effect_lr_mode;	Preference.opt_default_mid=	opt_default_mid;	Preference.showMsg=			mac_LogWindow.show;	Preference.showList=		mac_ListWindow.show;	Preference.showWrd=			mac_WrdWindow.show;	Preference.showDoc=			mac_DocWindow.show;	Preference.showSpec=		mac_SpecWindow.show;	Preference.showTrace=		mac_TraceWindow.show;	Preference.modulation_wheel=	opt_modulation_wheel;	Preference.portamento=			opt_portamento;	Preference.nrpn_vibrato=		opt_nrpn_vibrato;	Preference.reverb_control=		opt_reverb_control;	Preference.chorus_control=		opt_chorus_control;	Preference.channel_pressure=	opt_channel_pressure;	Preference.trace_text_meta_event=opt_trace_text_meta_event;	Preference.overlap_voice_allow=	opt_overlap_voice_allow;	Preference.evil_level=			evil_level;	Preference.do_initial_filling=	do_initial_filling;	Preference.gShuffle=			gShuffle;	count=PREF_NUM;	err=FSWrite(refNum, &count, &Preference);	FSClose(refNum);		return noErr;}

⌨️ 快捷键说明

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