Merge pull request #2696 from birarda/master

change Sound property for JS to hasDownloaded, fix geometry crash
This commit is contained in:
AndrewMeadows 2014-04-18 15:18:12 -07:00
commit 9f0f0f17df
3 changed files with 14 additions and 5 deletions

View file

@ -468,8 +468,13 @@ void Model::clearShapes() {
void Model::rebuildShapes() {
clearShapes();
if (!_geometry) {
return;
}
const FBXGeometry& geometry = _geometry->getFBXGeometry();
if (geometry.joints.isEmpty()) {
return;
}

View file

@ -67,7 +67,8 @@ Sound::Sound(float volume, float frequency, float duration, float decay, QObject
}
Sound::Sound(const QUrl& sampleURL, QObject* parent) :
QObject(parent)
QObject(parent),
_hasDownloaded(false)
{
// assume we have a QApplication or QCoreApplication instance and use the
// QNetworkAccess manager to grab the raw audio file at the given URL
@ -111,6 +112,8 @@ void Sound::replyFinished() {
} else {
qDebug() << "Network reply without 'Content-Type'.";
}
_hasDownloaded = true;
}
void Sound::replyError(QNetworkReply::NetworkError code) {

View file

@ -18,18 +18,19 @@
class Sound : public QObject {
Q_OBJECT
Q_PROPERTY(bool empty READ isEmpty)
Q_PROPERTY(bool downloaded READ hasDownloaded)
public:
Sound(const QUrl& sampleURL, QObject* parent = NULL);
Sound(float volume, float frequency, float duration, float decay, QObject* parent = NULL);
bool isEmpty() const { return _byteArray.isEmpty(); }
bool hasDownloaded() const { return _hasDownloaded; }
const QByteArray& getByteArray() { return _byteArray; }
private:
QByteArray _byteArray;
bool _hasDownloaded;
void downSample(const QByteArray& rawAudioByteArray);
void interpretAsWav(const QByteArray& inputAudioByteArray, QByteArray& outputAudioByteArray);