I continue to collect own skin and now I'm busy with the music player. At the moment I figured out how to make the shortening of the text (...) if it does not fit into the borders. For a week now I'm trying to compile a working (according to the plan) animated text with a horizontal scroll. Using the method presented by balala here: it turned out to make one line Artist - Title, but there are several problems:
1. I would like the text to move from right to left;
2. The text is not displayed completely (if the name is long), then it is terminated and drawn again;
3. You need to start the animation only if the length of the string exceeds the allowable value.
Is it possible to implement the plan?
Code below:
Code: Select all
[Rainmeter]
Update=10
AccurateText=1
MouseOverAction=[!ShowMeterGroup Second][!HideMeterGroup Main][!Redraw]
MouseLeaveAction=[!HideMeterGroup Second][!ShowMeterGroup Main][!Redraw]
[Metadata]
Name=Visual
Author=Va1ga
[Variables]
font.name=jura
font.size=20
font.se=Shadow
font.ec=0,0,0,50
color.main=255,255,255,255
color.secondary=140,140,140,255
b.size.dateW=470
b.sizeH=208
b.color=0,0,0,1
Player=aimp
Port=Output
FFTSize=1024
FFTAttack=15
FFTDecay=250
Sensitivity=35
Bands=57
Artist=[MeasureArtist]
Album=[MeasureAlbum]
Title=[MeasureTitle]
Speed=0.5
;==================
[Background]
Meter=IMAGE
W=#b.size.dateW#
H=#b.sizeH#
SolidColor=#b.color#
[styleFont1]
FontFace=#font.name#
FontColor=#color.main#
FontSize=#font.size#
AntiAlias=1
StringEffect=#font.se#
FontEffectColor=#font.ec#
DynamicVariables=1
[styleFont2]
FontFace=#font.name#
FontColor=#color.secondary#
FontSize=#font.size#
AntiAlias=1
StringEffect=#font.se#
FontEffectColor=#font.ec#
DynamicVariables=1
[styleLine]
SolidColor=#color.main#
W=#b.size.dateW#
H=1
X=0
Y=103
[styleBar]
BarColor=#color.main#
BarOrientation=horizontal
SolidColor=#color.secondary#
W=#b.size.dateW#
H=4
X=0
Y=152
[styleBarProgress]
BarColor=#color.main#
BarOrientation=horizontal
SolidColor=0,0,0,0
W=#b.size.dateW#
H=156
X=0
Y=0
[styleAudioLevel]
BarColor=#color.main#
BarOrientation=Vertical
X=8r
Y=8
W=4
H=93
Group=Main
;============ Measure ============
[MeasureArtist]
Measure=Plugin
Plugin=NowPlaying
PlayerName=#Player#
PlayerType=ARTIST
[MeasureAlbum]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=ALBUM
[MeasureTitle]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=Title
[MeasureYear]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=Year
[MeasureNumber]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=Number
[MeasureProgress]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=Progress
[MeasureDuration]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=Duration
[MeasurePosition]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=Position
[MeasureAudio]
Measure=Plugin
Plugin=AudioLevel
PlayerName=#Player#
Port=#Port#
FFTSize=#FFTSize#
FFTAttack=#FFTAttack#
FFTDecay=#FFTDecay#
Sensitivity=#Sensitivity#
Bands=#Bands#
;=========== Measure band =========
[MeasureBand0]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=0
[MeasureBand1]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=1
[MeasureBand2]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=2
[MeasureBand3]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=3
[MeasureBand4]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=4
[MeasureBand5]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=5
[MeasureBand6]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=6
[MeasureBand7]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=7
[MeasureBand8]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=8
[MeasureBand9]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=9
[MeasureBand10]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=10
[MeasureBand11]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=11
[MeasureBand12]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=2
[MeasureBand13]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=3
[MeasureBand14]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=4
[MeasureBand15]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=5
[MeasureBand16]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=16
[MeasureBand17]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=17
[MeasureBand18]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=18
[MeasureBand19]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=19
[MeasureBand20]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=20
[MeasureBand21]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=21
[MeasureBand22]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=22
[MeasureBand23]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=23
[MeasureBand24]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=24
[MeasureBand25]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=25
[MeasureBand26]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=26
[MeasureBand27]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=27
[MeasureBand28]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=28
[MeasureBand29]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=29
[MeasureBand30]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=30
[MeasureBand31]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=31
[MeasureBand32]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=32
[MeasureBand33]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=33
[MeasureBand34]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=34
[MeasureBand35]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=35
[MeasureBand36]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=36
[MeasureBand37]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=37
[MeasureBand38]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=38
[MeasureBand39]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=39
[MeasureBand40]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=40
[MeasureBand41]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=41
[MeasureBand42]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=42
[MeasureBand43]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=43
[MeasureBand44]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=44
[MeasureBand45]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=45
[MeasureBand46]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=46
[MeasureBand47]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=47
[MeasureBand48]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=48
[MeasureBand49]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=49
[MeasureBand50]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=50
[MeasureBand51]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=51
[MeasureBand52]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=52
[MeasureBand53]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=53
[MeasureBand54]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=54
[MeasureBand55]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=55
[MeasureBand56]
Measure=Plugin
Plugin=AudioLevel
Parent=MeasureAudio
Type=Band
BandIdx=56
;============ Visual ============
;================= meter band =========
[MeterBand0]
Meter=Bar
MeasureName=MeasureBand0
MeterStyle=styleAudioLevel
[MeterBand1]
Meter=Bar
MeasureName=MeasureBand1
MeterStyle=styleAudioLevel
[MeterBand2]
Meter=Bar
MeasureName=MeasureBand2
MeterStyle=styleAudioLevel
[MeterBand3]
Meter=Bar
MeasureName=MeasureBand3
MeterStyle=styleAudioLevel
[MeterBand4]
Meter=Bar
MeasureName=MeasureBand4
MeterStyle=styleAudioLevel
[MeterBand5]
Meter=Bar
MeasureName=MeasureBand5
MeterStyle=styleAudioLevel
[MeterBand6]
Meter=Bar
MeasureName=MeasureBand6
MeterStyle=styleAudioLevel
[MeterBand7]
Meter=Bar
MeasureName=MeasureBand7
MeterStyle=styleAudioLevel
[MeterBand8]
Meter=Bar
MeasureName=MeasureBand8
MeterStyle=styleAudioLevel
[MeterBand9]
Meter=Bar
MeasureName=MeasureBand9
MeterStyle=styleAudioLevel
[MeterBand10]
Meter=Bar
MeasureName=MeasureBand10
MeterStyle=styleAudioLevel
[MeterBand11]
Meter=Bar
MeasureName=MeasureBand11
MeterStyle=styleAudioLevel
[MeterBand12]
Meter=Bar
MeasureName=MeasureBand12
MeterStyle=styleAudioLevel
[MeterBand13]
Meter=Bar
MeasureName=MeasureBand13
MeterStyle=styleAudioLevel
[MeterBand14]
Meter=Bar
MeasureName=MeasureBand14
MeterStyle=styleAudioLevel
[MeterBand15]
Meter=Bar
MeasureName=MeasureBand15
MeterStyle=styleAudioLevel
[MeterBand16]
Meter=Bar
MeasureName=MeasureBand16
MeterStyle=styleAudioLevel
[MeterBand17]
Meter=Bar
MeasureName=MeasureBand17
MeterStyle=styleAudioLevel
[MeterBand18]
Meter=Bar
MeasureName=MeasureBand18
MeterStyle=styleAudioLevel
[MeterBand19]
Meter=Bar
MeasureName=MeasureBand19
MeterStyle=styleAudioLevel
[MeterBand20]
Meter=Bar
MeasureName=MeasureBand20
MeterStyle=styleAudioLevel
[MeterBand21]
Meter=Bar
MeasureName=MeasureBand21
MeterStyle=styleAudioLevel
[MeterBand22]
Meter=Bar
MeasureName=MeasureBand22
MeterStyle=styleAudioLevel
[MeterBand23]
Meter=Bar
MeasureName=MeasureBand23
MeterStyle=styleAudioLevel
[MeterBand24]
Meter=Bar
MeasureName=MeasureBand24
MeterStyle=styleAudioLevel
[MeterBand25]
Meter=Bar
MeasureName=MeasureBand25
MeterStyle=styleAudioLevel
[MeterBand26]
Meter=Bar
MeasureName=MeasureBand26
MeterStyle=styleAudioLevel
[MeterBand27]
Meter=Bar
MeasureName=MeasureBand27
MeterStyle=styleAudioLevel
[MeterBand28]
Meter=Bar
MeasureName=MeasureBand28
MeterStyle=styleAudioLevel
[MeterBand29]
Meter=Bar
MeasureName=MeasureBand29
MeterStyle=styleAudioLevel
[MeterBand30]
Meter=Bar
MeasureName=MeasureBand30
MeterStyle=styleAudioLevel
[MeterBand31]
Meter=Bar
MeasureName=MeasureBand31
MeterStyle=styleAudioLevel
[MeterBand32]
Meter=Bar
MeasureName=MeasureBand32
MeterStyle=styleAudioLevel
[MeterBand33]
Meter=Bar
MeasureName=MeasureBand33
MeterStyle=styleAudioLevel
[MeterBand34]
Meter=Bar
MeasureName=MeasureBand34
MeterStyle=styleAudioLevel
[MeterBand35]
Meter=Bar
MeasureName=MeasureBand35
MeterStyle=styleAudioLevel
[MeterBand36]
Meter=Bar
MeasureName=MeasureBand36
MeterStyle=styleAudioLevel
[MeterBand37]
Meter=Bar
MeasureName=MeasureBand37
MeterStyle=styleAudioLevel
[MeterBand38]
Meter=Bar
MeasureName=MeasureBand38
MeterStyle=styleAudioLevel
[MeterBand39]
Meter=Bar
MeasureName=MeasureBand39
MeterStyle=styleAudioLevel
[MeterBand40]
Meter=Bar
MeasureName=MeasureBand40
MeterStyle=styleAudioLevel
[MeterBand41]
Meter=Bar
MeasureName=MeasureBand41
MeterStyle=styleAudioLevel
[MeterBand42]
Meter=Bar
MeasureName=MeasureBand42
MeterStyle=styleAudioLevel
[MeterBand43]
Meter=Bar
MeasureName=MeasureBand43
MeterStyle=styleAudioLevel
[MeterBand44]
Meter=Bar
MeasureName=MeasureBand44
MeterStyle=styleAudioLevel
[MeterBand45]
Meter=Bar
MeasureName=MeasureBand45
MeterStyle=styleAudioLevel
[MeterBand46]
Meter=Bar
MeasureName=MeasureBand46
MeterStyle=styleAudioLevel
[MeterBand47]
Meter=Bar
MeasureName=MeasureBand47
MeterStyle=styleAudioLevel
[MeterBand48]
Meter=Bar
MeasureName=MeasureBand48
MeterStyle=styleAudioLevel
[MeterBand49]
Meter=Bar
MeasureName=MeasureBand49
MeterStyle=styleAudioLevel
[MeterBand50]
Meter=Bar
MeasureName=MeasureBand50
MeterStyle=styleAudioLevel
[MeterBand51]
Meter=Bar
MeasureName=MeasureBand51
MeterStyle=styleAudioLevel
[MeterBand52]
Meter=Bar
MeasureName=MeasureBand52
MeterStyle=styleAudioLevel
[MeterBand53]
Meter=Bar
MeasureName=MeasureBand53
MeterStyle=styleAudioLevel
[MeterBand54]
Meter=Bar
MeasureName=MeasureBand54
MeterStyle=styleAudioLevel
[MeterBand55]
Meter=Bar
MeasureName=MeasureBand55
MeterStyle=styleAudioLevel
[MeterBand56]
Meter=Bar
MeasureName=MeasureBand56
MeterStyle=styleAudioLevel
;================= meter band =========
[Artist]
Meter=String
MeasureName=MeasureArtist
MeterStyle=styleFont1
StringAlign=Left
ClipString=1
W=450
X=6
Y=6
Group=Second
Hidden=1
[Album]
Meter=String
MeasureName=MeasureAlbum
MeterStyle=styleFont2
StringAlign=Left
ClipString=1
W=420
X=r
Y=21R
Group=Second
Hidden=1
[Title]
Meter=String
MeasureName=MeasureTitle
MeterStyle=styleFont1
StringAlign=Left
ClipString=1
W=420
X=r
Y=21R
Group=Second
Hidden=1
;====================
[Year]
Meter=String
MeasureName=MeasureYear
MeterStyle=styleFont2
StringAlign=Right
X=454r
Y=58
Group=Second
Hidden=1
[Number]
Meter=String
MeasureName=MeasureNumber
MeterStyle=styleFont1
StringAlign=Right
X=r
Y=21R
Group=Second
Hidden=1
;===== Control ======
[ProgressBar]
Meter=Bar
MeasureName=MeasureProgress
MeterStyle=styleBar
MeasureName=Visual
Group=Control
[ProgressTrack]
Meter=Image
MeterStyle=styleBarProgress
LeftMouseDownAction=[!CommandMeasure "MeasureArtist" "SetPosition $MouseX:%$"][!Update][!Redraw]
UpdateDivider=-1
[PlayPause]
Meter=String
MeasureName=MeasurePlayPause
MeterStyle=styleFont1
StringAlign=CenterCenter
Text=›
H=38
W=38
X=235
Y=182
LeftMouseUpAction=[!CommandMeasure "MeasureArtist" "PlayPause"]
UpdateDivider=100
Group=Control
[Previous]
Meter=String
MeasureName=MeasurePrevious
MeterStyle=styleFont1
StringAlign=CenterCenter
Text=‹‹
H=38
W=38
X=-40r
Y=r
LeftMouseUpAction=[!CommandMeasure "MeasureArtist" "Previous"]
UpdateDivider=-1
Group=Control
[Next]
Meter=String
MeasureName=MeasureNext
MeterStyle=styleFont1
StringAlign=CenterCenter
Text=››
H=38
W=38
X=80r
Y=r
LeftMouseUpAction=[!CommandMeasure "MeasureArtist" "Next"]
UpdateDivider=-1
Group=Control
[Position]
Meter=String
MeasureName=MeasurePosition
MeterStyle=styleFont1
FontSize=16
StringAlign=Left
X=6
Y=-15r
Group=Control
[Duration]
Meter=String
MeasureName=MeasureDuration
MeterStyle=styleFont2
FontSize=16
StringAlign=Right
X=454r
Y=r
Group=Control
;=============== Artist ==================
[MeterText]
Meter=String
MeterStyle=styleFont1
X=[MeasureX]
Y=110
W=[BinActionWidth]
H=[MeasureTextWidth:H]
DynamicVariables=1
Text=#Artist# — #Title#
Group=Main
[MeasureTextWidth]
Meter=String
MeterStyle=TextStyle
W=450
;========================================
[MeasureTimer]
Measure=Calc
Formula=(( MeasureTimer + #Speed# ) % ( 2 * [MeasureTextWidth:W] ))
DynamicVariables=1
[MeasureX]
Measure=Calc
Formula=( MeasureTimer - [MeasureTextWidth:W] )
DynamicVariables=1