Added Source:getDuration (thanks Boolsheet!)

For streaming sources, the duration may not always be sample-accurate and may return -1 if it cannot be determined at all.
This commit is contained in:
Alex Szpakowski
2015-11-07 01:49:37 -04:00
parent 1b5a0f49fa
commit 0558fcdbd4
28 changed files with 321 additions and 90 deletions
+9
View File
@@ -65,9 +65,15 @@ public:
return buffer;
}
inline ALsizei getSize() const
{
return size;
}
private:
ALuint buffer;
ALsizei size;
}; // StaticDataBuffer
@@ -98,6 +104,8 @@ public:
virtual void seek(float offset, Unit unit);
virtual float tellAtomic(void *unit) const;
virtual float tell(Unit unit);
virtual double getDurationAtomic(void *unit);
virtual double getDuration(Unit unit);
virtual void setPosition(float *v);
virtual void getPosition(float *v) const;
virtual void setVelocity(float *v);
@@ -180,6 +188,7 @@ private:
int sampleRate;
int channels;
int bitDepth;
StrongRef<love::sound::Decoder> decoder;