void ascend ();
void descend (float);
float overall_progress () const;
+ bool progress_unknown () const {
+ return _progress_unknown;
+ }
boost::signals2::signal<void()> Progress;
/** Emitted from the UI thread when the job is finished */
/* Read the frame info as written */
ifstream ifi (_film->info_path (f, eyes).c_str());
libdcp::FrameInfo info (ifi);
+ if (info.size == 0) {
+ _film->log()->log (String::compose ("Existing frame %1 has no info file", f));
+ return false;
+ }
/* Read the data from the MXF and hash it */
fseek (mxf, info.offset, SEEK_SET);
, _window (window)
, _panel (panel)
, _table (table)
- , _needs_pulse (false)
{
int n = 0;
void maybe_pulse ()
{
- if (_job->running() && _needs_pulse) {
+ if (_job->running() && _job->progress_unknown ()) {
_gauge->Pulse ();
}
-
- _needs_pulse = true;
}
private:
if (p >= 0) {
checked_set (_message, _job->status ());
_gauge->SetValue (p * 100);
- _needs_pulse = false;
}
_table->Layout ();
wxButton* _cancel;
wxButton* _pause;
wxButton* _details;
- bool _needs_pulse;
};
/** Must be called in the GUI thread */