summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-08-15 16:37:44 +0200
committerRobin Gareus <robin@gareus.org>2016-08-15 16:37:44 +0200
commit46cbb9084e124e971427b7c982b20c86a5fb2f1a (patch)
treed9a91d8dad9944de8f3219f41c9ffcfc1383929e /libs/ardour
parente2466621bc4e4bf9f4555e9ea98ce1b24da1916b (diff)
Expose Stripable Color & Ordering API to Lua
We can't easily use C++ references with Lua closures, so new API (pointer to PresentationInfo) was added.
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/stripable.h1
-rw-r--r--libs/ardour/luabindings.cc9
2 files changed, 10 insertions, 0 deletions
diff --git a/libs/ardour/ardour/stripable.h b/libs/ardour/ardour/stripable.h
index 2464dddab9..942b48815b 100644
--- a/libs/ardour/ardour/stripable.h
+++ b/libs/ardour/ardour/stripable.h
@@ -73,6 +73,7 @@ class LIBARDOUR_API Stripable : public SessionObject {
PresentationInfo const & presentation_info () const { return _presentation_info; }
PresentationInfo& presentation_info () { return _presentation_info; }
+ PresentationInfo* presentation_info_ptr () { return &_presentation_info; }
/* set just the order */
diff --git a/libs/ardour/luabindings.cc b/libs/ardour/luabindings.cc
index 0bbfb11624..631ab3b8a4 100644
--- a/libs/ardour/luabindings.cc
+++ b/libs/ardour/luabindings.cc
@@ -587,6 +587,12 @@ LuaBindings::common (lua_State* L)
// stub RouteGroup* is needed for new_audio_track()
.endClass ()
+ .deriveClass <PresentationInfo, PBD::Stateful> ("PresentationInfo")
+ .addFunction ("color", &PresentationInfo::color)
+ .addFunction ("set_color", &PresentationInfo::set_color)
+ .addFunction ("order", &PresentationInfo::order)
+ .endClass ()
+
.deriveWSPtrClass <Stripable, SessionObject> ("Stripable")
.addCast<Route> ("to_route")
.addFunction ("is_auditioner", &Stripable::is_auditioner)
@@ -603,6 +609,9 @@ LuaBindings::common (lua_State* L)
.addFunction ("trim_control", &Stripable::trim_control)
.addFunction ("rec_enable_control", &Stripable::rec_enable_control)
.addFunction ("rec_safe_control", &Stripable::rec_safe_control)
+ .addFunction ("set_presentation_order", &Stripable::set_presentation_order)
+ .addFunction ("presentation_info_ptr", &Stripable::presentation_info_ptr)
+
.endClass ()
.deriveWSPtrClass <Route, Stripable> ("Route")