Fix content properties (#1428).
[dcpomatic.git] / src / lib / analyse_audio_job.cc
index b96c7047b727007b8f5799c9b9da2e4dd4c83e9c..ad2606d84bbab3dbda3031c963fd42b1dc8c3553 100644 (file)
@@ -92,7 +92,7 @@ AnalyseAudioJob::~AnalyseAudioJob ()
 string
 AnalyseAudioJob::name () const
 {
-       return _("Analyse audio");
+       return _("Analysing audio");
 }
 
 string
@@ -106,12 +106,12 @@ AnalyseAudioJob::run ()
 {
        shared_ptr<Player> player (new Player (_film, _playlist));
        player->set_ignore_video ();
-       player->set_ignore_subtitle ();
+       player->set_ignore_text ();
        player->set_fast ();
        player->set_play_referenced ();
        player->Audio.connect (bind (&AnalyseAudioJob::analyse, this, _1, _2));
 
-       DCPTime const length = _playlist->length ();
+       DCPTime const length = _playlist->length (_film);
 
        Frame const len = DCPTime (length - _start).frames_round (_film->audio_frame_rate());
        _samples_per_point = max (int64_t (1), len / _num_points);
@@ -159,10 +159,13 @@ AnalyseAudioJob::run ()
                   gain was when we analysed it.
                */
                shared_ptr<const AudioContent> ac = _playlist->content().front()->audio;
-               DCPOMATIC_ASSERT (ac);
-               _analysis->set_analysis_gain (ac->gain ());
+               if (ac) {
+                       _analysis->set_analysis_gain (ac->gain());
+               }
        }
 
+       _analysis->set_samples_per_point (_samples_per_point);
+       _analysis->set_sample_rate (_film->audio_frame_rate ());
        _analysis->write (_film->audio_analysis_path (_playlist));
 
        set_progress (1);
@@ -211,6 +214,6 @@ AnalyseAudioJob::analyse (shared_ptr<const AudioBuffers> b, DCPTime time)
 
        _done += frames;
 
-       DCPTime const length = _playlist->length ();
+       DCPTime const length = _playlist->length (_film);
        set_progress ((time.seconds() - _start.seconds()) / (length.seconds() - _start.seconds()));
 }