From 2177765b090d09e6067b45725815f47c5c6396a7 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Thu, 14 Jan 2016 13:11:11 -0800 Subject: [PATCH 1/2] wire up audio show level meter menu --- interface/resources/qml/AvatarInputs.qml | 2 +- interface/src/Menu.cpp | 5 ++--- interface/src/Menu.h | 3 ++- interface/src/ui/AvatarInputs.cpp | 1 + interface/src/ui/AvatarInputs.h | 4 +++- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/interface/resources/qml/AvatarInputs.qml b/interface/resources/qml/AvatarInputs.qml index ce729d468d..fb989dd174 100644 --- a/interface/resources/qml/AvatarInputs.qml +++ b/interface/resources/qml/AvatarInputs.qml @@ -86,7 +86,7 @@ Hifi.AvatarInputs { id: controls width: root.mirrorWidth height: 44 - visible: !root.isHMD + visible: root.showAudioTools anchors.top: mirror.bottom Rectangle { diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index eec04d4640..09edfeac0e 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -156,9 +156,8 @@ Menu::Menu() { addCheckableActionToQMenuAndActionHash(audioMenu, MenuOption::MuteAudio, Qt::CTRL | Qt::Key_M, false, audioIO.data(), SLOT(toggleMute())); - // Audio > Level Meter [advanced] -- FIXME: needs implementation - auto levelMeterAction = addCheckableActionToQMenuAndActionHash(audioMenu, "Level Meter", 0, false, NULL, NULL, UNSPECIFIED_POSITION, "Advanced"); - levelMeterAction->setDisabled(true); + // Audio > Show Level Meter + addCheckableActionToQMenuAndActionHash(audioMenu, MenuOption::AudioTools, 0, true); // Avatar menu ---------------------------------- diff --git a/interface/src/Menu.h b/interface/src/Menu.h index 6a544f31c9..6bf66f1200 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -156,6 +156,7 @@ namespace MenuOption { const QString AssetMigration = "ATP Asset Migration"; const QString Atmosphere = "Atmosphere"; const QString Attachments = "Attachments..."; + const QString AudioNetworkStats = "Audio Network Stats"; const QString AudioNoiseReduction = "Audio Noise Reduction"; const QString AudioScope = "Show Scope"; const QString AudioScopeFiftyFrames = "Fifty"; @@ -163,8 +164,8 @@ namespace MenuOption { const QString AudioScopeFrames = "Display Frames"; const QString AudioScopePause = "Pause Scope"; const QString AudioScopeTwentyFrames = "Twenty"; - const QString AudioNetworkStats = "Audio Network Stats"; const QString AudioStatsShowInjectedStreams = "Audio Stats Show Injected Streams"; + const QString AudioTools = "Show Level Meter"; const QString AutoMuteAudio = "Auto Mute Microphone"; const QString AvatarReceiveStats = "Show Receive Stats"; const QString Back = "Back"; diff --git a/interface/src/ui/AvatarInputs.cpp b/interface/src/ui/AvatarInputs.cpp index fa6eaf072d..b09289c78a 100644 --- a/interface/src/ui/AvatarInputs.cpp +++ b/interface/src/ui/AvatarInputs.cpp @@ -67,6 +67,7 @@ void AvatarInputs::update() { AI_UPDATE(cameraEnabled, !Menu::getInstance()->isOptionChecked(MenuOption::NoFaceTracking)); AI_UPDATE(cameraMuted, Menu::getInstance()->isOptionChecked(MenuOption::MuteFaceTracking)); AI_UPDATE(isHMD, qApp->isHMDMode()); + AI_UPDATE(showAudioTools, Menu::getInstance()->isOptionChecked(MenuOption::AudioTools)); auto audioIO = DependencyManager::get(); const float AUDIO_METER_AVERAGING = 0.5; diff --git a/interface/src/ui/AvatarInputs.h b/interface/src/ui/AvatarInputs.h index 36d3027a42..85570ecd3c 100644 --- a/interface/src/ui/AvatarInputs.h +++ b/interface/src/ui/AvatarInputs.h @@ -17,7 +17,7 @@ public: \ type name() { return _##name; }; \ private: \ - type _##name{ initialValue }; + type _##name{ initialValue }; class AvatarInputs : public QQuickItem { Q_OBJECT @@ -31,6 +31,7 @@ class AvatarInputs : public QQuickItem { AI_PROPERTY(bool, mirrorVisible, false) AI_PROPERTY(bool, mirrorZoomed, true) AI_PROPERTY(bool, isHMD, false) + AI_PROPERTY(bool, showAudioTools, true) public: static AvatarInputs* getInstance(); @@ -46,6 +47,7 @@ signals: void mirrorVisibleChanged(); void mirrorZoomedChanged(); void isHMDChanged(); + void showAudioToolsChanged(); protected: Q_INVOKABLE void resetSensors(); From 0ad39feeb60eb154f2b516c2351a9d9a22b74699 Mon Sep 17 00:00:00 2001 From: Brad Hefta-Gaub Date: Thu, 14 Jan 2016 13:31:01 -0800 Subject: [PATCH 2/2] juggle developer menus a bit --- interface/src/Menu.cpp | 46 +++++++++++++++++------------------------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index 09edfeac0e..377d97bc30 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -324,8 +324,10 @@ Menu::Menu() { // Developer > Render >>> MenuWrapper* renderOptionsMenu = developerMenu->addMenu("Render"); addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Atmosphere, 0, true); + addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::WorldAxes); addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::DebugAmbientOcclusion); addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Antialiasing); + addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Stars, 0, true); // Developer > Render > Ambient Light MenuWrapper* ambientLightMenu = renderOptionsMenu->addMenu(MenuOption::RenderAmbientLight); @@ -356,15 +358,8 @@ Menu::Menu() { resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionThird, 0, false)); resolutionGroup->addAction(addCheckableActionToQMenuAndActionHash(resolutionMenu, MenuOption::RenderResolutionQuarter, 0, false)); - // Developer > Render > Stars - addCheckableActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::Stars, - 0, // QML Qt::Key_Asterisk, - true); - // Developer > Render > LOD Tools - addActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::LodTools, - 0, // QML Qt::SHIFT | Qt::Key_L, - dialogsManager.data(), SLOT(lodTools())); + addActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::LodTools, 0, dialogsManager.data(), SLOT(lodTools())); // Developer > Assets >>> MenuWrapper* assetDeveloperMenu = developerMenu->addMenu("Assets"); @@ -497,6 +492,12 @@ Menu::Menu() { MenuWrapper* leapOptionsMenu = handOptionsMenu->addMenu("Leap Motion"); addCheckableActionToQMenuAndActionHash(leapOptionsMenu, MenuOption::LeapMotionOnHMD, 0, false); + // Developer > Entities >>> + MenuWrapper* entitiesOptionsMenu = developerMenu->addMenu("Entities"); + addActionToQMenuAndActionHash(entitiesOptionsMenu, MenuOption::OctreeStats, 0, + dialogsManager.data(), SLOT(octreeStatsDetails())); + addCheckableActionToQMenuAndActionHash(entitiesOptionsMenu, MenuOption::ShowRealtimeEntityStats); + // Developer > Network >>> MenuWrapper* networkMenu = developerMenu->addMenu("Network"); addActionToQMenuAndActionHash(networkMenu, MenuOption::ReloadContent, 0, qApp, SLOT(reloadResourceCaches())); @@ -513,12 +514,14 @@ Menu::Menu() { dialogsManager.data(), SLOT(cachesSizeDialog())); addActionToQMenuAndActionHash(networkMenu, MenuOption::DiskCacheEditor, 0, dialogsManager.data(), SLOT(toggleDiskCacheEditor())); - addActionToQMenuAndActionHash(networkMenu, MenuOption::ShowDSConnectTable, 0, dialogsManager.data(), SLOT(showDomainConnectionDialog())); + addActionToQMenuAndActionHash(networkMenu, MenuOption::BandwidthDetails, 0, + dialogsManager.data(), SLOT(bandwidthDetails())); - // Developer > Timing and Stats >>> - MenuWrapper* timingMenu = developerMenu->addMenu("Timing and Stats"); + + // Developer > Timing >>> + MenuWrapper* timingMenu = developerMenu->addMenu("Timing"); MenuWrapper* perfTimerMenu = timingMenu->addMenu("Performance Timer"); addCheckableActionToQMenuAndActionHash(perfTimerMenu, MenuOption::DisplayDebugTimingDetails, 0, false); addCheckableActionToQMenuAndActionHash(perfTimerMenu, MenuOption::OnlyDisplayTopTen, 0, true); @@ -533,7 +536,6 @@ Menu::Menu() { addCheckableActionToQMenuAndActionHash(timingMenu, MenuOption::PipelineWarnings); addCheckableActionToQMenuAndActionHash(timingMenu, MenuOption::LogExtraTimings); addCheckableActionToQMenuAndActionHash(timingMenu, MenuOption::SuppressShortTimings); - addCheckableActionToQMenuAndActionHash(timingMenu, MenuOption::ShowRealtimeEntityStats); // Developer > Audio >>> MenuWrapper* audioDebugMenu = developerMenu->addMenu("Audio"); @@ -570,6 +572,10 @@ Menu::Menu() { audioScopeFramesGroup->addAction(fiftyFrames); } + // Developer > Audio > Audio Network Stats... + addActionToQMenuAndActionHash(audioDebugMenu, MenuOption::AudioNetworkStats, 0, + dialogsManager.data(), SLOT(audioStatsDetails())); + // Developer > Physics >>> MenuWrapper* physicsOptionsMenu = developerMenu->addMenu("Physics"); addCheckableActionToQMenuAndActionHash(physicsOptionsMenu, MenuOption::PhysicsShowOwned); @@ -587,22 +593,6 @@ Menu::Menu() { // Developer > Stats addCheckableActionToQMenuAndActionHash(developerMenu, MenuOption::Stats); - // Developer > Audio Stats... - addActionToQMenuAndActionHash(developerMenu, MenuOption::AudioNetworkStats, 0, - dialogsManager.data(), SLOT(audioStatsDetails())); - - // Developer > Bandwidth Stats... - addActionToQMenuAndActionHash(developerMenu, MenuOption::BandwidthDetails, 0, - dialogsManager.data(), SLOT(bandwidthDetails())); - - // Developer > Entity Stats... - addActionToQMenuAndActionHash(developerMenu, MenuOption::OctreeStats, 0, - dialogsManager.data(), SLOT(octreeStatsDetails())); - - // Developer > World Axes - addCheckableActionToQMenuAndActionHash(developerMenu, MenuOption::WorldAxes); - - #if 0 /// -------------- REMOVED FOR NOW -------------- addDisabledActionAndSeparator(navigateMenu, "History");