Skip to content

Bug: Play/Pause Fails Consistently on "Third Click" on the visualizer play/pause button with Brave Browser/Youtube connected. WebNowPlaying v2.0.7 Persistent Play/Pause State Sync Bug #416

@Adamantt777

Description

@Adamantt777

Issue Description:

The Play/Pause button on my Rainmeter visualizer, which uses the WebNowPlaying.dll plugin (v2.0.7), exhibits inconsistent and specific erroneous behavior when interacting with YouTube in the Brave browser. The problem primarily manifests on the "third consecutive click," where the pause command fails, leaving the player in a "bugged" state.

Detailed Bug Behavior ("Third Click Bug"):

Initial State: YouTube video is playing in Brave.
1st Click on Visualizer (Intention: Pause): The YouTube video pauses correctly.
2nd Click on Visualizer (Intention: Play): The YouTube video plays correctly.
3rd Click on Visualizer (Intention: Pause): BUG! The video DOES NOT pause. If I go to Brave and click or press to play YouTube player displays a quick animation of the "play" button appearing and disappearing in the center of the video, as if "play" was pressed again but nothing happens. The video continues to play.
To "un-bug" the YouTube player and be able to manually pause/play it, I have to click on the video's progress bar (timeline) in the browser.
Occasionally, this "third click bug" can occur even on the first click after restarting Rainmeter, or after extended use, leading to a cycle where only the first "pause" works (or the first "Play" works), and then subsequent clicks fail.

Behavior with SendKey Space command:

The command LeftMouseUpAction=[!CommandMeasure MeasureState "SendKey #PlayerName#,Space"] is completely ineffective. The button performs no action (neither play nor pause).
Behavior with Play command only:

When configured as LeftMouseUpAction=[!CommandMeasure MeasureState "Play"], the button can only play the video. If the video is already playing, another click does nothing (does not pause it) and does not cause the visual "bug" of the play button animation.
Behavior with original PlayPause command:

This is the command with which the "third click bug" described above is experienced.
Environment Information:

Rainmeter Skin: Monstercat.Visualizer.for.Rainmeter_2.1.0
Rainmeter Version: 4.5.23
WebNowPlaying.dll Version: v2.0.7 (confirmed file name and version via mouse-hover in Rainmeter plugins folder)
Brave Browser Version: 1.79.123 (Official Build) (64-bit)
Chromium: 137.0.7151.104
Operating System: Windows 10 Home 22H2
Troubleshooting Steps Taken (Unsuccessful):

Confirmed WebNowPlaying.dll (v2.0.7) is the correct file and is located in the main Rainmeter plugins folder: C:\Users\username\AppData\Roaming\Rainmeter\Plugins.
Removed all duplicate or older (v0.1.0) versions of WebNowPlaying.dll from the skin's .installer\plugins\x64 and x32 folders.
Ensured that all measures in MeasureMediaWeb.inc use Plugin=WebNowPlaying.dll.
Ensured that PlayerName=Brave is present and correct in all relevant measures within MeasureMediaWeb.inc.
Tested the following LeftMouseUpAction configurations for [MeterPlayPause] in cover.ini:
[!CommandMeasure MeasureState "PlayPause"] (original - causes "third click bug")
[!CommandMeasure MeasureState "(MeasureState = 1 ? "Pause" : "Play")"] (button does nothing)
[!CommandMeasure MeasureState "Play"] (only plays, does not pause)
[!CommandMeasure MeasureState "SendKey #PlayerName#,Space"] (completely ineffective)
The Brave extension "WebNowPlaying-Redux" shows "Rainmeter updated," and clicking it redirects to the v2.0.7 GitHub page, confirming communication.
Final Observation:

Given the exhaustive troubleshooting, this appears to be an inherent bug in the interaction of WebNowPlaying.dll v2.0.7 with Brave/YouTube under certain toggling conditions, possibly related to state synchronization or command implementation.

The complete [MeterPlayPause] section from cover.ini file.

[MeterPlayPause]
Meter=Image
X=(#CoverSize#0.055)#ScaleSongInformation#R
Y=0r
W=(#CoverSize#0.25)#ScaleSongInformation#
H=(#CoverSize#0.25)#ScaleSongInformation#
LeftMouseUpAction=[!CommandMeasure MeasureState "PlayPause"]
ImageName=#@#images[MeasureStateButton].png
DynamicVariables=1
Hidden=1
Group=MediaControls

This is the complete content of the MeasureMediaWeb.inc file.
Note: the original .inc file comes with Plugin=WebNowPlaying and without the PlayerName=Brave in every section, regardless in both cases everything remains the same, the bug on the Play/Pause button still happens, and cannot be paused after 3 clicks.

[MeasureState]
Measure=Plugin
Plugin=WebNowPlaying.dll
PlayerType=State
PlayerName=Brave
UpdateDivider=2

[MeasureStateButton]
Measure=Plugin
Plugin=WebNowPlaying.dll
PlayerType=State
PlayerName=Brave
Substitute="0":"Play","1":"Pause","2":"Play"
UpdateDivider=2

[MeasureTrack]
Measure=Plugin
Plugin=WebNowPlaying.dll
PlayerType=Title
PlayerName=Brave
Substitute="":"#NoTrackNameText#"
UpdateDivider=100

[MeasureArtist]
Measure=Plugin
Plugin=WebNowPlaying.dll
PlayerType=Artist
PlayerName=Brave
Substitute="":"#NoArtistNameText#"
UpdateDivider=100

[MeasureCover]
Measure=Plugin
Plugin=WebNowPlaying.dll
PlayerType=Cover
PlayerName=Brave
DefaultPath=#@#images\nocover.png
CoverPath=#@#images\coverWeb.png
Substitute="":"#@#images\nocover.png"
UpdateDivider=100

[MeasurePosition]
Measure=Plugin
Plugin=WebNowPlaying.dll
PlayerType=Position
PlayerName=Brave
UpdateDivider=20

[MeasureDuration]
Measure=Plugin
Plugin=WebNowPlaying.dll
PlayerType=Duration
PlayerName=Brave
UpdateDivider=20

[MeasureProgress]
Measure=Plugin
Plugin=WebNowPlaying.dll
PlayerType=Progress
PlayerName=Brave
UpdateDivider=20

[MeasureAutoHideWebNowPlaying]
Measure=Plugin
Plugin=WebNowPlaying.dll
PlayerType=Status
PlayerName=Brave
IfBelowValue=1
IfBelowAction=[!HideFadeGroup "Spectrum"][!HideFadeGroup "SongInfo"][!Log "AutoHide: WebNowPlaying was closed, hiding skin"]
IfAboveValue=0
IfAboveAction=[!ShowFadeGroup "Spectrum"][!ShowFadeGroup "SongInfo"][!Log "AutoHide: WebNowPlaying was opened, showing skin"]
Disabled=(#EnableAutoHide# > 0 ? 0 : 1)
UpdateDivider=100

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions