bool CMpegSplitterSettingsWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); const int h20 = IPP_SCALE(20); const int h25 = IPP_SCALE(25); const int h30 = IPP_SCALE(30); DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP; CPoint p(10, 10); m_cbForcedSub.Create(ResStr(IDS_MPEGSPLITTER_SUB_FORCING), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(305), m_fontheight)), this, IDC_PP_SUBTITLE_FORCED); p.y += h20; m_cbAlternativeDuration.Create(ResStr(IDS_MPEGSPLITTER_ALT_DUR_CALC), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(305), m_fontheight)), this, IDC_PP_ALTERNATIVE_DURATION); p.y += h20; m_cbSubEmptyPin.Create(ResStr(IDS_MPEGSPLITTER_SUB_EMPTY_PIN), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(305), m_fontheight)), this, IDC_PP_ENABLE_SUB_EMPTY_PIN); p.y += h25; #ifdef REGISTER_FILTER m_txtAudioLanguageOrder.Create(ResStr(IDS_MPEGSPLITTER_LANG_ORDER), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(200), m_fontheight)), this, (UINT)IDC_STATIC); p.y += h20; m_edtAudioLanguageOrder.CreateEx(WS_EX_CLIENTEDGE, _T("EDIT"), _T(""), WS_CHILD | WS_VISIBLE | WS_TABSTOP, CRect(p, CSize(IPP_SCALE(305), m_fontheight + 6)), this, IDC_PP_AUDIO_LANGUAGE_ORDER); p.y += h25; m_txtSubtitlesLanguageOrder.Create(ResStr(IDS_MPEGSPLITTER_SUB_ORDER), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(200), m_fontheight)), this, (UINT)IDC_STATIC); p.y += h20; m_edtSubtitlesLanguageOrder.CreateEx(WS_EX_CLIENTEDGE, _T("EDIT"), _T(""), WS_CHILD | WS_VISIBLE | WS_TABSTOP, CRect(p, CSize(IPP_SCALE(305), m_fontheight + 6)), this, IDC_PP_SUBTITLES_LANGUAGE_ORDER); p.y += h25; #endif m_grpTrueHD.Create(ResStr(IDS_MPEGSPLITTER_TRUEHD_OUTPUT), WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p, CSize(IPP_SCALE(305), h20 + h20)), this, (UINT)IDC_STATIC); p.y += IPP_SCALE(15); p.x += IPP_SCALE(10); m_cbTrueHD.Create(_T("TrueHD"), dwStyle | BS_AUTORADIOBUTTON | BS_TOP | BS_MULTILINE | WS_GROUP, CRect(p, CSize(IPP_SCALE(60), m_fontheight + 2)), this, IDC_PP_TRUEHD); m_cbAC3Core.Create(_T("AC-3"), dwStyle | BS_AUTORADIOBUTTON | BS_TOP | BS_MULTILINE, CRect(p + CPoint(IPP_SCALE(160), 0), CSize(IPP_SCALE(60), m_fontheight + 2)), this, IDC_PP_AC3CORE); if (m_pMSF) { m_cbForcedSub.SetCheck(m_pMSF->GetForcedSub()); #ifdef REGISTER_FILTER m_edtAudioLanguageOrder.SetWindowText(m_pMSF->GetAudioLanguageOrder()); m_edtSubtitlesLanguageOrder.SetWindowText(m_pMSF->GetSubtitlesLanguageOrder()); #endif m_cbTrueHD.SetCheck(m_pMSF->GetTrueHD() == 0); m_cbAC3Core.SetCheck(!m_cbTrueHD.GetCheck()); m_cbAlternativeDuration.SetCheck(m_pMSF->GetAlternativeDuration()); m_cbSubEmptyPin.SetCheck(m_pMSF->GetSubEmptyPin()); } for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } SetClassLongPtr(m_hWnd, GCLP_HCURSOR, (long)AfxGetApp()->LoadStandardCursor(IDC_ARROW)); SetClassLongPtr(GetDlgItem(IDC_PP_SUBTITLE_FORCED)->m_hWnd, GCLP_HCURSOR, (long)AfxGetApp()->LoadStandardCursor(IDC_HAND)); SetDirty(false); return true; }
bool CAviSplitterSettingsWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP; CPoint p(10, 10); m_cbBadInterleavedSuport.Create (ResStr(IDS_AVISPLITTER_NON_INTERLEAVED), dwStyle|BS_AUTOCHECKBOX|BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(270), m_fontheight)), this, IDC_PP_INTERLEAVED_SUPPORT); p.y += IPP_SCALE(20); m_cbSetReindex.Create (ResStr(IDS_AVISPLITTER_REINDEX_BROKEN), dwStyle|BS_AUTOCHECKBOX|BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(270), m_fontheight)), this, IDC_PP_SET_REINDEX); if (m_pMSF) { m_cbBadInterleavedSuport.SetCheck(m_pMSF->GetBadInterleavedSuport()); m_cbSetReindex.SetCheck(m_pMSF->GetReindex()); } for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } SetClassLongPtr(m_hWnd, GCLP_HCURSOR, (long)AfxGetApp()->LoadStandardCursor(IDC_ARROW)); SetClassLongPtr(GetDlgItem(IDC_PP_INTERLEAVED_SUPPORT)->m_hWnd, GCLP_HCURSOR, (long)AfxGetApp()->LoadStandardCursor(IDC_HAND)); return true; }
bool CMpcAudioRendererSettingsWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP; CPoint p(10, 10); m_cbWasapiMode.Create(ResStr(IDS_ARS_WASAPI_MODE), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(320), m_fontheight)), this, IDC_PP_WASAPI_MODE); p.y += IPP_SCALE(20); m_cbMuteFastForward.Create(ResStr(IDS_ARS_MUTE_FAST_FORWARD), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(320), m_fontheight)), this, IDC_PP_MUTE_FAST_FORWARD); p.y += IPP_SCALE(25); m_txtSoundDevice.Create(ResStr(IDS_ARS_SOUND_DEVICE), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(115), m_fontheight)), this, (UINT)IDC_STATIC); m_cbSoundDevice.Create(dwStyle | CBS_DROPDOWNLIST | WS_VSCROLL, CRect(p + CPoint(IPP_SCALE(120), -4), CSize(IPP_SCALE(200), 200)), this, IDC_PP_SOUND_DEVICE); SetClassLongPtr(GetDlgItem(IDC_PP_SOUND_DEVICE)->m_hWnd, GCLP_HCURSOR, (LONG_PTR)AfxGetApp()->LoadStandardCursor(IDC_HAND)); DirectSoundEnumerate((LPDSENUMCALLBACK)DSEnumProc, (VOID*)&m_cbSoundDevice); if (m_cbSoundDevice.GetCount() > 0) { int idx = m_cbSoundDevice.FindString(0, m_pMAR->GetSoundDevice()); if (idx < 0) { m_cbSoundDevice.SetCurSel(0); } else { m_cbSoundDevice.SetCurSel(m_cbSoundDevice.FindString(0, m_pMAR->GetSoundDevice())); } } m_cbWasapiMode.SetCheck(m_pMAR->GetWasapiMode()); m_cbMuteFastForward.SetCheck(m_pMAR->GetMuteFastForward()); for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } return true; }
bool CMpeg2DecSettingsWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); const int h20 = IPP_SCALE(20); const int h25 = IPP_SCALE(25); DWORD dwStyle = WS_VISIBLE|WS_CHILD|WS_TABSTOP; CPoint p(10, 10); m_planaryuv_check.Create(ResStr(IDS_MPEG2_ENABLE_PLANAR), dwStyle | BS_AUTOCHECKBOX, CRect(p, CSize(IPP_SCALE(335), m_fontheight)), this, IDC_PP_CHECK1); m_planaryuv_check.SetCheck(m_planaryuv ? BST_CHECKED : BST_UNCHECKED); p.y += h20; m_interlaced_check.Create(ResStr(IDS_MPEG2_INTERLACE_FLAG), dwStyle | BS_AUTOCHECKBOX, CRect(p, CSize(IPP_SCALE(300), m_fontheight)), this, IDC_PP_CHECK2); m_interlaced_check.SetCheck(m_interlaced ? BST_CHECKED : BST_UNCHECKED); p.y += h20; m_forcedsubs_check.Create(ResStr(IDS_MPEG2_FORCED_SUBS), dwStyle | BS_AUTOCHECKBOX, CRect(p, CSize(IPP_SCALE(300), m_fontheight)), this, IDC_PP_CHECK3); m_forcedsubs_check.SetCheck(m_forcedsubs ? BST_CHECKED : BST_UNCHECKED); p.y += h20; m_readARFromStream_check.Create(ResStr(IDS_MPEG2_READ_AR), dwStyle | BS_AUTOCHECKBOX, CRect(p, CSize(IPP_SCALE(300), m_fontheight)), this, IDC_PP_CHECK4); m_readARFromStream_check.SetCheck(m_readARFromStream ? BST_CHECKED : BST_UNCHECKED); p.y += h25; m_ditype_static.Create(ResStr(IDS_MPEG2_DEINTERLACING), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(100), m_fontheight)), this); m_ditype_combo.Create(dwStyle | CBS_DROPDOWNLIST, CRect(p + CSize(IPP_SCALE(110), -4), CSize(IPP_SCALE(100), 200)), this, IDC_PP_COMBO1); m_ditype_combo.SetItemData(m_ditype_combo.AddString(_T("Auto")), (DWORD)DIAuto); m_ditype_combo.SetItemData(m_ditype_combo.AddString(_T("Weave")), (DWORD)DIWeave); m_ditype_combo.SetItemData(m_ditype_combo.AddString(_T("Blend")), (DWORD)DIBlend); m_ditype_combo.SetItemData(m_ditype_combo.AddString(_T("Bob")), (DWORD)DIBob); m_ditype_combo.SetItemData(m_ditype_combo.AddString(_T("Field Shift")), (DWORD)DIFieldShift); m_ditype_combo.SetItemData(m_ditype_combo.AddString(_T("ELA")), (DWORD)DIELA); m_ditype_combo.SetCurSel(0); for (int i = 0; i < m_ditype_combo.GetCount(); i++) if ((int)m_ditype_combo.GetItemData(i) == m_ditype) { m_ditype_combo.SetCurSel(i); } m_ditype_combo.EnableWindow(!IsDlgButtonChecked(m_interlaced_check.GetDlgCtrlID())); p.y += h25; { int h = max(21, m_fontheight); // special size for sliders static const TCHAR* labels[] = {m_strBrightness, m_strContrast, m_strHue, m_strSaturation}; for (int i = 0; i < _countof(m_procamp_slider); i++) { m_procamp_static[i].Create(labels[i], WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(80), m_fontheight)), this); m_procamp_slider[i].Create(dwStyle, CRect(p + CPoint(IPP_SCALE(85), 0), CSize(201, h)), this, IDC_PP_SLIDER1 + i); m_procamp_value[i].Create(_T(""), WS_VISIBLE | WS_CHILD, CRect(p + CPoint(IPP_SCALE(85) + 201, 0), CSize(IPP_SCALE(30), m_fontheight)), this); p.y += h; } m_procamp_slider[0].SetRange(0, 2*128); m_procamp_slider[0].SetTic(128); m_procamp_slider[0].SetPos((int)(m_procamp[0] + (m_procamp[0] >= 0 ? 0.5f : -0.5f)) + 128); m_procamp_slider[1].SetRange(0, 200); m_procamp_slider[1].SetTic(100); m_procamp_slider[1].SetPos((int)(100*m_procamp[1] + 0.5f)); m_procamp_slider[2].SetRange(0, 2*180); m_procamp_slider[2].SetTic(180); m_procamp_slider[2].SetPos((int)(m_procamp[2] + (m_procamp[2] >= 0 ? 0.5f : -0.5f)) + 180); m_procamp_slider[3].SetRange(0, 200); m_procamp_slider[3].SetTic(100); m_procamp_slider[3].SetPos((int)(100*m_procamp[3] + 0.5f)); p.y += 5; m_procamp_tv2pc.Create(_T("TV->PC"), dwStyle, CRect(p + CPoint(IPP_SCALE(85) + 200 / 2 - 80 -5, 0), CSize(80, m_fontheight + 6)), this, IDC_PP_BUTTON1); m_procamp_reset.Create(ResStr(IDS_MPEG2_RESET), dwStyle, CRect(p + CPoint(IPP_SCALE(85) + 200 / 2 + 6, 0), CSize(80, m_fontheight + 6)), this, IDC_PP_BUTTON2); p.y += h25; UpdateProcampValues(); } m_note_static.Create( ResStr(IDS_MPEG2_NOTE1), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(320), m_fontheight * 4)), this); for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } SetClassLongPtr(m_hWnd, GCLP_HCURSOR, (long) AfxGetApp()->LoadStandardCursor(IDC_ARROW)); SetClassLongPtr(GetDlgItem(IDC_PP_CHECK1)->m_hWnd, GCLP_HCURSOR, (long) AfxGetApp()->LoadStandardCursor(IDC_HAND)); return true; }
bool CMPCVideoDecSettingsWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); const int h20 = IPP_SCALE(20); const int h25 = IPP_SCALE(25); DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP; CPoint p(10, 10); GUID* DxvaGui = NULL; #if HAS_FFMPEG_VIDEO_DECODERS m_grpFFMpeg.Create(ResStr(IDS_VDF_FFSETTINGS), WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(350), h20 + h25 * 4 + h20)), this, (UINT)IDC_STATIC); p.y += h20; // Decoding threads m_txtThreadNumber.Create(ResStr(IDS_VDF_THREADNUMBER), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(220), m_fontheight)), this, (UINT)IDC_STATIC); m_cbThreadNumber.Create(dwStyle | CBS_DROPDOWNLIST | WS_VSCROLL, CRect(p + CPoint(IPP_SCALE(230), -4), CSize(IPP_SCALE(110), 200)), this, IDC_PP_THREAD_NUMBER); m_cbThreadNumber.AddString(ResStr(IDS_VDF_IDCT_AUTO)); CString ThreadNumberStr; for (int i = 0; i < 16; i++) { ThreadNumberStr.Format(_T("%d"), i + 1); m_cbThreadNumber.AddString(ThreadNumberStr); } p.y += h25; #if INTERNAL_DECODER_H264 // H264 deblocking mode m_txtDiscardMode.Create(ResStr(IDS_VDF_SKIPDEBLOCK), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(220), m_fontheight)), this, (UINT)IDC_STATIC); m_cbDiscardMode.Create(dwStyle | CBS_DROPDOWNLIST | WS_VSCROLL, CRect(p + CPoint(IPP_SCALE(230), -4), CSize(IPP_SCALE(110), 200)), this, IDC_PP_DISCARD_MODE); m_cbDiscardMode.AddString(ResStr(IDS_VDF_DBLK_NONE)); m_cbDiscardMode.AddString(ResStr(IDS_VDF_DBLK_DEFAULT)); m_cbDiscardMode.AddString(ResStr(IDS_VDF_DBLK_NONREF)); m_cbDiscardMode.AddString(ResStr(IDS_VDF_DBLK_BIDIR)); m_cbDiscardMode.AddString(ResStr(IDS_VDF_DBLK_NONKFRM)); m_cbDiscardMode.AddString(ResStr(IDS_VDF_DBLK_ALL)); #endif /* INTERNAL_DECODER_H264 */ p.y += h25; // Error recognition m_txtErrorRecognition.Create(ResStr(IDS_VDF_ERROR_RECOGNITION), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(220), m_fontheight)), this, (UINT)IDC_STATIC); m_cbErrorRecognition.Create(dwStyle | CBS_DROPDOWNLIST | WS_VSCROLL, CRect(p + CPoint(IPP_SCALE(230), -4), CSize(IPP_SCALE(110), 200)), this, IDC_PP_DISCARD_MODE); m_cbErrorRecognition.AddString(ResStr(IDS_VDF_ERR_CAREFUL)); m_cbErrorRecognition.AddString(ResStr(IDS_VDF_ERR_COMPLIANT)); m_cbErrorRecognition.AddString(ResStr(IDS_VDF_ERR_AGGRESSIVE)); p.y += h25; // IDCT Algorithm m_txtIDCTAlgo.Create(ResStr(IDS_VDF_IDCT_ALGO), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(220), m_fontheight)), this, (UINT)IDC_STATIC); m_cbIDCTAlgo.Create(dwStyle | CBS_DROPDOWNLIST | WS_VSCROLL, CRect(p + CPoint(IPP_SCALE(230), -4), CSize(IPP_SCALE(110), 200)), this, IDC_PP_DISCARD_MODE); m_cbIDCTAlgo.AddString(ResStr(IDS_VDF_IDCT_AUTO)); m_cbIDCTAlgo.AddString(ResStr(IDS_VDF_IDCT_LIBMPEG2)); m_cbIDCTAlgo.AddString(ResStr(IDS_VDF_IDCT_SIMPLE_MMX)); m_cbIDCTAlgo.AddString(ResStr(IDS_VDF_IDCT_XVID)); m_cbIDCTAlgo.AddString(ResStr(IDS_VDF_IDCT_SIMPLE)); p.y += h25; m_cbARMode.Create(ResStr(IDS_VDF_AR_MODE), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(340), m_fontheight)), this, IDC_PP_AR); m_cbARMode.SetCheck(FALSE); p.y += h25; #endif /* HAS_FFMPEG_VIDEO_DECODERS */ m_grpDXVA.Create(ResStr(IDS_VDF_DXVA_SETTING), WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(350), h20 + h25 + h20 * 3 + m_fontheight)), this, (UINT)IDC_STATIC); p.y += h20; // DXVA Compatibility check m_txtDXVACompatibilityCheck.Create(ResStr(IDS_VDF_DXVACOMPATIBILITY), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(225), m_fontheight)), this, (UINT)IDC_STATIC); m_cbDXVACompatibilityCheck.Create(dwStyle | CBS_DROPDOWNLIST | WS_VSCROLL, CRect(p + CPoint(IPP_SCALE(230), -4), CSize(IPP_SCALE(110), 200)), this, IDC_PP_DXVA_CHECK); m_cbDXVACompatibilityCheck.AddString(ResStr(IDS_VDF_DXVA_FULLCHECK)); m_cbDXVACompatibilityCheck.AddString(ResStr(IDS_VDF_DXVA_SKIP_LEVELCHECK)); m_cbDXVACompatibilityCheck.AddString(ResStr(IDS_VDF_DXVA_SKIP_REFCHECK)); m_cbDXVACompatibilityCheck.AddString(ResStr(IDS_VDF_DXVA_SKIP_ALLCHECK)); p.y += h25; m_cbDXVA_SD.Create(ResStr(IDS_VDF_DXVA_SD), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(340), m_fontheight)), this, IDC_PP_DXVA_SD); m_cbDXVA_SD.SetCheck(FALSE); p.y += h20; // DXVA mode m_txtDXVAMode.Create(ResStr(IDS_VDF_DXVA_MODE), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(120), m_fontheight)), this, (UINT)IDC_STATIC); m_edtDXVAMode.Create(WS_CHILD | WS_VISIBLE | WS_DISABLED, CRect(p + CPoint(IPP_SCALE(120), 0), CSize(IPP_SCALE(220), m_fontheight)), this, 0); p.y += h20; // Video card description m_txtVideoCardDescription.Create(ResStr(IDS_VDF_VIDEOCARD), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(120), m_fontheight)), this, (UINT)IDC_STATIC); m_edtVideoCardDescription.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_DISABLED, CRect(p + CPoint(IPP_SCALE(120), 0), CSize(IPP_SCALE(220), m_fontheight * 2)), this, 0); m_edtVideoCardDescription.SetWindowText(m_pMDF->GetVideoCardDescription()); DxvaGui = m_pMDF->GetDXVADecoderGuid(); if (DxvaGui != NULL) { CString DXVAMode = GetDXVAMode(DxvaGui); m_edtDXVAMode.SetWindowText(DXVAMode); } else { m_txtDXVAMode.ShowWindow(SW_HIDE); m_edtDXVAMode.ShowWindow(SW_HIDE); } for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } CorrectComboListWidth(m_cbDXVACompatibilityCheck); #if INTERNAL_DECODER_H264 CorrectComboListWidth(m_cbDiscardMode); #endif if (m_pMDF) { #if HAS_FFMPEG_VIDEO_DECODERS #if INTERNAL_DECODER_H264 m_cbThreadNumber.SetCurSel(m_pMDF->GetThreadNumber()); m_cbDiscardMode.SetCurSel(FindDiscardIndex(m_pMDF->GetDiscardMode())); #endif m_cbErrorRecognition.SetCurSel(FindErrRecognitionIndex(m_pMDF->GetErrorRecognition())); m_cbIDCTAlgo.SetCurSel(m_pMDF->GetIDCTAlgo()); m_cbARMode.SetCheck(m_pMDF->GetARMode()); #endif /* HAS_FFMPEG_VIDEO_DECODERS */ m_cbDXVACompatibilityCheck.SetCurSel(m_pMDF->GetDXVACheckCompatibility()); m_cbDXVA_SD.SetCheck(m_pMDF->GetDXVA_SD()); } return true; }
bool CMPCDXVAVideoDecSettingsWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); const int h20 = IPP_SCALE(20); const int h25 = IPP_SCALE(25); DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP; CPoint p(10, 10); GUID* DxvaGui = nullptr; //m_grpFFMpeg.Create(ResStr(IDS_VDF_FFSETTINGS), WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(350), h20 + h25 * 3 + h20)), this, (UINT)IDC_STATIC); //p.y += h20; // Read AR from stream m_cbARMode.Create(ResStr(IDS_VDF_AR_MODE), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(340), m_fontheight)), this, IDC_PP_AR); m_cbARMode.SetCheck(FALSE); p.y += h25; // Interlaced flag m_txtInterlacedFlag.Create(ResStr(IDS_VDF_INTERLACED_FLAG), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(220), m_fontheight)), this, (UINT)IDC_STATIC); m_cbInterlacedFlag.Create(dwStyle | CBS_DROPDOWNLIST | WS_VSCROLL, CRect(p + CPoint(IPP_SCALE(230), -6), CSize(IPP_SCALE(110), 200)), this, IDC_PP_INTERLACED_FLAG); m_cbInterlacedFlag.AddString(ResStr(IDS_VDF_AUTO)); m_cbInterlacedFlag.AddString(ResStr(IDS_VDF_IF_PROGRESSIVE)); m_cbInterlacedFlag.AddString(ResStr(IDS_VDF_IF_TOP_FIELD_FIRST)); m_cbInterlacedFlag.AddString(ResStr(IDS_VDF_IF_BOTTOM_FIELD_FIRST)); p.y += h25; //m_grpDXVA.Create(ResStr(IDS_VDF_DXVA_SETTING), WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(350), h20 + h25 + h20 * 3 + m_fontheight)), this, (UINT)IDC_STATIC); //p.y += h20; // DXVA Compatibility check m_txtDXVACompatibilityCheck.Create(ResStr(IDS_VDF_DXVACOMPATIBILITY), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(225), m_fontheight)), this, (UINT)IDC_STATIC); m_cbDXVACompatibilityCheck.Create(dwStyle | CBS_DROPDOWNLIST | WS_VSCROLL, CRect(p + CPoint(IPP_SCALE(230), -4), CSize(IPP_SCALE(110), 200)), this, IDC_PP_DXVA_CHECK); m_cbDXVACompatibilityCheck.AddString(ResStr(IDS_VDF_DXVA_FULLCHECK)); m_cbDXVACompatibilityCheck.AddString(ResStr(IDS_VDF_DXVA_SKIP_LEVELCHECK)); m_cbDXVACompatibilityCheck.AddString(ResStr(IDS_VDF_DXVA_SKIP_REFCHECK)); m_cbDXVACompatibilityCheck.AddString(ResStr(IDS_VDF_DXVA_SKIP_ALLCHECK)); p.y += h25; // Set DXVA for SD (H.264) m_cbDXVA_SD.Create(ResStr(IDS_VDF_DXVA_SD), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(340), m_fontheight)), this, IDC_PP_DXVA_SD); m_cbDXVA_SD.SetCheck(FALSE); p.y += h25; // DXVA mode m_txtDXVAMode.Create(ResStr(IDS_VDF_DXVA_MODE), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(120), m_fontheight)), this, (UINT)IDC_STATIC); m_edtDXVAMode.Create(WS_CHILD | WS_VISIBLE | WS_DISABLED, CRect(p + CPoint(IPP_SCALE(120), 0), CSize(IPP_SCALE(220), m_fontheight)), this, 0); p.y += h20; // Video card description m_txtVideoCardDescription.Create(ResStr(IDS_VDF_VIDEOCARD), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(120), m_fontheight)), this, (UINT)IDC_STATIC); m_edtVideoCardDescription.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_DISABLED, CRect(p + CPoint(IPP_SCALE(120), 0), CSize(IPP_SCALE(220), m_fontheight * 2)), this, 0); m_edtVideoCardDescription.SetWindowText(m_pMDF->GetVideoCardDescription()); DxvaGui = m_pMDF->GetDXVADecoderGuid(); if (DxvaGui != nullptr) { CString DXVAMode = GetDXVAMode(DxvaGui); m_edtDXVAMode.SetWindowText(DXVAMode); } else { m_txtDXVAMode.ShowWindow(SW_HIDE); m_edtDXVAMode.ShowWindow(SW_HIDE); } for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } CorrectComboListWidth(m_cbDXVACompatibilityCheck); if (m_pMDF) { m_cbARMode.SetCheck(m_pMDF->GetARMode()); m_cbDXVACompatibilityCheck.SetCurSel(m_pMDF->GetDXVACheckCompatibility()); m_cbDXVA_SD.SetCheck(m_pMDF->GetDXVA_SD()); m_cbInterlacedFlag.SetCurSel(m_pMDF->GetInterlacedFlag()); } return true;
bool CMpegSplitterSettingsWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); const int h20 = IPP_SCALE(20); const int h25 = IPP_SCALE(25); const int h30 = IPP_SCALE(30); DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP; CPoint p(10, 10); m_cbFastStreamChange.Create(ResStr(IDS_MPEGSPLITTER_FSTREAM_CHANGE), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(305), m_fontheight)), this, IDC_PP_FAST_STREAM_SELECT); p.y += h20; m_cbForcedSub.Create(ResStr(IDS_MPEGSPLITTER_SUB_FORCING), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(305), m_fontheight)), this, IDC_PP_SUBTITLE_FORCED); p.y += h20; m_cbAlternativeDuration.Create(ResStr(IDS_MPEGSPLITTER_ALT_DUR_CALC), dwStyle | BS_AUTOCHECKBOX | BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(305), m_fontheight)), this, IDC_PP_ALTERNATIVE_DURATION); p.y += h20; m_txtAudioLanguageOrder.Create(ResStr(IDS_MPEGSPLITTER_LANG_ORDER), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(200), m_fontheight)), this, (UINT)IDC_STATIC); p.y += h20; m_edtAudioLanguageOrder.CreateEx(WS_EX_CLIENTEDGE, _T("EDIT"), _T(""), WS_CHILD | WS_VISIBLE | WS_TABSTOP, CRect(p, CSize(IPP_SCALE(305), m_fontheight + 6)), this, IDC_PP_AUDIO_LANGUAGE_ORDER); p.y += h25; m_txtSubtitlesLanguageOrder.Create(ResStr(IDS_MPEGSPLITTER_SUB_ORDER), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(200), m_fontheight)), this, (UINT)IDC_STATIC); p.y += h20; m_edtSubtitlesLanguageOrder.CreateEx(WS_EX_CLIENTEDGE, _T("EDIT"), _T(""), WS_CHILD | WS_VISIBLE | WS_TABSTOP, CRect(p, CSize(IPP_SCALE(305), m_fontheight + 6)), this, IDC_PP_SUBTITLES_LANGUAGE_ORDER); p.y += h25; m_txtVC1_GuidFlag.Create(ResStr(IDS_MPEGSPLITTER_VC1_GUIDFLAG), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(200), m_fontheight)), this, (UINT)IDC_STATIC); p.y += h20; m_cbVC1_GuidFlag.Create(dwStyle | CBS_DROPDOWNLIST | WS_VSCROLL, CRect(p, CSize(IPP_SCALE(305), 200)), this, IDC_PP_VC1_GUIDFLAG); m_cbVC1_GuidFlag.AddString(_T("Default")); m_cbVC1_GuidFlag.AddString(_T("Cyberlink VC-1 Decoder")); m_cbVC1_GuidFlag.AddString(_T("ArcSoft VC-1 Decoder")); SetClassLongPtr(GetDlgItem(IDC_PP_VC1_GUIDFLAG)->m_hWnd, GCLP_HCURSOR, (LONG_PTR)AfxGetApp()->LoadStandardCursor(IDC_HAND)); p.y += h30; m_grpTrueHD.Create(ResStr(IDS_MPEGSPLITTER_TRUEHD_OUTPUT), WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(305), h20 + h20)), this, (UINT)IDC_STATIC); p.y += h20; m_cbTrueHD.Create(_T("TrueHD"), dwStyle | BS_AUTORADIOBUTTON | BS_TOP | BS_MULTILINE | WS_GROUP, CRect(p, CSize(IPP_SCALE(95), m_fontheight + 2)), this, IDC_PP_TRUEHD); m_cbAC3Core.Create(_T("AC-3"), dwStyle | BS_AUTORADIOBUTTON | BS_TOP | BS_MULTILINE, CRect(p + CPoint(IPP_SCALE(100), 0), CSize(IPP_SCALE(95), m_fontheight + 2)), this, IDC_PP_AC3CORE); m_cbAsIs.Create(ResStr(IDS_MPEGSPLITTER_THD_NOSPLIT), dwStyle | BS_AUTORADIOBUTTON | BS_TOP | BS_MULTILINE, CRect(p + CPoint(IPP_SCALE(200), 0), CSize(IPP_SCALE(95), m_fontheight + 2)), this, IDC_PP_ASIS); if (m_pMSF) { m_cbFastStreamChange.SetCheck(m_pMSF->GetFastStreamChange()); m_cbForcedSub.SetCheck(m_pMSF->GetForcedSub()); m_edtAudioLanguageOrder.SetWindowText(m_pMSF->GetAudioLanguageOrder()); m_edtSubtitlesLanguageOrder.SetWindowText(m_pMSF->GetSubtitlesLanguageOrder()); m_cbVC1_GuidFlag.SetCurSel(m_pMSF->GetVC1_GuidFlag() - 1); m_cbTrueHD.SetCheck(m_pMSF->GetTrueHD() == 0); m_cbAC3Core.SetCheck(m_pMSF->GetTrueHD() == 1); m_cbAsIs.SetCheck(!m_cbTrueHD.GetCheck() && !m_cbAC3Core.GetCheck()); m_cbAlternativeDuration.SetCheck(m_pMSF->GetAlternativeDuration()); } #ifndef STANDALONE_FILTER m_edtAudioLanguageOrder.EnableWindow(FALSE); m_edtSubtitlesLanguageOrder.EnableWindow(FALSE); #endif for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } return true; }
bool CMpcAudioRendererSettingsWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); const int h20 = IPP_SCALE(20); const int h30 = IPP_SCALE(30); DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP; CPoint p(10, 10); m_txtWasapiMode.Create(ResStr(IDS_ARS_WASAPI_MODE), WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(320), m_fontheight)), this, (UINT)IDC_STATIC); p.y += h20; m_cbWasapiMode.Create(WS_VISIBLE|WS_CHILD|CBS_DROPDOWNLIST|WS_VSCROLL, CRect(p, CSize(IPP_SCALE(320), 200)), this, IDC_PP_WASAPI_MODE); m_cbWasapiMode.AddString(L"Exclusive Mode"); m_cbWasapiMode.AddString(L"Shared Mode"); p.y += h30; m_cbUseBitExactOutput.Create(ResStr(IDS_ARS_BITEXACT_OUTPUT), WS_VISIBLE|WS_CHILD|BS_AUTOCHECKBOX|BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(320), m_fontheight)), this, IDC_PP_USE_BITEXACT_OUTPUT); p.y += h20; m_cbUseSystemLayoutChannels.Create(ResStr(IDS_ARS_SYSTEM_LAYOUT_CHANNELS), WS_VISIBLE|WS_CHILD|BS_AUTOCHECKBOX|BS_LEFTTEXT, CRect(p, CSize(IPP_SCALE(320), m_fontheight)), this, IDC_PP_USE_SYSTEM_LAYOUT_CHANNELS); p.y += h30; m_txtSoundDevice.Create(ResStr(IDS_ARS_SOUND_DEVICE), WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(320), m_fontheight)), this, (UINT)IDC_STATIC); p.y += h20; m_cbSoundDevice.Create(WS_VISIBLE|WS_CHILD|CBS_DROPDOWNLIST|WS_VSCROLL, CRect(p, CSize(IPP_SCALE(320), 200)), this, IDC_PP_SOUND_DEVICE); HMODULE hModule = LoadLibrary(L"dsound.dll"); if (hModule) { HRESULT (__stdcall * pDirectSoundEnumerate)(__in LPDSENUMCALLBACKW pDSEnumCallback, __in_opt LPVOID pContext); (FARPROC &)pDirectSoundEnumerate = GetProcAddress(hModule, "DirectSoundEnumerateW"); if (pDirectSoundEnumerate) { pDirectSoundEnumerate((LPDSENUMCALLBACK)DSEnumProc, (VOID*)&m_cbSoundDevice); } FreeLibrary(hModule); } if (m_pMAR) { if (m_cbSoundDevice.GetCount() > 0) { int idx = m_cbSoundDevice.FindString(0, m_pMAR->GetSoundDevice()); if (idx < 0) { m_cbSoundDevice.SetCurSel(0); } else { m_cbSoundDevice.SetCurSel(m_cbSoundDevice.FindString(0, m_pMAR->GetSoundDevice())); } } m_cbWasapiMode.SetCurSel(m_pMAR->GetWasapiMode()); m_cbUseBitExactOutput.SetCheck(m_pMAR->GetBitExactOutput()); m_cbUseSystemLayoutChannels.SetCheck(m_pMAR->GetSystemLayoutChannels()); } for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } CorrectComboListWidth(m_cbSoundDevice); SetClassLongPtr(m_hWnd, GCLP_HCURSOR, (long) AfxGetApp()->LoadStandardCursor(IDC_ARROW)); SetClassLongPtr(GetDlgItem(IDC_PP_SOUND_DEVICE)->m_hWnd, GCLP_HCURSOR, (long) AfxGetApp()->LoadStandardCursor(IDC_HAND)); OnClickedWasapiMode(); return true; }
bool CMpcAudioRendererStatusWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); const int h20 = IPP_SCALE(20); DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP; CPoint p(10, 10); m_gInput.Create(L"Input", WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(150), h20 * 4 + IPP_SCALE(5))), this, (UINT)IDC_STATIC); p = CPoint(IPP_SCALE(170), 10); m_gOutput.Create(L"Output", WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(150), h20 * 4 + IPP_SCALE(5))), this, (UINT)IDC_STATIC); { // Format p = CPoint(IPP_SCALE(10), 10); p.y += h20; m_InputFormatLabel.Create(L"Format:", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(50), m_fontheight)), this, (UINT)IDC_STATIC); p.x += IPP_SCALE(70); m_InputFormatText.Create(L"", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(70), m_fontheight)), this, (UINT)IDC_STATIC); p = CPoint(IPP_SCALE(170), 10); p.y += h20; m_OutputFormatLabel.Create(L"Format:", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(50), m_fontheight)), this, (UINT)IDC_STATIC); p.x += IPP_SCALE(70); m_OutputFormatText.Create(L"", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(70), m_fontheight)), this, (UINT)IDC_STATIC); } { // Channel p = CPoint(IPP_SCALE(10), 10); p.y += h20 * 2; m_InputChannelLabel.Create(L"Channel:", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(50), m_fontheight)), this, (UINT)IDC_STATIC); p.x += IPP_SCALE(70); m_InputChannelText.Create(L"", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(70), m_fontheight)), this, (UINT)IDC_STATIC); p = CPoint(IPP_SCALE(170), 10); p.y += h20 * 2; m_OutputChannelLabel.Create(L"Channel:", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(50), m_fontheight)), this, (UINT)IDC_STATIC); p.x += IPP_SCALE(70); m_OutputChannelText.Create(L"", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(70), m_fontheight)), this, (UINT)IDC_STATIC); } { // Sample Rate p = CPoint(IPP_SCALE(10), 10); p.y += h20 * 3; m_InputRateLabel.Create(L"Sample Rate:", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(70), m_fontheight)), this, (UINT)IDC_STATIC); p.x += IPP_SCALE(70); m_InputRateText.Create(L"", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(70), m_fontheight)), this, (UINT)IDC_STATIC); p = CPoint(IPP_SCALE(170), 10); p.y += h20 * 3; m_OutputRateLabel.Create(L"Sample Rate:", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(70), m_fontheight)), this, (UINT)IDC_STATIC); p.x += IPP_SCALE(70); m_OutputRateText.Create(L"", WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(70), m_fontheight)), this, (UINT)IDC_STATIC); } p = CPoint(IPP_SCALE(10), 10); p.y += h20 * 4 + IPP_SCALE(15); m_txtModeText.Create(ResStr(IDS_ARS_WASAPI_MODE_STATUS_1), WS_VISIBLE|WS_CHILD, CRect(p, CSize(IPP_SCALE(280), m_fontheight)), this, (UINT)IDC_STATIC); if (m_pMAR) { UINT status = m_pMAR->GetMode(); switch (status) { case MODE_NONE : default: break; case MODE_WASAPI_EXCLUSIVE : m_txtModeText.SetWindowText(ResStr(IDS_ARS_WASAPI_MODE_STATUS_2)); break; case MODE_WASAPI_SHARED : m_txtModeText.SetWindowText(ResStr(IDS_ARS_WASAPI_MODE_STATUS_3)); break; case MODE_WASAPI_EXCLUSIVE_BITSTREAM : CString btMode_str; BITSTREAM_MODE btMode = m_pMAR->GetBitstreamMode(); switch (btMode) { case BITSTREAM_AC3 : btMode_str = L"AC3"; break; case BITSTREAM_DTS : btMode_str = L"DTS"; break; case BITSTREAM_EAC3 : btMode_str = L"E-AC3"; break; case BITSTREAM_TRUEHD : btMode_str = L"TrueHD"; break; case BITSTREAM_DTSHD : btMode_str = L"DTS-HD"; break; } CString msg = ResStr(IDS_ARS_WASAPI_MODE_STATUS_5); if (btMode_str.GetLength()) { msg.AppendFormat(L" [%s]", btMode_str); } m_txtModeText.SetWindowText(msg); break; } if (status == MODE_WASAPI_EXCLUSIVE_BITSTREAM) { m_InputFormatText.SetWindowText(L"Bitstream"); m_OutputFormatText.SetWindowText(L"Bitstream"); } else { WAVEFORMATEX *pWfxIn, *pWfxOut; m_pMAR->GetStatus(&pWfxIn, &pWfxOut); if (pWfxIn && pWfxOut) { { // Input bool fFloat = false; DWORD layout = 0; if (pWfxIn->wFormatTag == WAVE_FORMAT_EXTENSIBLE && pWfxIn->cbSize == (sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX))) { WAVEFORMATEXTENSIBLE* wfex = (WAVEFORMATEXTENSIBLE*)pWfxIn; layout = wfex->dwChannelMask; if (wfex->SubFormat == MEDIASUBTYPE_IEEE_FLOAT) { fFloat = true; } } else { layout = GetDefChannelMask(pWfxIn->nChannels); if (pWfxIn->wFormatTag == WAVE_FORMAT_IEEE_FLOAT) { fFloat = true; } } CString sFormat; sFormat.Format(L"%dbit %s", pWfxIn->wBitsPerSample, fFloat ? L"Float" : L"Integer"); CString sChannel; switch (pWfxIn->nChannels) { case 6: sChannel = L"5.1"; break; case 8: sChannel = L"7.1"; break; default: sChannel.Format(L"%d", pWfxIn->nChannels); break; } sChannel.AppendFormat(L" / 0x%x", layout); CString sSampleRate; sSampleRate.Format(L"%d", pWfxIn->nSamplesPerSec); m_InputFormatText.SetWindowText(sFormat); m_InputChannelText.SetWindowText(sChannel); m_InputRateText.SetWindowText(sSampleRate); } { // Output bool fFloat = false; DWORD layout = 0; if (pWfxOut->wFormatTag == WAVE_FORMAT_EXTENSIBLE && pWfxOut->cbSize == (sizeof(WAVEFORMATEXTENSIBLE) - sizeof(WAVEFORMATEX))) { WAVEFORMATEXTENSIBLE* wfex = (WAVEFORMATEXTENSIBLE*)pWfxOut; layout = wfex->dwChannelMask; if (wfex->SubFormat == MEDIASUBTYPE_IEEE_FLOAT) { fFloat = true; } } else { layout = GetDefChannelMask(pWfxOut->nChannels); if (pWfxOut->wFormatTag == WAVE_FORMAT_IEEE_FLOAT) { fFloat = true; } } CString sFormat; sFormat.Format(L"%dbit %s", pWfxOut->wBitsPerSample, fFloat ? L"Float" : L"Integer"); CString sChannel; switch (pWfxOut->nChannels) { case 6: sChannel = L"5.1"; break; case 8: sChannel = L"7.1"; break; default: sChannel.Format(L"%d", pWfxOut->nChannels); break; } sChannel.AppendFormat(L" / 0x%x", layout); CString sSampleRate; sSampleRate.Format(L"%d", pWfxOut->nSamplesPerSec); m_OutputFormatText.SetWindowText(sFormat); m_OutputChannelText.SetWindowText(sChannel); m_OutputRateText.SetWindowText(sSampleRate); } } } } for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } return true; }
bool CMpaDecSettingsWnd::OnActivate() { ASSERT(IPP_FONTSIZE == 13); const int h20 = IPP_SCALE(20); const int h25 = IPP_SCALE(25); const int h30 = IPP_SCALE(30); DWORD dwStyle = WS_VISIBLE | WS_CHILD | WS_TABSTOP; CPoint p(10, 10); CRect r; m_outfmt_group.Create(ResStr(IDS_MPADEC_SAMPLE_FMT), WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(215), h20 + h20)), this, (UINT)IDC_STATIC); p.y += h20; m_outfmt_i16_check.Create(_T("Int16"), dwStyle | BS_AUTOCHECKBOX, CRect(p, CSize(IPP_SCALE(45), m_fontheight)), this, IDC_PP_CHECK_I16); m_outfmt_i24_check.Create(_T("Int24"), dwStyle | BS_AUTOCHECKBOX, CRect(p + CPoint(IPP_SCALE(50), 0), CSize(IPP_SCALE(45), m_fontheight)), this, IDC_PP_CHECK_I24); m_outfmt_i32_check.Create(_T("Int32"), dwStyle | BS_AUTOCHECKBOX, CRect(p + CPoint(IPP_SCALE(100), 0), CSize(IPP_SCALE(45), m_fontheight)), this, IDC_PP_CHECK_I32); m_outfmt_flt_check.Create(_T("Float"), dwStyle | BS_AUTOCHECKBOX, CRect(p + CPoint(IPP_SCALE(150), 0), CSize(IPP_SCALE(45), m_fontheight)), this, IDC_PP_CHECK_FLT); m_outfmt_i16_check.SetCheck(m_outfmt_i16); m_outfmt_i24_check.SetCheck(m_outfmt_i24); m_outfmt_i32_check.SetCheck(m_outfmt_i32); m_outfmt_flt_check.SetCheck(m_outfmt_flt); p.y += h25; m_drc_check.Create(ResStr(IDS_MPADEC_DRC), dwStyle | BS_AUTOCHECKBOX, CRect(p, CSize(IPP_SCALE(205), m_fontheight)), this, IDC_PP_CHECK_DRC); m_drc_check.SetCheck(m_drc); p.y += h25; m_mixer_group.Create(_T(""), WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(215), h20 + h25)), this, (UINT)IDC_STATIC); m_mixer_check.Create(ResStr(IDS_MPADEC_MIXER), dwStyle | BS_AUTOCHECKBOX, CRect(p, CSize(IPP_SCALE(60), m_fontheight)), this, IDC_PP_CHECK_MIXER); m_mixer_check.SetCheck(m_mixer); p.y += h20; m_mixer_layout_static.Create(ResStr(IDS_MPADEC_MIX_SPEAKERS), WS_VISIBLE | WS_CHILD, CRect(p, CSize(IPP_SCALE(120), m_fontheight)), this); m_mixer_layout_combo.Create(dwStyle | CBS_DROPDOWNLIST, CRect(p + CPoint(IPP_SCALE(125), -4), CSize(IPP_SCALE(80), 200)), this, IDC_PP_COMBO_MIXLAYOUT); m_mixer_layout_combo.SetItemData(m_mixer_layout_combo.AddString(ResStr(IDS_MPADEC_MONO)), SPK_MONO); m_mixer_layout_combo.SetItemData(m_mixer_layout_combo.AddString(ResStr(IDS_MPADEC_STEREO)), SPK_STEREO); m_mixer_layout_combo.SetItemData(m_mixer_layout_combo.AddString(_T("4.0")), SPK_4_0); m_mixer_layout_combo.SetItemData(m_mixer_layout_combo.AddString(_T("5.1")), SPK_5_1); m_mixer_layout_combo.SetItemData(m_mixer_layout_combo.AddString(_T("7.1")), SPK_7_1); for (int i = 0; i < m_mixer_layout_combo.GetCount(); i++) { if ((int)m_mixer_layout_combo.GetItemData(i) == m_mixer_layout) { m_mixer_layout_combo.SetCurSel(i); break; } } m_mixer_layout_combo.GetWindowRect(r); ScreenToClient(r); p.y += h30; m_spdif_group.Create(ResStr(IDS_MPADEC_SPDIF), WS_VISIBLE | WS_CHILD | BS_GROUPBOX, CRect(p + CPoint(-5, 0), CSize(IPP_SCALE(215), h20 + h20)), this, (UINT)IDC_STATIC); p.y += h20; m_spdif_ac3_check.Create(_T("AC-3"), dwStyle | BS_AUTOCHECKBOX, CRect(p, CSize(IPP_SCALE(45), m_fontheight)), this, IDC_PP_CHECK_SPDIF_AC3); m_spdif_dts_check.Create(_T("DTS"), dwStyle | BS_AUTOCHECKBOX, CRect(p + CPoint(IPP_SCALE(50), 0), CSize(IPP_SCALE(45), m_fontheight)), this, IDC_PP_CHECK_SPDIF_DTS); m_spdif_dtshd_check.Create(_T("DTS-HD"), dwStyle | BS_AUTOCHECKBOX, CRect(p + CPoint(IPP_SCALE(100), 0), CSize(IPP_SCALE(60), m_fontheight)), this, IDC_PP_CHECK_SPDIF_DTSHD); m_spdif_ac3_check.SetCheck(m_spdif_ac3); m_spdif_dts_check.SetCheck(m_spdif_dts); m_spdif_dtshd_check.SetCheck(m_spdif_dtshd); OnDTSCheck(); for (CWnd* pWnd = GetWindow(GW_CHILD); pWnd; pWnd = pWnd->GetNextWindow()) { pWnd->SetFont(&m_font, FALSE); } return true; }