From: Carl Hetherington Date: Thu, 11 Aug 2016 11:49:23 +0000 (+0100) Subject: Replace incorrect uses of raw_convert with a new locale_convert. X-Git-Tag: v2.9.11~24 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=94056bf7f8fdef32da3cd78eff68d58560b4e6be Replace incorrect uses of raw_convert with a new locale_convert. --- diff --git a/src/lib/audio_content.cc b/src/lib/audio_content.cc index e66b8b998..25a7ef8a5 100644 --- a/src/lib/audio_content.cc +++ b/src/lib/audio_content.cc @@ -24,6 +24,7 @@ #include "config.h" #include "frame_rate_change.h" #include "compose.hpp" +#include "locale_convert.h" #include #include #include diff --git a/src/lib/cinema.cc b/src/lib/cinema.cc index 469cf2e6b..61862fa6d 100644 --- a/src/lib/cinema.cc +++ b/src/lib/cinema.cc @@ -30,6 +30,7 @@ using std::list; using std::string; using boost::shared_ptr; +using dcp::raw_convert; Cinema::Cinema (cxml::ConstNodePtr node) : name (node->string_child ("Name")) @@ -71,8 +72,8 @@ Cinema::as_xml (xmlpp::Element* parent) const parent->add_child("Notes")->add_child_text (notes); - parent->add_child("UTCOffsetHour")->add_child_text (dcp::raw_convert (_utc_offset_hour)); - parent->add_child("UTCOffsetMinute")->add_child_text (dcp::raw_convert (_utc_offset_minute)); + parent->add_child("UTCOffsetHour")->add_child_text (raw_convert (_utc_offset_hour)); + parent->add_child("UTCOffsetMinute")->add_child_text (raw_convert (_utc_offset_minute)); BOOST_FOREACH (shared_ptr i, _screens) { i->as_xml (parent->add_child ("Screen")); diff --git a/src/lib/content.cc b/src/lib/content.cc index 0fd503edd..536036ff7 100644 --- a/src/lib/content.cc +++ b/src/lib/content.cc @@ -27,6 +27,7 @@ #include "content_factory.h" #include "exceptions.h" #include "film.h" +#include "locale_convert.h" #include "job.h" #include "compose.hpp" #include @@ -365,7 +366,7 @@ Content::add_properties (list& p) const UserProperty ( UserProperty::VIDEO, _("Frame rate"), - raw_convert (_video_frame_rate.get(), 5), + locale_convert (_video_frame_rate.get(), 5), _("frames per second") ) ); @@ -374,7 +375,7 @@ Content::add_properties (list& p) const UserProperty ( UserProperty::GENERAL, _("Prepared for video frame rate"), - raw_convert (_video_frame_rate.get(), 5), + locale_convert (_video_frame_rate.get(), 5), _("frames per second") ) ); diff --git a/src/lib/dcp_content.cc b/src/lib/dcp_content.cc index 9e767596c..44c7ce578 100644 --- a/src/lib/dcp_content.cc +++ b/src/lib/dcp_content.cc @@ -30,6 +30,7 @@ #include "dcp_decoder.h" #include "subtitle_content.h" #include +#include #include #include #include diff --git a/src/lib/ffmpeg_content.cc b/src/lib/ffmpeg_content.cc index d64c82971..71cda084c 100644 --- a/src/lib/ffmpeg_content.cc +++ b/src/lib/ffmpeg_content.cc @@ -33,6 +33,7 @@ #include "exceptions.h" #include "frame_rate_change.h" #include "subtitle_content.h" +#include "locale_convert.h" #include #include extern "C" { @@ -566,7 +567,7 @@ FFmpegContent::add_properties (list& p) const p.push_back (UserProperty (UserProperty::VIDEO, _("Colourspace"), spaces[_colorspace])); if (_bits_per_pixel) { - p.push_back (UserProperty (UserProperty::VIDEO, _("Bits per pixel"), raw_convert (_bits_per_pixel.get ()))); + p.push_back (UserProperty (UserProperty::VIDEO, _("Bits per pixel"), _bits_per_pixel.get ())); } } diff --git a/src/lib/locale_convert.cc b/src/lib/locale_convert.cc new file mode 100644 index 000000000..6358c0f8c --- /dev/null +++ b/src/lib/locale_convert.cc @@ -0,0 +1,122 @@ +/* + Copyright (C) 2012-2016 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + +#include "locale_convert.h" +#include +#include + +using std::string; + +template<> +string +locale_convert (int x, int) +{ + char buffer[64]; + snprintf (buffer, sizeof(buffer), "%d", x); + return buffer; +} + +template<> +string +locale_convert (int64_t x, int) +{ + char buffer[64]; + snprintf (buffer, sizeof(buffer), "%" PRId64, x); + return buffer; +} + +template<> +string +locale_convert (float x, int precision) +{ + char format[64]; + snprintf (format, sizeof(format), "%%.%df", precision); + char buffer[64]; + snprintf (buffer, sizeof(buffer), format, x); + return buffer; +} + +template<> +string +locale_convert (double x, int precision) +{ + char format[64]; + snprintf (format, sizeof(format), "%%.%df", precision); + char buffer[64]; + snprintf (buffer, sizeof(buffer), format, x); + return buffer; +} + +template<> +string +locale_convert (string x, int) +{ + return x; +} + +template<> +string +locale_convert (char* x, int) +{ + return x; +} + +template<> +string +locale_convert (char const * x, int) +{ + return x; +} + +template<> +int +locale_convert (string x, int) +{ + int y = 0; + sscanf (x.c_str(), "%d", &y); + return y; +} + +template<> +int64_t +locale_convert (string x, int) +{ + int64_t y = 0; + sscanf (x.c_str(), "%" PRId64, &y); + return y; +} + +template<> +float +locale_convert (string x, int) +{ + float y = 0; + sscanf (x.c_str(), "%f", &y); + return y; +} + +template<> +double +locale_convert (string x, int) +{ + double y = 0; + sscanf (x.c_str(), "%lf", &y); + return y; +} diff --git a/src/lib/locale_convert.h b/src/lib/locale_convert.h new file mode 100644 index 000000000..b5c38caae --- /dev/null +++ b/src/lib/locale_convert.h @@ -0,0 +1,81 @@ +/* + Copyright (C) 2012-2016 Carl Hetherington + + This file is part of DCP-o-matic. + + DCP-o-matic is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + DCP-o-matic is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with DCP-o-matic. If not, see . + +*/ + +#ifndef DCPOMATIC_LOCALE_CONVERT_H +#define DCPOMATIC_LOCALE_CONVERT_H + +#include +#include + +template +P +locale_convert (Q x, int precision = 16) +{ + /* We can't write a generic version of locale_convert; all required + versions must be specialised. + */ + BOOST_STATIC_ASSERT (sizeof (Q) == 0); +} + +template <> +std::string +locale_convert (int x, int); + +template <> +std::string +locale_convert (int64_t x, int); + +template <> +std::string +locale_convert (float x, int precision); + +template <> +std::string +locale_convert (double x, int precision); + +template <> +std::string +locale_convert (std::string x, int); + +template <> +std::string +locale_convert (char* x, int); + +template <> +std::string +locale_convert (char const * x, int); + +template <> +int +locale_convert (std::string x, int); + +template <> +int64_t +locale_convert (std::string x, int); + +template <> +float +locale_convert (std::string x, int); + +template <> +double +locale_convert (std::string x, int); + +#endif diff --git a/src/lib/user_property.h b/src/lib/user_property.h index 6e147fd76..8b69b7687 100644 --- a/src/lib/user_property.h +++ b/src/lib/user_property.h @@ -21,7 +21,7 @@ #ifndef DCPOMATIC_USER_PROPERTY_H #define DCPOMATIC_USER_PROPERTY_H -#include +#include "locale_convert.h" class UserProperty { @@ -37,7 +37,7 @@ public: UserProperty (Category category_, std::string key_, T value_, std::string unit_ = "") : category (category_) , key (key_) - , value (dcp::raw_convert (value_)) + , value (locale_convert (value_)) , unit (unit_) {} diff --git a/src/lib/util.cc b/src/lib/util.cc index da45919b4..eedc7ddb5 100644 --- a/src/lib/util.cc +++ b/src/lib/util.cc @@ -36,7 +36,9 @@ #include "digester.h" #include "audio_processor.h" #include "compose.hpp" +#include "locale_convert.h" #include +#include #include #include #include @@ -140,10 +142,10 @@ seconds_to_approximate_hms (int s) if (hours) { if (m > 30 && !minutes) { /// TRANSLATORS: h here is an abbreviation for hours - ap += raw_convert(h + 1) + _("h"); + ap += locale_convert(h + 1) + _("h"); } else { /// TRANSLATORS: h here is an abbreviation for hours - ap += raw_convert(h) + _("h"); + ap += locale_convert(h) + _("h"); } if (minutes || seconds) { @@ -155,10 +157,10 @@ seconds_to_approximate_hms (int s) /* Minutes */ if (s > 30 && !seconds) { /// TRANSLATORS: m here is an abbreviation for minutes - ap += raw_convert(m + 1) + _("m"); + ap += locale_convert(m + 1) + _("m"); } else { /// TRANSLATORS: m here is an abbreviation for minutes - ap += raw_convert(m) + _("m"); + ap += locale_convert(m) + _("m"); } if (seconds) { @@ -169,7 +171,7 @@ seconds_to_approximate_hms (int s) if (seconds) { /* Seconds */ /// TRANSLATORS: s here is an abbreviation for seconds - ap += raw_convert(s) + _("s"); + ap += locale_convert(s) + _("s"); } return ap; diff --git a/src/lib/video_content.cc b/src/lib/video_content.cc index 20e0866a1..ac038678c 100644 --- a/src/lib/video_content.cc +++ b/src/lib/video_content.cc @@ -30,6 +30,7 @@ #include "exceptions.h" #include "frame_rate_change.h" #include "log.h" +#include "locale_convert.h" #include #include #include @@ -456,8 +457,8 @@ VideoContent::processing_description () const void VideoContent::add_properties (list& p) const { - p.push_back (UserProperty (UserProperty::VIDEO, _("Length"), raw_convert (length ()), _("video frames"))); - p.push_back (UserProperty (UserProperty::VIDEO, _("Size"), raw_convert (size().width) + "x" + raw_convert (size().height))); + p.push_back (UserProperty (UserProperty::VIDEO, _("Length"), length (), _("video frames"))); + p.push_back (UserProperty (UserProperty::VIDEO, _("Size"), size().width + "x" + size().height)); } void diff --git a/src/lib/wscript b/src/lib/wscript index 911ee0af4..074c12ad4 100644 --- a/src/lib/wscript +++ b/src/lib/wscript @@ -94,6 +94,7 @@ sources = """ job.cc job_manager.cc json_server.cc + locale_convert.cc log.cc log_entry.cc magick_image_proxy.cc diff --git a/src/tools/dcpomatic.cc b/src/tools/dcpomatic.cc index a99e32980..1f320f088 100644 --- a/src/tools/dcpomatic.cc +++ b/src/tools/dcpomatic.cc @@ -60,6 +60,7 @@ #include "lib/dcpomatic_socket.h" #include "lib/hints.h" #include +#include #include #include #include diff --git a/src/wx/audio_mapping_view.cc b/src/wx/audio_mapping_view.cc index 1ec9dd5b2..866156336 100644 --- a/src/wx/audio_mapping_view.cc +++ b/src/wx/audio_mapping_view.cc @@ -22,12 +22,12 @@ * @brief AudioMappingView class and helpers. */ -#include "lib/audio_mapping.h" -#include "lib/util.h" #include "audio_mapping_view.h" #include "wx_util.h" #include "audio_gain_dialog.h" -#include +#include "lib/audio_mapping.h" +#include "lib/util.h" +#include "lib/locale_convert.h" #include #include #include @@ -45,7 +45,6 @@ using std::vector; using std::pair; using std::make_pair; using boost::shared_ptr; -using dcp::raw_convert; #define INDICATOR_SIZE 16 #define LEFT_WIDTH 48 @@ -86,7 +85,7 @@ public: dc.SetBrush (*wxTheBrushList->FindOrCreateBrush (wxColour (255, 255, 255), wxBRUSHSTYLE_SOLID)); dc.DrawRectangle (wxRect (rect.GetLeft() + xo, rect.GetTop() + yo, INDICATOR_SIZE, INDICATOR_SIZE)); - float const value = raw_convert (wx_to_std (grid.GetCellValue (row, col))); + float const value = locale_convert (wx_to_std (grid.GetCellValue (row, col))); float const value_dB = 20 * log10 (value); int const range = 18; int height = 0; @@ -301,7 +300,7 @@ AudioMappingView::update_cells () _grid->SetCellValue (i, 0, std_to_wx (row_names[i])); } for (int j = 1; j < _grid->GetNumberCols(); ++j) { - _grid->SetCellValue (i, j, std_to_wx (raw_convert (_map.get (i, j - 1)))); + _grid->SetCellValue (i, j, std_to_wx (locale_convert (_map.get (i, j - 1)))); } } diff --git a/src/wx/colour_conversion_editor.cc b/src/wx/colour_conversion_editor.cc index 0a775b489..e56f30baf 100644 --- a/src/wx/colour_conversion_editor.cc +++ b/src/wx/colour_conversion_editor.cc @@ -18,10 +18,10 @@ */ -#include "lib/colour_conversion.h" #include "wx_util.h" #include "colour_conversion_editor.h" -#include +#include "lib/colour_conversion.h" +#include "lib/locale_convert.h" #include #include #include @@ -32,7 +32,6 @@ using std::string; using std::cout; using boost::shared_ptr; using boost::dynamic_pointer_cast; -using dcp::raw_convert; ColourConversionEditor::ColourConversionEditor (wxWindow* parent, bool yuv) : wxPanel (parent, wxID_ANY) @@ -292,9 +291,9 @@ ColourConversionEditor::get () const shared_ptr ( new dcp::ModifiedGammaTransferFunction ( _input_power->GetValue (), - raw_convert (wx_to_std (_input_threshold->GetValue ())), - raw_convert (wx_to_std (_input_A->GetValue ())), - raw_convert (wx_to_std (_input_B->GetValue ())) + locale_convert (wx_to_std (_input_threshold->GetValue ())), + locale_convert (wx_to_std (_input_A->GetValue ())), + locale_convert (wx_to_std (_input_B->GetValue ())) ) ) ); @@ -307,23 +306,23 @@ ColourConversionEditor::get () const conversion.set_yuv_to_rgb (static_cast (_yuv_to_rgb->GetSelection ())); conversion.set_red ( - dcp::Chromaticity (raw_convert (wx_to_std (_red_x->GetValue ())), raw_convert (wx_to_std (_red_y->GetValue ()))) + dcp::Chromaticity (locale_convert (wx_to_std (_red_x->GetValue ())), locale_convert (wx_to_std (_red_y->GetValue ()))) ); conversion.set_green ( - dcp::Chromaticity (raw_convert (wx_to_std (_green_x->GetValue ())), raw_convert (wx_to_std (_green_y->GetValue ()))) + dcp::Chromaticity (locale_convert (wx_to_std (_green_x->GetValue ())), locale_convert (wx_to_std (_green_y->GetValue ()))) ); conversion.set_blue ( - dcp::Chromaticity (raw_convert (wx_to_std (_blue_x->GetValue ())), raw_convert (wx_to_std (_blue_y->GetValue ()))) + dcp::Chromaticity (locale_convert (wx_to_std (_blue_x->GetValue ())), locale_convert (wx_to_std (_blue_y->GetValue ()))) ); conversion.set_white ( - dcp::Chromaticity (raw_convert (wx_to_std (_white_x->GetValue ())), raw_convert (wx_to_std (_white_y->GetValue ()))) + dcp::Chromaticity (locale_convert (wx_to_std (_white_x->GetValue ())), locale_convert (wx_to_std (_white_y->GetValue ()))) ); if (_adjust_white->GetValue ()) { conversion.set_adjusted_white ( dcp::Chromaticity ( - raw_convert (wx_to_std (_adjusted_white_x->GetValue ())), - raw_convert (wx_to_std (_adjusted_white_y->GetValue ())) + locale_convert (wx_to_std (_adjusted_white_x->GetValue ())), + locale_convert (wx_to_std (_adjusted_white_y->GetValue ())) ) ); } else { diff --git a/src/wx/config_dialog.cc b/src/wx/config_dialog.cc index 0098ecb2b..6006ba782 100644 --- a/src/wx/config_dialog.cc +++ b/src/wx/config_dialog.cc @@ -41,7 +41,7 @@ #include "lib/util.h" #include "lib/cross.h" #include "lib/exceptions.h" -#include +#include "lib/locale_convert.h" #include #include #include @@ -63,7 +63,6 @@ using boost::bind; using boost::shared_ptr; using boost::function; using boost::optional; -using dcp::raw_convert; class Page { @@ -517,7 +516,7 @@ private: _directory->SetPath (std_to_wx (config->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir())).string ())); checked_set (_j2k_bandwidth, config->default_j2k_bandwidth() / 1000000); _j2k_bandwidth->SetRange (50, config->maximum_j2k_bandwidth() / 1000000); - checked_set (_dcp_audio_channels, raw_convert (config->default_dcp_audio_channels())); + checked_set (_dcp_audio_channels, locale_convert (config->default_dcp_audio_channels())); checked_set (_audio_delay, config->default_audio_delay ()); checked_set (_standard, config->default_interop() ? 1 : 0); } @@ -536,7 +535,9 @@ private: { int const s = _dcp_audio_channels->GetSelection (); if (s != wxNOT_FOUND) { - Config::instance()->set_default_dcp_audio_channels (dcp::raw_convert (string_client_data (_dcp_audio_channels->GetClientObject (s)))); + Config::instance()->set_default_dcp_audio_channels ( + locale_convert (string_client_data (_dcp_audio_channels->GetClientObject (s))) + ); } } diff --git a/src/wx/content_properties_dialog.cc b/src/wx/content_properties_dialog.cc index acc232df4..2f4e1a48b 100644 --- a/src/wx/content_properties_dialog.cc +++ b/src/wx/content_properties_dialog.cc @@ -23,7 +23,6 @@ #include "lib/content.h" #include "lib/video_content.h" #include "lib/audio_content.h" -#include #include #include @@ -33,7 +32,6 @@ using std::pair; using std::map; using boost::shared_ptr; using boost::dynamic_pointer_cast; -using dcp::raw_convert; ContentPropertiesDialog::ContentPropertiesDialog (wxWindow* parent, shared_ptr content) : TableDialog (parent, _("Content Properties"), 2, 1, false) diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc index f41f97769..8cbd1dbb6 100644 --- a/src/wx/dcp_panel.cc +++ b/src/wx/dcp_panel.cc @@ -34,8 +34,8 @@ #include "lib/subtitle_content.h" #include "lib/dcp_content.h" #include "lib/audio_content.h" +#include "lib/locale_convert.h" #include -#include #include #include #include @@ -275,7 +275,7 @@ DCPPanel::audio_channels_changed () return; } - _film->set_audio_channels (dcp::raw_convert (string_client_data (_audio_channels->GetClientObject (_audio_channels->GetSelection ())))); + _film->set_audio_channels (locale_convert (string_client_data (_audio_channels->GetClientObject (_audio_channels->GetSelection ())))); } void @@ -386,7 +386,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 (max (minimum_allowed_audio_channels(), _film->audio_channels ()))); + checked_set (_audio_channels, locale_convert (max (minimum_allowed_audio_channels(), _film->audio_channels ()))); setup_dcp_name (); } break; diff --git a/src/wx/dolby_doremi_certificate_panel.cc b/src/wx/dolby_doremi_certificate_panel.cc index 18a0ed66e..cb1de387f 100644 --- a/src/wx/dolby_doremi_certificate_panel.cc +++ b/src/wx/dolby_doremi_certificate_panel.cc @@ -36,6 +36,7 @@ using std::cout; using std::list; using boost::function; using boost::optional; +using dcp::raw_convert; DolbyDoremiCertificatePanel::DolbyDoremiCertificatePanel (wxWindow* parent, DownloadCertificateDialog* dialog) : DownloadCertificatePanel (parent, dialog) @@ -90,7 +91,7 @@ try_ims (list& urls, list& files, string prefix, string serial) static void try_cat862 (list& urls, list& files, string prefix, string serial) { - int const serial_int = dcp::raw_convert (serial); + int const serial_int = raw_convert (serial); string cat862; if (serial_int <= 510999) { @@ -109,7 +110,7 @@ try_cat862 (list& urls, list& files, string prefix, string seria static void try_dsp100 (list& urls, list& files, string prefix, string serial) { - int const serial_int = dcp::raw_convert (serial); + int const serial_int = raw_convert (serial); string dsp100; if (serial_int <= 999) { @@ -128,7 +129,7 @@ try_dsp100 (list& urls, list& files, string prefix, string seria static void try_cat745 (list& urls, list& files, string prefix, string serial) { - int const serial_int = dcp::raw_convert (serial.substr (1)); + int const serial_int = raw_convert (serial.substr (1)); string cat745; if (serial_int <= 999) { @@ -147,7 +148,7 @@ try_cat745 (list& urls, list& files, string prefix, string seria static void try_cp850 (list& urls, list& files, string prefix, string serial) { - int const serial_int = dcp::raw_convert (serial.substr (1)); + int const serial_int = raw_convert (serial.substr (1)); int const lower = serial_int - (serial_int % 1000); urls.push_back (String::compose ("%1CP850_CAT1600_F%2-F%3/cert_RMB_SPB_MDE_FMA.Dolby-CP850-F%4.zip", prefix, lower, lower + 999, serial_int)); diff --git a/src/wx/image_sequence_dialog.cc b/src/wx/image_sequence_dialog.cc index 6200018d1..a207338a1 100644 --- a/src/wx/image_sequence_dialog.cc +++ b/src/wx/image_sequence_dialog.cc @@ -20,9 +20,7 @@ #include "wx_util.h" #include "image_sequence_dialog.h" -#include - -using dcp::raw_convert; +#include "lib/locale_convert.h" ImageSequenceDialog::ImageSequenceDialog (wxWindow* parent) : TableDialog (parent, _("Add image sequence"), 2, 1, true) @@ -36,7 +34,7 @@ double ImageSequenceDialog::frame_rate () const { try { - return raw_convert (wx_to_std (_frame_rate->GetValue ())); + return locale_convert (wx_to_std (_frame_rate->GetValue ())); } catch (...) { } diff --git a/src/wx/playhead_to_frame_dialog.cc b/src/wx/playhead_to_frame_dialog.cc index af20c1592..3f1d06d2a 100644 --- a/src/wx/playhead_to_frame_dialog.cc +++ b/src/wx/playhead_to_frame_dialog.cc @@ -19,9 +19,7 @@ */ #include "playhead_to_frame_dialog.h" -#include - -using dcp::raw_convert; +#include "lib/locale_convert.h" PlayheadToFrameDialog::PlayheadToFrameDialog (wxWindow* parent, int fps) : TableDialog (parent, _("Go to frame"), 2, 1, true) @@ -36,5 +34,5 @@ PlayheadToFrameDialog::PlayheadToFrameDialog (wxWindow* parent, int fps) DCPTime PlayheadToFrameDialog::get () const { - return DCPTime::from_frames (raw_convert (wx_to_std (_frame->GetValue ())) - 1, _fps); + return DCPTime::from_frames (locale_convert (wx_to_std (_frame->GetValue ())) - 1, _fps); } diff --git a/src/wx/time_picker.cc b/src/wx/time_picker.cc index 1378af967..bddf615d0 100644 --- a/src/wx/time_picker.cc +++ b/src/wx/time_picker.cc @@ -20,7 +20,7 @@ #include "time_picker.h" #include "wx_util.h" -#include +#include "lib/locale_convert.h" #include #include #include @@ -32,7 +32,6 @@ using std::max; using std::string; using std::cout; using boost::bind; -using dcp::raw_convert; TimePicker::TimePicker (wxWindow* parent, wxDateTime time) : wxPanel (parent) @@ -97,8 +96,8 @@ TimePicker::update_spin () } _block_update = true; - _hours_spin->SetValue (raw_convert (wx_to_std (_hours->GetValue()))); - _minutes_spin->SetValue (raw_convert (wx_to_std (_minutes->GetValue()))); + _hours_spin->SetValue (locale_convert (wx_to_std (_hours->GetValue()))); + _minutes_spin->SetValue (locale_convert (wx_to_std (_minutes->GetValue()))); _block_update = false; Changed (); diff --git a/src/wx/timing_panel.cc b/src/wx/timing_panel.cc index f4de55028..25cf2b524 100644 --- a/src/wx/timing_panel.cc +++ b/src/wx/timing_panel.cc @@ -30,8 +30,8 @@ #include "lib/dcp_subtitle_content.h" #include "lib/audio_content.h" #include "lib/text_subtitle_content.h" +#include "lib/locale_convert.h" #include "lib/video_content.h" -#include #include #include #include @@ -42,7 +42,6 @@ using std::set; using boost::shared_ptr; using boost::dynamic_pointer_cast; using boost::optional; -using dcp::raw_convert; TimingPanel::TimingPanel (ContentPanel* p, FilmViewer* viewer) /* horrid hack for apparent lack of context support with wxWidgets i18n code */ @@ -288,7 +287,7 @@ TimingPanel::film_content_changed (int property) bool const single_frame_image_content = content && dynamic_pointer_cast (content) && content->number_of_paths() == 1; if ((check_vc.size() == 1 || count_ac == 1 || count_sc == 1) && !single_frame_image_content) { - checked_set (_video_frame_rate, raw_convert (content->video_frame_rate().get(), 5)); + checked_set (_video_frame_rate, locale_convert (content->video_frame_rate().get(), 5)); _video_frame_rate->Enable (true); } else { checked_set (_video_frame_rate, wxT ("")); @@ -399,7 +398,7 @@ TimingPanel::video_frame_rate_changed () void TimingPanel::set_video_frame_rate () { - double const fr = raw_convert (wx_to_std (_video_frame_rate->GetValue ())); + double const fr = locale_convert (wx_to_std (_video_frame_rate->GetValue ())); BOOST_FOREACH (shared_ptr i, _parent->selected ()) { i->set_video_frame_rate (fr); } diff --git a/src/wx/video_waveform_plot.cc b/src/wx/video_waveform_plot.cc index efaf76e28..096d340e8 100644 --- a/src/wx/video_waveform_plot.cc +++ b/src/wx/video_waveform_plot.cc @@ -23,8 +23,8 @@ #include "wx_util.h" #include "lib/image.h" #include "lib/dcp_video.h" +#include "lib/locale_convert.h" #include -#include #include #include #include @@ -35,7 +35,6 @@ using std::min; using std::string; using boost::weak_ptr; using boost::shared_ptr; -using dcp::raw_convert; int const VideoWaveformPlot::_vertical_margin = 8; @@ -119,7 +118,7 @@ VideoWaveformPlot::paint () } else if (n < 1000) { x += extra[2]; } - gc->DrawText (std_to_wx (raw_convert (n)), x, y - (label_height / 2)); + gc->DrawText (std_to_wx (locale_convert (n)), x, y - (label_height / 2)); } wxImage waveform (_waveform->size().width, height, _waveform->data()[0], true); diff --git a/src/wx/wx_util.cc b/src/wx/wx_util.cc index e12443dd3..cb9f72a42 100644 --- a/src/wx/wx_util.cc +++ b/src/wx/wx_util.cc @@ -26,7 +26,7 @@ #include "file_picker_ctrl.h" #include "lib/config.h" #include "lib/util.h" -#include +#include "lib/locale_convert.h" #include #include @@ -365,17 +365,17 @@ setup_audio_channels_choice (wxChoice* choice, int minimum) vector > items; for (int i = minimum; i <= 16; i += 2) { if (i == 2) { - items.push_back (make_pair (wx_to_std (_("2 - stereo")), dcp::raw_convert (i))); + items.push_back (make_pair (wx_to_std (_("2 - stereo")), locale_convert (i))); } else if (i == 4) { - items.push_back (make_pair (wx_to_std (_("4 - L/C/R/Lfe")), dcp::raw_convert (i))); + items.push_back (make_pair (wx_to_std (_("4 - L/C/R/Lfe")), locale_convert (i))); } else if (i == 6) { - items.push_back (make_pair (wx_to_std (_("6 - 5.1")), dcp::raw_convert (i))); + items.push_back (make_pair (wx_to_std (_("6 - 5.1")), locale_convert (i))); } else if (i == 8) { - items.push_back (make_pair (wx_to_std (_("8 - 5.1/HI/VI")), dcp::raw_convert (i))); + items.push_back (make_pair (wx_to_std (_("8 - 5.1/HI/VI")), locale_convert (i))); } else if (i == 12) { - items.push_back (make_pair (wx_to_std (_("12 - 7.1/HI/VI")), dcp::raw_convert (i))); + items.push_back (make_pair (wx_to_std (_("12 - 7.1/HI/VI")), locale_convert (i))); } else { - items.push_back (make_pair (dcp::raw_convert (i), dcp::raw_convert (i))); + items.push_back (make_pair (locale_convert (i), locale_convert (i))); } } diff --git a/test/video_content_scale_test.cc b/test/video_content_scale_test.cc index bb6694db2..e7fddd720 100644 --- a/test/video_content_scale_test.cc +++ b/test/video_content_scale_test.cc @@ -18,10 +18,11 @@ */ -#include #include "lib/ffmpeg_content.h" #include "lib/ratio.h" #include "lib/video_content.h" +#include +#include using std::list; using std::string;