key input controls
This commit is contained in:
@@ -36,13 +36,16 @@
|
||||
|
||||
// this is the main threaded loop for a given analysis
|
||||
void AbstractAnalysis::do_synthesize() {
|
||||
_saved_filenames.clear();
|
||||
_state = STATE_ACQUIRING;
|
||||
acquire();
|
||||
if(_state == STATE_STOP) goto exit;
|
||||
_state = STATE_SYNTHESISING;
|
||||
synthesise();
|
||||
if(_state == STATE_STOP) goto exit;
|
||||
_state = STATE_DISPLAY_RESULTS;
|
||||
displayresults();
|
||||
|
||||
exit:
|
||||
ofNotifyEvent(_synthesize_cb, _name);
|
||||
}
|
||||
|
||||
|
||||
@@ -21,19 +21,23 @@ public:
|
||||
|
||||
void start()
|
||||
{
|
||||
_stopping = false;
|
||||
_runnable = new RunnableAdapter<AbstractAnalysis>(*_analysis, &AbstractAnalysis::do_synthesize);
|
||||
_worker.start(*_runnable);
|
||||
}
|
||||
|
||||
void stop()
|
||||
{
|
||||
if(_stopping) return;
|
||||
_stopping = true;
|
||||
_analysis->_state = STATE_STOP;
|
||||
_worker.join();
|
||||
_worker.join();
|
||||
}
|
||||
|
||||
protected:
|
||||
AbstractAnalysis* _analysis;
|
||||
Thread _worker; //
|
||||
RunnableAdapter<AbstractAnalysis>* _runnable;
|
||||
RunnableAdapter<AbstractAnalysis>* _runnable;
|
||||
bool _stopping;
|
||||
};
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ void CamNoiseAnalysis::acquire()
|
||||
|
||||
_frame_cnt = 0; _save_cnt = 0; _anim_cnt = 0;
|
||||
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
save_timer->stop();
|
||||
@@ -77,7 +77,7 @@ void CamNoiseAnalysis::acquire()
|
||||
void CamNoiseAnalysis::synthesise()
|
||||
{
|
||||
// _saved_filenames has all the file names of all the saved images
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
}
|
||||
|
||||
@@ -65,7 +65,7 @@ void ColorMultiAnalysis::acquire()
|
||||
|
||||
_frame_cnt = 0; _save_cnt = 0; _anim_cnt = 0;
|
||||
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
save_timer->stop();
|
||||
@@ -77,6 +77,8 @@ void ColorMultiAnalysis::acquire()
|
||||
void ColorMultiAnalysis::synthesise()
|
||||
{
|
||||
// _saved_filenames has all the file names of all the saved images
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
}
|
||||
|
||||
void ColorMultiAnalysis::displayresults()
|
||||
@@ -84,6 +86,8 @@ void ColorMultiAnalysis::displayresults()
|
||||
|
||||
for(float i=1;i<_saved_filenames.size();i++){
|
||||
|
||||
if(_state == STATE_STOP) return;
|
||||
|
||||
cout << "_saved_filenames[i]" << _saved_filenames[i] << endl;
|
||||
|
||||
while(!_image_shown){
|
||||
|
||||
@@ -73,7 +73,7 @@ void ColorSingleAnalysis::acquire()
|
||||
|
||||
_frame_cnt = 0; _save_cnt = 0; _anim_cnt = 0;
|
||||
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
save_timer->stop();
|
||||
@@ -84,7 +84,7 @@ void ColorSingleAnalysis::acquire()
|
||||
void ColorSingleAnalysis::synthesise()
|
||||
{
|
||||
// _saved_filenames has all the file names of all the saved images
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
}
|
||||
|
||||
@@ -93,6 +93,8 @@ void ColorSingleAnalysis::displayresults()
|
||||
|
||||
for(float i=1;i<_saved_filenames.size();i++){
|
||||
|
||||
if(_state == STATE_STOP) return;
|
||||
|
||||
cout << "_saved_filenames[i]" << _saved_filenames[i] << endl;
|
||||
|
||||
while(!_image_shown){
|
||||
|
||||
@@ -65,7 +65,7 @@ void DiffNoiseAnalysis::acquire()
|
||||
|
||||
_frame_cnt = 0; _save_cnt = 0; _anim_cnt = 0;
|
||||
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
save_timer->stop();
|
||||
@@ -75,7 +75,7 @@ void DiffNoiseAnalysis::acquire()
|
||||
void DiffNoiseAnalysis::synthesise()
|
||||
{
|
||||
// _saved_filenames has all the file names of all the saved images
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
}
|
||||
@@ -85,6 +85,8 @@ void DiffNoiseAnalysis::displayresults()
|
||||
|
||||
for(float i=1;i<_saved_filenames.size();i++){
|
||||
|
||||
if(_state == STATE_STOP) return;
|
||||
|
||||
cout << "_saved_filenames[i]" << _saved_filenames[i] << endl;
|
||||
|
||||
while(!_image_shown){
|
||||
|
||||
@@ -61,7 +61,7 @@ void IResponseAnalysis::acquire()
|
||||
_RUN_DONE = false;
|
||||
_frame_cnt = 0; _save_cnt = 0; _anim_cnt = 0;
|
||||
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
save_timer->stop();
|
||||
@@ -74,7 +74,7 @@ void IResponseAnalysis::acquire()
|
||||
void IResponseAnalysis::synthesise()
|
||||
{
|
||||
// _saved_filenames has all the file names of all the saved images
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
}
|
||||
|
||||
@@ -84,6 +84,8 @@ void IResponseAnalysis::displayresults()
|
||||
|
||||
for(float i=1;i<_saved_filenames.size();i++){
|
||||
|
||||
if(_state == STATE_STOP) return;
|
||||
|
||||
cout << "_saved_filenames[i]" << _saved_filenames[i] << endl;
|
||||
|
||||
while(!_image_shown){
|
||||
|
||||
@@ -61,7 +61,7 @@ void RelaxRateAnalysis::acquire()
|
||||
_RUN_DONE = false;
|
||||
_frame_cnt = 0; _save_cnt = 0; _anim_cnt = 0;
|
||||
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
save_timer->stop();
|
||||
@@ -74,7 +74,7 @@ void RelaxRateAnalysis::synthesise()
|
||||
{
|
||||
|
||||
// _saved_filenames has all the file names of all the saved images
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
}
|
||||
@@ -84,6 +84,8 @@ void RelaxRateAnalysis::displayresults()
|
||||
|
||||
for(float i=1;i<_saved_filenames.size();i++){
|
||||
|
||||
if(_state == STATE_STOP) return;
|
||||
|
||||
cout << "_saved_filenames[i]" << _saved_filenames[i] << endl;
|
||||
|
||||
while(!_image_shown){
|
||||
|
||||
@@ -78,7 +78,7 @@ void ShapeFromShadingAnalysis::acquire()
|
||||
_animation_cnt16 = 0;
|
||||
_animation_reset = false; // coundn't get this to work - so using seperate counters - shitty!
|
||||
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
save_timer->stop();
|
||||
@@ -90,7 +90,7 @@ void ShapeFromShadingAnalysis::acquire()
|
||||
|
||||
void ShapeFromShadingAnalysis::synthesise()
|
||||
{
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
}
|
||||
|
||||
@@ -99,6 +99,8 @@ void ShapeFromShadingAnalysis::displayresults()
|
||||
|
||||
for(float i=1;i<_saved_filenames.size();i++){
|
||||
|
||||
if(_state == STATE_STOP) return;
|
||||
|
||||
cout << "_saved_filenames[i]" << _saved_filenames[i] << endl;
|
||||
|
||||
while(!_image_shown){
|
||||
|
||||
@@ -64,7 +64,7 @@ void StrobeAnalysis::acquire()
|
||||
|
||||
_frame_cnt = 0; _save_cnt = 0; _anim_cnt = 0; _strobe_cnt = 0;
|
||||
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
|
||||
save_timer->stop();
|
||||
@@ -76,7 +76,7 @@ void StrobeAnalysis::acquire()
|
||||
void StrobeAnalysis::synthesise()
|
||||
{
|
||||
// _saved_filenames has all the file names of all the saved images
|
||||
while(!_RUN_DONE)
|
||||
while(!_RUN_DONE && _state != STATE_STOP)
|
||||
Thread::sleep(3);
|
||||
}
|
||||
|
||||
@@ -85,6 +85,8 @@ void StrobeAnalysis::displayresults()
|
||||
|
||||
for(float i=1;i<_saved_filenames.size();i++){
|
||||
|
||||
if(_state == STATE_STOP) return;
|
||||
|
||||
cout << "_saved_filenames[i]" << _saved_filenames[i] << endl;
|
||||
|
||||
while(!_image_shown){
|
||||
|
||||
Reference in New Issue
Block a user