)}
);
@@ -75,8 +77,8 @@ export default definePlugin({
{
find: ".activeCommandOption",
replacement: {
- match: /"gift"\)\);(?<=(\i)\.push.+?)/,
- replace: (m, array) => `${m}${array}.push($self.SilentMessageToggle());`
+ match: /"gift"\)\);(?<=(\i)\.push.+?disabled:(\i),.+?)/,
+ replace: (m, array, disabled) => `${m}${disabled}||${array}.push($self.SilentMessageToggle());`
}
}
],
diff --git a/src/plugins/silentTyping.tsx b/src/plugins/silentTyping.tsx
index 83f6415..d0edaac 100644
--- a/src/plugins/silentTyping.tsx
+++ b/src/plugins/silentTyping.tsx
@@ -82,8 +82,8 @@ export default definePlugin({
find: ".activeCommandOption",
predicate: () => settings.store.showIcon,
replacement: {
- match: /(.)\.push.{1,50}\(\i,\{.{1,30}\},"gift"\)\)/,
- replace: "$&;try{$1.push($self.chatBarIcon())}catch{}",
+ match: /(.)\.push.{1,30}disabled:(\i),.{1,20}\},"gift"\)\)/,
+ replace: "$&;try{$2||$1.push($self.chatBarIcon())}catch{}",
}
},
],
diff --git a/src/plugins/volumeBooster.desktop.ts b/src/plugins/volumeBooster.desktop.ts
deleted file mode 100644
index 7d81449..0000000
--- a/src/plugins/volumeBooster.desktop.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Vencord, a modification for Discord's desktop app
- * Copyright (c) 2022 Vendicated and contributors
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
-*/
-
-import { definePluginSettings } from "@api/settings";
-import { makeRange } from "@components/PluginSettings/components";
-import { Devs } from "@utils/constants";
-import definePlugin, { OptionType } from "@utils/types";
-
-const settings = definePluginSettings({
- multiplier: {
- description: "Volume Multiplier",
- type: OptionType.SLIDER,
- markers: makeRange(1, 5, 1),
- default: 2,
- stickToMarkers: true,
- }
-});
-
-export default definePlugin({
- name: "VolumeBooster",
- authors: [Devs.Nuckyz],
- description: "Allows you to set the user and stream volume above the default maximum.",
- settings,
-
- patches: [
- // Change the max volume for sliders to allow for values above 200
- ...[
- ".Messages.USER_VOLUME",
- "currentVolume:"
- ].map(find => ({
- find,
- replacement: {
- match: /(?<=maxValue:\i\.\i)\?(\d+?):(\d+?)(?=,)/,
- replace: (_, higherMaxVolume, minorMaxVolume) => ""
- + `?${higherMaxVolume}*$self.settings.store.multiplier`
- + `:${minorMaxVolume}*$self.settings.store.multiplier`
- }
- })),
- // Prevent Audio Context Settings sync from trying to sync with values above 200, changing them to 200 before we send to Discord
- {
- find: "AudioContextSettingsMigrated",
- replacement: [
- {
- match: /(?<=updateAsync\("audioContextSettings".{0,50})(?=return (\i)\.volume=(\i))/,
- replace: (_, volumeOptions, newVolume) => `if(${newVolume}>200)return ${volumeOptions}.volume=200;`
- },
- {
- match: /(?<=Object\.entries\(\i\.localMutes\).+?volume:).+?(?=,)/,
- replace: "$&>200?200:$&"
- },
- {
- match: /(?<=Object\.entries\(\i\.localVolumes\).+?volume:).+?(?=})/,
- replace: "$&>200?200:$&"
- }
- ]
- },
- // Prevent the MediaEngineStore from overwriting our LocalVolumes above 200 with the ones the Discord Audio Context Settings sync sends
- {
- find: '.displayName="MediaEngineStore"',
- replacement: [
- {
- match: /(?<=\.settings\.audioContextSettings.+?)(\i\[\i\])=(\i\.volume)(.+?setLocalVolume\(\i,).+?\)/,
- replace: (_, localVolume, syncVolume, rest) => ""
- + `(${localVolume}>200?void 0:${localVolume}=${syncVolume})`
- + rest
- + `${localVolume}??${syncVolume})`
- }
- ]
- }
- ],
-});
diff --git a/src/plugins/volumeBooster.ts b/src/plugins/volumeBooster.ts
new file mode 100644
index 0000000..3f692c7
--- /dev/null
+++ b/src/plugins/volumeBooster.ts
@@ -0,0 +1,86 @@
+/*
+ * Vencord, a modification for Discord's desktop app
+ * Copyright (c) 2022 Vendicated and contributors
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+*/
+
+import { definePluginSettings } from "@api/settings";
+import { makeRange } from "@components/PluginSettings/components";
+import { Devs } from "@utils/constants";
+import definePlugin, { OptionType } from "@utils/types";
+
+const settings = definePluginSettings({
+ multiplier: {
+ description: "Volume Multiplier",
+ type: OptionType.SLIDER,
+ markers: makeRange(1, 5, 1),
+ default: 2,
+ stickToMarkers: true,
+ }
+});
+
+export default definePlugin({
+ name: "VolumeBooster",
+ authors: [Devs.Nuckyz],
+ description: "Allows you to set the user and stream volume above the default maximum.",
+ settings,
+
+ patches: [
+ // Change the max volume for sliders to allow for values above 200
+ ...[
+ ".Messages.USER_VOLUME",
+ "currentVolume:"
+ ].map(find => ({
+ find,
+ replacement: {
+ match: /(?<=maxValue:\i\.\i)\?(\d+?):(\d+?)(?=,)/,
+ replace: (_, higherMaxVolume, minorMaxVolume) => ""
+ + `?${higherMaxVolume}*$self.settings.store.multiplier`
+ + `:${minorMaxVolume}*$self.settings.store.multiplier`
+ }
+ })),
+ // Prevent Audio Context Settings sync from trying to sync with values above 200, changing them to 200 before we send to Discord
+ {
+ find: "AudioContextSettingsMigrated",
+ replacement: [
+ {
+ match: /(?<=updateAsync\("audioContextSettings".{0,350}return \i\.volume=)\i(?=})/,
+ replace: "$&>200?200:$&"
+ },
+ {
+ match: /(?<=Object\.entries\(\i\.localMutes\).+?volume:).+?(?=,)/,
+ replace: "$&>200?200:$&"
+ },
+ {
+ match: /(?<=Object\.entries\(\i\.localVolumes\).+?volume:).+?(?=})/,
+ replace: "$&>200?200:$&"
+ }
+ ]
+ },
+ // Prevent the MediaEngineStore from overwriting our LocalVolumes above 200 with the ones the Discord Audio Context Settings sync sends
+ {
+ find: '.displayName="MediaEngineStore"',
+ replacement: [
+ {
+ match: /(?<=\.settings\.audioContextSettings.+?)(\i\[\i\])=(\i\.volume)(.+?setLocalVolume\(\i,).+?\)/,
+ replace: (_, localVolume, syncVolume, rest) => ""
+ + `(${localVolume}>200?void 0:${localVolume}=${syncVolume})`
+ + rest
+ + `${localVolume}??${syncVolume})`
+ }
+ ]
+ }
+ ],
+});
--
cgit