summaryrefslogtreecommitdiff
path: root/src/lib/util.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2016-03-13 01:37:44 +0000
committerCarl Hetherington <cth@carlh.net>2016-03-13 01:37:44 +0000
commit1a1d4b22589d5832dd594a65054d9261f9f496cf (patch)
tree32e1ec37ad23fc68d13ab84654e3f98e54f92ebc /src/lib/util.cc
parentea35bff04d7a96f44ea595951bb0c0dd54c8ee52 (diff)
Accept either , or . for a decimal separator in the gain calculator.
Diffstat (limited to 'src/lib/util.cc')
-rw-r--r--src/lib/util.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/util.cc b/src/lib/util.cc
index f434f358e..61c9dac06 100644
--- a/src/lib/util.cc
+++ b/src/lib/util.cc
@@ -1,5 +1,5 @@
/*
- Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2016 Carl Hetherington <cth@carlh.net>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -85,6 +85,8 @@ using std::set_terminate;
using boost::shared_ptr;
using boost::thread;
using boost::optional;
+using boost::lexical_cast;
+using boost::bad_lexical_cast;
using dcp::Size;
/** Path to our executable, required by the stacktrace stuff and filled
@@ -622,3 +624,15 @@ audio_asset_filename (shared_ptr<dcp::SoundAsset> asset)
{
return "pcm_" + asset->id() + ".mxf";
}
+
+float
+relaxed_string_to_float (string s)
+{
+ try {
+ boost::algorithm::replace_all (s, ",", ".");
+ return lexical_cast<float> (s);
+ } catch (bad_lexical_cast) {
+ boost::algorithm::replace_all (s, ".", ",");
+ return lexical_cast<float> (s);
+ }
+}