void JobAddConfigurationImages(const DubOptions *opt, const wchar_t *szFileInput, const wchar_t *pszInputDriver, const wchar_t *szFilePrefix, const wchar_t *szFileSuffix, int minDigits, int imageFormat, int quality, List2<InputFilenameNode> *pListAppended) { JobScriptOutput output; JobAddConfigurationInputs(output, szFileInput, pszInputDriver, pListAppended); JobCreateScript(output, opt); JobAddReloadMarker(output); // Add actual run option VDStringA s(strCify(VDTextWToU8(VDStringW(szFilePrefix)).c_str())); output.addf("VirtualDub.SaveImageSequence(\"%s\", \"%s\", %d, %d, %d);", s.c_str(), strCify(VDTextWToU8(VDStringW(szFileSuffix)).c_str()), minDigits, imageFormat, quality); JobAddClose(output); /////////////////// vdautoptr<VDJob> vdj(new VDJob); vdj->SetInputFile(szFileInput); VDStringW outputFile; outputFile.sprintf(L"%ls*%ls", szFilePrefix, szFileSuffix); vdj->SetOutputFile(outputFile.c_str()); const JobScriptOutput::Script& script = output.getscript(); vdj->SetScript(script.data(), script.size(), true); g_VDJobQueue.Add(vdj.release(), false); }
void VDVideoWindow::UpdateSourcePARMenuItem() { VDStringW s; if (mSourcePAR <= 0) s = L"Unknown ratio"; else s.sprintf(L"%.4g:1 pixel", mSourcePAR); VDStringW t(mSourcePARTextPattern); VDStringW::size_type pos = t.find('?'); if (pos != VDStringW::npos) t.replace(pos, 1, s.data(), s.size()); VDSetMenuItemTextByCommandW32(mhmenu, ID_DISPLAY_AR_PIXEL_SOURCE, t.c_str()); }