diff --git a/package.json b/package.json index 0a8a9889..abd140e8 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "frankerfacez", "author": "Dan Salvato LLC", - "version": "4.33.3", + "version": "4.33.4", "description": "FrankerFaceZ is a Twitch enhancement suite.", "private": true, "license": "Apache-2.0", diff --git a/src/sites/shared/player.jsx b/src/sites/shared/player.jsx index 341d510e..b819edf0 100644 --- a/src/sites/shared/player.jsx +++ b/src/sites/shared/player.jsx @@ -118,6 +118,17 @@ export default class PlayerBase extends Module { } }); + this.settings.add('player.compressor.force-legacy', { + default: false, + ui: { + path: 'Player > Compressor >> Advanced', + title: 'Force use of legacy browser API.', + description: 'This setting forces FrankerFaceZ to attempt to use an older browser API to create the compressor. Please reset your player after changing this setting.', + component: 'setting-check-box', + force_seen: true + } + }); + this.settings.add('player.compressor.shortcut', { default: null, requires: ['player.compressor.enable'], @@ -1424,6 +1435,9 @@ export default class PlayerBase extends Module { value = this.settings.get('player.gain.default'); try { + if (this.settings.get('player.compressor.force-legacy')) + throw new Error(); + gain = video._ffz_gain = new GainNode(ctx, { gain: value }); @@ -1566,6 +1580,9 @@ export default class PlayerBase extends Module { video._ffz_context = ctx; let src; try { + if (this.settings.get('player.compressor.force-legacy')) + throw new Error(); + src = video._ffz_source = new MediaElementAudioSourceNode(ctx, { mediaElement: video }); @@ -1577,6 +1594,9 @@ export default class PlayerBase extends Module { src.connect(ctx.destination); try { + if (this.settings.get('player.compressor.force-legacy')) + throw new Error(); + comp = video._ffz_compressor = new DynamicsCompressorNode(ctx); } catch (err) { this.log.info('Unable to use new DynamicsCompressorNode. Falling back to old method.'); @@ -1590,6 +1610,9 @@ export default class PlayerBase extends Module { value = this.settings.get('player.gain.default'); try { + if (this.settings.get('player.compressor.force-legacy')) + throw new Error(); + gain = video._ffz_gain = new GainNode(ctx, { gain: value }); diff --git a/src/sites/twitch-twilight/modules/chat/line.js b/src/sites/twitch-twilight/modules/chat/line.js index 489502c5..b2825f39 100644 --- a/src/sites/twitch-twilight/modules/chat/line.js +++ b/src/sites/twitch-twilight/modules/chat/line.js @@ -742,6 +742,7 @@ other {# messages were deleted by a moderator.} const user_bits = [ t.actions.renderInline(msg, this.props.showModerationIcons, u, r, e), + this.renderInlineHighlight ? this.renderInlineHighlight() : null, e('span', { className: 'chat-line__message--badges' }, t.chat.badges.render(msg, e)),