move environment mute to Audio

This commit is contained in:
Stephen Birarda 2014-12-16 10:46:24 -08:00
parent 78edb94963
commit aeb273a882
4 changed files with 22 additions and 28 deletions

View file

@ -992,6 +992,25 @@ void Audio::processReceivedSamples(const QByteArray& inputBuffer, QByteArray& ou
} }
} }
void Audio::sendMuteEnvironmentPacket() {
QByteArray mutePacket = byteArrayWithPopulatedHeader(PacketTypeMuteEnvironment);
QDataStream mutePacketStream(&mutePacket, QIODevice::Append);
const float MUTE_RADIUS = 50;
mutePacketStream.writeBytes(reinterpret_cast<const char *>(&Application::getInstance()->getAvatar()->getPosition()),
sizeof(glm::vec3));
mutePacketStream.writeBytes(reinterpret_cast<const char *>(&MUTE_RADIUS), sizeof(float));
// grab our audio mixer from the NodeList, if it exists
SharedNodePointer audioMixer = NodeList::getInstance()->soloNodeOfType(NodeType::AudioMixer);
if (audioMixer) {
// send off this mute packet
NodeList::getInstance()->writeDatagram(mutePacket, audioMixer);
}
}
void Audio::addReceivedAudioToStream(const QByteArray& audioByteArray) { void Audio::addReceivedAudioToStream(const QByteArray& audioByteArray) {
if (_audioOutput) { if (_audioOutput) {
// Audio output must exist and be correctly set up if we're going to process received audio // Audio output must exist and be correctly set up if we're going to process received audio

View file

@ -150,6 +150,7 @@ public slots:
void addLastFrameRepeatedWithFadeToScope(int samplesPerChannel); void addLastFrameRepeatedWithFadeToScope(int samplesPerChannel);
void addStereoSamplesToScope(const QByteArray& samples); void addStereoSamplesToScope(const QByteArray& samples);
void processReceivedSamples(const QByteArray& inputBuffer, QByteArray& outputBuffer); void processReceivedSamples(const QByteArray& inputBuffer, QByteArray& outputBuffer);
void sendMuteEnvironmentPacket();
virtual bool outputLocalInjector(bool isStereo, qreal volume, AudioInjector* injector); virtual bool outputLocalInjector(bool isStereo, qreal volume, AudioInjector* injector);

View file

@ -80,7 +80,6 @@ const QString DEFAULT_FACESHIFT_HOSTNAME = "localhost";
const float DEFAULT_AVATAR_LOD_DISTANCE_MULTIPLIER = 1.0f; const float DEFAULT_AVATAR_LOD_DISTANCE_MULTIPLIER = 1.0f;
const int ONE_SECOND_OF_FRAMES = 60; const int ONE_SECOND_OF_FRAMES = 60;
const int FIVE_SECONDS_OF_FRAMES = 5 * ONE_SECOND_OF_FRAMES; const int FIVE_SECONDS_OF_FRAMES = 5 * ONE_SECOND_OF_FRAMES;
const float MUTE_RADIUS = 50;
const QString CONSOLE_TITLE = "Scripting Console"; const QString CONSOLE_TITLE = "Scripting Console";
const float CONSOLE_WINDOW_OPACITY = 0.95f; const float CONSOLE_WINDOW_OPACITY = 0.95f;
@ -546,8 +545,8 @@ Menu::Menu() :
addActionToQMenuAndActionHash(audioDebugMenu, addActionToQMenuAndActionHash(audioDebugMenu,
MenuOption::MuteEnvironment, MenuOption::MuteEnvironment,
0, 0,
this, appInstance->getAudio(),
SLOT(muteEnvironment())); SLOT(sendMuteEnvironmentPacket()));
addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::AudioSourceInject, addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::AudioSourceInject,
0, 0,
@ -1141,30 +1140,6 @@ void Menu::toggleAddressBar() {
} }
} }
void Menu::muteEnvironment() {
int headerSize = numBytesForPacketHeaderGivenPacketType(PacketTypeMuteEnvironment);
int packetSize = headerSize + sizeof(glm::vec3) + sizeof(float);
glm::vec3 position = Application::getInstance()->getAvatar()->getPosition();
char* packet = (char*)malloc(packetSize);
populatePacketHeader(packet, PacketTypeMuteEnvironment);
memcpy(packet + headerSize, &position, sizeof(glm::vec3));
memcpy(packet + headerSize + sizeof(glm::vec3), &MUTE_RADIUS, sizeof(float));
QByteArray mutePacket(packet, packetSize);
// grab our audio mixer from the NodeList, if it exists
SharedNodePointer audioMixer = NodeList::getInstance()->soloNodeOfType(NodeType::AudioMixer);
if (audioMixer) {
// send off this mute packet
NodeList::getInstance()->writeDatagram(mutePacket, audioMixer);
}
free(packet);
}
void Menu::changeVSync() { void Menu::changeVSync() {
Application::getInstance()->setVSyncEnabled(isOptionChecked(MenuOption::RenderTargetFramerateVSyncOn)); Application::getInstance()->setVSyncEnabled(isOptionChecked(MenuOption::RenderTargetFramerateVSyncOn));
} }

View file

@ -229,7 +229,6 @@ private slots:
void toggleChat(); void toggleChat();
void audioMuteToggled(); void audioMuteToggled();
void displayNameLocationResponse(const QString& errorString); void displayNameLocationResponse(const QString& errorString);
void muteEnvironment();
void changeVSync(); void changeVSync();
private: private: