ModernFlyouts-Community / ModernFlyouts

A modern Fluent Design replacement for the old Metro themed flyouts present in Windows.
https://modernflyouts-community.github.io
MIT License
3.58k stars 193 forks source link

The duration bar doesn't dynamically change #1337

Open Root1-2 opened 1 month ago

Root1-2 commented 1 month ago

ModernFlyouts Version

0.10.0.0

Windows version

Windows 11 23H2

OS build

No response

Platform

x64

Area(s) with issue?

Media Flyout

Steps to reproduce

Whenever I play a song with Dopamine music player, the song timestamp stuck a 0:00 always, it always updates if I pause the song using the flyout, otherwise the timestamp doesn't update. At least, Windows Media Player update the timestamp when the flyout get hidden, but Dopamine doesn't.

Screenshot 2024-09-08 152905

✔️ Expected Behavior

The timestamp should update dynamically, second by second right?

❌ Actual Behavior

Stuck timestamp.

Other Software

No response

Additional Context

No response

manstheram commented 1 month ago

Does it work normally with the Windows popup or is it only with the custom Flyouts?

Root1-2 commented 1 month ago

My windows popup only shows the soundbar flyouts. Doesn't show the media control flyout.

manstheram commented 1 month ago

It's probably an issue with Dopamine, but the app is open-source, I think, so I'll check later if there's anything wrong there.

Root1-2 commented 1 month ago

Yes it is an open source. Thank you. And if you need any video of the problem to troubleshoot or anything, please reach me out.

manstheram commented 1 month ago

I checked and saw that there are two versions of Dopamine, can you try both of them? https://github.com/digimezzo/dopamine https://github.com/digimezzo/dopamine-windows

One is written using more native libraries to Windows so it work better than the cross-platform app.

Root1-2 commented 1 month ago

So I tried the old one (Dopamine-windows) and this version don't even show up in the modern flyout when playing a song. Whereas the new one (Dopamine) made using JavaScript+TypeScript (Angular) shows up in the modern flyout when playing a song

CaptainDeSync commented 1 month ago

v0.9.3 does this too with Tidal. The only time it updates is when the Tidal app is interacted with by either clicking on it, opening it, pausing or playing music, etc.

Root1-2 commented 1 month ago

v0.9.3 does this too with Tidal. The only time it updates is when the Tidal app is interacted with by either clicking on it, opening it, pausing or playing music, etc.

Yep, happens with lots of apps such as MS Edge (if watching yt video using edge)

manstheram commented 1 month ago

Does it work for any apps?

manstheram commented 3 weeks ago

I did a fair bit of testing, and all that resulted in was the fact that whatever api this app uses for the playback time isn't sending a notification back to the app telling it to update. So there's 3 ways I could solve this:

  1. Mess around with the COM interface stuff.
  2. Use a workaround that spams trying to update the time or at least do it at regular intervals and then smooth out values - don't what's so bad about this but I have a feeling it's not the best idea.
  3. Use a workaround where I just add 1 second to the playback time every second - issue with this is that the song could go out of sync or be running at a different playback rate.

I'll try each of these when I have time, probably starting with number 1. It's possible Windows no longer keeps track of playback times so I'll try to rule that out first.