diff --git a/ECTrainer2/ECTrainer.h b/ECTrainer2/ECTrainer.h index 2335e33..3d50459 100644 --- a/ECTrainer2/ECTrainer.h +++ b/ECTrainer2/ECTrainer.h @@ -30,6 +30,7 @@ CALIB_ERR, STIM_START, STIM_STOP, + STIM_END, }; // �A�v���P�[�V������� @@ -37,10 +38,10 @@ BOOT, IDLE, CALIB, STIM }; -// �h���y�[�W -enum class STIM_PAGE { - OPENING, CALIB, CALIB_COMPLETE, CALIB_FAILED, START, STOP, NEXT, BACK, WHITE -}; +//// �h���y�[�W +//enum class STIM_PAGE { +// OPENING, CALIB, CALIB_COMPLETE, CALIB_FAILED, START, STOP, NEXT, BACK, WHITE +//}; class ECTrainer { diff --git a/ECTrainer2/StimConfig.txt b/ECTrainer2/StimConfig.txt index e1b539e..e35348e 100644 --- a/ECTrainer2/StimConfig.txt +++ b/ECTrainer2/StimConfig.txt @@ -1 +1 @@ -2,../movies/visit01_004.avi,30,../movies/visit01_004.csv +2,../movies/visit01_004.avi,5,../movies/visit01_004.csv diff --git a/ECTrainer2/Stimulus.cpp b/ECTrainer2/Stimulus.cpp index 36ba77b..85363bf 100644 --- a/ECTrainer2/Stimulus.cpp +++ b/ECTrainer2/Stimulus.cpp @@ -6,7 +6,7 @@ #include "MovieObject.h" #include "myWinUtils.h" //#include -#include +//#include // �R���X�g���N�^ Stimulus::Stimulus(ECTrainer* pEct, Marker* pMarker) : BaseProcess(pEct) @@ -24,7 +24,8 @@ // ������ bool Stimulus::Init() { - SetPage(STIM_PAGE::OPENING); + _DispBuffer = cv::imread(OPENING_FILE); + _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); mwut::STR_TABLE table; if (!mwut::ReadTable(STIM_CONFIG_FILE, table)) { @@ -42,20 +43,6 @@ if (st.filename.size() > 0) _StimInfoSet.push_back(st); } - //std::ifstream ifs(DATA_FILE); - //if (!ifs) - //{ - // mwut::DebugPrintf(_T("Can't open stim data file.")); - // return false; - //} - //while (!ifs.eof()) { - // StimInfo st; - // ifs >> st.type >> st.filename >> st.dulation >> st.csvfile >> st.target; - // //std::cout << st.type << "," << st.filename << "," << st.dulation << "," - // // << st.csvfile << "," << st.target << std::endl; - // if (st.filename.size() > 0) _StimInfoSet.push_back(st); - //} - return true; } @@ -66,13 +53,17 @@ DWORD current = GetTickCount(); if ((float)(current - _StartTime) / 1000.F > _StimInfoSet[_StimNo].dulation) { if (_StimInfoSet[_StimNo].type == 2) { - SetPage(STIM_PAGE::WHITE); + //SetPage(STIM_PAGE::WHITE); _pEct->SetMovieToShow(L"STOP"); } if (++_StimNo < _StimInfoSet.size()) { SetStimulus(); } else { - SetPage(STIM_PAGE::STOP); + ((BaseProcess*)_pEct->PWorker())->Tell(ECTMSG::STIM_END); + //_StimNo = -1; + //_DispBuffer = cv::imread(OPENING_FILE); + //_pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); + //SetPage(STIM_PAGE::STOP); } } } @@ -101,9 +92,14 @@ break; case (int)ECTMSG::STIM_START: // �����J�n + _StimNo = 0; + SetStimulus(); break; case (int)ECTMSG::STIM_STOP: // ������~ + _StimNo = -1; + _DispBuffer = cv::imread(OPENING_FILE); + _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); break; } return true; @@ -132,12 +128,12 @@ } // �Œ�y�[�W�\�� -void Stimulus::SetPage(STIM_PAGE st) { - switch (st) { - case STIM_PAGE::OPENING: - _DispBuffer = cv::imread(OPENING_FILE); - _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); - break; +//void Stimulus::SetPage(STIM_PAGE st) { + //switch (st) { + //case STIM_PAGE::OPENING: + // _DispBuffer = cv::imread(OPENING_FILE); + // _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); + // break; //case STIM_PAGE::CALIB: // _DispBuffer = cv::imread(CALIB_FILE); // _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); @@ -150,25 +146,25 @@ // _DispBuffer = cv::imread(CALIB_FAILED_FILE); // _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); // break; - case STIM_PAGE::WHITE: - _DispBuffer = cv::imread(WHITE_FILE); - _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); - break; - case STIM_PAGE::START: - _StimNo = 0; - SetStimulus(); - break; - case STIM_PAGE::STOP: - _StimNo = -1; - _DispBuffer = cv::imread(OPENING_FILE); - _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); - break; - case STIM_PAGE::NEXT: - if (++_StimNo >= _StimInfoSet.size()) _StimNo = -1; - SetStimulus(); - break; - } -} + //case STIM_PAGE::WHITE: + // _DispBuffer = cv::imread(WHITE_FILE); + // _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); + // break; + //case STIM_PAGE::START: + // _StimNo = 0; + // SetStimulus(); + // break; + //case STIM_PAGE::STOP: + // _StimNo = -1; + // _DispBuffer = cv::imread(OPENING_FILE); + // _pEct->PECTrainerGUI()->SetDispBuffer(_DispBuffer); + // break; + //case STIM_PAGE::NEXT: + // if (++_StimNo >= _StimInfoSet.size()) _StimNo = -1; + // SetStimulus(); + // break; + //} +//} // �h�����Z�b�g //void Stimulus::StimWithMarker() { diff --git a/ECTrainer2/Stimulus.h b/ECTrainer2/Stimulus.h index 34e20b5..c2167b8 100644 --- a/ECTrainer2/Stimulus.h +++ b/ECTrainer2/Stimulus.h @@ -50,5 +50,5 @@ ~Stimulus(); // ������ bool Init(); - void SetPage(STIM_PAGE st); + //void SetPage(STIM_PAGE st); }; diff --git a/ECTrainer2/Worker.cpp b/ECTrainer2/Worker.cpp index f9f6cff..a85d795 100644 --- a/ECTrainer2/Worker.cpp +++ b/ECTrainer2/Worker.cpp @@ -62,7 +62,6 @@ if (_AppStatus == APP_STATUS::IDLE) { _AppStatus = APP_STATUS::CALIB; ((BaseProcess*)_pEct->PStimulus())->Tell(ECTMSG::CALIB_START); - //_pEct->PStimulus()->SetPage(STIM_PAGE::CALIB); ((BaseProcess*)_pEct->PTobiiREST())->Tell(ECTMSG::CALIB_START); this->EventLog(_T("Calibration start.")); } @@ -71,7 +70,6 @@ case (int)ECTMSG::CALIB_OK: // �L�����u���[�V�������� _AppStatus = APP_STATUS::IDLE; ((BaseProcess*)_pEct->PStimulus())->Tell(ECTMSG::CALIB_OK); - //_pEct->PStimulus()->SetPage(STIM_PAGE::CALIB_COMPLETE); this->EventLog(_T("Calibration complete.")); break; @@ -79,26 +77,32 @@ case (int)ECTMSG::CALIB_ERR: // �L�����u���[�V�����G���[ _AppStatus = APP_STATUS::IDLE; ((BaseProcess*)_pEct->PStimulus())->Tell(ECTMSG::CALIB_FAILED); - //_pEct->PStimulus()->SetPage(STIM_PAGE::CALIB_FAILED); this->EventLog(_T("Calibration failed.")); break; case (int)ECTMSG::STIM_START: // �����J�n if (_AppStatus == APP_STATUS::IDLE) { _AppStatus = APP_STATUS::STIM; - _pEct->PStimulus()->SetPage(STIM_PAGE::START); + ((BaseProcess*)_pEct->PStimulus())->Tell(ECTMSG::STIM_START); this->EventLog(_T("Stimulation start.")); } break; case (int)ECTMSG::STIM_STOP: // ������~ if (_AppStatus == APP_STATUS::STIM) { - _pEct->PStimulus()->SetPage(STIM_PAGE::STOP); _AppStatus = APP_STATUS::IDLE; + ((BaseProcess*)_pEct->PStimulus())->Tell(ECTMSG::STIM_STOP); this->EventLog(_T("Stimulation stop.")); } break; + case (int)ECTMSG::STIM_END: // ������~ + if (_AppStatus == APP_STATUS::STIM) { + _AppStatus = APP_STATUS::IDLE; + ((BaseProcess*)_pEct->PStimulus())->Tell(ECTMSG::STIM_STOP); + this->EventLog(_T("Stimulation end.")); + } + break; } return true; }