I got.
This is / was the basic idea to each of us, who have started using Rainmeter and coding into it. If you keep working, you can get the ideas very quickly.
Please do so. We'll take a look, I think...
I got.
This is / was the basic idea to each of us, who have started using Rainmeter and coding into it. If you keep working, you can get the ideas very quickly.
Please do so. We'll take a look, I think...
Well, if you had the code then we'd be doing it all for you, now wouldn't we? This is not what this forum is about...
Something like that, yes - very good, you're starting to get it.Aryx wrote: ↑January 5th, 2024, 2:39 pm Edit:
Next:
LeftMouseUpAction=[!CommandMeasure "MeasureNowPlaying" "Next"][!CommandMeasure "MeasureNowPlaying" "Next"] WritetovariableNext [!CommandMeasure "MeasureNowPlaying" "Previous"]
I think that would do the trick. But how to write the name? And checking for Shuffle?
Everything has a starting point, you know - there is always a first time for everything. Just because it's the first time doesn't mean you shouldn't at least try. Anyway, forget about those 2 skins for a moment - better to try this on a very basic skin of your own to understand how it works (once you do, you'll probably have a better idea on how to add these things to any of those 2 skins). Here is an extremely simple sample that I think does what you want. To use it, just create a new skin (follow the images 1,3,5 and 6 from this page), then copy paste the below in that file, replacing the earlier contents:
Code: Select all
[Variables]
PlayerName=Winamp
Prev=
Curr=
Next=
[Rainmeter]
Update=1000
AccurateText=1
DynamicWindowSize=1
BackgroundMode=2
SolidColor=0,255,0,255
OnRefreshAction=[!SetVariable Curr "[Artist] - [Title]"][!UpdateMeasure *][!UpdateMeter *][!Redraw]
---Measures---
[Player]
Measure=NowPlaying
PlayerName=#PlayerName#
PlayerType=State
[Repeat]
Measure=NowPlaying
PlayerName=[Player]
PlayerType=Repeat
[Shuffle]
Measure=NowPlaying
PlayerName=[Player]
PlayerType=Shuffle
[Artist]
Measure=NowPlaying
PlayerName=[Player]
PlayerType=Artist
[Title]
Measure=NowPlaying
PlayerName=[Player]
PlayerType=Title
---Meters---
[Prev]
Meter=String
Y=10R
AntiAlias=1
Text=Prev: #Prev#
LeftMouseUpAction=[!SetVariable Next "#Curr#"][!CommandMeasure Player "Previous"][!CommandMeasure Player "Previous"][!UpdateMeasure *][!SetVariable Prev "[Artist] - [Title]"][!CommandMeasure Player "Next"][!UpdateMeasure *][!SetVariable Curr "[Artist] - [Title]"][!UpdateMeter *][!Redraw]
DynamicVariables=1
[Curr]
Meter=String
Y=10R
AntiAlias=1
Text=Curr: #Curr#
LeftMouseUpAction=[!CommandMeasure Player "PlayPause"][!UpdateMeasure *][!SetVariable Curr "[Artist] - [Title]"][!UpdateMeter *][!Redraw]
MiddleMouseUpAction=[!CommandMeasure Player "Stop"]
DynamicVariables=1
[Next]
Meter=String
Y=10R
AntiAlias=1
Text=Next: #Next#
LeftMouseUpAction=[!SetVariable Prev "#Curr#"][!CommandMeasure Player "Next"][!CommandMeasure Player "Next"][!UpdateMeasure *][!SetVariable Next "[Artist] - [Title]"][!CommandMeasure Player "Previous"][!UpdateMeasure *][!SetVariable Curr "[Artist] - [Title]"][!UpdateMeter *][!Redraw]
DynamicVariables=1
Glad you're happy with it! As I said, it can be improved if desired - this will be your job now that you seem to understand most of how it works. And yes, it was simple, that's what I've been telling you all along. You could have done it too, with a bit of effort.Aryx wrote: ↑January 5th, 2024, 6:25 pm Wow! Simple and to the point! I even got it - LeftMouseUpAction, MiddleMouseUpAction!
SetVariable thing is so simple too! I had it all wrong i my head!
I read how to pause and change tracks when I posted the initial thing, so, I need not refer how they work..
Before I attempt any edits, can I change this:
[!SetVariable Next "[Artist] - [Title]"] to [!SetVariable Next "[Title] - [Artist]"] ?
Would it affect the skin? (Not the ones I referred to earlier - The skin/code you gave)
Also, just to be clear, does "*" mean "all" and not "multiply/multiplication"?
Previously unanswered question: Does WebNowPlaying plugin provide the names for next/previous tracks?
Can I just pat my back too? I just wanted to know if this was possible - you made it so! Also, with hidden features - play/pause next and previous!
I may just use this skin forever (except the green screen )!!! I have seen several skins, but none with this - put it up in Tips and Tricks Section for folks!
We or me? No way. You are the one who has to want to create a skin. If you do, we can help you to create / improve your skin (as you saw above on Yincognito's reply), but no one on this forum excepting you, will want you to create skin(s).
No. All this kind of plugins / measures are giving the names and artist of the current track.
Code: Select all
...
---added album
[Album]
Measure=NowPlaying
PlayerName=[Player]
PlayerType=Album
[Progress]
Measure=NowPlaying
PlayerName=[Player]
PlayerType=Progress
MinValue=0
MaxValue=100
[ProgressStatus]
Meter=String
FontFace=Segoe UI
FontColor=255,255,255
FontSize=12
Text=Progress: [Progress:%,1]%
AntiAlias=1
DynamicVariables=1
LeftMouseUpAction=[!CommandMeasure Player "Stop"]
MiddleMouseUpAction=[!CommandMeasure Player "Previous"][!Log PRE1][!WriteKeyValue Variables Prev "[Title] - [Artist] - [Album]"][!Log "Written Prev [Title] - [Artist] - [Album]"][!CommandMeasure Player "Next"][!Log NEXT1][!WriteKeyValue Variables Curr "[Title] - [Artist] - [Album]"][!Log "Written Curr [Title] - [Artist] - [Album]"][!CommandMeasure Player "Next"][!Log NEXT2][!WriteKeyValue Variables Next "[Title] - [Artist] - [Album]"][!Log "Written Next [Title] - [Artist] - [Album]"][!CommandMeasure Player "Previous"][!Log PREV2][!Refresh]
MouseScrollUpAction=[!CommandMeasure Progress "SetPosition +5"][!UpdateMeasure Progress][!UpdateMeter ProgressStatus][!Redraw]
MouseScrollDownAction=[!CommandMeasure Progress "SetPosition -5"][!UpdateMeasure Progress][!UpdateMeter ProgressStatus][!Redraw]
; Edit - Same here
;MiddleMouseUpAction=[!WriteKeyValue Variables Curr "[Title] - [Artist] - [Album]"] [!Log "Curr Written: #Curr#"] [!CommandMeasure Player "Previous"] [!WriteKeyValue Variables Prev "[Title] - [Artist] - [Album]"] [!Log "PRE1 & Written: #Prev#"] [!CommandMeasure Player "Next"] [!CommandMeasure Player "Next"] [!WriteKeyValue Variables Next "[Title] - [Artist] - [Album]"] [!Log "NextX2 & Written: #Next#"] [!CommandMeasure Player "Previous"] [!Log "PRE2"] [!Refresh]
Code: Select all
;MouseScrollUpAction=[!WriteKeyValue Variables Next "#Curr#"][!CommandMeasure Player "Previous"][!CommandMeasure Player "Previous"][!UpdateMeasure *][!WriteKeyValue Variables Prev "[Title]"][!CommandMeasure Player "Next"][!UpdateMeasure *][!WriteKeyValue Variables Curr "[Title]"][!UpdateMeter *][!Redraw]
MouseScrollUpAction=[!WriteKeyValue Variables Next "#Curr#"][!CommandMeasure Player "Previous"][!CommandMeasure Player "Previous"][!UpdateMeasure *][!WriteKeyValue Variables Prev "[Title] - [Artist]"][!CommandMeasure Player "Next"][!UpdateMeasure *][!WriteKeyValue Variables Curr "[Title] - [Artist]"][!UpdateMeter *][!Redraw]
;MouseScrollUpAction=[!WriteKeyValue Variables Next "#Curr#"][!CommandMeasure Player "Previous"][!CommandMeasure Player "Previous"][!UpdateMeasure *][!WriteKeyValue Variables Prev "[Title] - [Artist] - [Album]"][!CommandMeasure Player "Next"][!UpdateMeasure *][!WriteKeyValue Variables Curr "[Title] - [Artist] - [Album]"][!UpdateMeter *][!Redraw]
;MouseScrollDownAction=[!WriteKeyValue Variables Prev "#Curr#"][!CommandMeasure Player "Next"][!CommandMeasure Player "Next"][!UpdateMeasure *][!WriteKeyValue Variables Next "[Title]"][!CommandMeasure Player "Previous"][!UpdateMeasure *][!WriteKeyValue Variables Curr "[Title]"][!UpdateMeter *][!Redraw]
MouseScrollDownAction=[!WriteKeyValue Variables Prev "#Curr#"][!CommandMeasure Player "Next"][!CommandMeasure Player "Next"][!UpdateMeasure *][!WriteKeyValue Variables Next "[Title] - [Artist]"][!CommandMeasure Player "Previous"][!UpdateMeasure *][!WriteKeyValue Variables Curr "[Title] - [Artist]"][!UpdateMeter *][!Redraw]
;MouseScrollDownAction=[!WriteKeyValue Variables Prev "#Curr#"][!CommandMeasure Player "Next"][!CommandMeasure Player "Next"][!UpdateMeasure *][!WriteKeyValue Variables Next "[Title] - [Artist] - [Album]"][!CommandMeasure Player "Previous"][!UpdateMeasure *][!WriteKeyValue Variables Curr "[Title] - [Artist] - [Album]"][!UpdateMeter *][!Redraw]
This is because you need to update the relevant measures after commanding the main measure to jump to another track, just like in the original answer, so that when you reference [Title], [Artist], or [Album] they will provide their changed (i.e. after the jumping) values. For example, your MiddleMouseUpAction from [ProgressStatus] in your code should look like (notice the red parts - I only used "*" instead of the specific measures for simplicity, but you get the idea):
Code: Select all
OnRefreshAction=[!CommandMeasure Player "Previous"][!UpdateMeasure *][!SetVariable Prev "[Artist] - [Title]"][!CommandMeasure Player "Next"][!UpdateMeasure *][!SetVariable Curr "[Artist] - [Title]"][!CommandMeasure Player "Next"][!UpdateMeasure *][!SetVariable Next "[Artist] - [Title]"][!CommandMeasure Player "Previous"][!UpdateMeasure *][!UpdateMeter *][!Redraw]
This would need you to use measures instead of variables, since in a measure you have an option called Substitute that can alter that track string the way you want. I only used variables in the earlier answer because that was what your initial question referrred to.