Allow Collators to have their language specified, and specify it for tests.
[dcpomatic.git] / src / lib / butler.h
index 79701d3701e16273e6decb93ad6d268b2b489de5..6bb0467af1f526ed5670dde6237511c47cc0f8df 100644 (file)
 */
 
 
+#ifndef DCPOMATIC_BUTLER_H
+#define DCPOMATIC_BUTLER_H
+
+
 #include "audio_mapping.h"
 #include "audio_ring_buffers.h"
 #include "change_signaller.h"
 #include "exception_store.h"
 #include "text_ring_buffers.h"
+#include "text_type.h"
 #include "video_ring_buffers.h"
 #include <boost/asio.hpp>
 #include <boost/signals2.hpp>
@@ -46,7 +51,7 @@ public:
 
        Butler (
                std::weak_ptr<const Film> film,
-               std::shared_ptr<Player> player,
+               Player& player,
                AudioMapping map,
                int audio_channels,
                std::function<AVPixelFormat (AVPixelFormat)> pixel_format,
@@ -101,7 +106,7 @@ private:
        void seek_unlocked (dcpomatic::DCPTime position, bool accurate);
 
        std::weak_ptr<const Film> _film;
-       std::shared_ptr<Player> _player;
+       Player& _player;
        boost::thread _thread;
 
        VideoRingBuffers _video;
@@ -136,7 +141,7 @@ private:
 
        /** true to ask PlayerVideo::prepare to only prepare the ImageProxy and not also
         *  the final image.  We want to do this when the viewer is intending to call
-        *  PlayerVideo::raw_image() and do the things in PlayerVideo::make_imgae() itself:
+        *  PlayerVideo::raw_image() and do the things in PlayerVideo::make_image() itself:
         *  this is the case for the GLVideoView which can do scale, pixfmt conversion etc.
         *  in the shader.
         */
@@ -152,3 +157,7 @@ private:
        boost::signals2::scoped_connection _player_text_connection;
        boost::signals2::scoped_connection _player_change_connection;
 };
+
+
+#endif
+