X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fconfig_dialog.cc;h=a6b299bcb6dd6c976baf59bdfda754fdef475d1f;hb=2a20226bd8e1f01af1af4cbf1ad4c8752959d6a8;hp=0a7e45221c83e3e9a232f6020afecd6954589af9;hpb=72d1f6694f032a6044a4b14ee9ad9cba2b9756f3;p=dcpomatic.git diff --git a/src/wx/config_dialog.cc b/src/wx/config_dialog.cc index 0a7e45221..a6b299bcb 100644 --- a/src/wx/config_dialog.cc +++ b/src/wx/config_dialog.cc @@ -23,6 +23,7 @@ #include "check_box.h" #include "nag_dialog.h" #include "dcpomatic_button.h" +#include using std::string; using std::vector; @@ -134,6 +135,7 @@ GeneralPage::add_language_controls (wxGridBagSizer* table, int& r) languages.push_back (make_pair ("Português do Brasil", "pt_BR")); languages.push_back (make_pair ("Svenska", "sv_SE")); languages.push_back (make_pair ("Slovenský jazyk", "sk_SK")); + languages.push_back (make_pair ("Türkçe", "tr_TR")); languages.push_back (make_pair ("українська мова", "uk_UA")); checked_set (_language, languages); table->Add (_language, wxGBPosition (r, 1)); @@ -157,10 +159,19 @@ GeneralPage::add_play_sound_controls (wxGridBagSizer* table, int& r) { _sound = new CheckBox (_panel, _("Play sound via")); table->Add (_sound, wxGBPosition (r, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); + wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL); _sound_output = new wxChoice (_panel, wxID_ANY); - table->Add (_sound_output, wxGBPosition (r, 1)); + s->Add (_sound_output, 0); + _sound_output_details = new wxStaticText (_panel, wxID_ANY, wxT("")); + s->Add (_sound_output_details, 1, wxALIGN_CENTER_VERTICAL | wxLEFT, DCPOMATIC_SIZER_X_GAP); + table->Add (s, wxGBPosition(r, 1)); ++r; + wxFont font = _sound_output_details->GetFont(); + font.SetStyle (wxFONTSTYLE_ITALIC); + font.SetPointSize (font.GetPointSize() - 1); + _sound_output_details->SetFont (font); + RtAudio audio (DCPOMATIC_RTAUDIO_API); for (unsigned int i = 0; i < audio.getDeviceCount(); ++i) { RtAudio::DeviceInfo dev = audio.getDeviceInfo (i); @@ -251,6 +262,33 @@ GeneralPage::config_changed () } } + RtAudio audio (DCPOMATIC_RTAUDIO_API); + + map apis; + apis[RtAudio::MACOSX_CORE] = _("CoreAudio"); + apis[RtAudio::WINDOWS_ASIO] = _("ASIO"); + apis[RtAudio::WINDOWS_DS] = _("Direct Sound"); + apis[RtAudio::WINDOWS_WASAPI] = _("WASAPI"); + apis[RtAudio::UNIX_JACK] = _("JACK"); + apis[RtAudio::LINUX_ALSA] = _("ALSA"); + apis[RtAudio::LINUX_PULSE] = _("PulseAudio"); + apis[RtAudio::LINUX_OSS] = _("OSS"); + apis[RtAudio::RTAUDIO_DUMMY] = _("Dummy"); + + int channels = 0; + if (configured_so) { + for (unsigned int i = 0; i < audio.getDeviceCount(); ++i) { + RtAudio::DeviceInfo info = audio.getDeviceInfo(i); + if (info.name == *configured_so && info.outputChannels > 0) { + channels = info.outputChannels; + } + } + } + + _sound_output_details->SetLabel ( + wxString::Format(_("%d channels on %s"), channels, apis[audio.getCurrentApi()]) + ); + setup_sensitivity (); } @@ -515,6 +553,7 @@ CertificateChainEditor::remove_certificate () _set (chain); update_sensitivity (); + update_certificate_list (); } void