convenient Lua bindings to use Ardour::DataType
This commit is contained in:
parent
3164c9a07b
commit
b7f723619d
@ -30,6 +30,10 @@
|
||||
|
||||
namespace ARDOUR { namespace LuaAPI {
|
||||
|
||||
int datatype_ctor_nil (lua_State *L);
|
||||
int datatype_ctor_audio (lua_State *L);
|
||||
int datatype_ctor_midi (lua_State *L);
|
||||
|
||||
/** create a new Lua Processor (Plugin)
|
||||
*
|
||||
* @param s Session Handle
|
||||
|
@ -36,6 +36,31 @@ using namespace ARDOUR;
|
||||
using namespace PBD;
|
||||
using namespace std;
|
||||
|
||||
int
|
||||
ARDOUR::LuaAPI::datatype_ctor_nil (lua_State *L)
|
||||
{
|
||||
DataType dt (DataType::NIL);
|
||||
luabridge::Stack <DataType>::push (L, dt);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
ARDOUR::LuaAPI::datatype_ctor_audio (lua_State *L)
|
||||
{
|
||||
DataType dt (DataType::AUDIO);
|
||||
// NB luabridge will copy construct the object and manage lifetime.
|
||||
luabridge::Stack <DataType>::push (L, dt);
|
||||
return 1;
|
||||
}
|
||||
|
||||
int
|
||||
ARDOUR::LuaAPI::datatype_ctor_midi (lua_State *L)
|
||||
{
|
||||
DataType dt (DataType::MIDI);
|
||||
luabridge::Stack <DataType>::push (L, dt);
|
||||
return 1;
|
||||
}
|
||||
|
||||
boost::shared_ptr<Processor>
|
||||
ARDOUR::LuaAPI::new_luaproc (Session *s, const string& name)
|
||||
{
|
||||
|
@ -469,6 +469,9 @@ LuaBindings::common (lua_State* L)
|
||||
|
||||
.beginClass <DataType> ("DataType")
|
||||
.addConstructor <void (*) (std::string)> ()
|
||||
.addStaticCFunction ("null", &LuaAPI::datatype_ctor_nil) // "nil" is a lua reseved word
|
||||
.addStaticCFunction ("audio", &LuaAPI::datatype_ctor_audio)
|
||||
.addStaticCFunction ("midi", &LuaAPI::datatype_ctor_midi)
|
||||
.endClass()
|
||||
|
||||
/* libardour enums */
|
||||
|
Loading…
Reference in New Issue
Block a user