This is what I got so far, I will implement the controls and the link to the lyrics website as you did too, but I need to figure out the design I want yet..
I added 6 different lyrics sites, when one fails the another start immediately, and if the last one fail it gives the option to google the lyrics
Also got that nice slider thing from jsmorley skin, so I use my spotify skin to activate this lyrics skin
I still have to optimize it somehow... I just lost all I have writen due to a notepad++ crash (googled it seems to happen more often than I thought, be careful) so I did what I remembered and some adjusts to get it working again... LF to know your thoughts cya!
Code: Select all
[Rainmeter]
Update=1000
AccurateText=1
SkinWidth=512
SkinHeight=250
ContextTitle=Open @Includes folder
ContextAction=["#@#"]
DynamicVariables=1
OnRefreshAction=[!SnapEdges "0" "#CURRENTCONFIG#"][!WriteKeyValue Variables xSL "1" "#@#Variables.inc"][!SetVariable SL "1" "#ROOTCONFIG#\Spotify" "Spotify"]
OnCloseAction=[!WriteKeyValue Variables xSL "0" "#@#Variables.inc"][!SetVariable SL "0" "#ROOTCONFIG#\Spotify" "Spotify"][!SetVariable GOOGLE "0"]
[Variables]
ScrollSpeed=20
Height=230
@Include1=#@#GeneralVariables.inc
MaxNumber=0
GOOGLE=0
OffSet=-512
State=1
U=[!UpdateMeasure MeasureSlider][!UpdateMeter *][!Redraw]
[cCounter]
Measure = Calc
Formula = cCounter+1
IfAboveValue = #MaxNumber#
IfAboveAction = [!DisableMeasure #CURRENTSECTION#][!CommandMeasure MeasureSlider "Execute 1" ]
[cCounter2]
Measure = Calc
Formula = cCounter2+1
IfAboveValue = #MaxNumber#
IfAboveAction = [!DisableMeasure #CURRENTSECTION#][!DeactivateConfig "#ROOTCONFIG#\Lyrics"]
Paused=1
[MeasureSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat SlideRight, 20, 15
SlideRight=[!SetVariable State "2"][!SetVariable OffSet "(Clamp(#OffSet#+35,-512,0))"]#U#
ActionList2=Repeat SlideLeft, 10, 15
SlideLeft=[!SetVariable State "1"][!SetVariable OffSet "(Clamp(#OffSet#-35,-512,0))"]#U#
DynamicVariables=1
[StringStyle]
FontFace=#TextFont#
FontSize=11
FontColor=#LabelColor#
StringEffect=BORDER
AntiAlias=1
ClipString=2
StringStyle=Normal
StringAlign=Center
[MeterBack]
Meter=Image
ImageName=#ImagePath#FlexBack.png
Y=0
X=#OffSet#
W=512
H=250
ScaleMargins=3,3,3,3
ImageTint=#BackgroundColor#
DynamicVariables=1
MiddleMouseUpAction=[!SetClip "Title: [mTitleLyric]#CRLF#Artist: [mArtistLyric]#CRLF##CRLF#[mLyrics]"]
ToolTipText"Middle click to copy lyrics"
ToolTipType=1
ToolTipIcon=INFO
MouseActionCursor=0
[MeterText]
Meter=String
MeasureName=MeasureLyrics
MeterStyle=StringStyle
MouseScrollUpAction=[!SetOption MeterText y ([MeterText:y]<10?([MeterText:y]+#ScrollSpeed#):[MeterText:y])][!SetOption MeterText H ([MeterText:y]<10?[MeterText:H]-#ScrollSpeed#:[MeterText:H])][!Update]
MouseScrollDownAction=[!SetOption MeterText y ([MeterText:y]-#ScrollSpeed#)][!SetOption MeterText H ([MeterText:H]+#ScrollSpeed#)][!Update]
X=(#OffSet#+256)
Y=10
W=512
H=#Height#
DynamicVariables=1
SolidColor=0,0,0,1
MouseActionCursor=0
Hidden=#GOOGLE#
[MeasureGetLyrics]
Measure=Plugin
Plugin=WebParser
URL=https://www.musixmatch.com/lyrics/[&MeasureArtist]/[&MeasureTrack]
RegExp=(?siU).*"lyrics".*"body":"(.*)","
OnRegExpErrorAction=[!EnableMeasure MeasureGetVagalume][!SetOption MeterText MeasureName "MeasureVagalume"][!DisableMeasure MeasureGetLyrics]
DynamicVariables=1
UpdateRate=600
UpdateDivider=1
Paused=#GOOGLE#
[MeasureLyrics]
Measure=Plugin
Plugin=WebParser
URL=[MeasureGetLyrics]
StringIndex=1
DecodeCharacterReference=1
Substitute="":"#CRLF##CRLF##CRLF##CRLF##CRLF#Searching MusixMatch for Lyrics...","\n":"#CRLF#",'\"':"""
UpdateRate=600
UpdateDivider=-1
[MeasureTrack]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=TrackName
RegExpSubstitute=1
Substitute="\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"-","\W+":"-","&":"And","--":"-"
OnChangeAction=[!SetVariable GOOGLE "0"][!CommandMeasure MeasureGetLyrics Update][!SetOption MeterText Y "10"][!SetOption MeterText H #Height#]
[MeasureArtist]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=ArtistName
Substitute="":""," ":"-","/":"-","&":"And","--":"-","KISS":"Kiss-2"
UpdateDivider=-1
[MeasureTrackG]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=TrackName
RegExpSubstitute=1
Substitute="\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"+","\W+":"+","&":"And","--":"-"
OnChangeAction=[!CommandMeasure MeasureGetLyrics Update][!SetOption MeterText Y "10"][!SetOption MeterText H #Height#]
[MeasureArtistG]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=ArtistName
Substitute="":""," ":"+","/":"-","&":"And","--":"-"
UpdateDivider=-1
[MeterGoogle]
Meter=String
MeterStyle=StringStyle
FontColor=135,135,135
Text="No lyrics found, wanna Google it?"
LeftMouseUpAction=["https://www.google.com/search?q=[MeasureArtistG]+[MeasureTrackG]+lyrics"]
MouseOverAction=[!SetOption MeterGoogle FontColor "255,255,255"][!Update]
MouseLeaveAction=[!SetOption MeterGoogle FontColor "135,135,135"][!Update]
X=(#OffSet#+256)
Y=115
Hidden=(1-#GOOGLE#)
DynamicVariables=1
; **********************************************
; VAGALUME
; **********************************************
[MeasureGetVagalume]
Measure=Plugin
Plugin=WebParser
URL=https://www.vagalume.com.br/[&MeasureArtistMetrolyrics]/[&MeasureTrackMetrolyrics].html
RegExp=(?siU).*description>(.*)<\/div>
OnRegExpErrorAction=[!EnableMeasure MeasureGetMetrolyrics][!SetOption MeterText MeasureName "MeasureMetrolyrics"][!DisableMeasure MeasureGetVagalume]
DynamicVariables=1
UpdateRate=600
UpdateDivider=1
Disabled=1
[MeasureVagalume]
Measure=Plugin
Plugin=WebParser
URL=[MeasureGetVagalume]
StringIndex=1
DecodeCharacterReference=1
Substitute="":"#CRLF##CRLF##CRLF##CRLF##CRLF#Buscando letra no Vagalume...","<br/>":"#CRLF#",'\"':"""
UpdateRate=600
UpdateDivider=-1
; **********************************************
; Metrolyrics
; **********************************************
[MeasureGetMetrolyrics]
Measure=Plugin
Plugin=WebParser
URL=http://www.metrolyrics.com/[&MeasureTrackMetrolyrics]-lyrics-[&MeasureArtistMetrolyrics].html
RegExp=(?siU).*'verse'>(.*)<\/div>
OnRegExpErrorAction=[!EnableMeasure MeasureGetMetallyrica][!SetOption MeterText MeasureName "MeasureMetallyrica"][!DisableMeasure MeasureGetMetrolyrics]
DynamicVariables=1
UpdateRate=600
UpdateDivider=1
Disabled=1
[MeasureMetrolyrics]
Measure=Plugin
Plugin=WebParser
URL=[MeasureGetMetrolyrics]
StringIndex=1
RegExpSubstitute=1
DecodeCharacterReference=1
Substitute="":"#CRLF##CRLF##CRLF##CRLF##CRLF#Searching Metrolyrics for Lyrics...","<br>":"","</p>.*>":"#CRLF##CRLF#","</p>":""
UpdateRate=600
UpdateDivider=-1
[MeasureTrackMetrolyrics]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=TrackName
RegExpSubstitute=1
Substitute="A":"a","B":"b","C":"c","D":"d","E":"e","F":"f","G":"g","H":"h","I":"i","J":"j","K":"k","L":"l","M":"m","N":"n","O":"o","P":"p","Q":"q","R":"r","S":"s","T":"t","U":"u","V":"v","W":"w","X":"x","Y":"y","Z":"z","\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"-","\W+":"-","&":"And","--":"-"
[MeasureArtistMetrolyrics]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=ArtistName
Substitute="A":"a","B":"b","C":"c","D":"d","E":"e","F":"f","G":"g","H":"h","I":"i","J":"j","K":"k","L":"l","M":"m","N":"n","O":"o","P":"p","Q":"q","R":"r","S":"s","T":"t","U":"u","V":"v","W":"w","X":"x","Y":"y","Z":"z","":""," ":"-","/":"-","&":"And","--":"-"
; **********************************************
; Metallyrica
; **********************************************
[MeasureGetMetallyrica]
Measure=Plugin
Plugin=WebParser
URL=http://www.metallyrica.com/lyrica/[&MeasureArtistMetallyrica]/[&MeasureTrackMetallyrica].html
RegExp=(?siU).*[MeasureTrackName]<\/b>.*color=.*>(.*)<\/
OnRegExpErrorAction=[!EnableMeasure MeasureGetAZLyrics][!SetOption MeterText MeasureName "MeasureAZLyrics"][!DisableMeasure MeasureGetMetallyrica]
DynamicVariables=1
UpdateRate=600
UpdateDivider=1
Disabled=1
[MeasureMetallyrica]
Measure=Plugin
Plugin=WebParser
URL=[MeasureGetMetallyrica]
StringIndex=1
RegExpSubstitute=1
DecodeCharacterReference=1
Substitute="":"#CRLF##CRLF##CRLF##CRLF##CRLF#Searching Metallyrica.com for Lyrics...","<br>":"#CRLF#",""":'"'
UpdateRate=600
UpdateDivider=-1
[MeasureTrackName]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=TrackName
RegExpSubstitute=1
DynamicVariables=1
DisableLeadingZero=1
Substitute="":"No Song Found","\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""
[MeasureTrackMetallyrica]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=AlbumName
RegExpSubstitute=1
Substitute="A":"a","B":"b","C":"c","D":"d","E":"e","F":"f","G":"g","H":"h","I":"i","J":"j","K":"k","L":"l","M":"m","N":"n","O":"o","P":"p","Q":"q","R":"r","S":"s","T":"t","U":"u","V":"v","W":"w","X":"x","Y":"y","Z":"z","\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"_","\W+":"_"
[MeasureArtistMetallyrica]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=ArtistName
Substitute="A":"a","B":"b","C":"c","D":"d","E":"e","F":"f","G":"g","H":"h","I":"i","J":"j","K":"k","L":"l","M":"m","N":"n","O":"o","P":"p","Q":"q","R":"r","S":"s","T":"t","U":"u","V":"v","W":"w","X":"x","Y":"y","Z":"z","\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"_","\W+":"_"
; **********************************************
; AZLyrics
; **********************************************
[MeasureGetAZLyrics]
Measure=Plugin
Plugin=WebParser
URL=http://www.azlyrics.com/lyrics/[&MeasureArtistAZLyrics]/[&MeasureTrackAZLyrics].html
RegExp=(?siU).*<div>.*-->(.*)</div>
;RegExp="(?siU)<div>(.*)</div>.*"
OnRegExpErrorAction=[!EnableMeasure MeasureGetDarkLyrics][!SetOption MeterText MeasureName "MeasureDarkLyrics"][!DisableMeasure MeasureGetAZLyrics]
DynamicVariables=1
UpdateRate=600
UpdateDivider=1
Disabled=1
[MeasureAZLyrics]
Measure=Plugin
Plugin=WebParser
URL=[MeasureGetAZLyrics]
StringIndex=1
DecodeCharacterReference=1
Substitute="":"#CRLF##CRLF##CRLF##CRLF##CRLF#Searching AZLyrics.com for Lyrics...","<br>":""
UpdateRate=600
UpdateDivider=-1
[MeasureTrackAZLyrics]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=TrackName
RegExpSubstitute=1
Substitute="A":"a","B":"b","C":"c","D":"d","E":"e","F":"f","G":"g","H":"h","I":"i","J":"j","K":"k","L":"l","M":"m","N":"n","O":"o","P":"p","Q":"q","R":"r","S":"s","T":"t","U":"u","V":"v","W":"w","X":"x","Y":"y","Z":"z","\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"","\W+":""
[MeasureArtistAZLyrics]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=ArtistName
Substitute="A":"a","B":"b","C":"c","D":"d","E":"e","F":"f","G":"g","H":"h","I":"i","J":"j","K":"k","L":"l","M":"m","N":"n","O":"o","P":"p","Q":"q","R":"r","S":"s","T":"t","U":"u","V":"v","W":"w","X":"x","Y":"y","Z":"z","\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"","\W+":""
; **********************************************
; DarkLyrics
; **********************************************
[MeasureGetDarkLyrics]
Measure=Plugin
Plugin=WebParser
URL=http://www.darklyrics.com/lyrics/[&MeasureArtistAZLyrics]/[&MeasureAlbumDarkLyrics].html
RegExp=(?siU).*"lyrics">.*[MeasureTrackName]<\/a><\/h3><br \/>(.*)\/><
;RegExp=(?siU).*[MeasureTrackDarkLyricsName]<\/a><\/h3><br \/>(.*)<h3>.*
OnRegExpErrorAction=[!EnableMeasure MeasureGetLyrics][!SetOption MeterText MeasureName "MeasureLyrics"][!SetVariable GOOGLE "1"][!DisableMeasure MeasureGetDarkLyrics]
DynamicVariables=1
UpdateRate=600
UpdateDivider=1
Disabled=1
[MeasureDarkLyrics]
Measure=Plugin
Plugin=WebParser
URL=[MeasureGetDarkLyrics]
StringIndex=1
RegExpSubstitute=1
DecodeCharacterReference=1
Substitute="":"#CRLF##CRLF##CRLF##CRLF##CRLF#Searching DarkLyrics.com for Lyrics...","<br />":"","<br ":"","<i>":"","</i>":""
UpdateRate=600
UpdateDivider=-1
[MeasureAlbumDarkLyrics]
Measure=Plugin
Plugin=SpotifyPlugin.dll
Type=AlbumName
RegExpSubstitute=1
Substitute="A":"a","B":"b","C":"c","D":"d","E":"e","F":"f","G":"g","H":"h","I":"i","J":"j","K":"k","L":"l","M":"m","N":"n","O":"o","P":"p","Q":"q","R":"r","S":"s","T":"t","U":"u","V":"v","W":"w","X":"x","Y":"y","Z":"z","\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"","\W+":"","&":"And","--":""