From 489bd266be4c466a744af183804e1e4114bcd04f Mon Sep 17 00:00:00 2001
From: Sturov Fedor <8505653+Fedorsturov@users.noreply.github.com>
Date: Sat, 9 Mar 2019 14:50:34 +0300
Subject: [PATCH] :mute: Added an option to disable annoying feedback SFX
(#455)
This option can be useful for people who would like to keep the sound style of eDEX-UI, but who are annoyed by constant clicking.
---
src/_boot.js | 1 +
src/_renderer.js | 9 +++++++++
src/classes/audiofx.class.js | 34 ++++++++++++++++++----------------
3 files changed, 28 insertions(+), 16 deletions(-)
diff --git a/src/_boot.js b/src/_boot.js
index 9b48853be..b7f77d2c6 100644
--- a/src/_boot.js
+++ b/src/_boot.js
@@ -71,6 +71,7 @@ if (!fs.existsSync(settingsFile)) {
theme: "tron",
termFontSize: 15,
audio: true,
+ disableFeedbackAudio: false,
pingAddr: "1.1.1.1",
port: 3000,
nointro: false,
diff --git a/src/_renderer.js b/src/_renderer.js
index e551ca3fa..357ad033a 100644
--- a/src/_renderer.js
+++ b/src/_renderer.js
@@ -621,6 +621,14 @@ window.openSettings = async () => {
+
+ disableFeedbackAudio |
+ Disable recurring feedback sound FX (input/output, mostly) |
+ |
+
port |
Local port to use for UI-shell connection |
@@ -722,6 +730,7 @@ window.writeSettingsFile = () => {
theme: document.getElementById("settingsEditor-theme").value,
termFontSize: Number(document.getElementById("settingsEditor-termFontSize").value),
audio: (document.getElementById("settingsEditor-audio").value === "true"),
+ disableFeedbackAudio: (document.getElementById("settingsEditor-disableFeedbackAudio").value === "true"),
pingAddr: document.getElementById("settingsEditor-pingAddr").value,
port: Number(document.getElementById("settingsEditor-port").value),
monitor: Number(document.getElementById("settingsEditor-monitor").value),
diff --git a/src/classes/audiofx.class.js b/src/classes/audiofx.class.js
index c9d996c06..d4c963b05 100644
--- a/src/classes/audiofx.class.js
+++ b/src/classes/audiofx.class.js
@@ -4,13 +4,24 @@ class AudioManager {
const {Howl, Howler} = require("howler");
if (window.settings.audio === true) {
- this.stdout = new Howl({
- src: [path.join(__dirname, "assets", "audio", "stdout.wav")],
- volume: 0.4
- });
- this.stdin = new Howl({
- src: [path.join(__dirname, "assets", "audio", "stdin.wav")],
- volume: 0.4
+ if(window.settings.disableFeedbackAudio === false) {
+ this.stdout = new Howl({
+ src: [path.join(__dirname, "assets", "audio", "stdout.wav")],
+ volume: 0.4
+ });
+ this.stdin = new Howl({
+ src: [path.join(__dirname, "assets", "audio", "stdin.wav")],
+ volume: 0.4
+ });
+ this.folder = new Howl({
+ src: [path.join(__dirname, "assets", "audio", "folder.wav")]
+ });
+ this.granted = new Howl({
+ src: [path.join(__dirname, "assets", "audio", "granted.wav")]
+ });
+ }
+ this.keyboard = new Howl({
+ src: [path.join(__dirname, "assets", "audio", "keyboard.wav")]
});
this.theme = new Howl({
src: [path.join(__dirname, "assets", "audio", "theme.wav")]
@@ -18,21 +29,12 @@ class AudioManager {
this.expand = new Howl({
src: [path.join(__dirname, "assets", "audio", "expand.wav")]
});
- this.keyboard = new Howl({
- src: [path.join(__dirname, "assets", "audio", "keyboard.wav")]
- });
this.panels = new Howl({
src: [path.join(__dirname, "assets", "audio", "panels.wav")]
});
this.scan = new Howl({
src: [path.join(__dirname, "assets", "audio", "scan.wav")]
});
- this.folder = new Howl({
- src: [path.join(__dirname, "assets", "audio", "folder.wav")]
- });
- this.granted = new Howl({
- src: [path.join(__dirname, "assets", "audio", "granted.wav")]
- });
this.denied = new Howl({
src: [path.join(__dirname, "assets", "audio", "denied.wav")]
});