Logging improvements to allow prettier displays in the server GUI.
[dcpomatic.git] / src / lib / transcode_job.cc
index d16287111edaf098f3df86e7d7b86b472efc18cd..7d11d51a9589c474306068fbafd47f20eb05ed6f 100644 (file)
  *  @brief A job which transcodes from one format to another.
  */
 
-#include <iostream>
-#include <iomanip>
 #include "transcode_job.h"
 #include "film.h"
 #include "transcoder.h"
 #include "log.h"
 #include "safe_stringstream.h"
+#include "compose.hpp"
+#include <iostream>
+#include <iomanip>
 
 #include "i18n.h"
 
-#define LOG_GENERAL_NC(...) _film->log()->log (__VA_ARGS__, Log::TYPE_GENERAL);
-#define LOG_ERROR_NC(...)   _film->log()->log (__VA_ARGS__, Log::TYPE_ERROR);
+#define LOG_GENERAL_NC(...) _film->log()->log (__VA_ARGS__, LogEntry::TYPE_GENERAL);
+#define LOG_ERROR_NC(...)   _film->log()->log (__VA_ARGS__, LogEntry::TYPE_ERROR);
 
 using std::string;
 using std::fixed;
@@ -45,7 +46,7 @@ using boost::shared_ptr;
 TranscodeJob::TranscodeJob (shared_ptr<const Film> film)
        : Job (film)
 {
-       
+
 }
 
 string
@@ -99,9 +100,11 @@ TranscodeJob::status () const
 
        if (!finished () && !_transcoder->finishing ()) {
                /// TRANSLATORS: fps here is an abbreviation for frames per second
-               s << "; " << fixed << setprecision (1) << fps << " " << _("fps");
+               s << "; " << _transcoder->video_frames_out() << "/"
+                 << _film->length().frames_round (_film->video_frame_rate ()) << " " << _("frames") << "; "
+                 << fixed << setprecision (1) << fps << " " << _("fps");
        }
-       
+
        return s.str ();
 }
 
@@ -111,11 +114,11 @@ TranscodeJob::remaining_time () const
 {
        /* _transcoder might be destroyed by the job-runner thread */
        shared_ptr<Transcoder> t = _transcoder;
-       
+
        if (!t) {
                return 0;
        }
-       
+
        float fps = t->current_encoding_rate ();
 
        if (fps == 0) {
@@ -123,5 +126,5 @@ TranscodeJob::remaining_time () const
        }
 
        /* Compute approximate proposed length here, as it's only here that we need it */
-       return (_film->length().frames (_film->video_frame_rate ()) - t->video_frames_out()) / fps;
+       return (_film->length().frames_round (_film->video_frame_rate ()) - t->video_frames_out()) / fps;
 }