It is currently March 28th, 2024, 12:53 pm

Spotify Lyrics help

Get help with creating, editing & fixing problems with skins
User avatar
winterwulf
Posts: 94
Joined: August 17th, 2016, 1:48 am
Location: São Paulo - Brazil

Re: Spotify Lyrics help

Post by winterwulf »

romulosinner wrote:Great! You're life saver, bud!
Here it is buddy, sorry for making you wait so much time, if you need help understanding the code let me know.

Code: Select all

[Rainmeter]
Update=1000
Group=GameMode
AccurateText=1
SkinWidth=512
SkinHeight=250
ContextTitle=Open @Includes folder
ContextAction=["#@#"]
DynamicVariables=1
DynamicWindowSize=1
OnRefreshAction=[!SnapEdges "0" "#CURRENTCONFIG#"][!WriteKeyValue Variables xSL "1" "#@#Variables.inc"][!SetVariable SL "1" "#ROOTCONFIG#\Spotify"][!SetVariable GOOGLE "0"]
OnCloseAction=[!WriteKeyValue Variables xSL "0" "#@#Variables.inc"][!SetVariable SL "0" "#ROOTCONFIG#\Spotify"][!Zpos "0"]
MouseOverAction=["#@#Addons\RainFocus.exe"]

[Metadata]
Name=Spotify
Description=Displays track information from Spotify.
Author=Ville
License=Creative Commons BY-NC-SA 3.0 | Entypo pictograms by Daniel Bruce — www.entypo.com
Version=2.0

[Variables]
@includeVars=#@#Variables.inc
@Include1=#@#GeneralVariables.inc
ScrollSpeed=20
Height=230
MaxNumber=0
GOOGLE=0
Mlyrics="Lyrics"
OffSet=-512
State=1
AOT=1
ToggleCheck=0
U=[!UpdateMeasure MeasureSlider][!UpdateMeter *][!Redraw]
PName=AIMP

[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=12
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 "[MeasureArtistName] - [MeasureTrackName]#CRLF##CRLF#[Measure#MLyrics#]"]
MouseActionCursor=0

