📄 mac_dlog.c
字号:
/*-----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 + -