Commit 408d060eeacdddc9febfb07a13b2d3f671cfefbd
Merge pull request #150 from biometrics/progressin
Progressin
Showing
3 changed files
with
13 additions
and
25 deletions
openbr/core/core.cpp
| ... | ... | @@ -148,9 +148,11 @@ struct AlgorithmCore |
| 148 | 148 | if (data.empty()) |
| 149 | 149 | return files; |
| 150 | 150 | |
| 151 | + // Store totalSteps for ProgressCounter | |
| 152 | + Globals->totalSteps = data.length(); | |
| 153 | + | |
| 151 | 154 | // Trust me, this makes complete sense. |
| 152 | 155 | // We're just going to make a pipe with a placeholder first transform |
| 153 | - Globals->totalSteps = data.length(); | |
| 154 | 156 | QString pipeDesc = "Identity+GalleryOutput("+gallery.flat()+")+ProgressCounter("+QString::number(data.length())+")+Discard"; |
| 155 | 157 | QScopedPointer<Transform> basePipe(Transform::make(pipeDesc,NULL)); |
| 156 | 158 | ... | ... |
openbr/gui/progress.cpp
| ... | ... | @@ -26,7 +26,7 @@ br::Progress::Progress(QWidget *parent) |
| 26 | 26 | void br::Progress::checkProgress() |
| 27 | 27 | { |
| 28 | 28 | const int progress = 100 * br_progress(); |
| 29 | - const bool visible = progress >= 0; | |
| 29 | + const bool visible = progress >= 0 && progress < 100; | |
| 30 | 30 | |
| 31 | 31 | if (visible) { |
| 32 | 32 | showMessage(br_most_recent_message()); | ... | ... |
openbr/plugins/misc.cpp
| ... | ... | @@ -514,28 +514,20 @@ class ProgressCounterTransform : public TimeVaryingTransform |
| 514 | 514 | void projectUpdate(const TemplateList &src, TemplateList &dst) |
| 515 | 515 | { |
| 516 | 516 | dst = src; |
| 517 | - qint64 elapsed = timer.elapsed(); | |
| 518 | - calls++; | |
| 519 | - set_calls++; | |
| 520 | - // updated every 10 seconds | |
| 521 | - if (elapsed > 5 * 1000) { | |
| 522 | - float f_elapsed = elapsed / 1000.0f; | |
| 523 | - // remaining calls (according to our input variable) | |
| 524 | - int remaining = totalTemplates - calls; | |
| 525 | - // calls / second | |
| 526 | - float speed = set_calls / f_elapsed; | |
| 527 | 517 | |
| 528 | - float p = 100 * float(calls) / totalTemplates; | |
| 518 | + qint64 elapsed = timer.elapsed(); | |
| 529 | 519 | |
| 530 | - // seconds remaining | |
| 531 | - int s = float(remaining) / speed; | |
| 520 | + // updated every second | |
| 521 | + if (elapsed > 1000) { | |
| 522 | + float p = br_progress(); | |
| 523 | + int s = br_time_remaining(); | |
| 532 | 524 | |
| 533 | - fprintf(stderr, "%05.2f%% ELAPSED=%s REMAINING=%s COUNT=%g \r", p, QtUtils::toTime(Globals->startTime.elapsed()/1000.0f).toStdString().c_str(), QtUtils::toTime(s).toStdString().c_str(), float(calls)); | |
| 525 | + fprintf(stderr, "%05.2f%% ELAPSED=%s REMAINING=%s COUNT=%g \r", p, QtUtils::toTime(Globals->startTime.elapsed()/1000.0f).toStdString().c_str(), QtUtils::toTime(s).toStdString().c_str(), Globals->currentStep); | |
| 534 | 526 | |
| 535 | 527 | timer.start(); |
| 536 | - set_calls = 0; | |
| 537 | 528 | } |
| 538 | 529 | |
| 530 | + Globals->currentStep++; | |
| 539 | 531 | |
| 540 | 532 | return; |
| 541 | 533 | } |
| ... | ... | @@ -548,24 +540,18 @@ class ProgressCounterTransform : public TimeVaryingTransform |
| 548 | 540 | void finalize(TemplateList & data) |
| 549 | 541 | { |
| 550 | 542 | (void) data; |
| 551 | - float p = 100 * float(calls) / totalTemplates; | |
| 552 | - qDebug("%05.2f%% ELAPSED=%s REMAINING=%s COUNT=%g \r", p, QtUtils::toTime(Globals->startTime.elapsed()/1000.0f).toStdString().c_str(), QtUtils::toTime(0).toStdString().c_str(), float(calls)); | |
| 543 | + float p = br_progress(); | |
| 544 | + qDebug("%05.2f%% ELAPSED=%s REMAINING=%s COUNT=%g \r", p, QtUtils::toTime(Globals->startTime.elapsed()/1000.0f).toStdString().c_str(), QtUtils::toTime(0).toStdString().c_str(), Globals->currentStep); | |
| 553 | 545 | } |
| 554 | 546 | |
| 555 | 547 | void init() |
| 556 | 548 | { |
| 557 | - calls = 0; | |
| 558 | - set_calls = 0; | |
| 559 | 549 | timer.start(); |
| 560 | 550 | } |
| 561 | 551 | |
| 562 | 552 | public: |
| 563 | 553 | ProgressCounterTransform() : TimeVaryingTransform(false,false) {} |
| 564 | - bool initialized; | |
| 565 | 554 | QElapsedTimer timer; |
| 566 | - qint64 calls; | |
| 567 | - qint64 set_calls; | |
| 568 | - | |
| 569 | 555 | }; |
| 570 | 556 | |
| 571 | 557 | BR_REGISTER(Transform, ProgressCounterTransform) | ... | ... |