From: <mk...@us...> - 2008-08-15 02:43:18
|
Revision: 3320 http://hugin.svn.sourceforge.net/hugin/?rev=3320&view=rev Author: mkuder Date: 2008-08-15 02:43:15 +0000 (Fri, 15 Aug 2008) Log Message: ----------- - converted PTButcher to PTBatcher and PTBatcherGUI + all modifications needed Modified Paths: -------------- hugin/branches/gsoc2008_batch_processing/src/CMakeLists.txt hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/MyExternalCmdExecDialog.cpp hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/MyExternalCmdExecDialog.h hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/RunStitchPanel.cpp hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/RunStitchPanel.h hugin/branches/gsoc2008_batch_processing/src/hugin1/hugin/MainFrame.cpp Removed Paths: ------------- hugin/branches/gsoc2008_batch_processing/src/PTButcher/ Modified: hugin/branches/gsoc2008_batch_processing/src/CMakeLists.txt =================================================================== --- hugin/branches/gsoc2008_batch_processing/src/CMakeLists.txt 2008-08-15 01:38:46 UTC (rev 3319) +++ hugin/branches/gsoc2008_batch_processing/src/CMakeLists.txt 2008-08-15 02:43:15 UTC (rev 3320) @@ -39,7 +39,8 @@ ADD_DEFINITIONS("-D_UNICODE") ENDIF("${wxWidgets_CONFIGURATION}" STREQUAL "mswu") ENDIF(WIN32) - add_subdirectory(PTButcher) + add_subdirectory(PTBatcher) + add_subdirectory(PTBatcherGUI) ENDIF(wxWidgets_FOUND) add_subdirectory(translations) Modified: hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/MyExternalCmdExecDialog.cpp =================================================================== --- hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/MyExternalCmdExecDialog.cpp 2008-08-15 01:38:46 UTC (rev 3319) +++ hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/MyExternalCmdExecDialog.cpp 2008-08-15 02:43:15 UTC (rev 3320) @@ -214,6 +214,11 @@ PauseProcess(false); } +long MyExecPanel::GetPid() +{ + return m_pidLast; +} + int MyExecPanel::ExecWithRedirect(wxString cmd) { if ( !cmd ) Modified: hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/MyExternalCmdExecDialog.h =================================================================== --- hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/MyExternalCmdExecDialog.h 2008-08-15 01:38:46 UTC (rev 3319) +++ hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/MyExternalCmdExecDialog.h 2008-08-15 02:43:15 UTC (rev 3320) @@ -57,6 +57,7 @@ void KillProcess(); void PauseProcess(bool pause = true); void ContinueProcess(); + long GetPid(); void OnExecWithRedirect(wxCommandEvent& event); Modified: hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/RunStitchPanel.cpp =================================================================== --- hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/RunStitchPanel.cpp 2008-08-15 01:38:46 UTC (rev 3319) +++ hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/RunStitchPanel.cpp 2008-08-15 02:43:15 UTC (rev 3320) @@ -118,7 +118,6 @@ wxLogError( wxString::Format(_("could not open script : %s"), scriptFile.c_str()) ); return false; } - PT::Panorama pano; PT::PanoramaMemento newPano; int ptoVersion = 0; @@ -127,24 +126,29 @@ if (ptoVersion < 2) { HuginBase::PanoramaOptions opts = pano.getOptions(); // no options stored in file, use default arguments in config - opts.enblendOptions = wxConfigBase::Get()->Read(wxT("/Enblend/Args"), wxT(HUGIN_ENBLEND_ARGS)).mb_str(wxConvLocal); - opts.enfuseOptions = wxConfigBase::Get()->Read(wxT("/Enfuse/Args"), wxT(HUGIN_ENFUSE_ARGS)).mb_str(wxConvLocal); + + wxConfig* config = new wxConfig(wxT("hugin")); //needed for console applications + wxConfigBase::Set(config); + opts.enblendOptions = wxConfigBase::Get()->Read(wxT("/Enblend/Args"), wxT(HUGIN_ENBLEND_ARGS)).mb_str(wxConvLocal); + opts.enfuseOptions = wxConfigBase::Get()->Read(wxT("/Enfuse/Args"), wxT(HUGIN_ENFUSE_ARGS)).mb_str(wxConvLocal); + pano.setOptions(opts); } } else { wxLogError( wxString::Format(_("error while parsing panotools script: %s"), scriptFile.c_str()) ); return false; } - // get options and correct for correct makefile PanoramaOptions opts = pano.getOptions(); opts.outputFormat = PanoramaOptions::TIFF_m; if (opts.enblendOptions.length() == 0) { // no options stored in file, use default arguments in config file + + wxConfig* config = new wxConfig(wxT("hugin")); //needed for console applications + wxConfigBase::Set(config); opts.enblendOptions = wxConfigBase::Get()->Read(wxT("/Enblend/Args"), wxT(HUGIN_ENBLEND_ARGS)).mb_str(wxConvLocal); } pano.setOptions(opts); - // make sure we got an absolute path if (! wxIsAbsolutePath(outname)) { outname = wxGetCwd() + wxT("/") + outname; @@ -157,13 +161,16 @@ wxFileName outputPrefix(outname); outpath = outputPrefix.GetPath(); basename = outputPrefix.GetFullName(); - cout << "output path: " << outpath.mb_str(wxConvLocal) << " file:" << basename.mb_str(wxConvLocal) << endl; - // stitch only active images UIntSet activeImgs = pano.getActiveImages(); try { PanoramaOptions opts = pano.getOptions(); + //preview image generation + /*opts.setHeight(150); + opts.setWidth(300); + opts.setROI(vigra::Rect2D(vigra::Size2D(300,150))); + pano.setOptions(opts);*/ // copy pto file to temporary file m_currentPTOfn = wxFileName::CreateTempFileName(wxT("huginpto_")); if(m_currentPTOfn.size() == 0) { @@ -178,7 +185,6 @@ } pano.printPanoramaScript(script, pano.getOptimizeVector(), pano.getOptions(), all, false, ""); script.close(); - // produce suitable makefile wxFile makeFile; @@ -191,7 +197,6 @@ DEBUG_DEBUG("makefn file: " << (const char *)m_currentMakefn.mb_str(wxConvLocal)); ofstream makeFileStream(m_currentMakefn.mb_str(HUGIN_CONV_FILENAME)); makeFile.Close(); - std::string resultFn(basename.mb_str(HUGIN_CONV_FILENAME)); std::string tmpPTOfnC = (const char *) m_currentPTOfn.mb_str(HUGIN_CONV_FILENAME); @@ -217,7 +222,6 @@ overwrittenFiles.Append(fn + wxT(" ")); } } - if (!m_overwrite && overwrittenFiles.size() > 0) { int overwriteret = wxMessageBox(_("Overwrite existing images?\n\n") + overwrittenFiles, _("Overwrite existing images"), wxYES_NO | wxICON_QUESTION); // TODO: change button label ok to overwrite @@ -253,7 +257,6 @@ cerr << "caught exception: " << e.what() << std::endl; wxMessageBox(wxString(e.what(), wxConvLocal), _("Error during stitching"), wxICON_ERROR | wxOK ); - } return true; } @@ -297,7 +300,6 @@ void RunStitchPanel::PauseStitch() { m_paused=true; - //m_execPanel->KillProcess(); m_execPanel->PauseProcess(); } @@ -305,39 +307,9 @@ { m_execPanel->ContinueProcess(); m_paused=false; - /*if(m_paused) - { - wxString oldCWD = wxFileName::GetCwd(); - wxFileName::SetCwd(m_outputCwd); - m_paused=false; - try - { - wxString args = wxT("-f ") + wxQuoteString(m_currentMakefn) + wxT(" all clean"); - wxString caption = _("Continuing stitch..."); +} - #if defined __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE - wxString cmd = MacGetPathToBundledExecutableFile(CFSTR("gnumake")); - if(cmd != wxT("")) { - cmd = wxQuoteString(cmd); - } else { - wxMessageBox(wxString::Format(_("External program %s not found in the bundle, reverting to system path"), wxT("gnumake")), _("Error")); - cmd = wxT("make"); - } - cmd += wxT(" ") + args; - #else - wxString cmd = wxT("make ") + args; - #endif - if (m_execPanel->ExecWithRedirect(cmd) == -1) { - wxMessageBox(wxString::Format(_("Error while stitching project\n%s"), cmd.c_str()), - _("Error during stitching"), wxICON_ERROR | wxOK ); - } - wxFileName::SetCwd(oldCWD); - } catch (std::exception & e) { - wxFileName::SetCwd(oldCWD); - cerr << "caught exception: " << e.what() << std::endl; - wxMessageBox(wxString(e.what(), wxConvLocal), - _("Error during stitching"), wxICON_ERROR | wxOK ); - - } - }*/ +long RunStitchPanel::GetPid() +{ + return m_execPanel->GetPid(); } Modified: hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/RunStitchPanel.h =================================================================== --- hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/RunStitchPanel.h 2008-08-15 01:38:46 UTC (rev 3319) +++ hugin/branches/gsoc2008_batch_processing/src/hugin1/base_wx/RunStitchPanel.h 2008-08-15 02:43:15 UTC (rev 3320) @@ -65,6 +65,7 @@ void SetOverwrite(bool over = true); void PauseStitch(); void ContinueStitch(); + long GetPid(); private: bool m_paused; Modified: hugin/branches/gsoc2008_batch_processing/src/hugin1/hugin/MainFrame.cpp =================================================================== --- hugin/branches/gsoc2008_batch_processing/src/hugin1/hugin/MainFrame.cpp 2008-08-15 01:38:46 UTC (rev 3319) +++ hugin/branches/gsoc2008_batch_processing/src/hugin1/hugin/MainFrame.cpp 2008-08-15 02:43:15 UTC (rev 3320) @@ -1180,7 +1180,7 @@ #else wxString huginPath = _T(""); //we call the batch processor directly without path on linux #endif - wxExecute(huginPath+_T("PTButcher")); + wxExecute(huginPath+_T("PTBatcherGUI")); } void MainFrame::OnFineTuneAll(wxCommandEvent & e) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |