Thanks eclectic-tech, I did not notice that. I copied the title-action and edited it.
I did it by the measure process - It starts and goes on forever.
Edit:
I did not understand the Clamp part, can you be more specific as to how can I implement it? Or atleast, how can I count the length of the string in Rainmeter?
I tried !Refresh, so, when the DoOverAction takes place, it also resets the positions for every string in the skin.
The new edited code (Previous one had major flaws, now marquee is visible). Also, all the strings run back together (duh they have a defined beginning and at the same rate they are getting subtracted). I think that Clamp-ing / defining a min and max for the specific strings (that change) would solve this problem.
Code: Select all
[Rainmeter]
Update=32
[Variables]
PlayerName=AIMP
FontName=Segoe UI
FontColor=255,255,255,255
;; Marquee
AnimationSpeed=32
Wait=10
;; 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
[TrackTextOffset]
Group=Marquee
Measure=Calc
Formula=(Max(0,([M_Track:W]-[Container:W])))
DynamicVariables=1
[TrackX]
Measure=Calc
Formula=(TrackX-1)
[ArtistTextOffset]
Group=Marquee
Measure=Calc
Formula=(Max(0,([M_Artist:W]-[Container:W])))
DynamicVariables=1
[ArtistX]
Measure=Calc
Formula=(ArtistX-1)
[AlbumTextOffset]
Group=Marquee
Measure=Calc
Formula=(Max(0,([M_Album:W]-[Container:W])))
DynamicVariables=1
[AlbumX]
Measure=Calc
Formula=(AlbumX-1)
[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"][!Refresh]
; -----------------------------------------------------------------------------------------
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"][!Refresh]
; -----------------------------------------------------------------------------------------
ActionList3=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"][!Refresh]
DynamicVariables=1
; ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[M_TRACK]
Meter=String
MeasureName=MeasureTrack
;X=(#XPos#+1)
X=[TrackX]
Y=1
W=392
FontFace=#FONTNAME#
FontColor=#FONTCOLOR#
FontSize=13
Text=%1
Group=Marquee
Container=Container
AntiAlias=1
DynamicVariables=1
[M_ARTIST]
Meter=String
MeasureName=MeasureArtist
;X=(#XPos#+1)
X=[ArtistX]
Y=([M_TRACK:Y]+20)
W=392
FontFace=#FONTNAME#
FontColor=#FONTCOLOR#
FontSize=12
Text=%1
TooltipText=%1
Group=Marquee
Container=Container
AntiAlias=1
DynamicVariables=1
[M_ALBUM]
Meter=String
MeasureName=MeasureAlbum
;X=(#XPos#+1)
X=[AlbumX]
Y=([M_ARTIST:Y]+20)
W=392
FontFace=#FONTNAME#
FontColor=#FONTCOLOR#
FontSize=12
Text=%1
Group=Marquee
Container=Container
AntiAlias=1
DynamicVariables=1
[M_Shape]
Meter=Shape
Shape=Rectangle 2,2,394,75,2 | Fill Color 0,0,0,128 | StrokeWidth 1 | Stroke Color 255,255,255,255
[Container]
Meter=Image
W=([M_Track:W])
H=75
SolidColor=255,255,255,255