From 9f2c0adec74fee4052e749707ca955c8e72e5e3f Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 28 May 2013 12:22:51 -0700 Subject: [PATCH 1/2] move audioLoudness to HeadData --- interface/src/Application.cpp | 2 +- interface/src/Avatar.cpp | 3 +-- interface/src/Head.cpp | 1 - interface/src/Head.h | 2 -- libraries/avatars/src/AvatarData.cpp | 6 +++--- libraries/avatars/src/AvatarData.h | 9 +-------- libraries/avatars/src/HeadData.cpp | 1 + libraries/avatars/src/HeadData.h | 3 +++ 8 files changed, 10 insertions(+), 17 deletions(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index b94103c576..da06341f15 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -1336,7 +1336,7 @@ void Application::updateAvatar(float deltaTime) { // Get audio loudness data from audio input device #ifndef _WIN32 - _myAvatar.setLoudness(_audio.getLastInputLoudness()); + _myAvatar.getHead().setAudioLoudness(_audio.getLastInputLoudness()); #endif // Update Avatar with latest camera and view frustum data... diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index 23221b1c70..15d2bd2774 100644 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -80,8 +80,8 @@ Avatar::Avatar(Agent* owningAgent) : _bodyRollDelta(0.0f), _movedHandOffset(0.0f, 0.0f, 0.0f), _rotation(0.0f, 0.0f, 0.0f, 0.0f), - _cameraPosition(0.0f, 0.0f, 0.0f), _mode(AVATAR_MODE_STANDING), + _cameraPosition(0.0f, 0.0f, 0.0f), _handHoldingPosition(0.0f, 0.0f, 0.0f), _velocity(0.0f, 0.0f, 0.0f), _thrust(0.0f, 0.0f, 0.0f), @@ -443,7 +443,6 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) { _head.setBodyRotation (glm::vec3(_bodyPitch, _bodyYaw, _bodyRoll)); _head.setPosition(_joint[ AVATAR_JOINT_HEAD_BASE ].springyPosition); _head.setScale (_joint[ AVATAR_JOINT_HEAD_BASE ].radius); - _head.setAudioLoudness(_audioLoudness); _head.setSkinColor(glm::vec3(skinColor[0], skinColor[1], skinColor[2])); _head.simulate(deltaTime, !_owningAgent); diff --git a/interface/src/Head.cpp b/interface/src/Head.cpp index 1486013c9c..ede5e73b20 100644 --- a/interface/src/Head.cpp +++ b/interface/src/Head.cpp @@ -42,7 +42,6 @@ Head::Head(Avatar* owningAvatar) : HeadData((AvatarData*)owningAvatar), yawRate(0.0f), _returnHeadToCenter(false), - _audioLoudness(0.0f), _skinColor(0.0f, 0.0f, 0.0f), _position(0.0f, 0.0f, 0.0f), _rotation(0.0f, 0.0f, 0.0f), diff --git a/interface/src/Head.h b/interface/src/Head.h index bdf519fcfe..a116a45fa3 100644 --- a/interface/src/Head.h +++ b/interface/src/Head.h @@ -45,7 +45,6 @@ public: void setSkinColor (glm::vec3 skinColor ) { _skinColor = skinColor; } void setSpringScale (float returnSpringScale ) { _returnSpringScale = returnSpringScale; } void setAverageLoudness(float averageLoudness ) { _averageLoudness = averageLoudness; } - void setAudioLoudness (float audioLoudness ) { _audioLoudness = audioLoudness; } void setReturnToCenter (bool returnHeadToCenter) { _returnHeadToCenter = returnHeadToCenter; } void setRenderLookatVectors(bool onOff ) { _renderLookatVectors = onOff; } @@ -74,7 +73,6 @@ private: }; bool _returnHeadToCenter; - float _audioLoudness; glm::vec3 _skinColor; glm::vec3 _position; glm::vec3 _rotation; diff --git a/libraries/avatars/src/AvatarData.cpp b/libraries/avatars/src/AvatarData.cpp index 4b97a2a047..99e3b61656 100644 --- a/libraries/avatars/src/AvatarData.cpp +++ b/libraries/avatars/src/AvatarData.cpp @@ -37,7 +37,6 @@ AvatarData::AvatarData(Agent* owningAgent) : _bodyYaw(-90.0), _bodyPitch(0.0), _bodyRoll(0.0), - _audioLoudness(0), _handState(0), _cameraPosition(0,0,0), _cameraDirection(0,0,0), @@ -53,6 +52,7 @@ AvatarData::AvatarData(Agent* owningAgent) : _wantDelta(false), _headData(NULL) { + } AvatarData::~AvatarData() { @@ -104,7 +104,7 @@ int AvatarData::getBroadcastData(unsigned char* destinationBuffer) { destinationBuffer += sizeof(char); // Instantaneous audio loudness (used to drive facial animation) - memcpy(destinationBuffer, &_audioLoudness, sizeof(float)); + memcpy(destinationBuffer, &_headData->_audioLoudness, sizeof(float)); destinationBuffer += sizeof(float); // camera details @@ -198,7 +198,7 @@ int AvatarData::parseData(unsigned char* sourceBuffer, int numBytes) { sourceBuffer += sizeof(char); // Instantaneous audio loudness (used to drive facial animation) - memcpy(&_audioLoudness, sourceBuffer, sizeof(float)); + memcpy(&_headData->_audioLoudness, sourceBuffer, sizeof(float)); sourceBuffer += sizeof(float); // camera details diff --git a/libraries/avatars/src/AvatarData.h b/libraries/avatars/src/AvatarData.h index 5773dedffd..18bbacf810 100644 --- a/libraries/avatars/src/AvatarData.h +++ b/libraries/avatars/src/AvatarData.h @@ -51,11 +51,7 @@ public: // Hand State void setHandState(char s) { _handState = s; }; char getHandState() const {return _handState; }; - - // Instantaneous audio loudness to drive mouth/facial animation - void setLoudness(float l) { _audioLoudness = l; }; - float getLoudness() const {return _audioLoudness; }; - + // getters for camera details const glm::vec3& getCameraPosition() const { return _cameraPosition; }; const glm::vec3& getCameraDirection() const { return _cameraDirection; } @@ -103,9 +99,6 @@ protected: float _bodyPitch; float _bodyRoll; - // Audio loudness (used to drive facial animation) - float _audioLoudness; - // Hand state (are we grabbing something or not) char _handState; diff --git a/libraries/avatars/src/HeadData.cpp b/libraries/avatars/src/HeadData.cpp index 906e10e48f..89a431908f 100644 --- a/libraries/avatars/src/HeadData.cpp +++ b/libraries/avatars/src/HeadData.cpp @@ -15,6 +15,7 @@ HeadData::HeadData(AvatarData* owningAvatar) : _lookAtPosition(0.0f, 0.0f, 0.0f), _leanSideways(0.0f), _leanForward(0.0f), + _audioLoudness(0.0f), _owningAvatar(owningAvatar) { diff --git a/libraries/avatars/src/HeadData.h b/libraries/avatars/src/HeadData.h index 0eb135b899..d2ec5b1cb6 100644 --- a/libraries/avatars/src/HeadData.h +++ b/libraries/avatars/src/HeadData.h @@ -41,6 +41,8 @@ public: float getRoll() const { return _roll; } void setRoll(float roll) { _roll = glm::clamp(roll, MIN_HEAD_ROLL, MAX_HEAD_ROLL); } + void setAudioLoudness(float audioLoudness) { _audioLoudness = audioLoudness; } + void addYaw(float yaw); void addPitch(float pitch); void addRoll(float roll); @@ -57,6 +59,7 @@ protected: glm::vec3 _lookAtPosition; float _leanSideways; float _leanForward; + float _audioLoudness; AvatarData* _owningAvatar; private: // privatize copy ctor and assignment operator so copies of this object cannot be made From badab39ef1739ae5de05b8da1b1607df60f83798 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Tue, 28 May 2013 15:58:57 -0700 Subject: [PATCH 2/2] resolve conflict on merge with upstream master --- interface/src/Avatar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/Avatar.cpp b/interface/src/Avatar.cpp index 621203d7b2..3981d4f76d 100644 --- a/interface/src/Avatar.cpp +++ b/interface/src/Avatar.cpp @@ -434,7 +434,7 @@ void Avatar::simulate(float deltaTime, Transmitter* transmitter) { _head.setBodyRotation (glm::vec3(_bodyPitch, _bodyYaw, _bodyRoll)); _head.setPosition(_joint[ AVATAR_JOINT_HEAD_BASE ].springyPosition); _head.setScale (_joint[ AVATAR_JOINT_HEAD_BASE ].radius); - _head.setSkinColor(glm::vec3(skinColor[0], skinColor[1], skinColor[2])); + _head.setSkinColor(glm::vec3(SKIN_COLOR[0], SKIN_COLOR[1], SKIN_COLOR[2])); _head.simulate(deltaTime, !_owningAgent); // use speed and angular velocity to determine walking vs. standing