projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Logging improvements to allow prettier displays in the server GUI.
[dcpomatic.git]
/
src
/
lib
/
analyse_audio_job.cc
diff --git
a/src/lib/analyse_audio_job.cc
b/src/lib/analyse_audio_job.cc
index c863c6c68529366bb6403b0b2222cf662fc95cff..525ac6c911d9940fb0eb09ece3c2a344cda3d7b0 100644
(file)
--- a/
src/lib/analyse_audio_job.cc
+++ b/
src/lib/analyse_audio_job.cc
@@
-26,6
+26,7
@@
#include "player.h"
#include "playlist.h"
#include <boost/foreach.hpp>
#include "player.h"
#include "playlist.h"
#include <boost/foreach.hpp>
+#include <iostream>
#include "i18n.h"
#include "i18n.h"
@@
-73,8
+74,12
@@
AnalyseAudioJob::run ()
shared_ptr<Player> player (new Player (_film, _playlist));
player->set_ignore_video ();
player->set_fast ();
shared_ptr<Player> player (new Player (_film, _playlist));
player->set_ignore_video ();
player->set_fast ();
+ player->set_play_referenced ();
- int64_t const len = _playlist->length().frames_round (_film->audio_frame_rate());
+ DCPTime const start = _playlist->start().get_value_or (DCPTime ());
+ DCPTime const length = _playlist->length ();
+
+ Frame const len = DCPTime (length - start).frames_round (_film->audio_frame_rate());
_samples_per_point = max (int64_t (1), len / _num_points);
delete[] _current;
_samples_per_point = max (int64_t (1), len / _num_points);
delete[] _current;
@@
-91,9
+96,9
@@
AnalyseAudioJob::run ()
if (has_any_audio) {
_done = 0;
DCPTime const block = DCPTime::from_seconds (1.0 / 8);
if (has_any_audio) {
_done = 0;
DCPTime const block = DCPTime::from_seconds (1.0 / 8);
- for (DCPTime t
; t < _film->length()
; t += block) {
+ for (DCPTime t
= start; t < length
; t += block) {
analyse (player->get_audio (t, block, false));
analyse (player->get_audio (t, block, false));
- set_progress (
t.seconds() / _film->length().seconds(
));
+ set_progress (
(t.seconds() - start.seconds()) / (length.seconds() - start.seconds()
));
}
}
}
}