Add unbound audio API selection choice.
[dcpomatic.git] / src / wx / config_dialog.h
index eade690437e2b19456b8631ee7bd575f6ba8d593..c43d29ff7da25751125076dda1f1321856d520a7 100644 (file)
 #include "lib/log.h"
 #include "lib/ratio.h"
 #include "lib/util.h"
-#include "lib/warnings.h"
 #include <dcp/certificate_chain.h>
 #include <dcp/exceptions.h>
 #include <dcp/locale_convert.h>
-DCPOMATIC_DISABLE_WARNINGS
+#include <dcp/warnings.h>
+LIBDCP_DISABLE_WARNINGS
 #include <wx/filepicker.h>
 #include <wx/preferences.h>
 #include <wx/spinctrl.h>
 #include <wx/stdpaths.h>
 #include <RtAudio.h>
-DCPOMATIC_ENABLE_WARNINGS
+LIBDCP_ENABLE_WARNINGS
 #include <boost/filesystem.hpp>
-#include <iostream>
 
 
 class AudioMappingView;
+class CheckBox;
+class Choice;
+class FilmViewer;
 
 
 class Page : public wxPreferencesPage
@@ -89,7 +91,7 @@ public:
 #ifdef DCPOMATIC_OSX
        wxBitmap GetLargeIcon () const override
        {
-               return wxBitmap(bitmap_path("general"), wxBITMAP_TYPE_PNG);
+               return wxBitmap(icon_path("general"), wxBITMAP_TYPE_PNG);
        }
 #endif
 
@@ -105,10 +107,10 @@ private:
        void check_for_updates_changed ();
        void check_for_test_updates_changed ();
 
-       wxCheckBox* _set_language;
+       CheckBox* _set_language;
        wxChoice* _language;
-       wxCheckBox* _check_for_updates;
-       wxCheckBox* _check_for_test_updates;
+       CheckBox* _check_for_updates;
+       CheckBox* _check_for_test_updates;
 };
 
 
@@ -167,7 +169,7 @@ public:
 #ifdef DCPOMATIC_OSX
        wxBitmap GetLargeIcon () const override
        {
-               return wxBitmap(bitmap_path("keys"), wxBITMAP_TYPE_PNG);
+               return wxBitmap(icon_path("keys"), wxBITMAP_TYPE_PNG);
        }
 #endif
 
@@ -189,8 +191,9 @@ private:
 class SoundPage : public Page
 {
 public:
-       SoundPage (wxSize panel_size, int border)
+       SoundPage(wxSize panel_size, int border, FilmViewer* viewer)
                : Page (panel_size, border)
+               , _viewer(viewer)
        {}
 
        wxString GetName() const override;
@@ -198,7 +201,7 @@ public:
 #ifdef DCPOMATIC_OSX
        wxBitmap GetLargeIcon () const override
        {
-               return wxBitmap(bitmap_path("sound"), wxBITMAP_TYPE_PNG);
+               return wxBitmap(icon_path("sound"), wxBITMAP_TYPE_PNG);
        }
 #endif
 
@@ -206,18 +209,21 @@ private:
 
        void setup () override;
        void config_changed () override;
-        boost::optional<std::string> get_sound_output ();
+        boost::optional<std::string> get_sound_api() const;
+        boost::optional<std::string> get_sound_output() const;
        void sound_changed ();
        void sound_output_changed ();
        void setup_sensitivity ();
        void map_changed (AudioMapping m);
        void reset_to_default ();
 
-       wxCheckBox* _sound;
+       CheckBox* _sound;
+       Choice* _sound_api;
        wxChoice* _sound_output;
        wxStaticText* _sound_output_details;
        AudioMappingView* _map;
        Button* _reset_to_default;
+       FilmViewer* _viewer;
 };