diff options
| author | Carl Hetherington <cth@carlh.net> | 2018-07-26 17:58:06 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2018-07-26 17:58:06 +0100 |
| commit | c8b10d5eac6006b62d2a7add9da0c6206b72899b (patch) | |
| tree | 1dfdac2193d23f4399acb0d12fea4f282e919bc9 /src/lib/hints.h | |
| parent | 573e3f56af070750a755940203cd971c12928bc3 (diff) | |
Background-threaded hints including line length of CCAPs.
Diffstat (limited to 'src/lib/hints.h')
| -rw-r--r-- | src/lib/hints.h | 32 |
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; +}; |
