Currently it provides information on the volume (which you can set), on the progress "bar", on the title and artist of the song, and on player state (paused / playing).
It uses Chameleon Plugin by Socks the Fox and NowPlaying Plugin.
P.s.: You can change the "myplayer" variable with your favorite media player (if supported)
Code: Select all
[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1
[Metadata]
Name=Music In Circles
Author=FreeRaider
Information=[Work In Progress] A simple player skin using roundline and Chameleon Plugin by Socks the Fox ( https://forum.rainmeter.net/viewtopic.php?f=18&t=21655 ).
License=Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
Version=2016.05.10.0.001b
[Variables]
Radius=60
PosX=1
PosY=#Radius#
StartRotationAngle=20
CircleRotationAngle=320
MyPlayer=WMP
[ChameleonDesktop]
Measure=Plugin
Plugin=Chameleon
Type=Desktop
[MeasureColourDark2]
Measure=Plugin
Plugin=Chameleon
Parent=ChameleonDesktop
Format=Dec
Color=Dark2
[MeasureColourLight1]
Measure=Plugin
Plugin=Chameleon
Parent=ChameleonDesktop
Format=Dec
Color=Light1
[MeasureColourLight2]
Measure=Plugin
Plugin=Chameleon
Parent=ChameleonDesktop
Format=Dec
Color=Light2
[MeasurePlayer]
Measure=Plugin
Plugin=NowPlaying
PlayerName=#MyPlayer#
PlayerType=TITLE
[MeasurePlayerArtist]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasurePlayer]
PlayerType=ARTIST
SubStitute="":"N/A"
[MeasurePlayerVolume]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasurePlayer]
PlayerType=VOLUME
RegExpSubstitute=1
Substitute="^(\d)$":"0\1"
[MeasurePlayerProgress]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasurePlayer]
PlayerType=PROGRESS
[MeasurePlayerPlay/Pause]
Measure=Plugin
Plugin=NowPlaying
PlayerName=[MeasurePlayer]
PlayerType=STATE
Substitute="0":"Stopped","1":"Playing","2":"Paused"
[MeasureAngle]
Measure=Calc
Formula=( Asin ( [MeterPlayerVolume:H] / (2 * #radius#) ) )
DynamicVariables=1
[MeasureATAN2]
Measure=Calc
Formula=0.20
IfCondition=(#CircleRotationAngle# < 360 )
IfTrueAction=[!SetOption MeasureATAN2 Formula "( ((Atan2((#PosY# - #Radius#),(#PosX# - #Radius#))) < 0 ? (PI + Atan2((#PosY# - #Radius#),(#PosX# - #Radius#)) + PI - Rad((#StartRotationAngle#)) ) : (Atan2((#PosY# - #Radius#),(#PosX# - #Radius#)) - Rad((#StartRotationAngle#)))) / Rad(#CircleRotationAngle#) )"]
IfFalseAction=[!SetOption MeasureATAN2 Formula "( ( ( Atan2( (#PosY# - #Radius#),(#PosX# - #Radius#)) ) < 0 ? ( PI + Atan2( (#PosY# - #Radius#),(#PosX# - #Radius#)) + PI ) : ( Atan2( (#PosY# - #Radius#),(#PosX# - #Radius#)) ) ) / ( Rad(360) ) )"]
IfConditionMode=1
DynamicVariables=1
OnChangeAction=[!UpdateMeasure "MeasureVolume"][!Redraw *]
[MeasureVolume]
Measure=Calc
Formula=([MeasureATAN2:2]*100)
MinValue=0
MaxValue=100
DynamicVariables=1
OnChangeAction=[!CommandMeasure MeasurePlayer "SetVolume [MeasureVolume]"][!Redraw *]
[CircleBackground]
Meter=Roundline
X=0
Y=0
W=( #Radius# * 2.0)
H=( #Radius# * 2.0)
StartAngle=( Rad(#StartRotationAngle#) )
RotationAngle=( Rad(#CircleRotationAngle#) )
LineLength=( 1.0 * #Radius# )
LineStart=( 0.95 * #Radius# )
LineColor=[MeasureColourDark2],255
Solid=1
AntiAlias=1
DynamicVariables=1
LeftMouseUpAction=[!SetVariable PosX "$MouseX$"][!SetVariable PosY "$MouseY$"]
[Circle]
Meter=Roundline
MeasureName=MeasureATAN2
X=0
Y=0
W=( #Radius# * 2.0)
H=( #Radius# * 2.0)
StartAngle=( Rad(#StartRotationAngle#) )
RotationAngle=( Rad(#CircleRotationAngle#) )
LineLength=( 0.90 * #Radius# )
LineStart=( 0.50 * #Radius# )
LineColor=[MeasureColourLight1],255
Solid=1
AntiAlias=1
DynamicVariables=1
[MeterPlayerVolume]
Meter=String
MeasureName=MeasurePlayerVolume
X=( #radius# + 0.50 * #radius# * cos( [MeasureAngle] ) - [MeterPlayerVolume:W] - ( #Radius# * 0.10 ) )
Y=(#Radius# - [MeterPlayerVolume:H] /2)
FontSize=( ( #radius# * 11 ) / 70 )
FontColor=[MeasureColourLight2],255
FontFace=Tahoma
StringAlign=Left
StringStyle=Bold
Text="Volume#CRLF# %1"
AntiAlias=1
DynamicVariables=1
[MeterBar]
Meter=Image
X=0
Y=(2.0 * #Radius# + 5)
W=(4.0 * #Radius#)
H=[MeterString:H]
SolidColor=[MeasureColourDark2],255
DynamicVariables=1
[MeterString]
Meter=String
MeasureName=MeasurePlayer
MeasureName2=MeasurePlayerArtist
X=(([MeterBar:W]-[MeterString:W])/2)r
Y=(([MeterBar:H]-[MeterString:H])/2)r
FontSize=( ( #radius# * 11 ) / 70 )
FontColor=[MeasureColourLight2],255
FontFace=Tahoma
StringAlign=Left
StringStyle=Bold
Text="%1#CRLF#%2"
AntiAlias=1
DynamicVariables=1
[CircleBackgroundProgress]
Meter=Roundline
X=((2.0 * #Radius#) + 5)
Y=0
W=( #Radius# * 2.0)
H=( #Radius# * 2.0)
StartAngle=( Rad(290) )
RotationAngle=( Rad(320) )
LineLength=( 1.0 * #Radius# )
LineStart=( 0.95 * #Radius# )
LineColor=[MeasureColourLight2],255
Solid=1
AntiAlias=1
DynamicVariables=1
[CircleProgress]
Meter=Roundline
MeasureName=MeasurePlayerProgress
X=((2.0 * #Radius#) + 5)
Y=0
W=( #Radius# * 2.0)
H=( #Radius# * 2.0)
StartAngle=( Rad(290) )
RotationAngle=( Rad(#CircleRotationAngle#) )
LineLength=( 0.90 * #Radius# )
LineStart=( 0.50 * #Radius# )
LineColor=[MeasureColourDark2],255
Solid=1
AntiAlias=1
DynamicVariables=1
[MeterPlayerProgress]
Meter=String
MeasureName=MeasurePlayerProgress
X=( #radius# + 0.50 * #radius# * cos( Rad(45) ) - [MeterPlayerProgress:W] - ( #Radius# * 0.05 ) - 5 )r
Y=(#Radius# - [MeterPlayerProgress:H] /2)r
FontSize=( ( #radius# * 11 ) / 70 )
FontColor=[MeasureColourLight2],255
FontFace=Tahoma
StringAlign=Left
StringStyle=Bold
Text="%1%"
AntiAlias=1
DynamicVariables=1
[CircleBackgroundState]
Meter=Roundline
X=0
Y=(( 2 * #Radius#) + 10 + [MeterBar:H])
W=( #Radius# * 2.0)
H=( #Radius# * 2.0)
StartAngle=( Rad(200) )
RotationAngle=( Rad(320) )
LineLength=( 1.0 * #Radius# )
LineStart=( 0.95 * #Radius# )
LineColor=[MeasureColourLight2],255
Solid=1
AntiAlias=1
DynamicVariables=1
[CircleState]
Meter=Roundline
X=0r
Y=0r
W=( #Radius# * 2.0)
H=( #Radius# * 2.0)
StartAngle=( Rad(200) )
RotationAngle=( Rad(#CircleRotationAngle#) )
LineLength=( 0.90 * #Radius# )
LineStart=( 0.50 * #Radius# )
LineColor=[MeasureColourDark2],255
Solid=1
AntiAlias=1
LeftMouseUpAction=[!CommandMeasure MeasurePlayer "PlayPause"]
DynamicVariables=1
[MeterStatus]
Meter=String
MeasureName=MeasurePlayerPlay/Pause
X=0r
Y=(( 3 * #Radius#) + 10 + [MeterBar:H] - [MeterStatus:H]/2)
FontSize=( ( #radius# * 11 ) / 70 )
FontColor=[MeasureColourLight1],255
FontFace=Tahoma
StringAlign=Left
StringStyle=Bold
Text="%1"
AntiAlias=1
DynamicVariables=1