Added Source:getType

This commit is contained in:
Alex Szpakowski
2013-08-03 21:30:47 -03:00
parent a4ff39e0d4
commit 4d6bdf4857
4 changed files with 23 additions and 0 deletions
+5
View File
@@ -34,6 +34,11 @@ Source::~Source()
{ {
} }
Source::Type Source::getType() const
{
return type;
}
bool Source::getConstant(const char *in, Type &out) bool Source::getConstant(const char *in, Type &out)
{ {
return types.find(in, out); return types.find(in, out);
+2
View File
@@ -96,6 +96,8 @@ public:
virtual void setMaxDistance(float distance) = 0; virtual void setMaxDistance(float distance) = 0;
virtual float getMaxDistance() const = 0; virtual float getMaxDistance() const = 0;
virtual Type getType() const;
static bool getConstant(const char *in, Type &out); static bool getConstant(const char *in, Type &out);
static bool getConstant(Type in, const char *&out); static bool getConstant(Type in, const char *&out);
static bool getConstant(const char *in, Unit &out); static bool getConstant(const char *in, Unit &out);
+15
View File
@@ -289,6 +289,19 @@ int w_Source_getRolloff(lua_State *L)
return 1; return 1;
} }
int w_Source_getType(lua_State *L)
{
Source *t = luax_checksource(L, 1);
Source::Type stype = t->getType();
const char *typestr;
if (!Source::getConstant(stype, typestr))
return luaL_error(L, "Unknown Source type.");
lua_pushstring(L, typestr);
return 1;
}
static const luaL_Reg functions[] = static const luaL_Reg functions[] =
{ {
{ "play", w_Source_play }, { "play", w_Source_play },
@@ -324,6 +337,8 @@ static const luaL_Reg functions[] =
{ "setRolloff", w_Source_setRolloff}, { "setRolloff", w_Source_setRolloff},
{ "getRolloff", w_Source_getRolloff}, { "getRolloff", w_Source_getRolloff},
{ "getType", w_Source_getType },
{ 0, 0 } { 0, 0 }
}; };
+1
View File
@@ -59,6 +59,7 @@ int w_Source_setDistance(lua_State *L);
int w_Source_getDistance(lua_State *L); int w_Source_getDistance(lua_State *L);
int w_Source_setRolloff(lua_State *L); int w_Source_setRolloff(lua_State *L);
int w_Source_getRolloff(lua_State *L); int w_Source_getRolloff(lua_State *L);
int w_Source_getType(lua_State *L);
extern "C" int luaopen_source(lua_State *L); extern "C" int luaopen_source(lua_State *L);
} // audio } // audio