Here is the Code:
Code: Select all
[Metadata]
Author=FreezingClouds
;Adapted from MarcoPixel's Monstercat Visualizer for Rainmeter
Name=Radian Linear Visualizer
Version=1.9.3
[Rainmeter]
Update=15
;1000/15 = ~67 updates per second
RightMouseDownAction=[!SkinCustomMenu]
AccurateText=1
ContextTitle="Open settings"
ContextAction=[!ActivateConfig "Radian\LinearVisualizer\Options" "Options.ini"]
ContextTitle2=---
ContextTitle3="Manage skin"
ContextAction3=[!Manage Skins "Radian\LinearVisualizer" "LinearVisualizer.ini"]
ContextTitle4="Refresh skin"
ContextAction4=[!Refresh]
ContextTitle5="Unload skin"
ContextAction5=[!DeactivateConfig]
ContextTitle6=---
ContextTitle7="Refresh all"
ContextAction7=[!RefreshApp]
ContextTitle8="Exit rainmeter"
ContextAction8=[!Quit]
[Radian\LinearVisualizer]
AlwaysOnTop=-2
;Place visualizer on desktop, not over windows
[Variables]
@include=#@#Linear\LinearVariables.inc
;Import variables
BarHeight=(826*#Scale#)/3
SkinWidth=((#BarGap#*62+#BarWidth#*63)*#Scale#)
Cover1="#@#nocover.png"
Cover2="#@#nocover.png"
;Initialize coverflip variables
BarColor=#Color#
Alpha=0
[MeasureMediaPlayer]
Measure=String
UpdateDivider=-1
String=#PlayerName#
IfMatch=Spotify
IfMatchAction=[!SetOption ProgressBar LeftMouseUpAction ""][!SetOption ProgressBarInv LeftMouseUpAction ""]
IfMatch2=Youtube
IfMatchAction2=[!SetOption Artist Text "YouTube"][!SetOption Track Text "Now Playing"]
Substitute="Spotify":"SpotifyPlugin.dll","iTunes":"NowPlaying","WMP":"NowPlaying","AIMP":"NowPlaying","CAD":"NowPlaying","MediaMonkey":"NowPlaying","Winamp":"NowPlaying"
;Returns plugin to use for media player
[MeasurePort]
UpdateDivider=-1
Measure=String
String=#Port#
IfMatch="Input"
IfMatchAction=[!SetOption Artist Text "Microphone"][!SetOption Track Text "Input"]
[MeasurePlayer]
Measure=Plugin
Plugin=NowPlaying
PlayerName=#PlayerName#
TrackChangeAction=[!ShowFade][!SetVariable Cover1 "#Cover2#"][!SetOption FlipCounter Formula 0]
;If track changes, set cover 1 to cover 2 (new cover), and reset flipcounter
PlayerType=Status
IfCondition=(MeasurePlayer=0)&&(#AutoHideVisualizer#=1)
IfTrueAction=[!HideFade]
IfFalseAction=[!ShowFade]
OnUpdateAction=[!SetVariable Cover2 "[MeasureCover]"]
;Set cover 2 to current cover
[MeasureTrack]
Measure=Plugin
Plugin=[MeasureMediaPlayer]
PlayerName=#PlayerName#
PlayerType=Title
Type=TrackName
UpdateDivider=20
Substitute="":"No Track"
;Return track name
[MeasureArtist]
Measure=Plugin
Plugin=[MeasureMediaPlayer]
PlayerName=#PlayerName#
PlayerType=Artist
Type=ArtistName
UpdateDivider=20
Substitute="":"No Artist"
;Return artist name
[MeasureCover]
Measure=Plugin
Plugin=[MeasureMediaPlayer]
PlayerName=#PlayerName#
PlayerType=Cover
Type=AlbumArt
DefaultPath=#@#nocover.png
CoverPath=#@#Cover.png
Substitute="":"#@#nocover.png"
UpdateDivider=20
;Return cover image path
[MeasureProgress]
Measure=Plugin
Plugin=[MeasureMediaPlayer]
PlayerName=#PlayerName#
Type=Progress
PlayerType=Progress
IfCondition=(MeasureProgress=99)&&(#AutoHideVisualizer#=1)
IfTrueAction=[!HideFade]
UpdateDivider=5
;Return progress; if 99% thru track, hide skin
[MeasurePosition]
Measure=Plugin
Plugin=[MeasureMediaPlayer]
PlayerName=#PlayerName#
PlayerType=Position
Type=Position
IfMatch=00:00
IfMatchAction=[!ShowFade]
UpdateDivider=2
;Return track position in time; if at 00:00, show skin
[MeasureLength]
Measure=Plugin
Plugin=[MeasureMediaPlayer]
PlayerName=#PlayerName#
PlayerType=Duration
Type=Length
UpdateDivider=20
;Return track length
[MeasurePlayPause]
Measure=Plugin
Plugin=[MeasureMediaPlayer]
PlayerName=#PlayerName#
PlayerType=State
Type=Playing
Substitute="0":"#@#/Icons/Play.png","1":"#@#/Icons/Pause.png","2":"#@#/Icons/Play.png"
UpdateDivider=-1
[ArtistExtractor]
Measure=Script
ScriptFile=#@#Linear\InfoExtractor.lua
Track=[MeasureTrack]
InfoType=1
Format=#TrackNameFormat#
DynamicVariables=1
IfMatch="0"
IfMatchAction=[!SetOption Artist MeasureName MeasureArtist]
IfNotMatchAction=[!SetOption Artist MeasureName ArtistExtractor]
Substitute="Track":"No Artist","":"No Artist"
UpdateDivider=10
[TrackExtractor]
Measure=Script
ScriptFile=#@#Linear\InfoExtractor.lua
Track=[MeasureTrack]
InfoType=2
Format=#TrackNameFormat#
DynamicVariables=1
IfMatch="0"
IfMatchAction=[!SetOption Track MeasureName MeasureTrack]
IfNotMatchAction=[!SetOption Track MeasureName TrackExtractor]
Substitute="":"No Track"
UpdateDivider=10
[MediaIconIdentifier]
Measure=String
String=#PlayerName#
IfMatch=WMP
IfMatchAction=[!SetOption WMPMediaPlayer ImageName #@#/Icons/WMP20pW.png][!SetOption iTunesMediaPlayer ImageName #@#/Icons/iTunes20pB.png][!SetOption SpotifyMediaPlayer ImageName #@#/Icons/Spotify20pB.png]
IfNotMatchAction=[!SetOption WMPMediaPlayer ImageName #@#/Icons/WMP20pB.png]
IfMatch2=iTunes
IfMatchAction2=[!SetOption WMPMediaPlayer ImageName #@#/Icons/WMP20pB.png][!SetOption iTunesMediaPlayer ImageName #@#/Icons/iTunes20pW.png][!SetOption SpotifyMediaPlayer ImageName #@#/Icons/Spotify20pB.png]
IfNotMatchAction2=[!SetOption iTunesMediaPlayer ImageName #@#/Icons/iTunes20pB.png]
IfMatch3=Spotify
IfMatchAction3=[!SetOption WMPMediaPlayer ImageName #@#/Icons/WMP20pB.png][!SetOption iTunesMediaPlayer ImageName #@#/Icons/iTunes20pB.png][!SetOption SpotifyMediaPlayer ImageName #@#/Icons/Spotify20pW.png]
IfNotMatchAction3=[!SetOption SpotifyMediaPlayer ImageName #@#/Icons/Spotify20pB.png]
UpdateDivider=-1
[ScrubbingCorrection]
Measure=Calc
OnChangeAction=[!CommandMeasure MeasurePlayer "SetPosition [ScrubbingCorrection]"]
[MeasureFull]
Measure=Calc
Formula=1
UpdateDivider=-1
IfCondition=#MirrorVisualizer#=1
IfTrueAction=[!SetOption Artist StringAlign Right]
[MeasureBlank]
Measure=Calc
Formula=0
UpdateDivider=-1
[ColorController]
Measure=Script
ScriptFile=#@#Linear\ColorController.lua
[FlipCounter]
Measure=Calc
Formula=FlipCounter+3
IfCondition=FlipCounter>=100
IfTrueAction=[!SetOption FlipCounter Formula 100]
IfCondition2=FlipCounter=0
IfTrueAction2=[!SetOption FlipCounter Formula "FlipCounter+3"]
[ImageMea]
Measure=Script
ScriptFile=#@#Linear\CoverFlip.lua
Position=[FlipCounter]
ImageOne=#Cover1#
ImageTwo=#Cover2#
Substitute="0":"#@#nocover.png"
[PositionMea]
Measure=Script
ScriptFile=#@#Linear\CoverFlip.lua
Mode=1
Position=[FlipCounter]
[HeightMea]
Measure=Script
ScriptFile=#@#Linear\CoverFlip.lua
Mode=2
Position=[FlipCounter]
@include=#@#Linear\Equalizers.inc
;Inserts audio extractors, processors, and equalizers
[Background]
Meter=Bar
MeasureName=MeasureBlank
UpdateDivider=-1
W=(#SkinWidth#*(#MirrorVisualizer#+1))
H=(#DualVisualizers# = 0 ? (654*#Scale#+3):(1116*#Scale#-2))
SolidColor=#BackgroundColor#
Hidden=#HideBackground#
[Bars]
@include=#@#Linear\Bars.inc
@include2=
@include3=
@include4=
;Inserts bars
[ProgressBar]
Meter=Bar
MeasureName=MeasureProgress
BarOrientation=Horizontal
Y=(#HideRhythmBar# = 0 ? (#BarHeight#+144*#Scale#) : (#BarHeight#+162*#Scale#))
W=#SkinWidth#
H=(5*#Scale#)
BarColor=#ProgressBarColor#
SolidColor=255,255,255,50
Hidden=#HideProgressBar#
Flip=#MirrorVisualizer#
LeftMouseUpAction=[!SetOption ScrubbingCorrection Formula $MouseX:%$+1][!UpdateMeasure ScrubbingCorrection]
UpdateDivider=(#HideProgressBar# = 1 ? -1 : 1)
Group=ProgressBar
[MeterPlayerCover]
Meter=Image
MeasureName=ImageMea
X=([PositionMea]*#Scale#*2+#MirrorVisualizer#*(#SkinWidth#-100*#Scale#))
Y=(#BarHeight#+(278-[HeightMea])*#Scale#)
W=((100-2*[PositionMea])*#Scale#*2)
H=([HeightMea]*#Scale#*2)
Padding=2,2,2,2
DynamicVariables=1
SolidColor=#CoverColor#
MouseOverAction=[!ShowMeterGroup "MediaControls"]
MouseLeaveAction=[!HideMeterGroup "MediaControls"]
Hidden=#HideTrackInformation#
[MeterPlayerOverlay]
Meter=Image
UpdateDivider=-1
X=2r
Y=2r
W=(200*#Scale#)
H=(200*#Scale#)
SolidColor=0,0,0,200
Hidden=1
Group=MediaControls
[MeterPrevious]
Meter=Image
ImageName=#@#/Icons/Previous.png
UpdateDivider=-1
X=(8*#Scale#+#MirrorVisualizer#*(#SkinWidth#-100*#Scale#))
Y=(75*#Scale#)r
W=(48*#Scale#)
H=(48*#Scale#)
LeftMouseUpAction=[!CommandMeasure MeasurePlayer "Previous"]
AntiAlias=1
Hidden=1
Group=MediaControls
[MeterPlayPause]
Meter=Image
MeasureName=MeasurePlayPause
X=(24*#Scale#)R
Y=0r
W=(48*#Scale#)
H=(48*#Scale#)
LeftMouseUpAction=[!CommandMeasure MeasurePlayer "PlayPause"]
Hidden=1
Group=MediaControls
[MeterNext]
Meter=Image
ImageName=#@#/Icons/Next.png
UpdateDivider=-1
X=(22*#Scale#)R
Y=0r
W=(48*#Scale#)
H=(48*#Scale#)
LeftMouseUpAction=[!CommandMeasure MeasurePlayer "Next"]
AntiAlias=1
Hidden=1
Group=MediaControls
[MeterPosition]
Meter=String
MeasureName=MeasurePosition
X=(90*#Scale#+#MirrorVisualizer#*(#SkinWidth#-100*#Scale#))
Y=(10*#Scale#)R
FontFace=Nexa Light
FontSize=(16*#Scale#)
FontColor=255,255,255
StringEffect=Shadow
AntiAlias=1
ClipString=2
StringAlign=Right
Text="%1"
Hidden=1
Group=MediaControls
[MeterDivider]
Meter=String
MeterStyle=MeterPosition
X=(100*#Scale#+#MirrorVisualizer#*(#SkinWidth#-100*#Scale#))
Y=0r
StringAlign=Left
Text="-"
Hidden=1
Group=MediaControls
[MeterLength]
Meter=String
MeterStyle=MeterPosition
MeasureName=MeasureLength
X=(120*#Scale#+#MirrorVisualizer#*(#SkinWidth#-100*#Scale#))
Y=0r
StringAlign=Left
Text="%1"
Group=MediaControls
[Artist]
Meter=String
MeasureName=MeasureArtist
X=(219*#Scale#+#MirrorVisualizer#*(#SkinWidth#-350*#Scale#))
Y=(#BarHeight#+(200*#Scale#)+#MirrorVisualizer#*28*#Scale#)
H=(100*#Scale#)
W=#SkinWidth#-(220*#Scale#)
DynamicVariables=1
FontFace=#Font1#
FontSize=(#FontSize1#*#Scale#)
FontColor=#TextColor#
AntiAlias=1
ClipString=2
StringCase=UPPER
Hidden=#HideTrackInformation#
[Track]
Meter=String
MeasureName=MeasureTrack
X=(225*#Scale#+#MirrorVisualizer#*(#SkinWidth#-90*#Scale#))
Y=(#MirrorVisualizer#*(-74*#Scale#))R
H=(60*#Scale#)
W=(#SkinWidth#-225*#Scale#)
FontFace=#Font2#
FontSize=(#FontSize2#*#Scale#)
FontColor=#TextColor#
AntiAlias=1
ClipString=1
StringCase=Upper
Hidden=#HideTrackInformation#
[WMPMediaPlayer]
Meter=Image
ImageName=#@#/Icons/WMP20pB.png
UpdateDivider=-1
X=(72*#Scale#+#MirrorVisualizer#*(#SkinWidth#-100*#Scale#))
Y=(460*#Scale#)
W=(40*#Scale#)
H=(40*#Scale#)
Hidden=1
LeftMouseUpAction=[!WriteKeyValue Variables PlayerName "WMP" "#@#Linear\LinearVariables.inc"][!Refresh Radian\LinearVisualizer\Options][!Refresh]
Group=MediaControls
[iTunesMediaPlayer]
Meter=Image
ImageName=#@#/Icons/iTunes20pB.png
UpdateDivider=-1
X=(116*#Scale#+#MirrorVisualizer#*(#SkinWidth#-100*#Scale#))
Y=(460*#Scale#)
W=(40*#Scale#)
H=(40*#Scale#)
BitmapImage=#@#/Icons/iTunes20p.png
BitmapFrames=2
Hidden=1
LeftMouseUpAction=[!WriteKeyValue Variables PlayerName "iTunes" "#@#Linear\LinearVariables.inc"][!Refresh Radian\LinearVisualizer\Options][!Refresh]
Group=MediaControls
[SpotifyMediaPlayer]
Meter=Image
ImageName=#@#/Icons/Spotify20pB.png
UpdateDivider=-1
X=(160*#Scale#+#MirrorVisualizer#*(#SkinWidth#-100*#Scale#))
Y=(460*#Scale#)
W=(40*#Scale#)
H=(40*#Scale#)
Hidden=1
LeftMouseUpAction=[!WriteKeyValue Variables PlayerName "Spotify" "#@#Linear\LinearVariables.inc"][!Refresh Radian\LinearVisualizer\Options][!Refresh]
Group=MediaControls
[Version]
Meter=String
UpdateDivider=-1
X=(12*#Scale#+#MirrorVisualizer#*(#SkinWidth#-100*#Scale#))
Y=(638*#Scale#)
Text=v1.9.3
FontSize=(#FontSize2#*#Scale#*0.29)
FontColor=255,255,255
StringEffect=Shadow
Hidden=1
AntiAlias=1
Group=MediaControls
[RhyBar]
Meter=Bar
MeasureName=AudioProcessor_AVG
BarOrientation=Horizontal
Y=(#BarHeight#+156*#Scale#)
H=(10*#Scale#)
W=#SkinWidth#
BarColor=#RhythmBarColor#
SolidColor=255,255,255,50
Hidden=#HideRhythmBar#
Flip=#MirrorVisualizer#
UpdateDivider=(#HideRhythmBar# = 1 ? -1 : 1)
Group=RhyBar