#include "config.h"
#include "frame_rate_change.h"
#include "compose.hpp"
+#include "locale_convert.h"
#include <dcp/raw_convert.h>
#include <libcxml/cxml.h>
#include <libxml++/libxml++.h>
using std::list;
using std::string;
using boost::shared_ptr;
+using dcp::raw_convert;
Cinema::Cinema (cxml::ConstNodePtr node)
: name (node->string_child ("Name"))
parent->add_child("Notes")->add_child_text (notes);
- parent->add_child("UTCOffsetHour")->add_child_text (dcp::raw_convert<string> (_utc_offset_hour));
- parent->add_child("UTCOffsetMinute")->add_child_text (dcp::raw_convert<string> (_utc_offset_minute));
+ parent->add_child("UTCOffsetHour")->add_child_text (raw_convert<string> (_utc_offset_hour));
+ parent->add_child("UTCOffsetMinute")->add_child_text (raw_convert<string> (_utc_offset_minute));
BOOST_FOREACH (shared_ptr<Screen> i, _screens) {
i->as_xml (parent->add_child ("Screen"));
#include "content_factory.h"
#include "exceptions.h"
#include "film.h"
+#include "locale_convert.h"
#include "job.h"
#include "compose.hpp"
#include <dcp/raw_convert.h>
UserProperty (
UserProperty::VIDEO,
_("Frame rate"),
- raw_convert<string> (_video_frame_rate.get(), 5),
+ locale_convert<string> (_video_frame_rate.get(), 5),
_("frames per second")
)
);
UserProperty (
UserProperty::GENERAL,
_("Prepared for video frame rate"),
- raw_convert<string> (_video_frame_rate.get(), 5),
+ locale_convert<string> (_video_frame_rate.get(), 5),
_("frames per second")
)
);
#include "dcp_decoder.h"
#include "subtitle_content.h"
#include <dcp/dcp.h>
+#include <dcp/raw_convert.h>
#include <dcp/exceptions.h>
#include <dcp/reel_picture_asset.h>
#include <dcp/reel.h>
#include "exceptions.h"
#include "frame_rate_change.h"
#include "subtitle_content.h"
+#include "locale_convert.h"
#include <dcp/raw_convert.h>
#include <libcxml/cxml.h>
extern "C" {
p.push_back (UserProperty (UserProperty::VIDEO, _("Colourspace"), spaces[_colorspace]));
if (_bits_per_pixel) {
- p.push_back (UserProperty (UserProperty::VIDEO, _("Bits per pixel"), raw_convert<string> (_bits_per_pixel.get ())));
+ p.push_back (UserProperty (UserProperty::VIDEO, _("Bits per pixel"), _bits_per_pixel.get ()));
}
}
--- /dev/null
+/*
+ Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+*/
+
+#include "locale_convert.h"
+#include <string>
+#include <inttypes.h>
+
+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;
+}
--- /dev/null
+/*
+ Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+*/
+
+#ifndef DCPOMATIC_LOCALE_CONVERT_H
+#define DCPOMATIC_LOCALE_CONVERT_H
+
+#include <boost/static_assert.hpp>
+#include <string>
+
+template <typename P, typename Q>
+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
#ifndef DCPOMATIC_USER_PROPERTY_H
#define DCPOMATIC_USER_PROPERTY_H
-#include <dcp/raw_convert.h>
+#include "locale_convert.h"
class UserProperty
{
UserProperty (Category category_, std::string key_, T value_, std::string unit_ = "")
: category (category_)
, key (key_)
- , value (dcp::raw_convert<std::string> (value_))
+ , value (locale_convert<std::string> (value_))
, unit (unit_)
{}
#include "digester.h"
#include "audio_processor.h"
#include "compose.hpp"
+#include "locale_convert.h"
#include <dcp/util.h>
+#include <dcp/raw_convert.h>
#include <dcp/picture_asset.h>
#include <dcp/sound_asset.h>
#include <dcp/subtitle_asset.h>
if (hours) {
if (m > 30 && !minutes) {
/// TRANSLATORS: h here is an abbreviation for hours
- ap += raw_convert<string>(h + 1) + _("h");
+ ap += locale_convert<string>(h + 1) + _("h");
} else {
/// TRANSLATORS: h here is an abbreviation for hours
- ap += raw_convert<string>(h) + _("h");
+ ap += locale_convert<string>(h) + _("h");
}
if (minutes || seconds) {
/* Minutes */
if (s > 30 && !seconds) {
/// TRANSLATORS: m here is an abbreviation for minutes
- ap += raw_convert<string>(m + 1) + _("m");
+ ap += locale_convert<string>(m + 1) + _("m");
} else {
/// TRANSLATORS: m here is an abbreviation for minutes
- ap += raw_convert<string>(m) + _("m");
+ ap += locale_convert<string>(m) + _("m");
}
if (seconds) {
if (seconds) {
/* Seconds */
/// TRANSLATORS: s here is an abbreviation for seconds
- ap += raw_convert<string>(s) + _("s");
+ ap += locale_convert<string>(s) + _("s");
}
return ap;
#include "exceptions.h"
#include "frame_rate_change.h"
#include "log.h"
+#include "locale_convert.h"
#include <dcp/raw_convert.h>
#include <libcxml/cxml.h>
#include <dcp/colour_matrix.h>
void
VideoContent::add_properties (list<UserProperty>& p) const
{
- p.push_back (UserProperty (UserProperty::VIDEO, _("Length"), raw_convert<string> (length ()), _("video frames")));
- p.push_back (UserProperty (UserProperty::VIDEO, _("Size"), raw_convert<string> (size().width) + "x" + raw_convert<string> (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
job.cc
job_manager.cc
json_server.cc
+ locale_convert.cc
log.cc
log_entry.cc
magick_image_proxy.cc
#include "lib/dcpomatic_socket.h"
#include "lib/hints.h"
#include <dcp/exceptions.h>
+#include <dcp/raw_convert.h>
#include <wx/generic/aboutdlgg.h>
#include <wx/stdpaths.h>
#include <wx/cmdline.h>
* @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 <dcp/raw_convert.h>
+#include "lib/audio_mapping.h"
+#include "lib/util.h"
+#include "lib/locale_convert.h"
#include <dcp/types.h>
#include <wx/wx.h>
#include <wx/renderer.h>
using std::pair;
using std::make_pair;
using boost::shared_ptr;
-using dcp::raw_convert;
#define INDICATOR_SIZE 16
#define LEFT_WIDTH 48
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<float> (wx_to_std (grid.GetCellValue (row, col)));
+ float const value = locale_convert<float> (wx_to_std (grid.GetCellValue (row, col)));
float const value_dB = 20 * log10 (value);
int const range = 18;
int height = 0;
_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<string> (_map.get (i, j - 1))));
+ _grid->SetCellValue (i, j, std_to_wx (locale_convert<string> (_map.get (i, j - 1))));
}
}
*/
-#include "lib/colour_conversion.h"
#include "wx_util.h"
#include "colour_conversion_editor.h"
-#include <dcp/raw_convert.h>
+#include "lib/colour_conversion.h"
+#include "lib/locale_convert.h"
#include <dcp/gamma_transfer_function.h>
#include <dcp/modified_gamma_transfer_function.h>
#include <wx/spinctrl.h>
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)
shared_ptr<dcp::ModifiedGammaTransferFunction> (
new dcp::ModifiedGammaTransferFunction (
_input_power->GetValue (),
- raw_convert<double> (wx_to_std (_input_threshold->GetValue ())),
- raw_convert<double> (wx_to_std (_input_A->GetValue ())),
- raw_convert<double> (wx_to_std (_input_B->GetValue ()))
+ locale_convert<double> (wx_to_std (_input_threshold->GetValue ())),
+ locale_convert<double> (wx_to_std (_input_A->GetValue ())),
+ locale_convert<double> (wx_to_std (_input_B->GetValue ()))
)
)
);
conversion.set_yuv_to_rgb (static_cast<dcp::YUVToRGB> (_yuv_to_rgb->GetSelection ()));
conversion.set_red (
- dcp::Chromaticity (raw_convert<double> (wx_to_std (_red_x->GetValue ())), raw_convert<double> (wx_to_std (_red_y->GetValue ())))
+ dcp::Chromaticity (locale_convert<double> (wx_to_std (_red_x->GetValue ())), locale_convert<double> (wx_to_std (_red_y->GetValue ())))
);
conversion.set_green (
- dcp::Chromaticity (raw_convert<double> (wx_to_std (_green_x->GetValue ())), raw_convert<double> (wx_to_std (_green_y->GetValue ())))
+ dcp::Chromaticity (locale_convert<double> (wx_to_std (_green_x->GetValue ())), locale_convert<double> (wx_to_std (_green_y->GetValue ())))
);
conversion.set_blue (
- dcp::Chromaticity (raw_convert<double> (wx_to_std (_blue_x->GetValue ())), raw_convert<double> (wx_to_std (_blue_y->GetValue ())))
+ dcp::Chromaticity (locale_convert<double> (wx_to_std (_blue_x->GetValue ())), locale_convert<double> (wx_to_std (_blue_y->GetValue ())))
);
conversion.set_white (
- dcp::Chromaticity (raw_convert<double> (wx_to_std (_white_x->GetValue ())), raw_convert<double> (wx_to_std (_white_y->GetValue ())))
+ dcp::Chromaticity (locale_convert<double> (wx_to_std (_white_x->GetValue ())), locale_convert<double> (wx_to_std (_white_y->GetValue ())))
);
if (_adjust_white->GetValue ()) {
conversion.set_adjusted_white (
dcp::Chromaticity (
- raw_convert<double> (wx_to_std (_adjusted_white_x->GetValue ())),
- raw_convert<double> (wx_to_std (_adjusted_white_y->GetValue ()))
+ locale_convert<double> (wx_to_std (_adjusted_white_x->GetValue ())),
+ locale_convert<double> (wx_to_std (_adjusted_white_y->GetValue ()))
)
);
} else {
#include "lib/util.h"
#include "lib/cross.h"
#include "lib/exceptions.h"
-#include <dcp/raw_convert.h>
+#include "lib/locale_convert.h"
#include <dcp/exceptions.h>
#include <dcp/certificate_chain.h>
#include <wx/stdpaths.h>
using boost::shared_ptr;
using boost::function;
using boost::optional;
-using dcp::raw_convert;
class Page
{
_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<string> (config->default_dcp_audio_channels()));
+ checked_set (_dcp_audio_channels, locale_convert<string> (config->default_dcp_audio_channels()));
checked_set (_audio_delay, config->default_audio_delay ());
checked_set (_standard, config->default_interop() ? 1 : 0);
}
{
int const s = _dcp_audio_channels->GetSelection ();
if (s != wxNOT_FOUND) {
- Config::instance()->set_default_dcp_audio_channels (dcp::raw_convert<int> (string_client_data (_dcp_audio_channels->GetClientObject (s))));
+ Config::instance()->set_default_dcp_audio_channels (
+ locale_convert<int> (string_client_data (_dcp_audio_channels->GetClientObject (s)))
+ );
}
}
#include "lib/content.h"
#include "lib/video_content.h"
#include "lib/audio_content.h"
-#include <dcp/raw_convert.h>
#include <boost/algorithm/string.hpp>
#include <boost/foreach.hpp>
using std::map;
using boost::shared_ptr;
using boost::dynamic_pointer_cast;
-using dcp::raw_convert;
ContentPropertiesDialog::ContentPropertiesDialog (wxWindow* parent, shared_ptr<Content> content)
: TableDialog (parent, _("Content Properties"), 2, 1, false)
#include "lib/subtitle_content.h"
#include "lib/dcp_content.h"
#include "lib/audio_content.h"
+#include "lib/locale_convert.h"
#include <dcp/key.h>
-#include <dcp/raw_convert.h>
#include <wx/wx.h>
#include <wx/notebook.h>
#include <wx/gbsizer.h>
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
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;
using std::list;
using boost::function;
using boost::optional;
+using dcp::raw_convert;
DolbyDoremiCertificatePanel::DolbyDoremiCertificatePanel (wxWindow* parent, DownloadCertificateDialog* dialog)
: DownloadCertificatePanel (parent, dialog)
static void
try_cat862 (list<string>& urls, list<string>& files, string prefix, string serial)
{
- int const serial_int = dcp::raw_convert<int> (serial);
+ int const serial_int = raw_convert<int> (serial);
string cat862;
if (serial_int <= 510999) {
static void
try_dsp100 (list<string>& urls, list<string>& files, string prefix, string serial)
{
- int const serial_int = dcp::raw_convert<int> (serial);
+ int const serial_int = raw_convert<int> (serial);
string dsp100;
if (serial_int <= 999) {
static void
try_cat745 (list<string>& urls, list<string>& files, string prefix, string serial)
{
- int const serial_int = dcp::raw_convert<int> (serial.substr (1));
+ int const serial_int = raw_convert<int> (serial.substr (1));
string cat745;
if (serial_int <= 999) {
static void
try_cp850 (list<string>& urls, list<string>& files, string prefix, string serial)
{
- int const serial_int = dcp::raw_convert<int> (serial.substr (1));
+ int const serial_int = raw_convert<int> (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));
#include "wx_util.h"
#include "image_sequence_dialog.h"
-#include <dcp/raw_convert.h>
-
-using dcp::raw_convert;
+#include "lib/locale_convert.h"
ImageSequenceDialog::ImageSequenceDialog (wxWindow* parent)
: TableDialog (parent, _("Add image sequence"), 2, 1, true)
ImageSequenceDialog::frame_rate () const
{
try {
- return raw_convert<double> (wx_to_std (_frame_rate->GetValue ()));
+ return locale_convert<double> (wx_to_std (_frame_rate->GetValue ()));
} catch (...) {
}
*/
#include "playhead_to_frame_dialog.h"
-#include <dcp/raw_convert.h>
-
-using dcp::raw_convert;
+#include "lib/locale_convert.h"
PlayheadToFrameDialog::PlayheadToFrameDialog (wxWindow* parent, int fps)
: TableDialog (parent, _("Go to frame"), 2, 1, true)
DCPTime
PlayheadToFrameDialog::get () const
{
- return DCPTime::from_frames (raw_convert<Frame> (wx_to_std (_frame->GetValue ())) - 1, _fps);
+ return DCPTime::from_frames (locale_convert<Frame> (wx_to_std (_frame->GetValue ())) - 1, _fps);
}
#include "time_picker.h"
#include "wx_util.h"
-#include <dcp/raw_convert.h>
+#include "lib/locale_convert.h"
#include <wx/spinctrl.h>
#include <boost/bind.hpp>
#include <iomanip>
using std::string;
using std::cout;
using boost::bind;
-using dcp::raw_convert;
TimePicker::TimePicker (wxWindow* parent, wxDateTime time)
: wxPanel (parent)
}
_block_update = true;
- _hours_spin->SetValue (raw_convert<int> (wx_to_std (_hours->GetValue())));
- _minutes_spin->SetValue (raw_convert<int> (wx_to_std (_minutes->GetValue())));
+ _hours_spin->SetValue (locale_convert<int> (wx_to_std (_hours->GetValue())));
+ _minutes_spin->SetValue (locale_convert<int> (wx_to_std (_minutes->GetValue())));
_block_update = false;
Changed ();
#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 <dcp/raw_convert.h>
#include <boost/foreach.hpp>
#include <set>
#include <iostream>
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 */
bool const single_frame_image_content = content && dynamic_pointer_cast<const ImageContent> (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<string> (content->video_frame_rate().get(), 5));
+ checked_set (_video_frame_rate, locale_convert<string> (content->video_frame_rate().get(), 5));
_video_frame_rate->Enable (true);
} else {
checked_set (_video_frame_rate, wxT (""));
void
TimingPanel::set_video_frame_rate ()
{
- double const fr = raw_convert<double> (wx_to_std (_video_frame_rate->GetValue ()));
+ double const fr = locale_convert<double> (wx_to_std (_video_frame_rate->GetValue ()));
BOOST_FOREACH (shared_ptr<Content> i, _parent->selected ()) {
i->set_video_frame_rate (fr);
}
#include "wx_util.h"
#include "lib/image.h"
#include "lib/dcp_video.h"
+#include "lib/locale_convert.h"
#include <dcp/openjpeg_image.h>
-#include <dcp/raw_convert.h>
#include <wx/rawbmp.h>
#include <wx/graphics.h>
#include <boost/bind.hpp>
using std::string;
using boost::weak_ptr;
using boost::shared_ptr;
-using dcp::raw_convert;
int const VideoWaveformPlot::_vertical_margin = 8;
} else if (n < 1000) {
x += extra[2];
}
- gc->DrawText (std_to_wx (raw_convert<string> (n)), x, y - (label_height / 2));
+ gc->DrawText (std_to_wx (locale_convert<string> (n)), x, y - (label_height / 2));
}
wxImage waveform (_waveform->size().width, height, _waveform->data()[0], true);
#include "file_picker_ctrl.h"
#include "lib/config.h"
#include "lib/util.h"
-#include <dcp/raw_convert.h>
+#include "lib/locale_convert.h"
#include <wx/spinctrl.h>
#include <boost/thread.hpp>
vector<pair<string, string> > 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<string> (i)));
+ items.push_back (make_pair (wx_to_std (_("2 - stereo")), locale_convert<string> (i)));
} else if (i == 4) {
- items.push_back (make_pair (wx_to_std (_("4 - L/C/R/Lfe")), dcp::raw_convert<string> (i)));
+ items.push_back (make_pair (wx_to_std (_("4 - L/C/R/Lfe")), locale_convert<string> (i)));
} else if (i == 6) {
- items.push_back (make_pair (wx_to_std (_("6 - 5.1")), dcp::raw_convert<string> (i)));
+ items.push_back (make_pair (wx_to_std (_("6 - 5.1")), locale_convert<string> (i)));
} else if (i == 8) {
- items.push_back (make_pair (wx_to_std (_("8 - 5.1/HI/VI")), dcp::raw_convert<string> (i)));
+ items.push_back (make_pair (wx_to_std (_("8 - 5.1/HI/VI")), locale_convert<string> (i)));
} else if (i == 12) {
- items.push_back (make_pair (wx_to_std (_("12 - 7.1/HI/VI")), dcp::raw_convert<string> (i)));
+ items.push_back (make_pair (wx_to_std (_("12 - 7.1/HI/VI")), locale_convert<string> (i)));
} else {
- items.push_back (make_pair (dcp::raw_convert<string> (i), dcp::raw_convert<string> (i)));
+ items.push_back (make_pair (locale_convert<string> (i), locale_convert<string> (i)));
}
}
*/
-#include <boost/test/unit_test.hpp>
#include "lib/ffmpeg_content.h"
#include "lib/ratio.h"
#include "lib/video_content.h"
+#include <dcp/raw_convert.h>
+#include <boost/test/unit_test.hpp>
using std::list;
using std::string;