Browse Source

Fixed SoundData:getDuration

Alex Szpakowski 12 years ago
parent
commit
fa799227a2

+ 2 - 2
src/modules/sound/SoundData.cpp

@@ -147,9 +147,9 @@ int SoundData::getSampleRate() const
 	return sampleRate;
 }
 
-int SoundData::getDuration() const
+float SoundData::getDuration() const
 {
-	return size/(channels*sampleRate*bits/8);
+	return float(size) / (channels*sampleRate*bits/8);
 }
 
 void SoundData::setSample(int i, float sample)

+ 1 - 1
src/modules/sound/SoundData.h

@@ -49,7 +49,7 @@ public:
 	virtual int getBits() const;
 	virtual int getSampleRate() const;
 
-	virtual int getDuration() const;
+	virtual float getDuration() const;
 
 	void setSample(int i, float sample);
 	float getSample(int i) const;

+ 1 - 1
src/modules/sound/wrap_SoundData.cpp

@@ -56,7 +56,7 @@ int w_SoundData_getSampleRate(lua_State *L)
 int w_SoundData_getDuration(lua_State *L)
 {
 	SoundData *t = luax_checksounddata(L, 1);
-	lua_pushinteger(L, t->getDuration());
+	lua_pushnumber(L, t->getDuration());
 	return 1;
 }