It is currently April 19th, 2024, 8:26 am

Help: Switching wallpapers with a button

Get help with creating, editing & fixing problems with skins
Mino_el_Nukenin
Posts: 231
Joined: April 24th, 2020, 7:39 pm
Location: France

Re: Help: Switching wallpapers with a button

Post by Mino_el_Nukenin »

balala wrote: June 7th, 2020, 7:30 pm Alright, but unfortunately I don't have neither the involved image (in this case @Resources\Images\Clock\Circle1.png), nor the other resources needed by the code. Maybe a package has been posted a while ago here on the forum, but there are two problems:
  • I don't have anymore the package (if it indeed has been posted before).
  • In the current topic are too many posts to can look for it.
So, please pack the config again and upload the package once again.
Here's the package.
You do not have the required permissions to view the files attached to this post.
User avatar
balala
Rainmeter Sage
Posts: 16144
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Help: Switching wallpapers with a button

Post by balala »

Mino_el_Nukenin wrote: June 7th, 2020, 7:43 pm Here's the package.
Alright, I got it. But I'm gonna work with it only tomorrow, because here is almost midnight and I'm not working anymore. Sorry...
Mino_el_Nukenin
Posts: 231
Joined: April 24th, 2020, 7:39 pm
Location: France

Re: Help: Switching wallpapers with a button

Post by Mino_el_Nukenin »

balala wrote: June 7th, 2020, 8:18 pm Alright, I got it. But I'm gonna work with it only tomorrow, because here is almost midnight and I'm not working anymore. Sorry...
Of course, no problem :thumbup:
User avatar
balala
Rainmeter Sage
Posts: 16144
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Help: Switching wallpapers with a button

Post by balala »

Mino_el_Nukenin wrote: June 7th, 2020, 7:43 pm Here's the package.
Alright, got it working. Here is what you should do.
I'm doing these kind of things with a TransformationMatrix option, which might seem complicated, but if you dig a little bit into it, it can be used relatively simply to rotate any kind of meters (right here the Image meters, for instance). First we need a measure which will return the rotation angle. The code has two such measures, [MeasureRotateCounterClockwise] and [MeasureRotateClockwise], but none of these can be used directly, because they are increasing / decreasing from 0 to 360 / -360 degrees and are restarting from zero, when reaching the upper limit (360, respectively -360). However the code has a second measure named [MeasureRotateCounterClockwise] and this seems a mistake. You never can use two different measures (nor meters, nor other kind of sections) with the same name. So, I decided to reuse the second [MeasureRotateCounterClockwise] measure, renaming it and modifying its code a little bit to achieve what we need. So replace the second occurrence of this measure with this:

Code: Select all

--- Measure main circle 1 ---
[MeasureRotateCounterClockwise90]
Measure=Calc
Formula=MeasureRotateCounterClockwise
IfCondition=(#CURRENTSECTION#>=90)
IfTrueAction=[!PauseMeasure "#CURRENTSECTION#"]
Take care to reuse the measure with an empty OnUpdateAction option, not the one which has a functional such option (the second so named measure, which has a --- Measure main circle 1 --- line before it).
Finally add the following TransformationMatrix option to the [MeterCircle] meter, along with the needed DynamicVariables=1 option:

Code: Select all

[MeterCircle]
...
TransformationMatrix=(Cos(Rad([MeasureRotateCounterClockwise90])));(-Sin(Rad([MeasureRotateCounterClockwise90])));(Sin(Rad([MeasureRotateCounterClockwise90])));(Cos(Rad([MeasureRotateCounterClockwise90])));([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)-(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Cos(Rad([MeasureRotateCounterClockwise90])))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Sin(Rad([MeasureRotateCounterClockwise90])));([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)+(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Sin(Rad([MeasureRotateCounterClockwise90])))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Cos(Rad([MeasureRotateCounterClockwise90])))
DynamicVariables=1
Please check the above modifications of the code and let me know if they do help.
Mino_el_Nukenin
Posts: 231
Joined: April 24th, 2020, 7:39 pm
Location: France

Re: Help: Switching wallpapers with a button

Post by Mino_el_Nukenin »

balala wrote: June 8th, 2020, 10:53 am Alright, got it working. Here is what you should do.
However the code has a second measure named [MeasureRotateCounterClockwise] and this seems a mistake. You never can use two different measures (nor meters, nor other kind of sections) with the same name. So, I decided to reuse the second [MeasureRotateCounterClockwise] measure, renaming it and modifying its code a little bit to achieve what we need. So replace the second occurrence of this measure with this:
Yes I've put this [Measure] (even if it wasn't complete and incorrect) just to notify you (and me) where the [Measure] should go.