[MeterHelp]
Meter=String
MeterStyle=StringStyle
FontColor=#OFF#
FontSize=15
FontFace=Courier New
DynamicVariables=1
X=(#OffSet#+497)
Y=4
W=5
StringStyle=Bold
Text=i
ToolTipTitle=Lyrics
ToolTipIcon=INFO
ToolTipPlayerType=1
ToolTipText="Middle click to copy lyrics"
MouseActionCursor=1
MouseOverAction=[!SetOption #CURRENTSECTION# FontColor #ON#][!UpdateMeter #CURRENTSECTION#][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# FontColor #OFF#][!UpdateMeter #CURRENTSECTION#][!Redraw]
LeftMouseUpAction=[]

[MeterAlwaysOnTop]
Meter=IMAGE
DynamicVariables=1
ImageName=#@#Images\pin.png
ImageTint=#ONOFF#
AntiAlias=1
X=(#OffSet#+470)
Y=8
H=15
MouseOverAction=[!SetOption #CURRENTSECTION# ImageTint #ON#][!UpdateMeter MeterAlwaysOnTop][!Redraw]
MouseLeaveAction=[!SetOption #CURRENTSECTION# ImageTint #ONOFF#][!UpdateMeter #CURRENTSECTION#][!Redraw]
ToolTipText="Always on top"
LeftMouseUpAction=[!SetVariable ToggleCheck "1"][!UpdateMeasure MeasureAlwaysOnTop]

[MeasureAlwaysOnTop]
Measure=Calc
Formula=#AOT#
DynamicVariables=1
IfCondition=MeasureAlwaysOnTop = 1
IfTrueAction=[!Zpos "2"][!SetVariable ONOFF #ON#][!SetVariable AOT "0"][!Update][!SetOption MeterBack ImageTint "0,0,0,255"][!UpdateMeter MeterBack][!Redraw]
IfFalseAction=[!Zpos "-2"][!SetVariable AOT "1"][!SetVariable ONOFF #OFF#][!Update][!SetOption MeterBack ImageTint "#BackgroundColor#"][!UpdateMeter MeterBack][!Redraw]
Paused=(1-#ToggleCheck#)
UpdateDivider=-1

[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#

[MeasureArtistName]
Measure=Plugin
Plugin=NowPlaying
PlayerType=Artist
PlayerName=#PName#
RegExpSubstitute=1
DynamicVariables=1
DisableLeadingZero=1
Substitute="":"No Song Found","\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""

[MeasureTrackName]
Measure=Plugin
Plugin=NowPlaying
PlayerType=Title
PlayerName=#PName#
RegExpSubstitute=1
DynamicVariables=1
DisableLeadingZero=1
Substitute="":"No Song Found","\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""
OnChangeAction=[!CommandMeasure "MeasureGet#Mlyrics#" "Reset"][!SetVariable GOOGLE "0"][!EnableMeasure MeasureGetLyrics][!SetOption MeterText Y "10"][!SetOption MeterText H #Height#][!CommandMeasure "MeasureGetLyrics" "Update"][!CommandMeasure "MeasureGetVagalume" "Update"][!CommandMeasure "MeasureGetMetrolyrics" "Update"][!CommandMeasure "MeasureGetMetallyrica" "Update"][!CommandMeasure "MeasureGetAZLyrics" "Update"][!CommandMeasure "MeasureGetDarkLyrics" "Update"]
;[!Refresh]
;[!CommandMeasure MeasureGetVagalume Reset][!SetVariable GOOGLE "0"][!EnableMeasure MeasureGetLyrics][!CommandMeasure MeasureGetLyrics Update][!SetOption MeterText Y "10"][!SetOption MeterText H #Height#]
;[!SetVariable GOOGLE "0"][!CommandMeasure MeasureGetLyrics Update][!SetOption MeterText Y "10"][!SetOption MeterText H #Height#]


[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]
FinishAction=[!SetVariable Mlyrics "Lyrics"]
OnConnectErrorAction=[!CommandMeasure "#CURRENTSECTION#" "Reset"][!EnableMeasure MeasureGetVagalume][!SetOption MeterText MeasureName "MeasureVagalume"][!DisableMeasure MeasureGetLyrics]
DynamicVariables=1
UpdateRate=600
UpdateDivider=1
Disabled=#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=NowPlaying
PlayerType=Title
PlayerName=#PName#
RegExpSubstitute=1
Substitute="\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"-","\W+":"-","&":"And","--":"-"

[MeasureArtist]
Measure=Plugin
Plugin=NowPlaying
PlayerType=Artist
PlayerName=#PName#
Substitute="":""," ":"-","/":"-","&":"And","--":"-","KISS":"Kiss-2"

[MeasureTrackG]
Measure=Plugin
Plugin=NowPlaying
PlayerType=Title
PlayerName=#PName#
RegExpSubstitute=1
Substitute="\s-\s.*":"","\s\(.*":"","\s\[.*":"","":""," ":"+","\W+":"+","&":"And","--":"-"

[MeasureArtistG]
Measure=Plugin
Plugin=NowPlaying
PlayerType=Artist
PlayerName=#PName#
Substitute="":""," ":"+","/":"-","&":"And","--":"-"

[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]
FinishAction=[!SetVariable Mlyrics "Vagalume"]
OnConnectErrorAction=[!CommandMeasure "#CURRENTSECTION#" "Reset"][!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]
FinishAction=[!SetVariable Mlyrics "Metrolyrics"]
OnConnectErrorAction=[!CommandMeasure "#CURRENTSECTION#" "Reset"][!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=NowPlaying
PlayerType=Title
PlayerName=#PName#
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=NowPlaying
PlayerType=Artist
PlayerName=#PName#
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]/[&MeasureAlbumMetallyrica].html
RegExp=(?siU).*[MeasureTrackName]<\/b>.*color=.*>(.*)<\/
OnRegExpErrorAction=[!EnableMeasure MeasureGetAZLyrics][!SetOption MeterText MeasureName "MeasureAZLyrics"][!DisableMeasure MeasureGetMetallyrica]
FinishAction=[!SetVariable Mlyrics "Metallyrica"]
OnConnectErrorAction=[!CommandMeasure "#CURRENTSECTION#" "Reset"][!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

[MeasureAlbumMetallyrica]
Measure=Plugin
Plugin=NowPlaying
PlayerType=Album
PlayerName=#PName#
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=NowPlaying
PlayerType=Artist
PlayerName=#PName#
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]
FinishAction=[!SetVariable Mlyrics "AZLyrics"]
OnConnectErrorAction=[!CommandMeasure "#CURRENTSECTION#" "Reset"][!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=NowPlaying
PlayerType=Title
PlayerName=#PName#
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=NowPlaying
PlayerType=Artist
PlayerName=#PName#
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]
FinishAction=[!SetVariable Mlyrics "DarkLyrics"]
OnConnectErrorAction=[!CommandMeasure "#CURRENTSECTION#" "Reset"][!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=NowPlaying
PlayerType=Album
PlayerName=#PName#
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","--":""
flatlined
Posts: 2
Joined: February 1st, 2016, 6:49 pm

Re: Spotify Lyrics help

Post by flatlined »

Winterwulf, from what I read your skin seems pretty great. Is it possible to re-upload the rmskin somewhere? As of now I just get a 404.
User avatar
winterwulf
Posts: 94
Joined: August 17th, 2016, 1:48 am
Location: São Paulo - Brazil

Re: Spotify Lyrics help

Post by winterwulf »

flatlined wrote:Winterwulf, from what I read your skin seems pretty great. Is it possible to re-upload the rmskin somewhere? As of now I just get a 404.
Hi man, sure, I re-upload it, cant right now but 'till saturday I do that. If you dont mind I would like to receive some feedback =)
flatlined
Posts: 2
Joined: February 1st, 2016, 6:49 pm

Re: Spotify Lyrics help

Post by flatlined »

Awesome. Will give a shout when I get to try it.
User avatar
winterwulf
Posts: 94
Joined: August 17th, 2016, 1:48 am
Location: São Paulo - Brazil

Re: Spotify Lyrics help

Post by winterwulf »

I found out what happened, it is in my dropbox public folder, the problem is that dropbox has removed this feature. I will take the opportunity to upload the updated version.

I used it with spotify, but a week ago I moved to google play music. I will post the spotify one, but let me know if you want the GPM version.

Edit:
https://www.dropbox.com/s/ln3iz9xybd5a3sq/spotify%20lyrics_.rmskin?dl=0
Lisa Brown
Posts: 1
Joined: February 25th, 2020, 1:05 pm

Re: Spotify Lyrics help

Post by Lisa Brown »

Good News. Spotify has added the real-time lyrics again. But not every track has the complete lyrics. You can try Soundhound and Audfree Spotify app as supplements.
Post Reply