using std::map;
using boost::bind;
using boost::optional;
-using boost::shared_ptr;
+using std::shared_ptr;
using boost::function;
+#if BOOST_VERSION >= 106100
+using namespace boost::placeholders;
+#endif
static
bool
_certificates->DeleteAllItems ();
size_t n = 0;
dcp::CertificateChain::List certs = _get()->root_to_leaf ();
- BOOST_FOREACH (dcp::Certificate const & i, certs) {
+ for (auto const& i: certs) {
wxListItem item;
item.SetId (n);
_certificates->InsertItem (item);
RtAudio audio (DCPOMATIC_RTAUDIO_API);
for (unsigned int i = 0; i < audio.getDeviceCount(); ++i) {
- RtAudio::DeviceInfo dev = audio.getDeviceInfo (i);
- if (dev.probed && dev.outputChannels > 0) {
- _sound_output->Append (std_to_wx (dev.name));
+ try {
+ RtAudio::DeviceInfo dev = audio.getDeviceInfo (i);
+ if (dev.probed && dev.outputChannels > 0) {
+ _sound_output->Append (std_to_wx (dev.name));
+ }
+ } catch (RtAudioError&) {
+ /* Something went wrong so let's just ignore that device */
}
}
{
RtAudio audio (DCPOMATIC_RTAUDIO_API);
optional<string> const so = get_sound_output();
- if (!so || *so == audio.getDeviceInfo(audio.getDefaultOutputDevice()).name) {
+ string default_device;
+ try {
+ default_device = audio.getDeviceInfo(audio.getDefaultOutputDevice()).name;
+ } catch (RtAudioError&) {
+ /* Never mind */
+ }
+ if (!so || *so == default_device) {
Config::instance()->unset_sound_output ();
} else {
Config::instance()->set_sound_output (*so);
RtAudio audio (DCPOMATIC_RTAUDIO_API);
try {
configured_so = audio.getDeviceInfo(audio.getDefaultOutputDevice()).name;
- } catch (RtAudioError& e) {
+ } catch (RtAudioError&) {
/* Probably no audio devices at all */
}
}
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;
+ try {
+ RtAudio::DeviceInfo info = audio.getDeviceInfo(i);
+ if (info.name == *configured_so && info.outputChannels > 0) {
+ channels = info.outputChannels;
+ }
+ } catch (RtAudioError&) {
+ /* Never mind */
}
}
}
_map->set (Config::instance()->audio_mapping(channels));
- vector<string> input;
+ vector<NamedChannel> input;
for (int i = 0; i < MAX_DCP_AUDIO_CHANNELS; ++i) {
- input.push_back (short_audio_channel_name(i));
+ input.push_back (NamedChannel(short_audio_channel_name(i), i));
}
_map->set_input_channels (input);
- vector<string> output;
+ vector<NamedChannel> output;
for (int i = 0; i < channels; ++i) {
- output.push_back (dcp::raw_convert<string>(i));
+ output.push_back (NamedChannel(dcp::raw_convert<string>(i), i));
}
_map->set_output_channels (output);
void
LocationsPage::setup ()
{
-
int r = 0;
wxGridBagSizer* table = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
table->Add (_kdm_directory, wxGBPosition (r, 1));
++r;
-#ifdef DCPOMATIC_VARIANT_SWAROOP
- add_label_to_sizer (table, _panel, _("Background image"), true, wxGBPosition (r, 0));
- _background_image = new FilePickerCtrl (_panel, _("Select image file"), "*.png;*.jpg;*.jpeg;*.tif;*.tiff", true, false);
- table->Add (_background_image, wxGBPosition (r, 1));
- ++r;
-#endif
-
_content_directory->Bind (wxEVT_DIRPICKER_CHANGED, bind(&LocationsPage::content_directory_changed, this));
_playlist_directory->Bind (wxEVT_DIRPICKER_CHANGED, bind(&LocationsPage::playlist_directory_changed, this));
_kdm_directory->Bind (wxEVT_DIRPICKER_CHANGED, bind(&LocationsPage::kdm_directory_changed, this));
-#ifdef DCPOMATIC_VARIANT_SWAROOP
- _background_image->Bind (wxEVT_FILEPICKER_CHANGED, bind(&LocationsPage::background_image_changed, this));
-#endif
}
void
if (config->player_kdm_directory()) {
checked_set (_kdm_directory, *config->player_kdm_directory());
}
-#ifdef DCPOMATIC_VARIANT_SWAROOP
- if (config->player_background_image()) {
- checked_set (_background_image, *config->player_background_image());
- }
-#endif
}
void
{
Config::instance()->set_player_kdm_directory(wx_to_std(_kdm_directory->GetPath()));
}
-
-#ifdef DCPOMATIC_VARIANT_SWAROOP
-void
-LocationsPage::background_image_changed ()
-{
- boost::filesystem::path const f = wx_to_std(_background_image->GetPath());
- if (!boost::filesystem::is_regular_file(f) || !wxImage::CanRead(std_to_wx(f.string()))) {
- error_dialog (0, _("Could not load image file."));
- if (Config::instance()->player_background_image()) {
- checked_set (_background_image, *Config::instance()->player_background_image());
- }
- return;
- }
-
- Config::instance()->set_player_background_image(f);
-}
-#endif