summaryrefslogtreecommitdiff
path: root/src/lib/hints.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2018-07-26 17:58:06 +0100
committerCarl Hetherington <cth@carlh.net>2018-07-26 17:58:06 +0100
commitc8b10d5eac6006b62d2a7add9da0c6206b72899b (patch)
tree1dfdac2193d23f4399acb0d12fea4f282e919bc9 /src/lib/hints.h
parent573e3f56af070750a755940203cd971c12928bc3 (diff)
Background-threaded hints including line length of CCAPs.
Diffstat (limited to 'src/lib/hints.h')
-rw-r--r--src/lib/hints.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/src/lib/hints.h b/src/lib/hints.h
index 3a6850860..ad66fb472 100644
--- a/src/lib/hints.h
+++ b/src/lib/hints.h
@@ -18,10 +18,38 @@
*/
-#include <boost/shared_ptr.hpp>
+#include "signaller.h"
+#include "player_text.h"
+#include "types.h"
+#include "dcpomatic_time.h"
+#include <boost/weak_ptr.hpp>
+#include <boost/signals2.hpp>
#include <vector>
#include <string>
class Film;
-std::vector<std::string> get_hints (boost::shared_ptr<const Film> film);
+class Hints : public Signaller
+{
+public:
+ Hints (boost::weak_ptr<const Film> film);
+ ~Hints ();
+
+ void start ();
+
+ boost::signals2::signal<void (std::string)> Hint;
+ boost::signals2::signal<void (std::string)> Progress;
+ boost::signals2::signal<void (void)> Pulse;
+ boost::signals2::signal<void (void)> Finished;
+
+private:
+ void thread ();
+ void stop_thread ();
+ void hint (std::string h);
+ void text (PlayerText text, TextType type, DCPTimePeriod period);
+
+ boost::weak_ptr<const Film> _film;
+ boost::thread* _thread;
+
+ bool _long_ccap;
+};