Fixed playing multiple instances of the same Music.

This commit is contained in:
rude
2009-12-27 17:38:51 +01:00
parent 3c79a33931
commit 8e74574544
6 changed files with 35 additions and 8 deletions
+16 -2
View File
@@ -67,8 +67,22 @@ namespace audio
int w_newSource(lua_State * L)
{
Audible * a = luax_checktype<Audible>(L, 1, "Audible", AUDIO_AUDIBLE_T);
Source * t = instance->newSource(a);
Source * t = 0;
if(luax_istype(L, 1, AUDIO_SOUND_T))
{
Sound * s = luax_checksound(L, 1);
t = instance->newSource(s);
}
else if(luax_istype(L, 1, AUDIO_MUSIC_T))
{
Music * m = luax_checkmusic(L, 1);
t = instance->newSource(m);
}
if(!t)
return luaL_error(L, "No matching overload");
luax_newtype(L, "Source", AUDIO_SOURCE_T, (void*)t);
return 1;
}