It is currently March 28th, 2024, 11:57 pm
Get help with creating, editing & fixing problems with skins
balala
Rainmeter Sage
Posts: 16110 Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania
Post
by balala » February 5th, 2020, 8:43 pm
answerjen wrote: ↑ February 5th, 2020, 4:43 am
Is it possible to make the loop scroll effect look the same as in the video?
As a first, quick, but far from being perfect or even good solution, you can multiply the formulas of the [MeasureMarquee1Offset] - [MeasureMarquee4Offset] measures with a constant numeric value. For instance:
Code: Select all
[MeasureMarquee1Offset]
...
Formula=( 14 * max ( 0, ( [Title:W] - [MeterTextContainer:W] )))
...
[MeasureMarquee2Offset]
...
Formula=( 14 * max ( 0, ( [Artist:W] - [MeterTextContainer:W] )))
...
[MeasureMarquee3Offset]
...
Formula=( 14 * max ( 0, ( [Album:W] - [MeterTextContainer:W] )))
...
[MeasureMarquee4Offset]
...
Formula=( 14 * max ( 0, ( [Year:W] - [MeterTextContainer:W] )))
...
Again I have to furtherly work onto this, this multiplying solution is just a first and rough approach.
creativegamer_03
Posts: 11 Joined: November 15th, 2021, 5:51 am
Post
by creativegamer_03 » November 15th, 2021, 7:02 am
balala wrote: ↑ February 5th, 2020, 8:43 pm
As a first, quick, but far from being perfect or even good solution, you can multiply the formulas of the [MeasureMarquee1Offset] - [MeasureMarquee4Offset] measures with a constant numeric value. For instance:
Code: Select all
[MeasureMarquee1Offset]
...
Formula=( 14 * max ( 0, ( [Title:W] - [MeterTextContainer:W] )))
...
[MeasureMarquee2Offset]
...
Formula=( 14 * max ( 0, ( [Artist:W] - [MeterTextContainer:W] )))
...
[MeasureMarquee3Offset]
...
Formula=( 14 * max ( 0, ( [Album:W] - [MeterTextContainer:W] )))
...
[MeasureMarquee4Offset]
...
Formula=( 14 * max ( 0, ( [Year:W] - [MeterTextContainer:W] )))
...
Again I have to furtherly work onto this, this multiplying solution is just a first and rough approach.
any update? looking forward to an iphone music player marquee text scroll.
rainmeter is just so cool
death.crafter
Rainmeter Sage
Posts: 1399 Joined: April 24th, 2021, 8:13 pm
Post
by death.crafter » November 15th, 2021, 11:12 am
creativegamer_03 wrote: ↑ November 15th, 2021, 7:02 am
any update? looking forward to an iphone music player marquee text scroll.
Code: Select all
[MeterLoop]
Measure=Loop
StartValue=0
EndValue=([MeterText:W] + 10)
DynamicVariables=1
[MeterContainer]
Meter=Image
...
[MeterText1]
X=[MeterLoop]
...
DynamicVariables=1
Container=MeterContainer
[MeterText2]
X=10R
...
Container=MeterContainer
This can be improvised further, taking in the need and implementation.
from the Realm of Death
creativegamer_03
Posts: 11 Joined: November 15th, 2021, 5:51 am
Post
by creativegamer_03 » November 15th, 2021, 3:35 pm
I think I
somewhat did it. My idea was to:
Make it scroll until it "disappears".
Move it in ONE step to the other side whilst being invisible by setting the text's X position equal to MeterTextContainer's width.
Make it scroll again, but until it reaches back to X=0.
Pause for #marqueeBeginWait# seconds.
Loop again.
Modified the following parts:
Code: Select all
...
[MeasureMarquee1_Offset]
Measure=Calc
Formula=( max( 0, ( [MeterTextContainer:W] - [Title:X] )))
DynamicVariables=1
...
; Marquee 1
ActionList1=Repeat Move1,#animationSpeed#,[MeasureMarquee1Offset:] | Repeat HMove1,#animationSpeed#,1 | Repeat Move1,#animationSpeed#,[MeasureMarquee1_Offset:] | Reset1 | Wait #marqueeBeginWait# | DoOver1
Reset1=[!SetVariable marquee1 0][!UpdateMeasure MeasureActionTimer][!UpdateMeter Title][!Redraw]
Move1=[!SetVariable marquee1 "(#marquee1# - 1)"][!UpdateMeasure MeasureActionTimer][!UpdateMeter Title][!Redraw]
HMove1=[!SetVariable marquee1 "[MeterTextContainer:W]"][!UpdateMeasure MeasureActionTimer][!UpdateMeter Title][!Redraw]
DoOver1=[!CommandMeasure MeasureActionTimer "Execute 1"]
...
And...
[Youtube]
https://youtu.be/y_sdk1cSKmg [/Youtube]
Some issues however are:
it pauses for some reason (prob. the code broke)
it sometimes goes offset at start
causes other skins to freeze
anyways, i thought i would share something that might help find a solution.
rainmeter is just so cool
balala
Rainmeter Sage
Posts: 16110 Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania
Post
by balala » November 15th, 2021, 4:04 pm
death.crafter wrote: ↑ November 15th, 2021, 11:12 am
Code: Select all
[MeterLoop]
Measure=Loop
StartValue=0
EndValue=([MeterText:W] + 10)
DynamicVariables=1
[MeterContainer]
Meter=Image
...
[MeterText1]
X=[MeterLoop]
...
DynamicVariables=1
Container=MeterContainer
[MeterText2]
X=10R
...
Container=MeterContainer
This can be improvised further, taking in the need and implementation.
Even if this is an off-topic, there is a small mistake in this code, I believe. More precisely in the
EndValue=([MeterText:W] + 10) option of the [MeterLoop]
measure . First it is quite confusing to have a measure named as meter ([
Meter Loop]). But this is just a small detail. The biggest problem is that a [MeterText] meter doesn't exist. There is a [MeterText1] as well as [MeterText2], but no [MeterText].
balala
Rainmeter Sage
Posts: 16110 Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania
Post
by balala » November 15th, 2021, 4:26 pm
creativegamer_03 wrote: ↑ November 15th, 2021, 3:35 pm
anyways, i thought i would share something that might help find a solution.
First, post please a complete code of your skin, because this topic is quite old, has more then one and half a year. I don't have the code of the skin and even if I'd have it, you probably have modified it, so please post it.
death.crafter
Rainmeter Sage
Posts: 1399 Joined: April 24th, 2021, 8:13 pm
Post
by death.crafter » November 15th, 2021, 4:42 pm
balala wrote: ↑ November 15th, 2021, 4:04 pm
Even if this is an off-topic, there is a small mistake in this code, I believe. More precisely in the
EndValue=([MeterText:W] + 10) option of the [MeterLoop]
measure . First it is quite confusing to have a measure named as meter ([
Meter Loop]). But this is just a small detail. The biggest problem is that a [MeterText] meter doesn't exist. There is a [MeterText1] as well as [MeterText2], but no [MeterText].
Ahh yes, I added the 1 later to MeterText. Thanks for pointing out.
from the Realm of Death
balala
Rainmeter Sage
Posts: 16110 Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania
Post
by balala » November 15th, 2021, 5:32 pm
death.crafter wrote: ↑ November 15th, 2021, 4:42 pm
Ahh yes, I added the 1 later to MeterText. Thanks for pointing out.
Recommend to fix the code in your post above, to let creativegamer_03 to use it, if needed.
death.crafter
Rainmeter Sage
Posts: 1399 Joined: April 24th, 2021, 8:13 pm
Post
by death.crafter » November 15th, 2021, 5:44 pm
balala wrote: ↑ November 15th, 2021, 5:32 pm
Recommend to fix the code in your post above, to let creativegamer_03 to use it, if needed.
I will post a complete example if he needs. But I think he has found a way. But yes, I will update it.
from the Realm of Death
creativegamer_03
Posts: 11 Joined: November 15th, 2021, 5:51 am
Post
by creativegamer_03 » November 15th, 2021, 11:44 pm
balala wrote: ↑ November 15th, 2021, 4:26 pm
First, post please a complete code of your skin, because this topic is quite old, has more then one and half a year. I don't have the code of the skin and even if I'd have it, you probably have modified it, so please post it.
ok. here's the code:
Code: Select all
[Rainmeter]
Update=100
AccurateText=1
BackgroundMode=2
SolidColor=0,0,0,1
OnRefreshAction=[!SetVariable Marquee1 0][!SetVariable Marquee2 0][!SetVariable Marquee3 0][!SetVariable Marquee4 0][!CommandMeasure MeasureActionTimer "Stop 1"][!CommandMeasure MeasureActionTimer "Stop 2"][!CommandMeasure MeasureActionTimer "Stop 3"][!CommandMeasure MeasureActionTimer "Stop 4"][!CommandMeasure MeasureActionTimer "Execute 1"][!CommandMeasure MeasureActionTimer "Execute 2"][!CommandMeasure MeasureActionTimer "Execute 3"][!CommandMeasure MeasureActionTimer "Execute 4"][!KeepOnScreen #KeepOnScreen#]
[Metadata]
Name=CoveR Left
Author=NikolaRabra (rabra.deviantart.com)
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0
Version=1 (20140909)
[Variables]
@includeVars=#@#Variables.inc
ProgressAlpha=1
Step=-1
NoTitleNameText=N/A
NoArtistNameText=N/A
NoAlbumNameText=N/A
; Added to test (Should be in your included variables.inc file)
TextWidth=300
Color=255,255,255,155
Alpha=300
HideInfo=0
KeepOnScreen=0
; Marquee settings
animationSpeed=1
marqueeBeginWait=3000
marqueeEndWait=3000
; Dynamic variables - do not change
marquee1=0
marquee2=0
marquee3=0
marquee4=0
; Styles ------------------------------------------------------------------------------------------
[StringStyleLarge]
FontFace=Segoe UI Light
FontColor=#Color#,(255*(#Alpha#))
;FontSize=19
FontSize=19
StringStyle=Normal
StringEffect=None
FontEffectColor=0,0,0,(255*(#Alpha#))
AntiAlias=1
Container=MeterTextContainer
DynamicVariables=1
; Measures ----------------------------------------------------------------------------------------
[MeasureArtist]
Measure=Plugin
Plugin=NowPlaying
PlayerName=WMP
PlayerType=ARTIST
Substitute="":"#NoArtistNameText#"
UpdateDivider=100
OnChangeAction=[!Refresh "#CurrentConfig#"]
[MeasureAlbum]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=ALBUM
Substitute="":"#NoAlbumNameText#"
UpdateDivider=100
[MeasureTitle]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=TITLE
Substitute="":"#NoTitleNameText#"
UpdateDivider=100
[MeasureYear]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasureArtist]
PlayerType=YEAR
; Marquee Measures
[MeasureMarquee1Offset]
Measure=Calc
Formula=( 2 * max ( 0, ( [Title:W] - [MeterTextContainer:W] )))
DynamicVariables=1
[MeasureMarquee1_Offset]
Measure=Calc
Formula=( max( 0, ( [MeterTextContainer:W] - [Title:X] )))
DynamicVariables=1
[MeasureMarquee2Offset]
Measure=Calc
Formula=( 5 * max ( 0, ( [Artist:W] - [MeterTextContainer:W] )))
DynamicVariables=1
[MeasureMarquee3Offset]
Measure=Calc
Formula=( 14 * max ( 0, ( [Album:W] - [MeterTextContainer:W] )))
DynamicVariables=1
[MeasureMarquee4Offset]
Measure=Calc
Formula=( 14 * max ( 0, ( [Year:W] - [MeterTextContainer:W] )))
DynamicVariables=1
[MeasureActionTimer]
Measure=Plugin
Plugin=ActionTimer
; Marquee 1
ActionList1=Repeat Move1,#animationSpeed#,[MeasureMarquee1Offset:] | Repeat HMove1,1,1 | Repeat Move1,#animationSpeed#,[MeasureMarquee1_Offset:] | Reset1 | Wait #marqueeBeginWait# | DoOver1
Reset1=[!SetVariable marquee1 0][!UpdateMeasure MeasureActionTimer][!UpdateMeter Title][!Redraw]
Move1=[!SetVariable marquee1 "(#marquee1# - 1)"][!UpdateMeasure MeasureActionTimer][!UpdateMeter Title][!Redraw]
HMove1=[!SetVariable marquee1 "[MeterTextContainer:W]"][!UpdateMeasure MeasureActionTimer][!UpdateMeter Title][!Redraw]
DoOver1=[!CommandMeasure MeasureActionTimer "Execute 1"]
; Marquee 2
ActionList2=Repeat Move2,#animationSpeed#,[MeasureMarquee2Offset:] | Wait #marqueeEndWait# | Reset2 | Wait #marqueeBeginWait# | DoOver2
Reset2=[!SetVariable marquee2 0][!UpdateMeasure MeasureActionTimer][!UpdateMeter Artist][!Redraw]
Move2=[!SetVariable marquee2 "(#marquee2# - 1)"][!UpdateMeasure MeasureActionTimer][!UpdateMeter Artist][!Redraw]
DoOver2=[!CommandMeasure MeasureActionTimer "Execute 2"]
; Marquee 3
ActionList3=Repeat Move3,#animationSpeed#,[MeasureMarquee3Offset:] | Wait #marqueeEndWait# | Reset3 | Wait #marqueeBeginWait# | DoOver3
Reset3=[!SetVariable marquee3 0][!UpdateMeasure MeasureActionTimer][!UpdateMeter Album][!Redraw]
Move3=[!SetVariable marquee3 "(#marquee3# - 1)"][!UpdateMeasure MeasureActionTimer][!UpdateMeter Album][!Redraw]
DoOver3=[!CommandMeasure MeasureActionTimer "Execute 3"]
; Marquee 4
ActionList4=Repeat Move4,#animationSpeed#,[MeasureMarquee4Offset:] | Wait #marqueeEndWait# | Reset4 | Wait #marqueeBeginWait# | DoOver4
Reset4=[!SetVariable marquee4 0][!UpdateMeasure MeasureActionTimer][!UpdateMeter Year][!Redraw]
Move3=[!SetVariable marquee3 "(#marquee3# - 1)"][!UpdateMeasure MeasureActionTimer][!UpdateMeter Year][!Redraw]
DoOver4=[!CommandMeasure MeasureActionTimer "Execute 4"]
DynamicVariables=1
; Container to control scrolling based on TextWidth
[MeterTextContainer]
Meter=Image
SolidColor=255,255,255,155
X=1
Y=1
W=#TextWidth#
H=155
; Info Text ---------------------------------------------------------------------------------------
[Title]
Meter=STRING
MeasureName=MeasureTitle
MeterStyle=StringStyleLarge
StringAlign=LeftBottom
X=#marquee1#
Y=38
Text=%1
Group=Info
Hidden=#HideInfo#
StringStyle=bold
[Artist]
Meter=STRING
MeasureName=MeasureArtist
MeterStyle=StringStyleLarge
StringAlign=LeftTop
Text=%1
X=#marquee2#
Y=36
Group=Info
Hidden=#HideInfo#
StringStyle=bold
[Album]
Meter=STRING
MeasureName=MeasureAlbum
MeterStyle=StringStyleLarge
StringAlign=LeftTop
Text=%1
X=#marquee3#
Y=72
Group=Info
Hidden=#HideInfo#
StringStyle=bold
[Year]
Meter=STRING
MeasureName=MeasureYear
MeterStyle=StringStyleLarge
StringAlign=LeftTop
Text=%1
X=#marquee4#
Y=106
Group=Info
Hidden=#HideInfo#
StringStyle=bold
rainmeter is just so cool