Added mute in DND option to all audios in NotificationSounds
This commit is contained in:
parent
2ca217be57
commit
fb1b4c27fe
|
@ -5,35 +5,35 @@ class NotificationSounds {
|
|||
this.patchCancels = [];
|
||||
|
||||
this.types = {
|
||||
"message1": {implemented:true, name:"New Chatmessage", src:"/assets/dd920c06a01e5bb8b09678581e29d56f.mp3"},
|
||||
"dm": {implemented:true, name:"Direct Message", src:"/assets/84c9fa3d07da865278bd77c97d952db4.mp3"},
|
||||
"mentioned": {implemented:true, name:"Mention Ping", src:"/assets/a5f42064e8120e381528b14fd3188b72.mp3"},
|
||||
"deafen": {implemented:true, name:"Voicechat Deafen", src:"/assets/e4d539271704b87764dc465b1a061abd.mp3"},
|
||||
"mute": {implemented:true, name:"Voicechat Mute", src:"/assets/429d09ee3b86e81a75b5e06d3fb482be.mp3"},
|
||||
"disconnect": {implemented:true, name:"Voicechat Disconnect", src:"/assets/7e125dc075ec6e5ae796e4c3ab83abb3.mp3"},
|
||||
"undeafen": {implemented:true, name:"Voicechat Undeafen", src:"/assets/5a000a0d4dff083d12a1d4fc2c7cbf66.mp3"},
|
||||
"unmute": {implemented:true, name:"Voicechat Unmute", src:"/assets/43805b9dd757ac4f6b9b58c1a8ee5f0d.mp3"},
|
||||
"user_join": {implemented:true, name:"Voicechat User Joined", src:"/assets/5dd43c946894005258d85770f0d10cff.mp3"},
|
||||
"user_leave": {implemented:true, name:"Voicechat User Left", src:"/assets/4fcfeb2cba26459c4750e60f626cebdc.mp3"},
|
||||
"user_moved": {implemented:true, name:"Voicechat User Moved", src:"/assets/e81d11590762728c1b811eadfa5be766.mp3"},
|
||||
"ptt_start": {implemented:true, name:"Push2Talk Start", src:"/assets/8b63833c8d252fedba6b9c4f2517c705.mp3"},
|
||||
"ptt_stop": {implemented:true, name:"Push2Talk Stop", src:"/assets/74ab980d6890a0fa6aa0336182f9f620.mp3"},
|
||||
"call_calling": {implemented:true, name:"Outgoing Call", src:"/assets/c6e92752668dde4eee5923d70441579f.mp3"},
|
||||
"call_ringing": {implemented:true, name:"Incoming Call", src:"/assets/84a1b4e11d634dbfa1e5dd97a96de3ad.mp3"},
|
||||
"call_ringing_beat": {implemented:false, name:"Incoming Call Beat", src:"/assets/b9411af07f154a6fef543e7e442e4da9.mp3"},
|
||||
"ddr-down": {implemented:true, name:"HotKeys Window Down", src:"/assets/71f048f8aa7d4b24bf4268a87cbbb192.mp3"},
|
||||
"ddr-left": {implemented:true, name:"HotKeys Window Left", src:"/assets/1de04408e62b5d52ae3ebbb91e9e1978.mp3"},
|
||||
"ddr-right": {implemented:true, name:"HotKeys Window Right", src:"/assets/2c0433f93db8449e4a82b76dc520cb29.mp3"},
|
||||
"ddr-up": {implemented:true, name:"HotKeys Window Up", src:"/assets/68472713f7a62c7c37e0a6a5d5a1faeb.mp3"},
|
||||
"human_man": {implemented:false, name:"Human Man Voice", src:"/assets/a37dcd6272ae41cf49295d58c9806fe3.mp3"},
|
||||
"mention1": {implemented:false, name:"Mention Ping 1", src:"/assets/fa4d62c3cbc80733bf1f01b9c6f181de.mp3"},
|
||||
"mention2": {implemented:false, name:"Mention Ping 2", src:"/assets/a5f42064e8120e381528b14fd3188b72.mp3"},
|
||||
"mention3": {implemented:false, name:"Mention Ping 3", src:"/assets/84c9fa3d07da865278bd77c97d952db4.mp3"},
|
||||
"message2": {implemented:false, name:"New Chatmessage 2", src:"/assets/15fe810f6cfab609c7fcda61652b9b34.mp3"},
|
||||
"message3": {implemented:false, name:"New Chatmessage 3", src:"/assets/53ce6a92d3c233e8b4ac529d34d374e4.mp3"},
|
||||
"overlayunlock": {implemented:false, name:"Overlay Unlocked", src:"/assets/ad322ffe0a88436296158a80d5d11baa.mp3"},
|
||||
"reconnect": {implemented:false, name:"Voicechat Reconnect", src:"/assets/471cfd0005b112ff857705e894bf41a6.mp3"},
|
||||
"robot_man": {implemented:false, name:"Robot Man Voice", src:"/assets/66598bea6e59eb8acdf32cf2d9d75ba9.mp3"}
|
||||
"message1": {implemented:true, name:"New Chatmessage", src:"/assets/dd920c06a01e5bb8b09678581e29d56f.mp3", mute:true},
|
||||
"dm": {implemented:true, name:"Direct Message", src:"/assets/84c9fa3d07da865278bd77c97d952db4.mp3", mute:true},
|
||||
"mentioned": {implemented:true, name:"Mention Ping", src:"/assets/a5f42064e8120e381528b14fd3188b72.mp3", mute:true},
|
||||
"deafen": {implemented:true, name:"Voicechat Deafen", src:"/assets/e4d539271704b87764dc465b1a061abd.mp3", mute:false},
|
||||
"mute": {implemented:true, name:"Voicechat Mute", src:"/assets/429d09ee3b86e81a75b5e06d3fb482be.mp3", mute:false},
|
||||
"disconnect": {implemented:true, name:"Voicechat Disconnect", src:"/assets/7e125dc075ec6e5ae796e4c3ab83abb3.mp3", mute:false},
|
||||
"undeafen": {implemented:true, name:"Voicechat Undeafen", src:"/assets/5a000a0d4dff083d12a1d4fc2c7cbf66.mp3", mute:false},
|
||||
"unmute": {implemented:true, name:"Voicechat Unmute", src:"/assets/43805b9dd757ac4f6b9b58c1a8ee5f0d.mp3", mute:false},
|
||||
"user_join": {implemented:true, name:"Voicechat User Joined", src:"/assets/5dd43c946894005258d85770f0d10cff.mp3", mute:false},
|
||||
"user_leave": {implemented:true, name:"Voicechat User Left", src:"/assets/4fcfeb2cba26459c4750e60f626cebdc.mp3", mute:false},
|
||||
"user_moved": {implemented:true, name:"Voicechat User Moved", src:"/assets/e81d11590762728c1b811eadfa5be766.mp3", mute:false},
|
||||
"ptt_start": {implemented:true, name:"Push2Talk Start", src:"/assets/8b63833c8d252fedba6b9c4f2517c705.mp3", mute:false},
|
||||
"ptt_stop": {implemented:true, name:"Push2Talk Stop", src:"/assets/74ab980d6890a0fa6aa0336182f9f620.mp3", mute:false},
|
||||
"call_calling": {implemented:true, name:"Outgoing Call", src:"/assets/c6e92752668dde4eee5923d70441579f.mp3", mute:false},
|
||||
"call_ringing": {implemented:true, name:"Incoming Call", src:"/assets/84a1b4e11d634dbfa1e5dd97a96de3ad.mp3", mute:true},
|
||||
"call_ringing_beat": {implemented:false, name:"Incoming Call Beat", src:"/assets/b9411af07f154a6fef543e7e442e4da9.mp3", mute:true},
|
||||
"ddr-down": {implemented:true, name:"HotKeys Window Down", src:"/assets/71f048f8aa7d4b24bf4268a87cbbb192.mp3", mute:true},
|
||||
"ddr-left": {implemented:true, name:"HotKeys Window Left", src:"/assets/1de04408e62b5d52ae3ebbb91e9e1978.mp3", mute:true},
|
||||
"ddr-right": {implemented:true, name:"HotKeys Window Right", src:"/assets/2c0433f93db8449e4a82b76dc520cb29.mp3", mute:true},
|
||||
"ddr-up": {implemented:true, name:"HotKeys Window Up", src:"/assets/68472713f7a62c7c37e0a6a5d5a1faeb.mp3", mute:true},
|
||||
"human_man": {implemented:false, name:"Human Man Voice", src:"/assets/a37dcd6272ae41cf49295d58c9806fe3.mp3", mute:true},
|
||||
"mention1": {implemented:false, name:"Mention Ping 1", src:"/assets/fa4d62c3cbc80733bf1f01b9c6f181de.mp3", mute:true},
|
||||
"mention2": {implemented:false, name:"Mention Ping 2", src:"/assets/a5f42064e8120e381528b14fd3188b72.mp3", mute:true},
|
||||
"mention3": {implemented:false, name:"Mention Ping 3", src:"/assets/84c9fa3d07da865278bd77c97d952db4.mp3", mute:true},
|
||||
"message2": {implemented:false, name:"New Chatmessage 2", src:"/assets/15fe810f6cfab609c7fcda61652b9b34.mp3", mute:true},
|
||||
"message3": {implemented:false, name:"New Chatmessage 3", src:"/assets/53ce6a92d3c233e8b4ac529d34d374e4.mp3", mute:true},
|
||||
"overlayunlock": {implemented:false, name:"Overlay Unlocked", src:"/assets/ad322ffe0a88436296158a80d5d11baa.mp3", mute:true},
|
||||
"reconnect": {implemented:false, name:"Voicechat Reconnect", src:"/assets/471cfd0005b112ff857705e894bf41a6.mp3", mute:true},
|
||||
"robot_man": {implemented:false, name:"Robot Man Voice", src:"/assets/66598bea6e59eb8acdf32cf2d9d75ba9.mp3", mute:true}
|
||||
};
|
||||
|
||||
this.defaults = {
|
||||
|
@ -95,7 +95,7 @@ class NotificationSounds {
|
|||
|
||||
getDescription () {return "Allows you to replace the native sounds of Discord with your own";}
|
||||
|
||||
getVersion () {return "3.1.9";}
|
||||
getVersion () {return "3.2.0";}
|
||||
|
||||
getAuthor () {return "DevilBro";}
|
||||
|
||||
|
@ -119,7 +119,7 @@ class NotificationSounds {
|
|||
for (var type in this.types) {
|
||||
var choice = BDFDB.loadData(type, this, "choices");
|
||||
var unimplemented = this.types[type].implemented ? "" : " unimplemented";
|
||||
settingshtml += `<div class="${type}-song-settings ${unimplemented}"><div class="${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style="flex: 1 1 auto;"><h3 class="${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style="flex: 0 0 auto;">${this.types[type].name}:</h3></div><div class="${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style="flex: 1 1 auto;">`;
|
||||
settingshtml += `<div class="${type}-song-settings ${unimplemented}"><div class="${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style="flex: 1 1 auto;"><h3 class="${BDFDB.disCNS.titledefault + BDFDB.disCNS.title + BDFDB.disCNS.marginreset + BDFDB.disCNS.weightmedium + BDFDB.disCNS.size16 + BDFDB.disCNS.height24 + BDFDB.disCN.flexchild}" style="flex: 1 1 auto;">${this.types[type].name}:</h3><h5 class="${BDFDB.disCNS.flexchild + BDFDB.disCNS.h5 + BDFDB.disCNS.title + BDFDB.disCNS.size12 + BDFDB.disCNS.height16 + BDFDB.disCNS.weightsemibold + BDFDB.disCNS.h5defaultmargin}" style="flex: 0 0 auto;">Mute in DnD:</h5><div type="${type}" class="${BDFDB.disCNS.flexchild + BDFDB.disCNS.switchenabled + BDFDB.disCNS.switch + BDFDB.disCNS.switchvalue + BDFDB.disCNS.switchsizedefault + BDFDB.disCNS.switchsize + BDFDB.disCN.switchthemedefault}" style="flex: 0 0 auto;"><input type="checkbox" class="${BDFDB.disCNS.switchinnerenabled + BDFDB.disCN.switchinner} mute-checkbox"${choice.mute ? " checked" : ""}></div></div><div class="${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.aligncenter + BDFDB.disCNS.nowrap + BDFDB.disCN.marginbottom8}" style="flex: 1 1 auto;">`;
|
||||
for (var key of fields) {
|
||||
settingshtml += `<div class="${BDFDB.disCN.flexchild}" style="flex: 1 1 33%;"><h5 class="${BDFDB.disCNS.h5 + BDFDB.disCNS.title + BDFDB.disCNS.size12 + BDFDB.disCNS.height16 + BDFDB.disCNS.weightsemibold + BDFDB.disCNS.h5defaultmargin + BDFDB.disCN.marginbottom4}">${key}:</h5><div class="${BDFDB.disCN.selectwrap}"><div type="${type}" option="${key}" value="${choice[key]}" class="${BDFDB.disCNS.select + BDFDB.disCNS.selectsingle + BDFDB.disCN.selecthasvalue}"><div class="${BDFDB.disCN.selectcontrol}"><div class="${BDFDB.disCNS.flex + BDFDB.disCNS.flex2 + BDFDB.disCNS.horizontal + BDFDB.disCNS.horizontal2 + BDFDB.disCNS.directionrow + BDFDB.disCNS.justifystart + BDFDB.disCNS.alignbaseline + BDFDB.disCNS.nowrap + BDFDB.disCN.selectvalue}" style="flex: 1 1 auto;"><div class="${BDFDB.disCNS.title + BDFDB.disCNS.medium + BDFDB.disCNS.size16 + BDFDB.disCNS.height20 + BDFDB.disCNS.primary + BDFDB.disCN.weightnormal}" style="padding:0;">${choice[key]}</div></div><span class="${BDFDB.disCN.selectarrowzone}"><span class="${BDFDB.disCN.selectarrow}"></span></span></div></div></div></div>`;
|
||||
}
|
||||
|
@ -139,6 +139,13 @@ class NotificationSounds {
|
|||
.on("click", ".btn-addsong", (e) => {this.saveAudio(settingspanel);})
|
||||
.on("keyup", ".songInput", (e) => {if (e.which == 13) this.saveAudio(settingspanel);})
|
||||
.on("click", ".reset-button", () => {this.resetAll(settingspanel);})
|
||||
.on("click", ".mute-checkbox", (e) => {
|
||||
var checkbox = e.currentTarget;
|
||||
var type = checkbox.parentElement.getAttribute("type");
|
||||
var choice = BDFDB.loadData(type, this, "choices");
|
||||
choice.mute = checkbox.checked;
|
||||
this.saveChoice(type, choice, false);
|
||||
})
|
||||
.on("click", "#input-unimplemented", (e) => {
|
||||
$(settingspanel).find(".unimplemented").toggle(e.currentTarget.checked);
|
||||
})
|
||||
|
@ -170,17 +177,15 @@ class NotificationSounds {
|
|||
if (typeof BDFDB === "object") {
|
||||
BDFDB.loadMessage(this);
|
||||
|
||||
this.ChannelSettingsModule = BDFDB.WebModules.findByProperties(["isChannelMuted"]);
|
||||
this.ChannelSettingsModule = BDFDB.WebModules.findByProperties(["isGuildOrCategoryOrChannelMuted"]);
|
||||
|
||||
this.patchCancels.push(BDFDB.WebModules.monkeyPatch(BDFDB.WebModules.findByProperties(["receiveMessage"]), "receiveMessage", {before: (e) => {
|
||||
if (this.dontPlayAudio()) return;
|
||||
let message = e.methodArguments[1];
|
||||
if (message.author.id != BDFDB.myData.id) {
|
||||
if (!message.guild_id) {
|
||||
if (!this.ChannelSettingsModule.isChannelMuted(null, message.channel_id)) {
|
||||
this.fireEvent("dm");
|
||||
this.playAudio("dm");
|
||||
}
|
||||
let guildid = message.guild_id ? message.guild_id : null;
|
||||
if (!this.ChannelSettingsModule.isGuildOrCategoryOrChannelMuted(guildid, message.channel_id) && message.author.id != BDFDB.myData.id) {
|
||||
if (!guildid) {
|
||||
this.fireEvent("dm");
|
||||
this.playAudio("dm");
|
||||
}
|
||||
else if (message.mentions) {
|
||||
for (let mention of message.mentions) if (mention.id == BDFDB.myData.id) {
|
||||
|
@ -192,7 +197,6 @@ class NotificationSounds {
|
|||
}}));
|
||||
|
||||
this.patchCancels.push(BDFDB.WebModules.monkeyPatch(BDFDB.WebModules.findByProperties(["playSound"]), "playSound", {instead: (e) => {
|
||||
if (this.dontPlayAudio()) return;
|
||||
setImmediate(() => {
|
||||
var type = e.methodArguments[0];
|
||||
if (type == "message1") {
|
||||
|
@ -214,7 +218,7 @@ class NotificationSounds {
|
|||
this.oldStopRining = this.incomingCallOwnerInstance.stopRinging;
|
||||
this.incomingCallOwnerInstance.startRinging = () => {
|
||||
incomingCallAudio.pause();
|
||||
if (this.dontPlayAudio()) return;
|
||||
if (this.dontPlayAudio("call_ringing")) return;
|
||||
incomingCallAudio.loop = true;
|
||||
incomingCallAudio.src = this.choices["call_ringing"].src;
|
||||
incomingCallAudio.volume = this.choices["call_ringing"].volume/100;
|
||||
|
@ -236,7 +240,7 @@ class NotificationSounds {
|
|||
if (!this.hasPatchedOutgoing) {
|
||||
var outgoingCallAudio = new Audio();
|
||||
let play = () => {
|
||||
if (this.dontPlayAudio()) return;
|
||||
if (this.dontPlayAudio("call_calling")) return;
|
||||
outgoingCallAudio.loop = true;
|
||||
outgoingCallAudio.src = this.choices["call_calling"].src;
|
||||
outgoingCallAudio.volume = this.choices["call_calling"].volume/100;
|
||||
|
@ -342,7 +346,6 @@ class NotificationSounds {
|
|||
}
|
||||
choice.src = this.audios[choice.category][choice.song];
|
||||
choice.src = choice.src ? choice.src : this.types[type].src;
|
||||
choice.volume = settingspanel.querySelector(`.${type}-volume`).value;
|
||||
this.saveChoice(type, choice, true);
|
||||
});
|
||||
$(document).on("mousedown.select" + this.getName(), (e2) => {
|
||||
|
@ -475,7 +478,8 @@ class NotificationSounds {
|
|||
}
|
||||
}
|
||||
}
|
||||
if (!songFound) choice = {"category":"---","song":"---","volume":100,"src":this.types[type].src};
|
||||
if (!songFound) choice = {category:"---",song:"---",volume:100,src:this.types[type].src,mute:this.types[type].mute};
|
||||
if (typeof choice.mute == "undefined") choice.mute = this.types[type].mute;
|
||||
this.saveChoice(type, choice, false);
|
||||
}
|
||||
}
|
||||
|
@ -486,16 +490,20 @@ class NotificationSounds {
|
|||
if (play) this.playAudio(type, this.settingsaudio);
|
||||
}
|
||||
|
||||
playAudio (type, audio = new Audio()) {
|
||||
audio.pause();
|
||||
playAudio (type, audio) {
|
||||
if (!audio) {
|
||||
if (this.dontPlayAudio(type)) return;
|
||||
audio = new Audio()
|
||||
}
|
||||
else audio.pause();
|
||||
audio.src = this.choices[type].src;
|
||||
audio.volume = this.choices[type].volume/100;
|
||||
audio.play();
|
||||
}
|
||||
|
||||
dontPlayAudio () {
|
||||
dontPlayAudio (type) {
|
||||
let status = BDFDB.getUserStatus();
|
||||
return status == "dnd" || status == "streaming";
|
||||
return this.choices[type].mute && (status == "dnd" || status == "streaming");
|
||||
}
|
||||
|
||||
fireEvent (type) {
|
||||
|
|
|
@ -675,19 +675,21 @@ class PluginRepo {
|
|||
e.delegateTarget.querySelector(BDFDB.dotCN.noticedismiss).click();
|
||||
});
|
||||
}
|
||||
setTimeout(() => {webview.remove();},10000);
|
||||
if (BDFDB.myData.id == "278543574059057154") {
|
||||
let wrongUrls = [];
|
||||
for (let url of this.foundPlugins) if (url && !this.loadedPlugins[url] && !wrongUrls.includes(url)) wrongUrls.push(url);
|
||||
if (wrongUrls.length > 0) {
|
||||
var bar = BDFDB.createNotificationsBar(`PluginRepo: ${wrongUrls.length} Plugin${wrongUrls.length > 1 ? "s" : ""} could not be loaded.`, {type:"danger",btn:"List"});
|
||||
$(bar).on("click." + this.getName(), BDFDB.dotCN.noticebutton, (e) => {
|
||||
var toast = BDFDB.showToast(wrongUrls.join("\n"),{type:"error"});
|
||||
toast.style.overflow = "hidden";
|
||||
console.log(wrongUrls.length == 1 ? wrongUrls[0] : wrongUrls);
|
||||
});
|
||||
setTimeout(() => {
|
||||
webview.remove();
|
||||
if (BDFDB.myData.id == "278543574059057154") {
|
||||
let wrongUrls = [];
|
||||
for (let url of this.foundPlugins) if (url && !this.loadedPlugins[url] && !wrongUrls.includes(url)) wrongUrls.push(url);
|
||||
if (wrongUrls.length > 0) {
|
||||
var bar = BDFDB.createNotificationsBar(`PluginRepo: ${wrongUrls.length} Plugin${wrongUrls.length > 1 ? "s" : ""} could not be loaded.`, {type:"danger",btn:"List"});
|
||||
$(bar).on("click." + this.getName(), BDFDB.dotCN.noticebutton, (e) => {
|
||||
var toast = BDFDB.showToast(wrongUrls.join("\n"),{type:"error"});
|
||||
toast.style.overflow = "hidden";
|
||||
console.log(wrongUrls.length == 1 ? wrongUrls[0] : wrongUrls);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
},10000);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue