/*
- Copyright (C) 2018-2020 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2018-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
-#include "shuffler.h"
+
#include "content_video.h"
#include "dcpomatic_assert.h"
#include "dcpomatic_log.h"
+#include "shuffler.h"
#include <string>
#include <iostream>
+
using std::make_pair;
+using std::shared_ptr;
using std::string;
using std::weak_ptr;
-using std::shared_ptr;
using boost::optional;
+
int const Shuffler::_max_size = 64;
-struct Comparator
-{
- bool operator()(Shuffler::Store const & a, Shuffler::Store const & b) {
- if (a.second.frame != b.second.frame) {
- return a.second.frame < b.second.frame;
- }
- return a.second.eyes < b.second.eyes;
- }
-};
void
Shuffler::video (weak_ptr<Piece> weak_piece, ContentVideo video)
return;
}
- shared_ptr<Piece> piece = weak_piece.lock ();
+ auto piece = weak_piece.lock ();
DCPOMATIC_ASSERT (piece);
if (!_last && video.eyes == Eyes::LEFT) {
}
_store.push_back (make_pair (weak_piece, video));
- _store.sort (Comparator());
+ _store.sort ([](Shuffler::Store const & a, Shuffler::Store const & b) {
+ if (a.second.frame != b.second.frame) {
+ return a.second.frame < b.second.frame;
+ }
+ return a.second.eyes < b.second.eyes;
+ });
while (true) {
}
}
+
void
Shuffler::clear ()
{
_last = optional<ContentVideo>();
}
+
void
Shuffler::flush ()
{