Rename Encoder -> FilmEncoder, and subclasses.
[dcpomatic.git] / src / wx / film_viewer.h
index 1fa85a621c9fb85e30e8fa20fe71cf13a505d54d..63aa113d1cafbf2e43b3ec2922a665f44f75de62 100644 (file)
 
 
 #include "video_view.h"
+#include "lib/change_signaller.h"
 #include "lib/config.h"
-#include "lib/film.h"
+#include "lib/film_property.h"
+#include "lib/player.h"
 #include "lib/player_text.h"
 #include "lib/signaller.h"
 #include "lib/timer.h"
@@ -162,20 +164,29 @@ private:
        void player_change (std::vector<int> properties);
        void idle_handler ();
        void request_idle_display_next_frame ();
-       void film_change (ChangeType, Film::Property);
-       void recreate_butler ();
+       void film_change(ChangeType, FilmProperty);
+       void destroy_butler();
+       void create_butler();
+       void destroy_and_maybe_create_butler();
        void config_changed (Config::Property);
        void film_length_change ();
        void ui_finished ();
        void start_audio_stream_if_open ();
 
+#if (RTAUDIO_VERSION_MAJOR >= 6)
+       void rtaudio_error_callback(std::string const& error);
+       mutable boost::mutex _last_rtaudio_error_mutex;
+       std::string _last_rtaudio_error;
+       std::string last_rtaudio_error() const;
+#endif
+
        dcpomatic::DCPTime uncorrected_time () const;
        Frame average_latency () const;
 
        bool quick_refresh ();
 
        std::shared_ptr<Film> _film;
-       std::shared_ptr<Player> _player;
+       boost::optional<Player> _player;
 
        std::shared_ptr<VideoView> _video_view;
        bool _coalesce_player_changes = false;