Here is the code. The other files used aren't necessary for what I'm trying to do.
Code: Select all
[Rainmeter]
Group=SongInfo
Update=20
SkinWidth=#Width#
; = IMPORTANT =
; = For configuring the rainmeter skin, right-click the visualizer and click on "Open variables".
; = You can also open the variables.ini file located in:
; = "My Documents\Rainmeter\Skins\Monstercat Visualizer\@Resources"
; Small context menu when you right-click the skin
ContextTitle=" Open settings"
ContextAction=[!ActivateConfig "#ROOTCONFIG#\Settings" "general.ini"]
[Metadata]
Name=Monstercat Visualizer for Rainmeter
Author=marcopixel
License=MIT License
Information=An realtime audio visualizer for Rainmeter similar to the ones used in the Monstercat videos.
[Variables]
; Width and speed used for calculations of scrolling text
Speed=2
Width=875
; Includes the variables/styles used for the skin.
@include=#@#variables.ini
; Include MeasureGenre and Chameleon for dynamic colors.
@include2=#@#include\Measure#MPMode#.inc
@include3=#@#include\MeasureStyling.inc
; Meter - artist and track
[MeterArtist]
Meter=String
MeasureName=MeasureArtist
X=(#BarGap#*#ScaleVisualizer#)
Y=(30*#ScaleSongInformation#)
H=(100*#ScaleSongInformation#)
W=(#BarWidth#+#BarGap#)*(#BarCount#-12)*#ScaleVisualizer#
FontFace=#Font1#
FontSize=(#FontSize1#*#ScaleSongInformation#)
StringCase=Upper
AntiAlias=1
ClipString=2
Text="%1"
Group=SongMeta
Hidden=0
[MeterTrack]
Meter=String
MeasureName=MeasureTrack
X=(8*#ScaleSongInformation#)r
Y=104
H=(100*#ScaleSongInformation#)
W=(#BarWidth#+#BarGap#)*(#BarCount#-12)*#ScaleVisualizer#-(8*#ScaleSongInformation#)
FontFace=#Font2#
FontSize=(#FontSize2#*#ScaleSongInformation#)
StringCase=Upper
AntiAlias=1
ClipString=2
Text="%1"
Group=SongMeta
Hidden=0
; ------------------- This line seperates my testing of moving text from the rest of the monstercat stuff --------------------------
; ------------------- Track Text ---------------------------------------------------------------------------------------------------
[HoverTrack]
Meter=Image
SolidColor=0, 0, 0, 1
X=6
Y=112
W=860
H=32
MouseOverAction=[!ShowMeter MeterText][!HideMeter MeterTrack][!Update]
MouseLeaveAction=[!HideMeter MeterText][!ShowMeter MeterTrack][!Update]
[MeterText]
Meter=String
MeterStyle=TextStyle
X=[MeasureX]
Y=104
W=(#BarWidth#+#BarGap#)*(#BarCount#-12)*#ScaleVisualizer#-(8*#ScaleSongInformation#)
H=(100*#ScaleSongInformation#)
FontColor=255,255,255
DynamicVariables=1
Hidden=1
[TextStyle]
MeasureName=MeasureTrack
FontSize=(#FontSize2#*#ScaleSongInformation#)
FontFace=#Font2#
StringCase=Upper
AntiAlias=1
Text="%1"
[MeasureTextWidth]
Meter=String
MeterStyle=TextStyle
X=0
Y=0
FontColor=0,0,0,0
SolidColor=0,0,0,1
FontEffectColor=255,255,255,0
[MeasureTimer]
Measure=Calc
Formula=(( MeasureTimer + #Speed# ) % ( #Width# + [MeasureTextWidth:W] ))
DynamicVariables=1
[MeasureX]
Measure=Calc
Formula=( MeasureTimer - [MeasureTextWidth:W] )
DynamicVariables=1
; ------------------- Artist Text --------------------------------------------------------------------------------------------------
[HoverArtist]
Meter=Image
SolidColor=0, 0, 0, 1
X=6
Y=39
W=869
H=57
MouseOverAction=[!ShowMeter MeterText2][!HideMeter MeterArtist][!Update]
MouseLeaveAction=[!HideMeter MeterText2][!ShowMeter MeterArtist][!Update]
[MeterText2]
Meter=String
MeterStyle=TextStyle2
X=[MeasureX2]
Y=24
H=(100*#ScaleSongInformation#)
W=(#BarWidth#+#BarGap#)*(#BarCount#-12)*#ScaleVisualizer#
FontColor=255,255,255
DynamicVariables=1
Hidden=1
[TextStyle2]
MeasureName=MeasureArtist
FontSize=(#FontSize1#*#ScaleSongInformation#)
FontFace=#Font1#
StringCase=Upper
AntiAlias=1
Text="%1"
[MeasureTextWidth2]
Meter=String
MeterStyle=TextStyle2
X=0
Y=0
FontColor=0,0,0,0
SolidColor=0,0,0,1
FontEffectColor=255,255,255,0
[MeasureTimer2]
Measure=Calc
Formula=(( MeasureTimer2 + #Speed# ) % ( #Width# + [MeasureTextWidth2:W] ))
DynamicVariables=1
[MeasureX2]
Measure=Calc
Formula=( MeasureTimer2 - [MeasureTextWidth2:W] )
DynamicVariables=1
The things I'm trying to change are:
1. Currently it is always running in the background on a loop so i can never expect where the text will start when moused over, i would like it to start in the same place every time it is moused over.
2. When it loops all of the text has to go off screen before it starts coming back on the other side, i would like it to have a small space (like 5 letters) at the end between the start and end but have each letter go off screen and come back on the other side individually.
3. After it finishes its loop once i would like it to pause for 3 seconds before continuing.
4. Currently it goes from left to right, i would like it to go right to left. I can make this part happen by changing
[MeasureX]
Measure=Calc
Formula=( MeasureTimer - [MeasureTextWidth:W] )
DynamicVariables=1
to
[MeasureX]
Measure=Calc
Formula=( [MeasureTextWidth:W] - MeasureTimer )
DynamicVariables=1
however it has some odd offsets in the distance its supposed to move before it loops.
If you need me to go into more detail about anything, see anything that is redundant or useless and could be removed, See anything that could be changed to be better, or have some input on any of my issues (how to fix problems or make something I'm working on happen) it would be greatly appreciated.
Everything i have learned has been from looking at and changing other people's code so this is quite a mess.