Cleanup: stack-allocated dialogs.
[dcpomatic.git] / src / wx / audio_dialog.h
index a202ad65b1d6be3ef0bf9c81be3cd51730b13caf..f0cf0606bbf1b56b02c8d403da74d665f2b11a80 100644 (file)
@@ -20,6 +20,7 @@
 
 
 #include "lib/audio_analysis.h"
+#include "lib/constants.h"
 #include "lib/film.h"
 #include "lib/playlist.h"
 #include <dcp/warnings.h>
@@ -30,6 +31,7 @@ LIBDCP_ENABLE_WARNINGS
 
 
 class AudioPlot;
+class CheckBox;
 class FilmViewer;
 class Film;
 
@@ -37,7 +39,7 @@ class Film;
 class AudioDialog : public wxDialog
 {
 public:
-       AudioDialog (wxWindow* parent, std::shared_ptr<Film> film, std::weak_ptr<FilmViewer> viewer, std::shared_ptr<Content> content = std::shared_ptr<Content>());
+       AudioDialog(wxWindow* parent, std::shared_ptr<Film> film, FilmViewer& viewer, std::shared_ptr<Content> content = std::shared_ptr<Content>());
 
        bool Show (bool show = true) override;
 
@@ -56,7 +58,6 @@ private:
 
        std::shared_ptr<AudioAnalysis> _analysis;
        std::weak_ptr<Film> _film;
-       std::weak_ptr<FilmViewer> _viewer;
        /** content to analyse, or 0 to analyse all the film's content */
        std::weak_ptr<Content> _content;
        int _channels;
@@ -68,8 +69,8 @@ private:
        wxStaticText* _integrated_loudness;
        wxStaticText* _loudness_range;
        wxStaticText* _leqm;
-       wxCheckBox* _channel_checkbox[MAX_DCP_AUDIO_CHANNELS];
-       wxCheckBox* _type_checkbox[AudioPoint::COUNT];
+       CheckBox* _channel_checkbox[MAX_DCP_AUDIO_CHANNELS];
+       CheckBox* _type_checkbox[AudioPoint::COUNT];
        wxSlider* _smoothing;
        boost::signals2::scoped_connection _film_connection;
        boost::signals2::scoped_connection _film_content_connection;