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);
   }
Exemple #2
0
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;

}
Exemple #3
0
/*
 * 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);
}
Exemple #4
0
/*
 * Extract the specified files to stdout.
 */
NuError DoExtractToPipe(NulibState* pState)
{
    /* we handle the "to pipe" part farther down */
    return DoExtract(pState);
}