Label tweak to point out that J2K bandwidth setting only
[dcpomatic.git] / src / wx / dcp_panel.cc
index 66a0842596cd50d1c85ab544ab8e59c6ac3e71c1..7d1d2497a3eaca2d5be5d3eeb41e54fb3e4937c3 100644 (file)
@@ -34,8 +34,8 @@
 #include "lib/subtitle_content.h"
 #include "lib/dcp_content.h"
 #include "lib/audio_content.h"
+#include <dcp/locale_convert.h>
 #include <dcp/key.h>
-#include <dcp/raw_convert.h>
 #include <wx/wx.h>
 #include <wx/notebook.h>
 #include <wx/gbsizer.h>
@@ -53,6 +53,7 @@ using std::max;
 using std::make_pair;
 using boost::lexical_cast;
 using boost::shared_ptr;
+using dcp::locale_convert;
 
 DCPPanel::DCPPanel (wxNotebook* n, boost::shared_ptr<Film> film)
        : _audio_dialog (0)
@@ -275,7 +276,7 @@ DCPPanel::audio_channels_changed ()
                return;
        }
 
-       _film->set_audio_channels (dcp::raw_convert<int> (string_client_data (_audio_channels->GetClientObject (_audio_channels->GetSelection ()))));
+       _film->set_audio_channels (locale_convert<int> (string_client_data (_audio_channels->GetClientObject (_audio_channels->GetSelection ()))));
 }
 
 void
@@ -386,7 +387,7 @@ DCPPanel::film_changed (int p)
                if (_film->audio_channels () < minimum_allowed_audio_channels ()) {
                        _film->set_audio_channels (minimum_allowed_audio_channels ());
                } else {
-                       checked_set (_audio_channels, dcp::raw_convert<string> (max (minimum_allowed_audio_channels(), _film->audio_channels ())));
+                       checked_set (_audio_channels, locale_convert<string> (max (minimum_allowed_audio_channels(), _film->audio_channels ())));
                        setup_dcp_name ();
                }
                break;
@@ -404,7 +405,7 @@ DCPPanel::film_changed (int p)
                } else {
                        checked_set (_audio_processor, 0);
                }
-               setup_audio_channels_choice ();
+               setup_audio_channels_choice (_audio_channels, minimum_allowed_audio_channels ());
                film_changed (Film::AUDIO_CHANNELS);
                break;
        case Film::REEL_TYPE:
@@ -496,6 +497,12 @@ DCPPanel::dcp_content_type_changed ()
 void
 DCPPanel::set_film (shared_ptr<Film> film)
 {
+       /* We are changing film, so destroy any audio dialog for the old one */
+       if (_audio_dialog) {
+               _audio_dialog->Destroy ();
+               _audio_dialog = 0;
+       }
+
        _film = film;
 
        film_changed (Film::NAME);
@@ -580,6 +587,7 @@ void
 DCPPanel::setup_dcp_name ()
 {
        _dcp_name->SetLabel (std_to_wx (_film->dcp_name (true)));
+       _dcp_name->SetToolTip (std_to_wx (_film->dcp_name (true)));
 }
 
 void
@@ -669,7 +677,7 @@ DCPPanel::make_video_panel ()
        ++r;
 
        {
-               add_label_to_sizer (grid, panel, _("JPEG2000 bandwidth"), true, wxGBPosition (r, 0));
+               add_label_to_sizer (grid, panel, _("JPEG2000 bandwidth\nfor newly-encoded data"), true, wxGBPosition (r, 0));
                wxSizer* s = new wxBoxSizer (wxHORIZONTAL);
                _j2k_bandwidth = new wxSpinCtrl (panel, wxID_ANY);
                s->Add (_j2k_bandwidth, 1);
@@ -722,17 +730,6 @@ DCPPanel::minimum_allowed_audio_channels () const
        return min;
 }
 
-void
-DCPPanel::setup_audio_channels_choice ()
-{
-       vector<pair<string, string> > items;
-       for (int i = minimum_allowed_audio_channels(); i <= 16; i += 2) {
-               items.push_back (make_pair (dcp::raw_convert<string> (i), dcp::raw_convert<string> (i)));
-       }
-
-       checked_set (_audio_channels, items);
-}
-
 wxPanel *
 DCPPanel::make_audio_panel ()
 {
@@ -746,7 +743,7 @@ DCPPanel::make_audio_panel ()
 
        add_label_to_sizer (grid, panel, _("Channels"), true, wxGBPosition (r, 0));
        _audio_channels = new wxChoice (panel, wxID_ANY);
-       setup_audio_channels_choice ();
+       setup_audio_channels_choice (_audio_channels, minimum_allowed_audio_channels ());
        grid->Add (_audio_channels, wxGBPosition (r, 1));
        ++r;