summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-08-14 23:49:43 +0200
committerRobin Gareus <robin@gareus.org>2018-08-14 23:50:11 +0200
commitd9a3866299bc43c5139e8812ba8c2dbfc4ece343 (patch)
tree24b1cfea0a4b0c1bbb45e4cb496e0e48fcbbd6c1 /libs/ardour
parent6434bf9dd34c3b32f6ba41f668562af0ae740c8a (diff)
Add a locale-independent float/double format Lua method
print(ARDOUR.LuaAPI.ascii_dtostr(1.5))
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/lua_api.h4
-rw-r--r--libs/ardour/lua_api.cc8
-rw-r--r--libs/ardour/luabindings.cc1
3 files changed, 13 insertions, 0 deletions
diff --git a/libs/ardour/ardour/lua_api.h b/libs/ardour/ardour/lua_api.h
index fe956c6b43..7c2c309982 100644
--- a/libs/ardour/ardour/lua_api.h
+++ b/libs/ardour/ardour/lua_api.h
@@ -188,6 +188,10 @@ namespace ARDOUR { namespace LuaAPI {
int color_to_rgba (lua_State *lua);
/**
+ */
+ std::string ascii_dtostr (const double d);
+
+ /**
* Creates a filename from a series of elements using the correct separator for filenames.
*
* No attempt is made to force the resulting filename to be an absolute path.
diff --git a/libs/ardour/lua_api.cc b/libs/ardour/lua_api.cc
index 59d2749399..82ff2fd651 100644
--- a/libs/ardour/lua_api.cc
+++ b/libs/ardour/lua_api.cc
@@ -527,6 +527,14 @@ ARDOUR::LuaAPI::hsla_to_rgba (lua_State *L)
return 4;
}
+std::string
+ARDOUR::LuaAPI::ascii_dtostr (const double d)
+{
+ gchar buf[G_ASCII_DTOSTR_BUF_SIZE];
+ g_ascii_dtostr (buf, sizeof(buf), d);
+ return std::string (buf);
+}
+
int
ARDOUR::LuaAPI::color_to_rgba (lua_State *L)
{
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc
index d82fb38bc6..90c8b8ad90 100644
--- a/libs/ardour/luabindings.cc
+++ b/libs/ardour/luabindings.cc
@@ -2330,6 +2330,7 @@ LuaBindings::common (lua_State* L)
.addCFunction ("plugin_automation", ARDOUR::LuaAPI::plugin_automation)
.addCFunction ("hsla_to_rgba", ARDOUR::LuaAPI::hsla_to_rgba)
.addCFunction ("color_to_rgba", ARDOUR::LuaAPI::color_to_rgba)
+ .addFunction ("ascii_dtostr", ARDOUR::LuaAPI::ascii_dtostr)
.addFunction ("usleep", Glib::usleep)
.addFunction ("monotonic_time", ::g_get_monotonic_time)
.addCFunction ("build_filename", ARDOUR::LuaAPI::build_filename)