mirror of
https://github.com/overte-org/overte.git
synced 2025-04-05 20:09:01 +02:00
95 lines
No EOL
2.7 KiB
JavaScript
95 lines
No EOL
2.7 KiB
JavaScript
"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
|