It is currently March 28th, 2024, 6:01 pm

NowPlaying Progress Nuances

Report bugs with the Rainmeter application and suggest features.
Post Reply
User avatar
Aethrios
Posts: 50
Joined: February 25th, 2014, 1:45 am

NowPlaying Progress Nuances

Post by Aethrios »

Hey ya'll, back at it again with some more commentary on the state of the NowPlaying plugin. I'm not entirely sure if it's appropriate to drop this in as an edit for my other topic, or to make a new one. Since it seemed like something that could perhaps be addressed separately, I'm putting it here, but mods, please feel free to combine them if you see fit.

Previous topic: https://forum.rainmeter.net/viewtopic.php?f=14&t=25751

Now, what I'm encountering now is an issue with being unable to call more than one NowPlaying Parent measure across all of the loaded skins, without breaking PlayerType=Progress.

It's about as simple as it sounds: if any other skin has any kind of NowPlaying related measure loaded, and one of them includes PlayerType=Progress, then PlayerType=Progress breaks. Everything else (generally) continues to work (I'm not 100% sure that PlayerType=State works all the time, but it works often enough that I can't lump them together comfortably.

Now, this wouldn't be the end of the world, except trying to pass updates to these values back and forth between skins gets very messy very quickly. Writing the values to a shared variables.inc and trying to drop that into every skin seems like it should work, but in execution ends up falling short. In addition, even trying to subsequently force updates to the other skins (those which are calling the variables rather than the actual parent measures) doesn't seem to work either.

Since I'm in a position where I need to have two separate skins, each one using some child measures of the NowPlaying plugin, and would like to continue to be able to use the PlayerType=Progress, this is a bit of a wall that I'm running into. While I realize that perhaps this sounds like asking for skin help, I can assure you, I am not. Since only PlayerType=Progress seems to cause this problem, it seems like it's an issue, to me at least, with the plugin. If that can get fixed, then everything else should continue to run along smoothly.

Thanks for reading.
Last edited by Aethrios on April 15th, 2017, 6:44 am, edited 1 time in total.
Bekarfel
Posts: 217
Joined: May 16th, 2012, 5:38 am

Re: NowPlaying Progress Nuances

Post by Bekarfel »

Right so, I tried to replicate this, by downloading a bunch of skins with now playing features. I got 6 of them and they all work properly. Each one displays the proper track name, number, play position, play time, track length, volume, etc. as appropriate for each skin, they also all include some form of progressbar which appears to work properly. As a check you can download the same skins I have, I'm using
Simply Music, http://1690cat.deviantart.com/art/SimplyMusic-672302146
Enigma, http://kaelri.deviantart.com/art/Enigma-103823591
CLRS, http://neiio.deviantart.com/art/CLRS-Rainmeter-263898448
CLRS Media Player (included with CLRS)
CLN, http://toastbrotpascal.deviantart.com/art/CLN-216978446
Almasuite, http://enioku.deviantart.com/art/Almasuite-286886783
I would verify that I had properly setup the configurations for each first, both name and path as dictated by the config file and if these still didn't work I would check the debug log from rainmeter
User avatar
Aethrios
Posts: 50
Joined: February 25th, 2014, 1:45 am

Re: NowPlaying Progress Nuances

Post by Aethrios »

Interesting find!

I grabbed a few of those players you mentioned, and found something interesting: if I ran my two skins at the same time, they would stop each other from working, if they both tried to access either Progress or Duration at the same time. They would work fine on their own, and would go back to working if I unloaded one of the two. Didn't matter which.

However, if they were both loaded, and I then also added in a third (one of those on your list) then they would all start working again, at the same time.

I went through the NowPlaying parent measures with a fine tooth comb, and it turns out that if you set DynamicVariables=1 on the NowPlaying parent, while also calling Progress or Duration in two skins at the same time, any so long as all the NowPlaying parent measures across all the skins are also set with DynamicVariables enabled, they will fail.

TL;DR: remove DynamicVariables from your parent measures. You should have them, and it was a mistake on my part that it was there in the first place.

Thanks for your help.
Bekarfel
Posts: 217
Joined: May 16th, 2012, 5:38 am

Re: NowPlaying Progress Nuances

Post by Bekarfel »

I see no reason to not use DynamicVariables in a NowPlaying parent measure. The documentation on Dynamic Variables doesn't suggest there would be any issues for using them in NowPlaying.
There are a few locations where they cannot be used,
  • [Rainmeter]
  • [Variables]
  • [Metadata]
  • iTunes
  • MediaKey
  • Power
  • VirtualDesktops
  • 3rd-party plugins are not guaranteed to support dynamic variables.
User avatar
Aethrios
Posts: 50
Joined: February 25th, 2014, 1:45 am

Re: NowPlaying Progress Nuances

Post by Aethrios »

Yeah, I didn't think there would be an issue with that. I did it in good conscious, and saw no reason why that would break anything.

But I am telling you what I found: with, it was broken, without, it worked.
Bekarfel
Posts: 217
Joined: May 16th, 2012, 5:38 am

Re: NowPlaying Progress Nuances

Post by Bekarfel »

Well the description of the problem sounds like it lies somewhere in your skins and not within Rainmeter itself. If you could provide some sort of skin that will reproduce the problem I'm sure someone could take a look at it.
nettles4349
Posts: 2
Joined: November 20th, 2015, 7:45 pm

Re: NowPlaying Progress Nuances

Post by nettles4349 »

Sorry to be posting to an older thread, but I just came across an issue mentioned here so apparently it's still a problem.

For me, the Progress measure wasn't reading anything at all - which was weird, since it had been up until I changed several things. I finally realized that it was due to having DynamicVariables enabled in a measure for the State measure. This State measure was not a parent measure of the Progress measure (unless I'm not understanding how the measures are connected on an internal level - which is entirely possible).

On a side note, I'm going to mention that I had another problem with the play/pause icon of my skin not changing based on the State of the measure. I ended up having to make a second State measure for all of the IfCondition logic. The conditional logic I used was identical to what I had done when it was all in a single State measure, the only difference was that I put it into a second, separate measure. I have no idea why this worked or why it was even a problem in the first place; I'm just mentioning it here because it seems that there are some funny ways that NowPlaying handles these kinds of things.

Anyway, I just wanted to share my experience here too. Hopefully it'll help someone faced with a similar issue in the future so they won't spend hours banging their head again their desk like I was. If this is a bug with Rainmeter, hopefully it'll be fixed, and if it's not then I hope they highlight some of these quirks in the documentation so others can avoid these pitfalls.
Post Reply