void TresizePage::createConfig(void) { SendDlgItemMessage(m_hwnd,IDC_CBX_RESIZE_METHOD,CB_ADDSTRING,0,LPARAM("FAST_BILINEAR")); SendDlgItemMessage(m_hwnd,IDC_CBX_RESIZE_METHOD,CB_ADDSTRING,0,LPARAM("BILINEAR")); SendDlgItemMessage(m_hwnd,IDC_CBX_RESIZE_METHOD,CB_ADDSTRING,0,LPARAM("BICUBIC")); SendDlgItemMessage(m_hwnd,IDC_CBX_RESIZE_METHOD,CB_ADDSTRING,0,LPARAM("EXPERIMENTAL")); SendDlgItemMessage(m_hwnd,IDC_CBX_RESIZE_METHOD,CB_ADDSTRING,0,LPARAM("POINT")); SendDlgItemMessage(m_hwnd,IDC_CBX_RESIZE_METHOD,CB_ADDSTRING,0,LPARAM("AREA")); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_GBLUR_LUM ,TBM_SETRANGE,TRUE,MAKELPARAM(0,200)); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_GBLUR_LUM ,TBM_SETLINESIZE,0,5); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_GBLUR_LUM ,TBM_SETPAGESIZE,0,20); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_GBLUR_CHROM ,TBM_SETRANGE,TRUE,MAKELPARAM(0,200)); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_GBLUR_CHROM ,TBM_SETLINESIZE,0,5); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_GBLUR_CHROM ,TBM_SETPAGESIZE,0,20); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_SHARPEN_LUM ,TBM_SETRANGE,TRUE,MAKELPARAM(0,200)); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_SHARPEN_LUM ,TBM_SETLINESIZE,0,5); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_SHARPEN_LUM ,TBM_SETPAGESIZE,0,20); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_SHARPEN_CHROM,TBM_SETRANGE,TRUE,MAKELPARAM(0,200)); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_SHARPEN_CHROM,TBM_SETLINESIZE,0,5); SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_SHARPEN_CHROM,TBM_SETPAGESIZE,0,20); SendDlgItemMessage(m_hwnd,IDC_TBR_ASPECT_USER,TBM_SETRANGE,TRUE,MAKELPARAM(0.1*256,5*256)); SendDlgItemMessage(m_hwnd,IDC_TBR_ASPECT_USER,TBM_SETLINESIZE,0,0.1*256); SendDlgItemMessage(m_hwnd,IDC_TBR_ASPECT_USER,TBM_SETPAGESIZE,0,1.6*256); cfg2dlg(); }
INT_PTR TgenericPage::msgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_NOTIFY: { NMHDR *nmhdr=LPNMHDR(lParam); if (!nostate && nmhdr->hwndFrom==hlv && nmhdr->idFrom==IDC_LV_GENERIC) switch (nmhdr->code) { case LVN_ITEMCHANGED: { LPNMLISTVIEW nmlv=LPNMLISTVIEW(lParam); if (nmlv->uChanged&LVIF_STATE && ((nmlv->uOldState&4096)!=(nmlv->uNewState&4096))) { Tflag *f=(Tflag*)nmlv->lParam; if (nmlv->uNewState&8192) { cfgSet(std::get<IDFF-1>(*f),cfgGet(std::get<IDFF-1>(*f))|std::get<VAL-1>(*f)); } else if (nmlv->uNewState&4096) { cfgSet(std::get<IDFF-1>(*f),cfgGet(std::get<IDFF-1>(*f))&~std::get<VAL-1>(*f)); } if (std::get<REPAINT-1>(*f)) { cfg2dlg(); } } return TRUE; } break; } break; } } return TconfPageEnc::msgProc(uMsg,wParam,lParam); }
void TresizeBordersPage::onLock(void) { cfgSet(IDFF_bordersLocked, getCheck(IDC_CHB_BORDERSLOCKED)); cfgSet(IDFF_bordersPercentY, cfgGet(IDFF_bordersPercentX)); cfgSet(IDFF_bordersPixelsY, cfgGet(IDFF_bordersPixelsX)); cfg2dlg(); }
void TpostProcPage::init(void) { if (cfgGet(IDFF_inPlayer)) SetTimer(m_hwnd,POSTPROC_TIMER,100,NULL); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETRANGE,TRUE,MAKELONG(0,6)); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSEL ,TRUE,MAKELONG(0,6)); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSELSTART,TRUE,0); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSELEND,TRUE,0); cfg2dlg(); }
void TblurPage::init(void) { SendDlgItemMessage(m_hwnd,IDC_TBR_BLUR_STRENGTH,TBM_SETRANGE,TRUE,MAKELPARAM(0,255)); SendDlgItemMessage(m_hwnd,IDC_TBR_BLUR_STRENGTH,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_BLUR_STRENGTH,TBM_SETPAGESIZE,0,16); SendDlgItemMessage(m_hwnd,IDC_TBR_BLUR_TEMPSMOOTH,TBM_SETRANGE,TRUE,MAKELPARAM(0,10)); SendDlgItemMessage(m_hwnd,IDC_TBR_BLUR_TEMPSMOOTH,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_BLUR_TEMPSMOOTH,TBM_SETPAGESIZE,0,1); cfg2dlg(); }
void TDXVAOptionsPage::init(void) { const TvideoCodecDec *movie; deciV->getMovieSource(&movie); int source=movie?movie->getType():0; islavc=((filterMode&IDFF_FILTERMODE_PLAYER) && (source==IDFF_MOVIE_LAVC || source==IDFF_MOVIE_FFMPEG_MT ||source==IDFF_MOVIE_FFMPEG_DXVA)) || (filterMode&(IDFF_FILTERMODE_CONFIG|IDFF_FILTERMODE_VFW)); addHint(IDC_GRP_DXVA2,_l("Enabling DXVA on those codecs will disable all FFDShow internal filters (subtitles, resize,...)")); addHint(IDC_CHB_H264,_l("Enable DXVA on H264 codec. Prior the H264/AVC codec must be enabled in the codec section")); addHint(IDC_CHB_VC1,_l("Enable DXVA on VC1 codec. Prior the H264/AVC codec must be enabled in the codec section")); cfg2dlg(); }
void TpresetsPage::addNewPreset(Tpreset *newPreset) { parent->localPresets->nextUniqueName(newPreset); parent->localPresets->storePreset(newPreset); deciD->setPresets(parent->localPresets); ListView_SetItemCountEx(hlv,parent->localPresets->size(),0); parent->selectPreset(newPreset->presetName); cfg2dlg(); parent->setChange(); //SetActiveWindow(hlv); //PostMessage(hlv,LVM_EDITLABEL,ListView_GetNextItem(hlv,-1,LVNI_SELECTED),0); }
void TpostProcPage::init(void) { if (cfgGet(IDFF_inPlayer)) SetTimer(m_hwnd,POSTPROC_TIMER,100,NULL); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETRANGE,TRUE,MAKELONG(0,6)); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSEL ,TRUE,MAKELONG(0,6)); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSELSTART,TRUE,0); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSELEND,TRUE,0); SendDlgItemMessage(m_hwnd,IDC_TBR_DEBLOCKSTRENGTH,TBM_SETRANGE,TRUE,MAKELPARAM(0,512)); SendDlgItemMessage(m_hwnd,IDC_TBR_DEBLOCKSTRENGTH,TBM_SETLINESIZE,0,8); SendDlgItemMessage(m_hwnd,IDC_TBR_DEBLOCKSTRENGTH,TBM_SETPAGESIZE,0,32); cfg2dlg(); }
void TcropNzoomPage::init(void) { red=NULL; SendDlgItemMessage(m_hwnd,IDC_TBR_ZOOMX,TBM_SETRANGE,TRUE,MAKELPARAM(0,100)); SendDlgItemMessage(m_hwnd,IDC_TBR_ZOOMX,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_ZOOMX,TBM_SETPAGESIZE,0,8); SendDlgItemMessage(m_hwnd,IDC_TBR_ZOOMY,TBM_SETRANGE,TRUE,MAKELPARAM(0,100)); SendDlgItemMessage(m_hwnd,IDC_TBR_ZOOMY,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_ZOOMY,TBM_SETPAGESIZE,0,8); cfg2dlg(); }
INT_PTR TresizeBordersPage::msgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_HSCROLL: switch (getId(HWND(lParam))) { case IDC_TBR_BORDER_HORIZ_PERCENT: case IDC_TBR_BORDER_VERT_PERCENT: cfgSet(IDFF_bordersPercentX, tbrGet(IDC_TBR_BORDER_HORIZ_PERCENT)); cfgSet(IDFF_bordersPercentY, tbrGet(cfgGet(IDFF_bordersLocked) ? IDC_TBR_BORDER_HORIZ_PERCENT : IDC_TBR_BORDER_VERT_PERCENT)); cfg2dlg(); return TRUE; case IDC_TBR_BORDER_HORIZ_PIXELS: case IDC_TBR_BORDER_VERT_PIXELS: cfgSet(IDFF_bordersPixelsX, tbrGet(IDC_TBR_BORDER_HORIZ_PIXELS)); cfgSet(IDFF_bordersPixelsY, tbrGet(cfgGet(IDFF_bordersLocked) ? IDC_TBR_BORDER_HORIZ_PIXELS : IDC_TBR_BORDER_VERT_PIXELS)); cfg2dlg(); return TRUE; } break; } return TconfPageDecVideo::msgProc(uMsg, wParam, lParam); }
void TcodecsPage::init(void) { cfg2dlg(); enableWindow(IDC_CHB_XVID,config.isLibavcodec || config.isXviD);enableWindow(IDC_CHB_XVID_XVID,config.isXviD); enableWindow(IDC_CHB_DIV3,config.isLibavcodec); enableWindow(IDC_CHB_DIVX,config.isLibavcodec || config.isXviD);enableWindow(IDC_CHB_DIVX_XVID,config.isXviD); enableWindow(IDC_CHB_DX50,config.isLibavcodec || config.isXviD);enableWindow(IDC_CHB_DX50_XVID,config.isXviD); enableWindow(IDC_CHB_BLZ0,config.isLibavcodec || config.isXviD);enableWindow(IDC_CHB_BLZ0_XVID,config.isXviD); enableWindow(IDC_CHB_MP43,config.isLibavcodec); enableWindow(IDC_CHB_MP42,config.isLibavcodec); enableWindow(IDC_CHB_MP41,config.isLibavcodec); enableWindow(IDC_CHB_H263,config.isLibavcodec); enableWindow(IDC_CHB_WMV1,config.isLibavcodec); }
void TpresetsPage::onReadFromFile(void) { int i=lvGetSelItem(IDC_LV_PRESETS); char_t presetFlnm[MAX_PATH]; _splitpath_s((*parent->localPresets)[i]->presetName, NULL, 0, NULL, 0, presetFlnm, countof(presetFlnm), NULL, 0); if (dlgGetFile(false,m_hwnd,_(-IDD_PRESETS,_l("Load ffdshow preset")),presetfilter,presetext,presetFlnm,_l("."),0)) { char_t presetName[MAX_PATH]; ff_strncpy(presetName,(*parent->localPresets)[i]->presetName,MAX_PATH); (*parent->localPresets)[i]->loadFile(presetFlnm); ff_strncpy((*parent->localPresets)[i]->presetName, presetName, countof((*parent->localPresets)[i]->presetName)); parent->selectPreset(presetName); cfg2dlg(); parent->setChange(); } }
void ToffsetPage::init(void) { SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETY_X ,TBM_SETRANGE,TRUE,MAKELPARAM(-32,32)); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETY_X ,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETY_X ,TBM_SETPAGESIZE,0,4); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETY_Y ,TBM_SETRANGE,TRUE,MAKELPARAM(-32,32)); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETY_Y ,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETY_Y ,TBM_SETPAGESIZE,0,4); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETUV_X,TBM_SETRANGE,TRUE,MAKELPARAM(-32,32)); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETUV_X,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETUV_X,TBM_SETPAGESIZE,0,4); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETUV_Y,TBM_SETRANGE,TRUE,MAKELPARAM(-32,32)); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETUV_Y,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_OFFSETUV_Y,TBM_SETPAGESIZE,0,4); cfg2dlg(); }
void TpresetsPage::onRemove(void) { int i=lvGetSelItem(IDC_LV_PRESETS); if (i!=0 && MessageBox(m_hwnd,_(-IDD_PRESETS,_l("Do you really want to remove selected preset?")),_(-IDD_PRESETS,_l("Removing preset")),MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2)==IDYES) { char_t presetName[1024]; ListView_GetItemText(hlv,i,0,presetName,1023); if (deciD->isDefaultPreset(presetName)) { cfgSet(IDFF_defaultPreset,(*parent->localPresets)[0]->presetName); // [0] is protected(Remove bottun is inactivated, thus cannot be removed), it's safe to assume default preset is not [0]. } parent->localPresets->removePreset(presetName); ListView_SetItemCountEx(hlv,parent->localPresets->size(),0); ListView_GetItemText(hlv,0,0,presetName,1023); parent->selectPreset(presetName); cfg2dlg(); parent->setChange(); } }
void TpictPropPage::init(void) { SendDlgItemMessage(m_hwnd,IDC_TBR_LUMGAIN,TBM_SETRANGE,TRUE,MAKELPARAM(0,256)); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMGAIN,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMGAIN,TBM_SETPAGESIZE,0,32); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMOFFSET,TBM_SETRANGE,TRUE,MAKELPARAM(0,512)); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMOFFSET,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMOFFSET,TBM_SETPAGESIZE,0,64); SendDlgItemMessage(m_hwnd,IDC_TBR_GAMMA,TBM_SETRANGE,TRUE,MAKELPARAM(1,400)); SendDlgItemMessage(m_hwnd,IDC_TBR_GAMMA,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_GAMMA,TBM_SETPAGESIZE,0,40); SendDlgItemMessage(m_hwnd,IDC_TBR_HUE,TBM_SETRANGE,TRUE,MAKELPARAM(-180,180)); SendDlgItemMessage(m_hwnd,IDC_TBR_HUE,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_HUE,TBM_SETPAGESIZE,0,20); SendDlgItemMessage(m_hwnd,IDC_TBR_SATURATION,TBM_SETRANGE,TRUE,MAKELPARAM(0,128)); SendDlgItemMessage(m_hwnd,IDC_TBR_SATURATION,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_SATURATION,TBM_SETPAGESIZE,0,8); cfg2dlg(); }
void TfiltersPage::createConfig(void) { SetTimer(m_hwnd,POSTPROC_TIMER,100,NULL); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMGAIN,TBM_SETRANGE,TRUE,MAKELPARAM(0,256)); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMGAIN,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMGAIN,TBM_SETPAGESIZE,0,32); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMOFFSET,TBM_SETRANGE,TRUE,MAKELPARAM(0,512)); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMOFFSET,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMOFFSET,TBM_SETPAGESIZE,0,64); SendDlgItemMessage(m_hwnd,IDC_TBR_GAMMA,TBM_SETRANGE,TRUE,MAKELPARAM(1,400)); SendDlgItemMessage(m_hwnd,IDC_TBR_GAMMA,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_GAMMA,TBM_SETPAGESIZE,0,40); SendDlgItemMessage(m_hwnd,IDC_TBR_HUE,TBM_SETRANGE,TRUE,MAKELPARAM(-180,180)); SendDlgItemMessage(m_hwnd,IDC_TBR_HUE,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_HUE,TBM_SETPAGESIZE,0,20); SendDlgItemMessage(m_hwnd,IDC_TBR_SATURATION,TBM_SETRANGE,TRUE,MAKELPARAM(0,128)); SendDlgItemMessage(m_hwnd,IDC_TBR_SATURATION,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_SATURATION,TBM_SETPAGESIZE,0,8); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETRANGE,TRUE,MAKELONG(0,6)); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSEL ,TRUE,MAKELONG(0,6)); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSELSTART,TRUE,0); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSELEND,TRUE,0); SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENSTRENGTH,TBM_SETRANGE,TRUE,MAKELPARAM(1,127)); SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENSTRENGTH,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENSTRENGTH,TBM_SETPAGESIZE,0,16); SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENTHRESH,TBM_SETRANGE,TRUE,MAKELPARAM(0,255)); SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENTHRESH,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENTHRESH,TBM_SETPAGESIZE,0,16); SendDlgItemMessage(m_hwnd,IDC_TBR_NOISESTRENGTH,TBM_SETRANGE,TRUE,MAKELPARAM(0,255)); SendDlgItemMessage(m_hwnd,IDC_TBR_NOISESTRENGTH,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_NOISESTRENGTH,TBM_SETPAGESIZE,0,16); SendDlgItemMessage(m_hwnd,IDC_TBR_NOISESTRENGTH_CHROMA,TBM_SETRANGE,TRUE,MAKELPARAM(0,127)); SendDlgItemMessage(m_hwnd,IDC_TBR_NOISESTRENGTH_CHROMA,TBM_SETLINESIZE,0,1); SendDlgItemMessage(m_hwnd,IDC_TBR_NOISESTRENGTH_CHROMA,TBM_SETPAGESIZE,0,16); cfg2dlg(); }
void TcompatibilityList::init(void) { resizeDialog(); translate(); const char_t *capt, *exp; if (IDFF_target == IDFF_whitelist) { capt = tr->translate(m_hwnd, IDD_DIRECTSHOWCONTROL, IDC_CHB_COMPATIBILITYLIST, NULL); exp = tr->translate(m_hwnd, dialogId, IDC_TXT_COMPATIBILITYLIST, NULL); } else { capt = tr->translate(m_hwnd, IDD_DIRECTSHOWCONTROL, IDC_CHB_BLACKLIST, NULL); exp = _(-IDD_COMPATIBILITY, _l("List the names of executable files which are incompatible with ffdshow or which you don't want to use ffdshow, one for each line.")); } if (capt && capt[0]) { setWindowText(m_hwnd, capt); } if (exp && exp[0]) { setText(IDC_TXT_COMPATIBILITYLIST, exp); } edLimitText(IDC_ED_COMPATIBILITYLIST, MAX_COMPATIBILITYLIST_LENGTH); cfg2dlg(NULL); }
void TquantTablesPageBase::onLoad(void) { if (dlgGetFile(false,m_hwnd,_(-IDD_QUANT_TABLES,_l("Load quantization matrices")),_l("All matrix files (*.xcm;*.qmatrix;*.cqm;*.txt)\0*.xcm;*.qmatrix;*.txt\0XviD quantization matrices file (*.xcm)\0*.xcm\0ffdshow quantization matrices file (*.qmatrix;*.txt)\0*.qmatrix;*.txt\0Custom quantization matrix (*.cqm)\0*.cqm\0All files (*.*)\0*.*\0"),_l("*.xcm"),matrixflnm,firstdir?matrixdir:_l("."),0)) { firstdir=false; const char_t *error=NULL; size_t readed=0; FILE *f=fopen(matrixflnm,_l("rb")); if (f) { uint8_t *qmatrix_intra_custom,*qmatrix_inter_custom; getCustomQuantMatrixes(&qmatrix_intra_custom,&qmatrix_inter_custom,NULL,NULL,NULL,NULL); if (qmatrix_intra_custom) { readed+=fread(qmatrix_intra_custom,1,64,f); } else { fseek(f,64,SEEK_CUR); readed+=64; } if (qmatrix_inter_custom) { readed+=fread(qmatrix_inter_custom,1,64,f); } else { fseek(f,64,SEEK_CUR); readed+=64; } fclose(f); if (readed!=128) { error=_l("Error while loading quantization matrices"); } } if (error) { err(_(-IDD_QUANT_TABLES,error)); } else { if (readed) { setChange(); } cfg2dlg(); } } }
HRESULT TfiltersPage::msgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_SHOWWINDOW: if (wParam) cfg2dlg(); break; case WM_DESTROY: KillTimer(m_hwnd,POSTPROC_TIMER); break; case WM_HSCROLL: if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_PPQUAL)) { cfgSet(IDFF_ppqual,SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_GETPOS,0,0)); cfgSet(IDFF_currentq,cfgGet(IDFF_ppqual)); setPPchbs(); return TRUE; } else if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_LUMGAIN) || HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_LUMOFFSET) || HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_GAMMA)) { cfgSet(IDFF_lumGain,writeLumGain(SendDlgItemMessage(m_hwnd,IDC_TBR_LUMGAIN,TBM_GETPOS,0,0))); cfgSet(IDFF_lumOffset,writeLumOffset(SendDlgItemMessage(m_hwnd,IDC_TBR_LUMOFFSET,TBM_GETPOS,0,0))-256); cfgSet(IDFF_gammaCorrection,writeGamma(SendDlgItemMessage(m_hwnd,IDC_TBR_GAMMA,TBM_GETPOS,0,0))); return TRUE; } else if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_HUE) || HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_SATURATION)) { cfgSet(IDFF_hue,writeHue(SendDlgItemMessage(m_hwnd,IDC_TBR_HUE,TBM_GETPOS,0,0))); cfgSet(IDFF_saturation,writeSaturation(SendDlgItemMessage(m_hwnd,IDC_TBR_SATURATION,TBM_GETPOS,0,0))); return TRUE; } else if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_XSHARPENSTRENGTH) || HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_XSHARPENTHRESH)) { switch (cfgGet(IDFF_sharpenMethod)) { case 0:cfgSet(IDFF_xsharp_strength,writeSharpenStrength(SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENSTRENGTH,TBM_GETPOS,0,0))); cfgSet(IDFF_xsharp_threshold,writeSharpenThreshold(SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENTHRESH,TBM_GETPOS,0,0))); break; case 1:cfgSet(IDFF_unsharp_strength,writeSharpenStrength(SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENSTRENGTH,TBM_GETPOS,0,0))); cfgSet(IDFF_unsharp_threshold,writeSharpenThreshold(SendDlgItemMessage(m_hwnd,IDC_TBR_XSHARPENTHRESH,TBM_GETPOS,0,0))); break; }; return TRUE; } else if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_NOISESTRENGTH)) { cfgSet(IDFF_noiseStrength,writeNoiseStrength(SendDlgItemMessage(m_hwnd,IDC_TBR_NOISESTRENGTH,TBM_GETPOS,0,0))); return TRUE; } else if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_NOISESTRENGTH_CHROMA)) { cfgSet(IDFF_noiseStrengthChroma,writeNoiseStrengthChroma(SendDlgItemMessage(m_hwnd,IDC_TBR_NOISESTRENGTH_CHROMA,TBM_GETPOS,0,0))); return TRUE; } break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CHB_POSTPROC: cfgSet(IDFF_isPostproc,getCheck(IDC_CHB_POSTPROC)); return TRUE; case IDC_CHB_PICTPROP: cfgSet(IDFF_isPictProp,getCheck(IDC_CHB_PICTPROP)); return TRUE; case IDC_CHB_NOISE: cfgSet(IDFF_isNoise,getCheck(IDC_CHB_NOISE)); return TRUE; case IDC_CHB_SHARPEN: cfgSet(IDFF_isSharpen,getCheck(IDC_CHB_SHARPEN)); return TRUE; case IDC_RBT_PPPRESETS: case IDC_RBT_PPCUSTOM: cfgSet(IDFF_ppIsCustom,getCheck(IDC_RBT_PPCUSTOM)); setPPchbs(); return TRUE; case IDC_CHB_AUTOQ: cfgSet(IDFF_autoq,getCheck(IDC_CHB_AUTOQ)); cfgSet(IDFF_currentq,cfgGet(IDFF_ppqual)); setPPchbs(); return TRUE; case IDC_CHB_DEBLOCKV_LUM: case IDC_CHB_DEBLOCKH_LUM: case IDC_CHB_DEBLOCKV_CHROM: case IDC_CHB_DEBLOCKH_CHROM: case IDC_CHB_DERING_LUM: case IDC_CHB_DERING_CHROM: { int ppcustom=0; ppcustom|=getCheck(IDC_CHB_DEBLOCKV_LUM )?LUM_V_DEBLOCK:0; ppcustom|=getCheck(IDC_CHB_DEBLOCKH_LUM )?LUM_H_DEBLOCK:0; ppcustom|=getCheck(IDC_CHB_DEBLOCKV_CHROM)?CHROM_V_DEBLOCK:0; ppcustom|=getCheck(IDC_CHB_DEBLOCKH_CHROM)?CHROM_H_DEBLOCK:0; ppcustom|=getCheck(IDC_CHB_DERING_LUM )?LUM_DERING:0; ppcustom|=getCheck(IDC_CHB_DERING_CHROM )?CHROM_DERING:0; cfgSet(IDFF_ppcustom,ppcustom); setPPchbs(); return TRUE; } case IDC_CHB_LEVELFIX_LUM: case IDC_CHB_LEVELFIX_CHROM: { cfgSet(IDFF_levelFixLum ,getCheck(IDC_CHB_LEVELFIX_LUM )); cfgSet(IDFF_levelFixChrom,getCheck(IDC_CHB_LEVELFIX_CHROM)); return TRUE; } case IDC_BT_LUMRESET: SendDlgItemMessage(m_hwnd,IDC_TBR_LUMGAIN ,TBM_SETPOS,TRUE,writeLumGain(cfgSet(IDFF_lumGain,Tconfig::lumGainDef))); SendDlgItemMessage(m_hwnd,IDC_TBR_LUMOFFSET ,TBM_SETPOS,TRUE,writeLumOffset(256+(cfgSet(IDFF_lumOffset,Tconfig::lumOffsetDef)))); SendDlgItemMessage(m_hwnd,IDC_TBR_GAMMA ,TBM_SETPOS,TRUE,writeGamma(cfgSet(IDFF_gammaCorrection,Tconfig::gammaCorrectionDef))); SendDlgItemMessage(m_hwnd,IDC_TBR_HUE ,TBM_SETPOS,TRUE,writeHue(cfgSet(IDFF_hue,Tconfig::hueDef))); SendDlgItemMessage(m_hwnd,IDC_TBR_SATURATION,TBM_SETPOS,TRUE,writeSaturation(cfgSet(IDFF_saturation,Tconfig::saturationDef))); return TRUE; case IDC_CHB_XSHARPEN: cfgSet(IDFF_isSharpen,getCheck(IDC_CHB_XSHARPEN)); return TRUE; case IDC_RBT_SHARPEN_XSHARPEN: case IDC_RBT_SHARPEN_UNSHARPMASK: cfgSet(IDFF_sharpenMethod,getCheck(IDC_RBT_SHARPEN_XSHARPEN)?0:1); sharpen2dlg(); return TRUE; case IDC_RBT_NOISE_MOJ: case IDC_RBT_NOISE_AVIH: cfgSet(IDFF_noiseMethod,getCheck(IDC_RBT_NOISE_AVIH)?1:0); return TRUE; case IDC_CHB_NOISE_UNIFORM: cfgSet(IDFF_uniformNoise,getCheck(IDC_CHB_NOISE_UNIFORM)); return TRUE; }; break; case WM_TIMER: if (wParam==POSTPROC_TIMER/* && !cfgGet(IDFF_ppIsCustom)*/) { if (!cfgGet(IDFF_autoq)) cfgSet(IDFF_currentq,cfgGet(IDFF_ppqual)); SendDlgItemMessage(m_hwnd,IDC_TBR_PPQUAL,TBM_SETSELEND,TRUE,cfgGet(IDFF_currentq)); setPPchbs(); return TRUE; }; break; }; return FALSE; };
INT_PTR TpresetsPage::msgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_DESTROY: cfgSet(IDFF_lvWidth0,ListView_GetColumnWidth(hlv,0)); if (italicFont) { DeleteObject(italicFont); } italicFont=NULL; if (boldFont) { DeleteObject(boldFont); } boldFont=NULL; break; case WM_NOTIFY: { NMHDR *nmhdr=LPNMHDR(lParam); if (nmhdr->hwndFrom==hlv && nmhdr->idFrom==IDC_LV_PRESETS) switch (nmhdr->code) { case LVN_GETDISPINFO: { NMLVDISPINFO *nmdi=(NMLVDISPINFO*)lParam; int i=nmdi->item.iItem; if (i==-1) { break; } if (nmdi->item.mask&LVIF_TEXT) { strcpy(nmdi->item.pszText,(*parent->localPresets)[i]->presetName); } return TRUE; } case LVN_ITEMCHANGED: { if (nochange) { break; } NMLISTVIEW *nmlv=LPNMLISTVIEW(lParam); if (nmlv->iItem==-1) { return TRUE; } char_t presetName[1024]; ListView_GetItemText(hlv,nmlv->iItem,0,presetName,1023); applying=true; parent->selectPreset(presetName); cfg2dlg(); applying=false; return TRUE; } case LVN_KEYDOWN: { NMLVKEYDOWN *nmkd=(NMLVKEYDOWN*)lParam; switch (nmkd->wVKey) { case VK_F2: ListView_EditLabel(hlv,ListView_GetNextItem(hlv,-1,LVNI_SELECTED)); return TRUE; case VK_SPACE: changePresetState(); return TRUE; } break; } case NM_DBLCLK: case NM_CLICK: { NMITEMACTIVATE *nmia=LPNMITEMACTIVATE(lParam); if (nmia->iItem==-1) { char_t activePresetName[MAX_PATH]; deciD->getActivePresetName(activePresetName, countof(activePresetName)); applying=true; parent->selectPreset(activePresetName); cfg2dlg(); applying=false; } else if (nmhdr->code==NM_DBLCLK) { changePresetState(); } return TRUE; } case LVN_ENDLABELEDIT: { NMLVDISPINFO *nmdi=(NMLVDISPINFO*)lParam; if (!nmdi->item.pszText) { return FALSE; } if (parent->localPresets->getPreset(nmdi->item.pszText,false)==NULL && Tpreset::isValidPresetName(nmdi->item.pszText)) { setDlgResult(TRUE); ffstring presetName; Tpreset::normalizePresetName(presetName,nmdi->item.pszText); renamePreset(presetName.c_str()); } else { setDlgResult(FALSE); } } case NM_CUSTOMDRAW: { NMLVCUSTOMDRAW *lvcd=LPNMLVCUSTOMDRAW(lParam); if (lvcd->nmcd.dwDrawStage==CDDS_PREPAINT) { setDlgResult(CDRF_NOTIFYITEMDRAW); return TRUE; } if (lvcd->nmcd.dwDrawStage==CDDS_ITEMPREPAINT) { if (!italicFont) { LOGFONT oldFont; HFONT hf=(HFONT)GetCurrentObject(lvcd->nmcd.hdc,OBJ_FONT); GetObject(hf,sizeof(LOGFONT),&oldFont); oldFont.lfItalic=TRUE; italicFont=CreateFontIndirect(&oldFont); oldFont.lfItalic=FALSE; oldFont.lfWeight=FW_BLACK; boldFont=CreateFontIndirect(&oldFont); } Tpreset *preset=(*parent->localPresets)[lvcd->nmcd.dwItemSpec]; if (preset->autoLoadedFromFile) { SelectObject(lvcd->nmcd.hdc,italicFont); } const char_t *defaultPreset=cfgGetStr(IDFF_defaultPreset); if (stricmp(defaultPreset,preset->presetName)==0) { SelectObject(lvcd->nmcd.hdc,boldFont); } setDlgResult(/*CDRF_NOTIFYPOSTPAINT*/CDRF_NEWFONT); return TRUE; } return TRUE; } } break; } } return TconfPageDec::msgProc(uMsg,wParam,lParam); }
HRESULT TresizePage::msgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_SHOWWINDOW: if (wParam) cfg2dlg(); break; case WM_HSCROLL: if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_ASPECT_USER)) { int a=SendDlgItemMessage(m_hwnd,IDC_TBR_ASPECT_USER,TBM_GETPOS,0,0); cfgSet(IDFF_aspectRatio,a*256); aspect2dlg(); return TRUE; } else if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_RESIZE_GBLUR_LUM)) { cfgSet(IDFF_resizeGblurLum,SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_GBLUR_LUM,TBM_GETPOS,0,0)); resize2dlg(); return TRUE; } else if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_RESIZE_GBLUR_CHROM)) { cfgSet(IDFF_resizeGblurChrom,SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_GBLUR_CHROM,TBM_GETPOS,0,0)); resize2dlg(); return TRUE; } else if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_RESIZE_SHARPEN_LUM)) { cfgSet(IDFF_resizeSharpenLum,SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_SHARPEN_LUM,TBM_GETPOS,0,0)); resize2dlg(); return TRUE; } else if (HWND(lParam)==GetDlgItem(m_hwnd,IDC_TBR_RESIZE_SHARPEN_CHROM)) { cfgSet(IDFF_resizeSharpenChrom,SendDlgItemMessage(m_hwnd,IDC_TBR_RESIZE_SHARPEN_CHROM,TBM_GETPOS,0,0)); resize2dlg(); return TRUE; } else break; case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CHB_RESIZE: cfgSet(IDFF_isResize,getCheck(IDC_CHB_RESIZE)); return TRUE; case IDC_CHB_RESIZE_FIRST: cfgSet(IDFF_resizeFirst,getCheck(IDC_CHB_RESIZE_FIRST)); return TRUE; case IDC_CBX_RESIZE_METHOD: if (HIWORD(wParam)==CBN_SELCHANGE) { int i=SendDlgItemMessage(m_hwnd,IDC_CBX_RESIZE_METHOD,CB_GETCURSEL,0,0); cfgSet(IDFF_resizeMethod,i); return TRUE; } break; case IDC_RBT_ASPECT_NO: cfgSet(IDFF_resizeAspect,0); aspect2dlg(); return TRUE; case IDC_RBT_ASPECT_KEEP: cfgSet(IDFF_resizeAspect,1); aspect2dlg(); return TRUE; case IDC_RBT_ASPECT_USER: cfgSet(IDFF_resizeAspect,2); aspect2dlg(); return TRUE; case IDC_ED_RESIZEDX: case IDC_ED_RESIZEDY: if (HIWORD(wParam)==EN_CHANGE) { enableWindow(IDC_BT_RESIZE_SET,applyResizeXY(true)); return TRUE; }; break; case IDC_BT_RESIZE_SET: applyResizeXY(false); return TRUE; }; break; }; return FALSE; };
void TinfoPage::init(void) { cfg2dlg(); deci->setOnInfoMsg(m_hwnd,WM_FFONINFO1,WM_FFONINFO2); frameCnt=0;bytesCnt=0; }
HRESULT TcodecsPage::msgProc(UINT uMsg, WPARAM wParam, LPARAM lParam) { switch (uMsg) { case WM_COMMAND: switch (LOWORD(wParam)) { case IDC_CHB_XVID:case IDC_CHB_XVID_XVID: case IDC_CHB_DIV3: case IDC_CHB_DIVX:case IDC_CHB_DIVX_XVID: case IDC_CHB_DX50:case IDC_CHB_DX50_XVID: case IDC_CHB_BLZ0:case IDC_CHB_BLZ0_XVID: case IDC_CHB_MP43: case IDC_CHB_MP42: case IDC_CHB_MP41: case IDC_CHB_H263: case IDC_CHB_WMV1: case IDC_CHB_RAWV: if (getCheck(IDC_CHB_XVID)) cfgSet(IDFF_xvid,getCheck(IDC_CHB_XVID_XVID)?2:1); else cfgSet(IDFF_xvid,0); cfgSet(IDFF_div3,getCheck(IDC_CHB_DIV3)); if (getCheck(IDC_CHB_DIVX)) cfgSet(IDFF_divx,getCheck(IDC_CHB_DIVX_XVID)?2:1); else cfgSet(IDFF_divx,0); if (getCheck(IDC_CHB_DX50)) cfgSet(IDFF_dx50,getCheck(IDC_CHB_DX50_XVID)?2:1); else cfgSet(IDFF_dx50,0); if (getCheck(IDC_CHB_BLZ0)) cfgSet(IDFF_blz0,getCheck(IDC_CHB_BLZ0_XVID)?2:1); else cfgSet(IDFF_blz0,0); cfgSet(IDFF_mp43,getCheck(IDC_CHB_MP43)); cfgSet(IDFF_mp42,getCheck(IDC_CHB_MP42)); cfgSet(IDFF_mp41,getCheck(IDC_CHB_MP41)); cfgSet(IDFF_h263,getCheck(IDC_CHB_H263)); cfgSet(IDFF_wmv1,getCheck(IDC_CHB_WMV1)); cfgSet(IDFF_rawv,getCheck(IDC_CHB_RAWV)); cfg2dlg(); return TRUE; case IDC_CHB_YV12: case IDC_CHB_YUY2: case IDC_CHB_YVYU: case IDC_CHB_UYVY: case IDC_CHB_RGB32: case IDC_CHB_RGB24: case IDC_CHB_RGB15: case IDC_CHB_RGB16: cfgSet(IDFF_outYV12 ,getCheck(IDC_CHB_YV12 )); cfgSet(IDFF_outYUY2 ,getCheck(IDC_CHB_YUY2 )); cfgSet(IDFF_outYVYU ,getCheck(IDC_CHB_YVYU )); cfgSet(IDFF_outUYVY ,getCheck(IDC_CHB_UYVY )); cfgSet(IDFF_outRGB32 ,getCheck(IDC_CHB_RGB32)); cfgSet(IDFF_outRGB24 ,getCheck(IDC_CHB_RGB24)); cfgSet(IDFF_outRGB555,getCheck(IDC_CHB_RGB15)); cfgSet(IDFF_outRGB565,getCheck(IDC_CHB_RGB16)); cfg2dlg(); return TRUE; } break; } return FALSE; }