"use strict";//// audioScope.js// scripts/system///// Created by Brad Hefta-Gaub on 3/10/2016// Copyright 2016 High Fidelity, Inc.//// Distributed under the Apache License, Version 2.0.// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html///* global Script, Tablet, AudioScope, Audio */ (function () { // BEGIN LOCAL_SCOPE var scopeVisibile = AudioScope.getVisible(); var scopePaused = AudioScope.getPause(); var autoPause = false; var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system"); var showScopeButton = tablet.addButton({ icon: "icons/tablet-icons/scope.svg", text: "Audio Scope", isActive: scopeVisibile }); var scopePauseImage = "icons/tablet-icons/scope-pause.svg"; var scopePlayImage = "icons/tablet-icons/scope-play.svg"; var pauseScopeButton = tablet.addButton({ icon: scopePaused ? scopePlayImage : scopePauseImage, text: scopePaused ? "Unpause" : "Pause", isActive: scopePaused }); var autoPauseScopeButton = tablet.addButton({ icon: "icons/tablet-icons/scope-auto.svg", text: "Auto Pause", isActive: autoPause }); function setScopePause(paused) { scopePaused = paused; pauseScopeButton.editProperties({ isActive: scopePaused, icon: scopePaused ? scopePlayImage : scopePauseImage, text: scopePaused ? "Unpause" : "Pause" }); AudioScope.setPause(scopePaused); } showScopeButton.clicked.connect(function () { // toggle button active state scopeVisibile = !scopeVisibile; showScopeButton.editProperties({ isActive: scopeVisibile }); AudioScope.setVisible(scopeVisibile); }); pauseScopeButton.clicked.connect(function () { // toggle button active state setScopePause(!scopePaused); }); autoPauseScopeButton.clicked.connect(function () { // toggle button active state autoPause = !autoPause; autoPauseScopeButton.editProperties({ isActive: autoPause, text: autoPause ? "Auto Pause" : "Manual" }); }); Script.scriptEnding.connect(function () { tablet.removeButton(showScopeButton); tablet.removeButton(pauseScopeButton); tablet.removeButton(autoPauseScopeButton); }); Audio.noiseGateOpened.connect(function(){ if (autoPause) { setScopePause(false); } }); Audio.noiseGateClosed.connect(function(){ // noise gate closed if (autoPause) { setScopePause(true); } }); }()); // END LOCAL_SCOPE
"use strict";
//
// audioScope.js
// scripts/system/
//
// Created by Brad Hefta-Gaub on 3/10/2016
// Copyright 2016 High Fidelity, Inc.
//
// Distributed under the Apache License, Version 2.0.
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
//
/* global Script, Tablet, AudioScope, Audio */
(function () { // BEGIN LOCAL_SCOPE
var scopeVisibile = AudioScope.getVisible();
var scopePaused = AudioScope.getPause();
var autoPause = false;
var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system");
var showScopeButton = tablet.addButton({
icon: "icons/tablet-icons/scope.svg",
text: "Audio Scope",
isActive: scopeVisibile
});
var scopePauseImage = "icons/tablet-icons/scope-pause.svg";
var scopePlayImage = "icons/tablet-icons/scope-play.svg";
var pauseScopeButton = tablet.addButton({
icon: scopePaused ? scopePlayImage : scopePauseImage,
text: scopePaused ? "Unpause" : "Pause",
isActive: scopePaused
});
var autoPauseScopeButton = tablet.addButton({
icon: "icons/tablet-icons/scope-auto.svg",
text: "Auto Pause",
isActive: autoPause
});
function setScopePause(paused) {
scopePaused = paused;
pauseScopeButton.editProperties({
isActive: scopePaused,
icon: scopePaused ? scopePlayImage : scopePauseImage,
text: scopePaused ? "Unpause" : "Pause"
});
AudioScope.setPause(scopePaused);
}
showScopeButton.clicked.connect(function () {
// toggle button active state
scopeVisibile = !scopeVisibile;
showScopeButton.editProperties({
isActive: scopeVisibile
});
AudioScope.setVisible(scopeVisibile);
});
pauseScopeButton.clicked.connect(function () {
// toggle button active state
setScopePause(!scopePaused);
});
autoPauseScopeButton.clicked.connect(function () {
// toggle button active state
autoPause = !autoPause;
autoPauseScopeButton.editProperties({
isActive: autoPause,
text: autoPause ? "Auto Pause" : "Manual"
});
});
Script.scriptEnding.connect(function () {
tablet.removeButton(showScopeButton);
tablet.removeButton(pauseScopeButton);
tablet.removeButton(autoPauseScopeButton);
});
Audio.noiseGateOpened.connect(function(){
if (autoPause) {
setScopePause(false);
}
});
Audio.noiseGateClosed.connect(function(){
// noise gate closed
if (autoPause) {
setScopePause(true);
}
});
}()); // END LOCAL_SCOPE