diff --git a/interface/src/renderer/Model.cpp b/interface/src/renderer/Model.cpp index f8de7210ea..ef0911f673 100644 --- a/interface/src/renderer/Model.cpp +++ b/interface/src/renderer/Model.cpp @@ -468,8 +468,13 @@ void Model::clearShapes() { void Model::rebuildShapes() { clearShapes(); + + if (!_geometry) { + return; + } + const FBXGeometry& geometry = _geometry->getFBXGeometry(); - + if (geometry.joints.isEmpty()) { return; } diff --git a/libraries/audio/src/Sound.cpp b/libraries/audio/src/Sound.cpp index bcae878259..5bd63b7959 100644 --- a/libraries/audio/src/Sound.cpp +++ b/libraries/audio/src/Sound.cpp @@ -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) { diff --git a/libraries/audio/src/Sound.h b/libraries/audio/src/Sound.h index ae2fd391a1..c473cdff83 100644 --- a/libraries/audio/src/Sound.h +++ b/libraries/audio/src/Sound.h @@ -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);