예제 #1
0
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();
}
예제 #2
0
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);
}
예제 #3
0
void TresizeBordersPage::onLock(void)
{
    cfgSet(IDFF_bordersLocked, getCheck(IDC_CHB_BORDERSLOCKED));
    cfgSet(IDFF_bordersPercentY, cfgGet(IDFF_bordersPercentX));
    cfgSet(IDFF_bordersPixelsY, cfgGet(IDFF_bordersPixelsX));
    cfg2dlg();
}
예제 #4
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);
 cfg2dlg();
}
예제 #5
0
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();
}
예제 #6
0
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();
}
예제 #7
0
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);
}
예제 #8
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();
}
예제 #9
0
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();
}
예제 #10
0
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);
}
예제 #11
0
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);

}
예제 #12
0
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();
    }
}
예제 #13
0
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();
}
예제 #14
0
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();
    }
}
예제 #15
0
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();
}
예제 #16
0
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();
}
예제 #17
0
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);
}
예제 #18
0
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();
        }
    }
}
예제 #19
0
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;
};
예제 #20
0
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);
}
예제 #21
0
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;
};
예제 #22
0
void TinfoPage::init(void)
{
 cfg2dlg();
 deci->setOnInfoMsg(m_hwnd,WM_FFONINFO1,WM_FFONINFO2);
 frameCnt=0;bytesCnt=0;
}
예제 #23
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;
}