Okay so the rotation is working. But 2 problems with the whole skin:
This [MeterCircle1] needs to appear but not rotate, yet.
The next 2 [Meter] respectively [MeterSlidingConnector] and then [MeterSlidingPanel] need to slide.
Only then after the sliding the [MeterCircle1] needs to rotate.

I believe it all these actions as to be put on the OnRefreshAction of the [Rainmeter] section, adding some [!Delay] if needed, but so far I'm having troubles with the 2 slidings which are not working.
User avatar
balala
Rainmeter Sage
Posts: 16144
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Help: Switching wallpapers with a button

Post by balala »

Mino_el_Nukenin wrote: June 8th, 2020, 2:31 pm This [MeterCircle1] needs to appear but not rotate, yet.
Such a meter doesn't even exist. So, which meter are you talking about?
Mino_el_Nukenin
Posts: 231
Joined: April 24th, 2020, 7:39 pm
Location: France

Re: Help: Switching wallpapers with a button

Post by Mino_el_Nukenin »

balala wrote: June 8th, 2020, 3:42 pm Such a meter doesn't even exist. So, which meter are you talking about?
Yeah [MeterCircle], it's because the .png name is Circle1
User avatar
balala
Rainmeter Sage
Posts: 16144
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Help: Switching wallpapers with a button

Post by balala »

Mino_el_Nukenin wrote: June 7th, 2020, 7:11 pm I'd like the [MeterCircle] to rotate 90° counterclockwise and stays on the position once it's reached.
Mino_el_Nukenin wrote: June 8th, 2020, 2:31 pm This [MeterCircle1] needs to appear but not rotate, yet.
Please do decide what would you like, because the two facts are not matching each other. Now does it have to rotate or not?
Mino_el_Nukenin
Posts: 231
Joined: April 24th, 2020, 7:39 pm
Location: France

Re: Help: Switching wallpapers with a button

Post by Mino_el_Nukenin »

balala wrote: June 8th, 2020, 5:43 pm Please do decide what would you like, because the two facts are not matching each other. Now does it have to rotate or not?
It has to rotate but not directly when the skin is loaded.
Some others actions with others meters need to happen before and I can't have them working properly.

When the skin is loaded :
1 : [MeterCircle] appears
Small delay
2 : [MeterSlidingConnector] and then [MeterSlidingPanel] need to slide out and stays out
Small delay
3 : [MeterCircle] does its 90° rotation and stays like that.
User avatar
balala
Rainmeter Sage
Posts: 16144
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Help: Switching wallpapers with a button

Post by balala »

Mino_el_Nukenin wrote: June 8th, 2020, 6:29 pm When the skin is loaded :
1 : [MeterCircle] appears
Small delay
2 : [MeterSlidingConnector] and then [MeterSlidingPanel] need to slide out and stays out
Small delay
3 : [MeterCircle] does its 90° rotation and stays like that.
There I see more problems:
  • There is a missing comma in the ActionList1 option of the [MeasureSlider] measure. You have this: ActionList1=Repeat SlideOutC,#SpeedC#,#RepeatC# | Wait #WaitP# | Repeat SlideOutP#SpeedP#,#RepeatP#, but a comma is needed between the SlideOutP and the #SpeedP# parameters: ActionList1=Repeat SlideOutC,#SpeedC#,#RepeatC# | Wait #WaitP# | Repeat SlideOutP,#SpeedP#,#RepeatP#.
  • The two !CommandMeasure bangs used into the OnRefreshAction option of the [Rainmeter] section are contradicting each other. Makes not too much sense to start and stop one action in the same time. I suppose you wanted to put the [!Delay "500"] bang between the [!CommandMeasure MeasureSlider "Execute #StateP#"] and [!CommandMeasure MeasureSlider "Stop #StateP#"] bangs, but it's not there. And even if it would be, you still wouldn't get the proper execution of the appropriate actions, because all actions involved into the two action lists takes more then half a second (500 milliseconds), so there is no enough time to completely execute both action lists.
  • The time is not enough for the [!Delay "3000"] bang of the SlideOutC option of the [MeasureSlider] measure. SlideOutC being the first action in the ActionList1 option, it waits more then 5 milliseconds (set for the WaitP variable, used between the SlideOutC and SlideOutP parameters), so finally SlideOutC is not executed at all.
  • The values of different variables have to be adjusted a little bit. There are some inadvertences with more of them. For instance, I replaced the following two variables: RepeatC=270 and WaitP=100. I also rewrote the formulas used into the SlideOutC and SlideOutP options of the [MeasureSlider] measure, this way: [!SetVariable OffsetC "(Clamp((#OffsetC#-1),0,170))"] (SlideOutC), respectively [!SetVariable OffsetP "(Clamp((#OffsetP#-1),0,80))"] (SlideOutP).
