Hints::Hints (weak_ptr<const Film> film)
: _film (film)
- , _thread (0)
, _long_ccap (false)
, _overlap_ccap (false)
, _too_many_ccap_lines (false)
void
Hints::start ()
{
- _thread = new boost::thread (bind(&Hints::thread, this));
+ _thread = boost::thread (bind(&Hints::thread, this));
}
Hints::~Hints ()
{
- if (!_thread) {
+ if (!_thread.joinable()) {
return;
}
try {
- {
- boost::mutex::scoped_lock lm (_mutex);
- _stop = true;
- }
- _thread->interrupt ();
- _thread->join ();
+ _stop = true;
+ _thread.interrupt ();
+ _thread.join ();
} catch (...) {
}
-
- delete _thread;
}
void
int scope = 0;
BOOST_FOREACH (shared_ptr<const Content> i, content) {
if (i->video) {
- Ratio const * r = i->video->scale().ratio ();
+ Ratio const * r = Ratio::nearest_from_ratio(i->video->scaled_size(film->frame_size()).ratio());
if (r && r->id() == "239") {
++scope;
} else if (r && r->id() != "239" && r->id() != "190") {
for (size_t i = 0; i < sample_peak.size(); ++i) {
float const peak = max (sample_peak[i].peak, true_peak.empty() ? 0 : true_peak[i]);
- float const peak_dB = 20 * log10 (peak) + an->gain_correction (film->playlist ());
+ float const peak_dB = linear_to_db(peak) + an->gain_correction(film->playlist());
if (peak_dB > -3) {
ch += dcp::raw_convert<string> (short_audio_channel_name (i)) + ", ";
}
emit (bind(boost::ref(Progress), _("Examining closed captions")));
- shared_ptr<Player> player (new Player (film, film->playlist ()));
+ shared_ptr<Player> player (new Player(film));
player->set_ignore_video ();
player->set_ignore_audio ();
player->Text.connect (bind(&Hints::text, this, _1, _2, _4));
struct timeval now;
gettimeofday (&now, 0);
if ((seconds(now) - seconds(last_pulse)) > 1) {
- {
- boost::mutex::scoped_lock lm (_mutex);
- if (_stop) {
- break;
- }
+ if (_stop) {
+ break;
}
emit (bind (boost::ref(Pulse)));
last_pulse = now;