Accessor for ClosedCaptionsDialog.
[dcpomatic.git] / src / lib / hints.cc
index df29a333699de0cabee2f9588e1ac38aaae3148a..ad81e8d59eee1e7499e151c091e184c5d1f56331 100644 (file)
@@ -49,6 +49,7 @@ using boost::shared_ptr;
 using boost::weak_ptr;
 using boost::optional;
 using boost::bind;
+using namespace dcpomatic;
 
 Hints::Hints (weak_ptr<const Film> film)
        : _film (film)
@@ -116,7 +117,7 @@ Hints::thread ()
        }
 
        if (film->audio_channels() < 6) {
-               hint (_("Your DCP has fewer than 6 audio channels.  This may cause problems on some projectors."));
+               hint (_("Your DCP has fewer than 6 audio channels.  This may cause problems on some projectors.  You may want to set the DCP to have 6 channels.  It does not matter if your content has fewer channels, as DCP-o-matic will fill the extras with silence."));
        }
 
        AudioProcessor const * ap = film->audio_processor();
@@ -272,20 +273,24 @@ Hints::thread ()
        struct timeval last_pulse;
        gettimeofday (&last_pulse, 0);
 
-       while (!player->pass()) {
-
-               struct timeval now;
-               gettimeofday (&now, 0);
-               if ((seconds(now) - seconds(last_pulse)) > 1) {
-                       {
-                               boost::mutex::scoped_lock lm (_mutex);
-                               if (_stop) {
-                                       break;
+       try {
+               while (!player->pass()) {
+
+                       struct timeval now;
+                       gettimeofday (&now, 0);
+                       if ((seconds(now) - seconds(last_pulse)) > 1) {
+                               {
+                                       boost::mutex::scoped_lock lm (_mutex);
+                                       if (_stop) {
+                                               break;
+                                       }
                                }
+                               emit (bind (boost::ref(Pulse)));
+                               last_pulse = now;
                        }
-                       emit (bind (boost::ref(Pulse)));
-                       last_pulse = now;
                }
+       } catch (...) {
+               store_current ();
        }
 
        emit (bind(boost::ref(Finished)));