From 150a667cd6701dac93ab2c609e0699af35c5425a Mon Sep 17 00:00:00 2001 From: stojce Date: Thu, 16 Jan 2014 20:17:04 +0100 Subject: [PATCH 1/3] WL job #19484 - Move 'Fly to voxel on click' menu item; - add shortcut for muting audio ... --- interface/src/Audio.cpp | 7 ++++++- interface/src/Audio.h | 6 ++++++ interface/src/Menu.cpp | 21 ++++++++++++++++----- interface/src/Menu.h | 2 ++ 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/interface/src/Audio.cpp b/interface/src/Audio.cpp index d1e2f59cae..90bb3df706 100644 --- a/interface/src/Audio.cpp +++ b/interface/src/Audio.cpp @@ -531,12 +531,17 @@ void Audio::addReceivedAudioToBuffer(const QByteArray& audioByteArray) { bool Audio::mousePressEvent(int x, int y) { if (_iconBounds.contains(x, y)) { - _muted = !_muted; + toggleMute(); return true; } return false; } +void Audio::toggleMute() { + _muted = !_muted; + muteToggled(); +} + void Audio::render(int screenWidth, int screenHeight) { if (_audioInput) { glLineWidth(2.0); diff --git a/interface/src/Audio.h b/interface/src/Audio.h index e8dad7e067..cc5a43d8e0 100644 --- a/interface/src/Audio.h +++ b/interface/src/Audio.h @@ -62,6 +62,8 @@ public: bool getCollisionFlashesScreen() { return _collisionFlashesScreen; } + bool getMuted() { return _muted; } + void init(QGLWidget *parent = 0); bool mousePressEvent(int x, int y); @@ -70,8 +72,12 @@ public slots: void addReceivedAudioToBuffer(const QByteArray& audioByteArray); void handleAudioInput(); void reset(); + void toggleMute(); virtual void handleAudioByteArray(const QByteArray& audioByteArray); + +signals: + bool muteToggled(); private: QByteArray firstInputFrame; diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 8989906b99..f317f49ada 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -167,7 +167,9 @@ Menu::Menu() : true, appInstance->getAvatar(), SLOT(setWantCollisionsOn(bool))); - + + addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::ClickToFly); + QMenu* toolsMenu = addMenu("Tools"); _voxelModeActionsGroup = new QActionGroup(this); @@ -188,8 +190,6 @@ Menu::Menu() : QAction* getColorMode = addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::VoxelGetColorMode, Qt::Key_G); _voxelModeActionsGroup->addAction(getColorMode); - addCheckableActionToQMenuAndActionHash(toolsMenu, MenuOption::ClickToFly); - // connect each of the voxel mode actions to the updateVoxelModeActionsSlot foreach (QAction* action, _voxelModeActionsGroup->actions()) { @@ -504,13 +504,19 @@ Menu::Menu() : QMenu* audioDebugMenu = developerMenu->addMenu("Audio Debugging Tools"); addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoServerAudio); addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::EchoLocalAudio); - + addCheckableActionToQMenuAndActionHash(audioDebugMenu, MenuOption::MuteAudio, + Qt::CTRL | Qt::Key_M, + false, + appInstance->getAudio(), + SLOT(toggleMute())); + addActionToQMenuAndActionHash(developerMenu, MenuOption::PasteToVoxel, Qt::CTRL | Qt::SHIFT | Qt::Key_V, this, SLOT(pasteToVoxel())); - + connect(appInstance->getAudio(), SIGNAL(muteToggled()), this, SLOT(audioMuteToggled())); + #ifndef Q_OS_MAC QMenu* helpMenu = addMenu("Help"); QAction* helpAction = helpMenu->addAction(MenuOption::AboutApp); @@ -1051,6 +1057,11 @@ void Menu::bandwidthDetails() { _bandwidthDialog->raise(); } +void Menu::audioMuteToggled() { + QAction *muteAction = _actionHash.value(MenuOption::MuteAudio); + muteAction->setChecked(Application::getInstance()->getAudio()->getMuted()); +} + void Menu::bandwidthDetailsClosed() { if (_bandwidthDialog) { delete _bandwidthDialog; diff --git a/interface/src/Menu.h b/interface/src/Menu.h index a49657e933..48e23e44af 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -107,6 +107,7 @@ private slots: void chooseVoxelPaintColor(); void runTests(); void resetSwatchColors(); + void audioMuteToggled(); private: static Menu* _instance; @@ -184,6 +185,7 @@ namespace MenuOption { const QString EnableVoxelPacketCompression = "Enable Voxel Packet Compression"; const QString EchoServerAudio = "Echo Server Audio"; const QString EchoLocalAudio = "Echo Local Audio"; + const QString MuteAudio = "Mute Audio"; const QString ExportVoxels = "Export Voxels"; const QString DontFadeOnVoxelServerChanges = "Don't Fade In/Out on Voxel Server Changes"; const QString HeadMouse = "Head Mouse"; From 631106beb71c2e50ce3029478fbfb07e75ec3ae4 Mon Sep 17 00:00:00 2001 From: stojce Date: Thu, 16 Jan 2014 23:10:23 +0100 Subject: [PATCH 2/3] Rename mute menu --- interface/src/Menu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 48e23e44af..0cbd216d8b 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -185,7 +185,7 @@ namespace MenuOption { const QString EnableVoxelPacketCompression = "Enable Voxel Packet Compression"; const QString EchoServerAudio = "Echo Server Audio"; const QString EchoLocalAudio = "Echo Local Audio"; - const QString MuteAudio = "Mute Audio"; + const QString MuteAudio = "Mute Microphone"; const QString ExportVoxels = "Export Voxels"; const QString DontFadeOnVoxelServerChanges = "Don't Fade In/Out on Voxel Server Changes"; const QString HeadMouse = "Head Mouse"; From 08de50f5784a9f62bd708d1999f841d4f9050521 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Fri, 17 Jan 2014 20:36:43 +0100 Subject: [PATCH 3/3] Fixed mouseVoxel getting resized all the time when flying over smaller voxel --- interface/src/Application.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 71f8648d23..64c883b7f6 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -2168,7 +2168,6 @@ void Application::updateMouseVoxels(float deltaTime, glm::vec3& mouseRayOrigin, _mouseVoxel.s = 0.0f; bool wasInitialized = _mouseVoxelScaleInitialized; - _mouseVoxelScaleInitialized = false; if (Menu::getInstance()->isVoxelModeActionChecked() && (fabs(_myAvatar.getVelocity().x) + fabs(_myAvatar.getVelocity().y) +