Along with these, I also did a few other minor updates to the code (for instance commented out the lines with not-valid Rainmeter options, like --- Connecting arcs --- and so on). Here is what I got:

Code: Select all

[Rainmeter]
Update=25
AccurateText=1
OnRefreshAction = [!Delay "800"][!ShowMeter "MeterCircle"][!Delay "500"][!CommandMeasure MeasureSlider "Execute #StateP#"][!Delay "500"]
;[!CommandMeasure MeasureSlider "Stop #StateP#"]

[Metadata]
Name= Clock
Author= Mino
Information= Displays a 
Version= 1
License=Creative Commons Attribution - Non - Commercial - Share Alike 3.0

[Variables]
@include=#@#\Config.inc
EllipseFillColor=363640
EllipseStrokeColor=ececec
ArcStrokeColor1=d68d38
ArcStrokeColor2=a2650c
ArcStrokeColor3=e8fa82
EllipseStrokeW=2
EllipseCenterX=959
EllipseCenterY=539
EllipseRadiusX=75
EllipseRadiusY=75
ArcStrokeW1=8
ArcStrokeW2=4
ArcStrokeW3=6
ArcCenterX=(#EllipseCenterX#)
ArcCenterY=(#EllipseCenterY#)
ArcRadiusX=(#EllipseRadiusX#-#EllipseStrokeW#/2-#ArcStrokeW1#/2)
ArcRadiusY=(#EllipseRadiusY#-#EllipseStrokeW#/2-#ArcStrokeW1#/2)
ArcRadiusX2=(#EllipseRadiusX#-12)
ArcRadiusY2=(#EllipseRadiusY#-12)
ArcRadiusX3=(#EllipseRadiusX#-17)
ArcRadiusY3=(#EllipseRadiusY#-17)
ArcSweepDirection=1
;--- Outer arcs ---
ArcAngleStart1=0
ArcAngleEnd1=40
ArcAngleStart2=41
ArcAngleEnd2=61
ArcAngleStart3=62
ArcAngleEnd3=102
ArcAngleStart4=103
ArcAngleEnd4=113
ArcAngleStart5=114
ArcAngleEnd5=164
ArcAngleStart6=195
ArcAngleEnd6=215
ArcAngleStart7=216
ArcAngleEnd7=236
ArcAngleStart8=237
ArcAngleEnd8=247
ArcAngleStart9=248
ArcAngleEnd9=288
ArcAngleStart10=289
ArcAngleEnd10=309
;--- Inner arcs ---
ArcAngleStart11=355
ArcAngleEnd11=50
ArcAngleStart12=100
ArcAngleEnd12=110
ArcAngleStart13=111
ArcAngleEnd13=195
ArcAngleStart14=196
ArcAngleEnd14=206
ArcAngleStart15=237
ArcAngleEnd15=277
ArcAngleStart16=289
ArcAngleEnd16=329
ArcAngleStart17=330
ArcAngleEnd17=354
;--- Connecting arcs ---
ArcAngleStart18=20
ArcAngleEnd18=24
ArcAngleStart19=120
ArcAngleEnd19=124
ArcAngleStart20=189
ArcAngleEnd20=193
ArcAngleStart21=199
ArcAngleEnd21=203

StateP=1
StateC=1
SpeedP=2
SpeedC=2
RepeatP=80
RepeatC=270
WaitP=100
WaitC=5
OffsetP=80
OffsetC=110
U=[!UpdateMeasure "MeasureSlider"][!UpdateMeterGroup SlidingConnector][!UpdateMeterGroup SlidingMeter][!Redraw]

;===== MEASURES ======================================================
;--- Measures circles and arcs ---

[MeasureRotateCounterClockwise]
Measure=Calc
Formula=(MeasureRotateCounterClockwise+1)%360
OnUpdateAction=[!SetVariable ArcAngleStart1 (([MeasureRotateCounterClockwise]+#ArcAngleStart1#)%360)][!SetVariable ArcAngleEnd1 (([MeasureRotateCounterClockwise]+#ArcAngleEnd1#)%360)][!SetVariable ArcAngleStart2 (([MeasureRotateCounterClockwise]+#ArcAngleStart2#)%360)][!SetVariable ArcAngleEnd2 (([MeasureRotateCounterClockwise]+#ArcAngleEnd2#)%360)][!SetVariable ArcAngleStart3 (([MeasureRotateCounterClockwise]+#ArcAngleStart3#)%360)][!SetVariable ArcAngleEnd3 (([MeasureRotateCounterClockwise]+#ArcAngleEnd3#)%360)][!SetVariable ArcAngleStart4 (([MeasureRotateCounterClockwise]+#ArcAngleStart4#)%360)][!SetVariable ArcAngleEnd4 (([MeasureRotateCounterClockwise]+#ArcAngleEnd4#)%360)][!SetVariable ArcAngleStart5 (([MeasureRotateCounterClockwise]+#ArcAngleStart5#)%360)][!SetVariable ArcAngleEnd5 (([MeasureRotateCounterClockwise]+#ArcAngleEnd5#)%360)][!SetVariable ArcAngleStart6 (([MeasureRotateCounterClockwise]+#ArcAngleStart6#)%360)][!SetVariable ArcAngleEnd6 (([MeasureRotateCounterClockwise]+#ArcAngleEnd6#)%360)][!SetVariable ArcAngleStart7 (([MeasureRotateCounterClockwise]+#ArcAngleStart7#)%360)][!SetVariable ArcAngleEnd7 (([MeasureRotateCounterClockwise]+#ArcAngleEnd7#)%360)][!SetVariable ArcAngleStart8 (([MeasureRotateCounterClockwise]+#ArcAngleStart8#)%360)][!SetVariable ArcAngleEnd8 (([MeasureRotateCounterClockwise]+#ArcAngleEnd8#)%360)][!SetVariable ArcAngleStart9 (([MeasureRotateCounterClockwise]+#ArcAngleStart9#)%360)][!SetVariable ArcAngleEnd9 (([MeasureRotateCounterClockwise]+#ArcAngleEnd9#)%360)][!SetVariable ArcAngleStart10 (([MeasureRotateCounterClockwise]+#ArcAngleStart10#)%360)][!SetVariable ArcAngleEnd10 (([MeasureRotateCounterClockwise]+#ArcAngleEnd10#)%360)]

[MeasureRotateClockwise]
Measure=Calc
Formula=(MeasureRotateClockwise-1)%360
OnUpdateAction=[!SetVariable ArcAngleStart11 (([MeasureRotateClockwise]+#ArcAngleStart11#)%360)][!SetVariable ArcAngleEnd11 (([MeasureRotateClockwise]+#ArcAngleEnd11#)%360)][!SetVariable ArcAngleStart12 (([MeasureRotateClockwise]+#ArcAngleStart12#)%360)][!SetVariable ArcAngleEnd12 (([MeasureRotateClockwise]+#ArcAngleEnd12#)%360)][!SetVariable ArcAngleStart13 (([MeasureRotateClockwise]+#ArcAngleStart13#)%360)][!SetVariable ArcAngleEnd13 (([MeasureRotateClockwise]+#ArcAngleEnd13#)%360)][!SetVariable ArcAngleStart14 (([MeasureRotateClockwise]+#ArcAngleStart14#)%360)][!SetVariable ArcAngleEnd14 (([MeasureRotateClockwise]+#ArcAngleEnd14#)%360)][!SetVariable ArcAngleStart15 (([MeasureRotateClockwise]+#ArcAngleStart15#)%360)][!SetVariable ArcAngleEnd15 (([MeasureRotateClockwise]+#ArcAngleEnd15#)%360)][!SetVariable ArcAngleStart16 (([MeasureRotateClockwise]+#ArcAngleStart16#)%360)][!SetVariable ArcAngleEnd16 (([MeasureRotateClockwise]+#ArcAngleEnd16#)%360)][!SetVariable ArcAngleStart17 (([MeasureRotateClockwise]+#ArcAngleStart17#)%360)][!SetVariable ArcAngleEnd17 (([MeasureRotateClockwise]+#ArcAngleEnd17#)%360)][!SetVariable ArcAngleStart18 (([MeasureRotateClockwise]+#ArcAngleStart18#)%360)][!SetVariable ArcAngleEnd18 (([MeasureRotateClockwise]+#ArcAngleEnd18#)%360)][!SetVariable ArcAngleStart19 (([MeasureRotateClockwise]+#ArcAngleStart19#)%360)][!SetVariable ArcAngleEnd19 (([MeasureRotateClockwise]+#ArcAngleEnd19#)%360)][!SetVariable ArcAngleStart20 (([MeasureRotateClockwise]+#ArcAngleStart20#)%360)][!SetVariable ArcAngleEnd20 (([MeasureRotateClockwise]+#ArcAngleEnd20#)%360)][!SetVariable ArcAngleStart21 (([MeasureRotateClockwise]+#ArcAngleStart21#)%360)][!SetVariable ArcAngleEnd21 (([MeasureRotateClockwise]+#ArcAngleEnd21#)%360)]

;--- Measure main circle 1 ---
[MeasureRotateCounterClockwise90]
Measure=Calc
Formula=( MeasureRotateCounterClockwise90 + 1 )
IfCondition=(#CURRENTSECTION#>=90)
IfTrueAction=[!PauseMeasure "#CURRENTSECTION#"]
Disabled=1

;--- Sliding Connector + Panel ---

[MeasureSlider]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Repeat SlideOutC,#SpeedC#,#RepeatC# | Wait #WaitP# | Repeat SlideOutP,#SpeedP#,#RepeatP# | Wait 1000 | Rotate
SlideOutC=[!Delay "0"][!SetVariable StateC "2"][!SetVariable OffsetC "(Clamp((#OffsetC#-1),0,170))"]#U#
SlideOutP=[!SetVariable StateP "2"][!SetVariable OffsetP "(Clamp((#OffsetP#-1),0,80))"]#U#
Rotate=[!EnableMeasure "MeasureRotateCounterClockwise90"]
DynamicVariables=1

;===== METERS ========================================================

;--- Circle and Rotating arcs ----------------------------------------

[MeterShapes]
Meter=Shape
Shape=Ellipse #EllipseCenterX#,#EllipseCenterY#,#EllipseRadiusX#,#EllipseRadiusY# | Fill Color #EllipseFillColor# | StrokeWidth #EllipseStrokeW# | Stroke Color #EllipseStrokeColor#
Shape2=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart1#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart1#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd1#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd1#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor1#
Shape3=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart2#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart2#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd2#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd2#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor1#
Shape4=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart3#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart3#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd3#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd3#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor2#
Shape5=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart4#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart4#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd4#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd4#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor1#
Shape6=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart5#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart5#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd5#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd5#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor2#
Shape7=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart6#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart6#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd6#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd6#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor1#
Shape8=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart7#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart7#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd7#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd7#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor2#
Shape9=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart8#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart8#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd8#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd8#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor2#
Shape10=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart9#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart9#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd9#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd9#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor1#
Shape11=Arc (#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleStart10#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleStart10#))),(#ArcCenterX#+#ArcRadiusX#*Cos(Rad(#ArcAngleEnd10#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY#*Sin(Rad(#ArcAngleEnd10#))),#ArcRadiusX#,#ArcRadiusY#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW1# | Stroke Color #ArcStrokeColor1#

Shape12=Arc (#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleStart11#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleStart11#))),(#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleEnd11#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleEnd11#))),#ArcRadiusX2#,#ArcRadiusY2#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW2# | Stroke Color #ArcStrokeColor2#
Shape13=Arc (#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleStart12#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleStart12#))),(#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleEnd12#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleEnd12#))),#ArcRadiusX2#,#ArcRadiusY2#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW2# | Stroke Color #ArcStrokeColor3#
Shape14=Arc (#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleStart13#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleStart13#))),(#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleEnd13#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleEnd13#))),#ArcRadiusX2#,#ArcRadiusY2#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW2# | Stroke Color #ArcStrokeColor2#
Shape15=Arc (#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleStart14#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleStart14#))),(#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleEnd14#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleEnd14#))),#ArcRadiusX2#,#ArcRadiusY2#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW2# | Stroke Color #ArcStrokeColor3#
Shape16=Arc (#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleStart15#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleStart15#))),(#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleEnd15#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleEnd15#))),#ArcRadiusX2#,#ArcRadiusY2#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW2# | Stroke Color #ArcStrokeColor3#
Shape17=Arc (#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleStart16#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleStart16#))),(#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleEnd16#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleEnd16#))),#ArcRadiusX2#,#ArcRadiusY2#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW2# | Stroke Color #ArcStrokeColor2#
Shape18=Arc (#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleStart17#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleStart17#))),(#ArcCenterX#+#ArcRadiusX2#*Cos(Rad(#ArcAngleEnd17#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY2#*Sin(Rad(#ArcAngleEnd17#))),#ArcRadiusX2#,#ArcRadiusY2#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW2# | Stroke Color #ArcStrokeColor3#

Shape19=Arc (#ArcCenterX#+#ArcRadiusX3#*Cos(Rad(#ArcAngleStart18#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY3#*Sin(Rad(#ArcAngleStart18#))),(#ArcCenterX#+#ArcRadiusX3#*Cos(Rad(#ArcAngleEnd18#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY3#*Sin(Rad(#ArcAngleEnd18#))),#ArcRadiusX3#,#ArcRadiusY3#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW3# | Stroke Color #ArcStrokeColor2#
Shape20=Arc (#ArcCenterX#+#ArcRadiusX3#*Cos(Rad(#ArcAngleStart19#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY3#*Sin(Rad(#ArcAngleStart19#))),(#ArcCenterX#+#ArcRadiusX3#*Cos(Rad(#ArcAngleEnd19#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY3#*Sin(Rad(#ArcAngleEnd19#))),#ArcRadiusX3#,#ArcRadiusY3#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW3# | Stroke Color #ArcStrokeColor2#
Shape21=Arc (#ArcCenterX#+#ArcRadiusX3#*Cos(Rad(#ArcAngleStart20#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY3#*Sin(Rad(#ArcAngleStart20#))),(#ArcCenterX#+#ArcRadiusX3#*Cos(Rad(#ArcAngleEnd20#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY3#*Sin(Rad(#ArcAngleEnd20#))),#ArcRadiusX3#,#ArcRadiusY3#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW3# | Stroke Color #ArcStrokeColor2#
Shape22=Arc (#ArcCenterX#+#ArcRadiusX3#*Cos(Rad(#ArcAngleStart21#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY3#*Sin(Rad(#ArcAngleStart21#))),(#ArcCenterX#+#ArcRadiusX3#*Cos(Rad(#ArcAngleEnd21#))),(#ArcCenterY#+(1-2*#ArcSweepDirection#)*#ArcRadiusY3#*Sin(Rad(#ArcAngleEnd21#))),#ArcRadiusX3#,#ArcRadiusY3#,360,#ArcSweepDirection#,0,0 | StrokeWidth #ArcStrokeW3# | Stroke Color #ArcStrokeColor3#
DynamicVariables=1
AntiAlias=1

;--- Outer circle + Sliding Clock -------------------------------------------
;-------------

[MeterCircle]
Meter=Image
ImageName=#@#\Images\Clock\Circle1.png
X=865
Y=445
DynamicVariables=1
AntiAlias=1
Hidden=1
TransformationMatrix=(Cos(Rad([MeasureRotateCounterClockwise90])));(-Sin(Rad([MeasureRotateCounterClockwise90])));(Sin(Rad([MeasureRotateCounterClockwise90])));(Cos(Rad([MeasureRotateCounterClockwise90])));([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)-(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Cos(Rad([MeasureRotateCounterClockwise90])))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Sin(Rad([MeasureRotateCounterClockwise90])));([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)+(([#CURRENTSECTION#:X]+[#CURRENTSECTION#:W]/2)*Sin(Rad([MeasureRotateCounterClockwise90])))-(([#CURRENTSECTION#:Y]+[#CURRENTSECTION#:H]/2)*Cos(Rad([MeasureRotateCounterClockwise90])))
DynamicVariables=1

;-------------

[MeterContainerC]
Meter=Image
ImageName=#@#\Images\Clock\ContainerC.png
X=755
Y=539
Antialias=1
DynamicVariables=1

[MeterSlidingConnector]
Group=SlidingConnector
Container=MeterContainerC
Meter=Image
ImageName=#@#\Images\Clock\ClockConnector.png
X=(#OffsetC#)r
Y=r
Antialias=1
DynamicVariables=1

;------------

[MeterContainerP]
Meter=Image
ImageName=#@#\Images\Clock\ContainerP.png
X=675
Y=513
Antialias=1
DynamicVariables=1

[MeterSlidingPanel]
Group=SlidingPanel
Container=MeterContainerP
Meter=Image
ImageName=#@#\Images\Clock\ClockPanel.png
X=(#OffsetP#)r
Y=r
DynamicVariables=1
AntiAlias=1
Please check this code and let me know if it did help.