By the way, the process should be similar for the WebNowPlaying plugin you are trying to make it work in the other thread, so once you have it working, this issue can be solved as well like I described above.
![Wink ;-)](./images/smilies/innuendo.gif)
By the way, the process should be similar for the WebNowPlaying plugin you are trying to make it work in the other thread, so once you have it working, this issue can be solved as well like I described above.
Hello. I have a few other player skins, so I have been looking at the code there and adding things to the marquee code from there as a guide, to include the artist, and song titles. Still working on it. Not quite there yet.Yincognito wrote: ↑June 20th, 2023, 3:43 pm By the way, the process should be similar for the WebNowPlaying plugin you are trying to make it work in the other thread, so once you have it working, this issue can be solved as well like I described above.![]()
Alright, no need to apologize, just wanted to make sure that at least you tried. There's no problem if you didn't succeed yet, but this was so simple that you shouldn't have had any issues in making it work, even if it's not your thing, apart from some expected "glitches" when the track changes.
Code: Select all
[Variables]
Player=Winamp
AnimationSpeed=32
Wait=1500
ArtistX=0
TitleX=0
[Rainmeter]
Update=1000
AccurateText=1
DynamicWindowSize=1
OnRefreshAction=[!CommandMeasure Marquee "Stop 1"][!CommandMeasure Marquee "Stop 2"][!CommandMeasure Marquee "Execute 1"][!CommandMeasure Marquee "Execute 2"]
MiddleMouseUpAction=[!Refresh]
---Measures---
[ArtistTextOffset]
Group=Marquee
Measure=Calc
Formula=(Max(0,([ArtistText:W]-[Container:W])))
DynamicVariables=1
[TitleTextOffset]
Group=Marquee
Measure=Calc
Formula=(Max(0,([TitleText:W]-[Container:W])))
DynamicVariables=1
[Marquee]
Group=Marquee
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat MoveArtist,#AnimationSpeed#,[ArtistTextOffset:] | Wait #Wait# | ResetArtist | Wait #Wait# | DoOverArtist | Wait #Wait#
ResetArtist=[!SetVariable ArtistX 0][!UpdateMeasure Marquee][!UpdateMeter ArtistText][!Redraw]
MoveArtist=[!SetVariable ArtistX (#ArtistX#-1)][!UpdateMeasure Marquee][!UpdateMeter ArtistText][!Redraw]
DoOverArtist=[!CommandMeasure Marquee "Stop 1"][!CommandMeasure Marquee "Execute 1"]
ActionList2=Repeat MoveTitle,#AnimationSpeed#,[TitleTextOffset:] | Wait #Wait# | ResetTitle | Wait #Wait# | DoOverTitle | Wait #Wait#
ResetTitle=[!SetVariable TitleX 0][!UpdateMeasure Marquee][!UpdateMeter TitleText][!Redraw]
MoveTitle=[!SetVariable TitleX (#TitleX#-1)][!UpdateMeasure Marquee][!UpdateMeter TitleText][!Redraw]
DoOverTitle=[!CommandMeasure Marquee "Stop 2"][!CommandMeasure Marquee "Execute 2"]
DynamicVariables=1
[Artist]
Measure=NowPlaying
PlayerName=#Player#
PlayerType=Artist
OnChangeAction=[!SetVariable ArtistX 0][!SetVariable TitleX 0][!UpdateMeterGroup Marquee][!Redraw][!UpdateMeasureGroup Marquee][!CommandMeasure Marquee "Stop 1"][!CommandMeasure Marquee "Stop 2"][!CommandMeasure Marquee "Execute 1"][!CommandMeasure Marquee "Execute 2"]
DynamicVariables=1
[Title]
Measure=NowPlaying
PlayerName=[Artist]
PlayerType=Title
OnChangeAction=[!SetVariable ArtistX 0][!SetVariable TitleX 0][!UpdateMeterGroup Marquee][!Redraw][!UpdateMeasureGroup Marquee][!CommandMeasure Marquee "Stop 1"][!CommandMeasure Marquee "Stop 2"][!CommandMeasure Marquee "Execute 1"][!CommandMeasure Marquee "Execute 2"]
DynamicVariables=1
---Styles---
[Text]
FontFace=Calibri
FontColor=230,230,230
FontSize=15
FontWeight=600
X=0r
Y=0R
AntiAlias=1
DynamicVariables=1
---Meters---
[Background]
Meter=Shape
Shape=Rectangle 1,1,246,84,6 | StrokeWidth 2 | Stroke Color 50,50,50 | Fill Color 15,15,15
[ArtistLabel]
Meter=String
MeterStyle=Text
X=16
Y=16
Text=Artist
[TitleLabel]
Meter=String
MeterStyle=Text
Text=Title
[Container]
Meter=Image
X=82
Y=16
W=150
H=76
SolidColor=255,255,255,255
[ArtistText]
Group=Marquee
Container=Container
Meter=String
MeterStyle=Text
X=#ArtistX#
Y=0r
MeasureName=Artist
Text=%1
[TitleText]
Group=Marquee
Container=Container
Meter=String
MeterStyle=Text
X=#TitleX#
MeasureName=Title
Text=%1
Thank you very much for this. I like things minimal, so I was able to customise it the way I like, change the style and add the timer as well. I made it transparent on my deskop and made player control buttons too and a small Spotify launcher. Your code really helped me. Thank you! and thank you to keifufu who helped make the timer work.Yincognito wrote: ↑June 21st, 2023, 10:09 am Just like in the original code, the artist and title are both in the same container meter, so repositioning the container will reposition the playing info accordingly. As you can see, the code is very similar to the one from the original sample.
Excellent! Glad you finally achieved what you wanted!RoseRain wrote: ↑June 22nd, 2023, 5:48 am Thank you very much for this. I like things minimal, so I was able to customise it the way I like, change the style and add the timer as well. I made it transparent on my deskop and made player control buttons too and a small Spotify launcher. Your code really helped me. Thank you! and thank you to keifufu who helped make the timer work.
Code: Select all
[MeterText1]
Meter=String
MeterStyle=StyleText
X=#marquee1#
Y=1
Text=#text1#
DynamicVariables=1
No worries about the necro, but regarding the issue you mentioned, the original code does work, because it includes the DynamicVariables=1 option in the StyleText meter style. Most likely it didn't work for you because you probably removed that line from the style, either intentionally or accidentally...blapman007 wrote: ↑October 25th, 2023, 6:11 pm This is possibly a massive necro and I apologise for this, but I tried using this code and it would not work, for someone experiencing the same problem, just add DynamicVariables=1 to the meter, eg:
This fixed my problem and it works perfectly now!Code: Select all
[MeterText1] Meter=String MeterStyle=StyleText X=#marquee1# Y=1 Text=#text1# DynamicVariables=1
Again, sorry for the necro.
Code: Select all
[Variables]
PlayerName=AIMP
FontName=Segoe UI
FontColor=255,255,255,255
;; Marquee
AnimationSpeed=32
Wait=1500
;; Dynamic Marquee Variables
ArtistX=
AlbumX=
TrackX=
; -----------------------------------------------------------------------------------------
[MeasureTrack]
Measure=Plugin
Plugin=NowPlaying
PlayerName=#PlayerName#
PlayerType=Title
Substitute="":""
[MeasureArtist]
Measure=Plugin
Plugin=NowPlaying
PlayerName=#PLayerName#
PlayerType=Artist
Substitute="":""
[MeasureAlbum]
Measure=Plugin
Plugin=NowPlaying
PlayerName=#PLayerName#
PlayerType=Album
Substitute="":""
;; Marquee-ing Title, Artist, Album
[TitleTextOffset]
Group=Marquee
Measure=Calc
Formula=(Max(0,([M_Track:W]-[Container:W])))
DynamicVariables=1
[ArtistTextOffset]
Group=Marquee
Measure=Calc
Formula=(Max(0,([M_Artist:W]-[Container:W])))
DynamicVariables=1
[AlbumTextOffset]
Group=Marquee
Measure=Calc
Formula=(Max(0,([M_Album:W]-[Container:W])))
DynamicVariables=1
[Container]
Meter=Image
W=([M_Track:W])
H=75
SolidColor=255,255,255,255
[Marquee]
Group=Marquee
Measure=Plugin
Plugin=ActionTimer
; -----------------------------------------------------------------------------------------
ActionList1=Repeat Move M_Artist,#AnimationSpeed#,[ArtistTextOffset:] | Wait #Wait# | Reset M_Artist | Wait #Wait# | DoOver M_Artist | Wait #Wait#
ResetArtist=[!SetVariable ArtistX 0][!UpdateMeasure Marquee][!UpdateMeter M_Artist][!Redraw]
MoveArtist=[!SetVariable ArtistX (#ArtistX#-1)][!UpdateMeasure Marquee][!UpdateMeter M_Artist][!Redraw]
DoOverArtist=[!CommandMeasure Marquee "Stop 1"][!CommandMeasure Marquee "Execute 1"]
; -----------------------------------------------------------------------------------------
ActionList2=Repeat Move M_Track,#AnimationSpeed#,[TitleTextOffset:] | Wait #Wait# | ResetM_Track | Wait #Wait# | DoOver M_Track | Wait #Wait#
ResetTitle=[!SetVariable TrackX 0][!UpdateMeasure Marquee][!UpdateMeter M_Track][!Redraw]
MoveTitle=[!SetVariable TrackX (#TitleX#-1)][!UpdateMeasure Marquee][!UpdateMeter M_Track][!Redraw]
DoOverTitle=[!CommandMeasure Marquee "Stop 2"][!CommandMeasure Marquee "Execute 2"]
; -----------------------------------------------------------------------------------------
ActionList2=Repeat Move M_Album,#AnimationSpeed#,[AlbumTextOffset:] | Wait #Wait# | ResetTitle | Wait #Wait# | DoOver M_Album | Wait #Wait#
ResetTitle=[!SetVariable AlbumX 0][!UpdateMeasure Marquee][!UpdateMeter M_Album][!Redraw]
MoveTitle=[!SetVariable AlbumX (#AlbumX#-1)][!UpdateMeasure Marquee][!UpdateMeter M_Album][!Redraw]
DoOverTitle=[!CommandMeasure Marquee "Stop 3"][!CommandMeasure Marquee "Execute 3"]
DynamicVariables=1
; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[M_TRACK]
Meter=String
MeasureName=MeasureTrack
;X=(#XPos#+1)
X=#TrackX#
Y=1
W=382
FontFace=#FONTNAME#
FontColor=#FONTCOLOR#
FontSize=13
Text=%1
Group=Marquee
Container=Container
ClipString=1
AntiAlias=1
DynamicVariables=1
[M_ARTIST]
Meter=String
MeasureName=MeasureArtist
;X=(#XPos#+1)
X=#ArtistX#
Y=([M_TRACK:Y])
W=382
FontFace=#FONTNAME#
FontColor=#FONTCOLOR#
FontSize=12
Text=%1
TooltipText=%1
Group=Marquee
Container=Container
ClipString=1
AntiAlias=1
DynamicVariables=1
[M_ALBUM]
Meter=String
MeasureName=MeasureAlbum
;X=(#XPos#+1)
X=#AlbumX#
Y=([M_ARTIST:Y])
W=382
FontFace=#FONTNAME#
FontColor=#FONTCOLOR#
FontSize=12
Text=%1
Group=Marquee
Container=Container
ClipString=1
AntiAlias=1
DynamicVariables=1
[M_Shape]
Meter=Shape
Shape=Rectangle 2,2,382,75,2 | Fill Color 0,0,0,128 | StrokeWidth 1 | Stroke Color 255,255,255,255
LeftMouseUpAction=[!UpdateMeter *][!Refresh]
I chose this particular way as I was finding this a bit more easy than raiguard one. Now here I am! I want this marquee to be implemented in Rainmeter as an effect - even if it takes v99.999! ![]() |
From the top of my head on a first look at your code, you made several mistakes, in 3 categories:ZXCVBOT wrote: ↑October 30th, 2023, 12:07 pm I am doing something wrong, I am not seeing anything now. I used the code given here and changed the things in marquee measure as per my skin:
Here is the complete code:
It is throwing no errors and the variables ArtistX, AlbumX and TrackX stay 0 or blank (if nothing is given). Also, no changes have been made to any measures other than [Marquee] - The one with ActionTimer (which I know nothing of). I also have used DynamicVariables in the meters and Container and Group and used X equal to their respective variables. I also removed the ClipString but no changes happened.
Edit: Changed the Height of the Container. Also, the shape is showing so that skin stays visible and yeah - for Refreshing!
Where am I going wrong?Code: Select all
[Variables] PlayerName=AIMP FontName=Segoe UI FontColor=255,255,255,255 ;; Marquee AnimationSpeed=32 Wait=1500 ;; Dynamic Marquee Variables ArtistX= AlbumX= TrackX= ; ----------------------------------------------------------------------------------------- [MeasureTrack] Measure=Plugin Plugin=NowPlaying PlayerName=#PlayerName# PlayerType=Title Substitute="":"" [MeasureArtist] Measure=Plugin Plugin=NowPlaying PlayerName=#PLayerName# PlayerType=Artist Substitute="":"" [MeasureAlbum] Measure=Plugin Plugin=NowPlaying PlayerName=#PLayerName# PlayerType=Album Substitute="":"" ;; Marquee-ing Title, Artist, Album [TitleTextOffset] Group=Marquee Measure=Calc Formula=(Max(0,([M_Track:W]-[Container:W]))) DynamicVariables=1 [ArtistTextOffset] Group=Marquee Measure=Calc Formula=(Max(0,([M_Artist:W]-[Container:W]))) DynamicVariables=1 [AlbumTextOffset] Group=Marquee Measure=Calc Formula=(Max(0,([M_Album:W]-[Container:W]))) DynamicVariables=1 [Container] Meter=Image W=([M_Track:W]) H=75 SolidColor=255,255,255,255 [Marquee] Group=Marquee Measure=Plugin Plugin=ActionTimer ; ----------------------------------------------------------------------------------------- ActionList1=Repeat Move M_Artist,#AnimationSpeed#,[ArtistTextOffset:] | Wait #Wait# | Reset M_Artist | Wait #Wait# | DoOver M_Artist | Wait #Wait# ResetArtist=[!SetVariable ArtistX 0][!UpdateMeasure Marquee][!UpdateMeter M_Artist][!Redraw] MoveArtist=[!SetVariable ArtistX (#ArtistX#-1)][!UpdateMeasure Marquee][!UpdateMeter M_Artist][!Redraw] DoOverArtist=[!CommandMeasure Marquee "Stop 1"][!CommandMeasure Marquee "Execute 1"] ; ----------------------------------------------------------------------------------------- ActionList2=Repeat Move M_Track,#AnimationSpeed#,[TitleTextOffset:] | Wait #Wait# | ResetM_Track | Wait #Wait# | DoOver M_Track | Wait #Wait# ResetTitle=[!SetVariable TrackX 0][!UpdateMeasure Marquee][!UpdateMeter M_Track][!Redraw] MoveTitle=[!SetVariable TrackX (#TitleX#-1)][!UpdateMeasure Marquee][!UpdateMeter M_Track][!Redraw] DoOverTitle=[!CommandMeasure Marquee "Stop 2"][!CommandMeasure Marquee "Execute 2"] ; ----------------------------------------------------------------------------------------- ActionList2=Repeat Move M_Album,#AnimationSpeed#,[AlbumTextOffset:] | Wait #Wait# | ResetTitle | Wait #Wait# | DoOver M_Album | Wait #Wait# ResetTitle=[!SetVariable AlbumX 0][!UpdateMeasure Marquee][!UpdateMeter M_Album][!Redraw] MoveTitle=[!SetVariable AlbumX (#AlbumX#-1)][!UpdateMeasure Marquee][!UpdateMeter M_Album][!Redraw] DoOverTitle=[!CommandMeasure Marquee "Stop 3"][!CommandMeasure Marquee "Execute 3"] DynamicVariables=1 ; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ [M_TRACK] Meter=String MeasureName=MeasureTrack ;X=(#XPos#+1) X=#TrackX# Y=1 W=382 FontFace=#FONTNAME# FontColor=#FONTCOLOR# FontSize=13 Text=%1 Group=Marquee Container=Container ClipString=1 AntiAlias=1 DynamicVariables=1 [M_ARTIST] Meter=String MeasureName=MeasureArtist ;X=(#XPos#+1) X=#ArtistX# Y=([M_TRACK:Y]) W=382 FontFace=#FONTNAME# FontColor=#FONTCOLOR# FontSize=12 Text=%1 TooltipText=%1 Group=Marquee Container=Container ClipString=1 AntiAlias=1 DynamicVariables=1 [M_ALBUM] Meter=String MeasureName=MeasureAlbum ;X=(#XPos#+1) X=#AlbumX# Y=([M_ARTIST:Y]) W=382 FontFace=#FONTNAME# FontColor=#FONTCOLOR# FontSize=12 Text=%1 Group=Marquee Container=Container ClipString=1 AntiAlias=1 DynamicVariables=1 [M_Shape] Meter=Shape Shape=Rectangle 2,2,382,75,2 | Fill Color 0,0,0,128 | StrokeWidth 1 | Stroke Color 255,255,255,255 LeftMouseUpAction=[!UpdateMeter *][!Refresh]
I chose this particular way as I was finding this a bit more easy than raiguard one. Now here I am! I want this marquee to be implemented in Rainmeter as an effect - even if it takes v99.999!
Code: Select all
[TrackX]
Measure=Calc
Formula=(TrackX+1)
...
...
[M_Track]
...
X=[TrackX]
DynamicVariables=1
Code: Select all
[ChangePositions]
Measure=Calc
OnUpdateAction=[!SetVariable TrackX (#TrackX#+1)]...
...
...
[M_Track]
...
X=#TrackX#
DynamicVariables=1