[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
SkinWidth=500
[Metadata]
Name=Bla bla
Author=Bla bla
Information=Bla bla
Version=Bla bla
[Variables]
Width=[MeterText1:W]
XValue=0
Repeat=0
text=This is a very long text for this example skin.
;=== MEASURES ===
[MeasureRepeat]
Measure=Calc
Formula=(#Width#+[MeterText1:W])
IfCondition=1
IfTrueAction=[!SetVariable Repeat "[MeasureRepeat]"][!Update]
DynamicVariables=1
[MeasureX1]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat Action1 , 25 , #Repeat#
ActionList2=Wait 25 | Action2 | Repeat Action1 , 25 , #Repeat#
Action1=[!SetVariable XValue "(Clamp(#XValue#-2,(-#Width#),#Width#))"][!Update]
Action2=[!SetVariable XValue "0"][!Update]
DynamicVariables=1
[MeasureWait]
Measure=Calc
Formula=-[MeterText1:W]
IfCondition= (#XValue#=-#Width#)
IfTrueAction=[!CommandMeasure MeasureX1 "Stop 1"][!CommandMeasure MeasureX1 "Stop 2"][!CommandMeasure MeasureX1 "Execute 2"]
DynamicVariables=1
;==== METERS ====
[MeterText1]
Meter=String
Text=#text#
FontSize=50
X=#XValue#
Y=0
AntiAlias=1
DynamicVariables=1
[MeterText1Mirror]
Meter=String
Text=#text#
FontSize=50
X=(#XValue#+#Width#)
Y=0
AntiAlias=1
DynamicVariables=1
[MeterBackground1]
Meter=Image
SolidColor=0,0,0,1
MouseOverAction=[!CommandMeasure MeasureX1 "Execute 1"]
MouseLeaveAction=[!CommandMeasure MeasureX1 "Stop 1"][!CommandMeasure MeasureX1 "Stop 2"][!SetVariable XValue "0"][!Update]
W=#Width#
H=([MeterText1:H])
DynamicVariables=1
this is good but the issue with this is it does not stop like the original once a full cycle has been completed and there is no open area between the end of the text and the beginning of the text
SilverDarkBlade wrote:Started testing this thoroughly today and it works great except one problem. if a string of text is longer than the skin (happens commonly with the visualizer) the text overlaps itself when moving. any ideas on how to fix this without sacrificing the other features?
Here is an image of your code with the only change being extra G's added onto something
Sorry I was off for a little while
Let me know if this code works for you!
[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
SkinWidth=500
[Metadata]
Name=Bla bla
Author=Bla bla
Information=Bla bla
Version=Bla bla
[Variables]
Width=[MeterText1:W]
XValue=0
Repeat=0
text=This is a very long text for this example skin.
You set the Width variable as the width for the displayed text. My code uses the Width variable as the width of the skin, not the text.
kyriakos876 wrote:You set the Width variable as the width for the displayed text. My code uses the Width variable as the width of the skin, not the text.
thanks again ^^. final question how do i make the space after the text larger or smaller? otherwise this Works perfectly.