void CAutomateGraphingApp::Process(void) { // prepare variables CString sTempName; if(m_sData->bJpeg) sTempName.Format("%s.tif", _tempnam("c:\\tmp", "steg")); // read parameters ReadParameters(); // write file header WriteHeader(); // main processing loop libbase::timer tDuration; for(double dStrength = m_sData->dStrengthMin; dStrength <= m_sData->dStrengthMax; dStrength += m_sData->dStrengthStep) { PlayeventFilterEmbed(/*embedding*/ 0, 1, dStrength, \ /*interleaver*/ true, 0, 1, \ /*source*/ 2, 1, "", \ /*codec*/ "", ""); if(m_sData->bJpeg) { for(int nJpegQ = m_sData->nJpegMin; nJpegQ <= m_sData->nJpegMax; nJpegQ += m_sData->nJpegStep) { // write row header std::ofstream file(m_sData->sResults, std::ios::out | std::ios::app); file << dStrength << "\t" << nJpegQ << "\t"; file.close(); // simulate JPEG channel PlayeventSaveJPEG(nJpegQ, sTempName, true); PlayeventOpen(sTempName); remove(sTempName); // main processing DoExtract(dStrength); PlayeventClose(false); } } else { // write row header std::ofstream file(m_sData->sResults, std::ios::out | std::ios::app); file << dStrength << "\t"; file.close(); // main processing DoExtract(dStrength); PlayeventSelectState(-3); } PlayeventSelectState(-1); } // tell the user how long it took tDuration.stop(); CString sTemp; sTemp.Format("Time taken: %s", std::string(tDuration).c_str()); MessageBox(NULL, sTemp, "Automate Graphing", MB_OK); }
BOOL CALLBACK UnpackProc(HWND h,UINT m,WPARAM w,LPARAM l) { switch (m) { case WM_INITDIALOG: { char cInfo[400]; wsul size; wsul i; size = g_WD.nPackSize; for (i=0;i<g_WD.nMods;i++) size += g_WD.nModSizes[i]; sprintf(cInfo, "%d songs contained.\n" "Total Size: %.2fKB\n" "%s\n" "", g_WD.nMods, (float)(size/1024), g_WD.cMessage); SetWindowText(h,g_WD.cTitle); SetDlgItemText(h,IDC_TITLE,g_WD.cTitle); SetDlgItemText(h,IDC_INFO,cInfo); return TRUE; } case WM_COMMAND: { switch(w) { case IDQUIT: { EndDialog(h,0); } break; case IDEXTRACT: { DoExtract(); EndDialog(h,0); } break; } return TRUE; } break; } return FALSE; }
/* * We have all of the parsed command line options in "pState". Now we just * have to do something useful with it. * * Returns 0 on success, 1 on error. */ int DoWork(NulibState* pState) { NuError err; switch (NState_GetCommand(pState)) { case kCommandAdd: err = DoAdd(pState); break; case kCommandExtract: err = DoExtract(pState); break; case kCommandExtractToPipe: err = DoExtractToPipe(pState); break; case kCommandTest: err = DoTest(pState); break; case kCommandListShort: err = DoListShort(pState); break; case kCommandListVerbose: err = DoListVerbose(pState); break; case kCommandListDebug: err = DoListDebug(pState); break; case kCommandDelete: err = DoDelete(pState); break; case kCommandHelp: err = DoHelp(pState); break; default: fprintf(stderr, "ERROR: unexpected command %d\n", NState_GetCommand(pState)); err = kNuErrInternal; Assert(0); break; } return (err != kNuErrNone); }
/* * Extract the specified files to stdout. */ NuError DoExtractToPipe(NulibState* pState) { /* we handle the "to pipe" part farther down */ return DoExtract(pState); }