It is currently March 28th, 2024, 9:46 am

Web Parsing a Redirect

Get help with creating, editing & fixing problems with skins
User avatar
limitless
Posts: 76
Joined: January 8th, 2017, 2:31 am
Location: Charlotte, NC
Contact:

Web Parsing a Redirect

Post by limitless »

I have a quick question. I am attempting to access an avatar for use in my rainmeter app I am building. The avatar is on a website ex:
https://plex.tv/users/2bd7bd1299b259ec/avatar?c=2017-02-16+01%3A49%3A07+UTC

and I need to download it to display as an icon in a tooltip.

The application I'm getting the API information from is using the Avatars downloaded from this web address. I had read that obviously the website didn't want us to download or scrape anything from the page. If that is the case, then why does the PlexPy app come with it by default. I tried the /fall method and did not succeed. Maybe I'm doing something wrong?

Image

I did some research and concluded that the answer for a post containing similar circumstances was not the same and should be asked again for clarification.

https://forum.rainmeter.net/viewtopic.php?t=19611
User avatar
FreeRaider
Posts: 826
Joined: November 20th, 2012, 11:58 pm

Re: Web Parsing a Redirect

Post by FreeRaider »

limitless wrote:I tried the /fall method
There is no a /fall method, The adding /fall at the end was said for that specific url.

I am sorry but
jsmorley wrote:WebParser can't follow a redirect, [...]
is right.
User avatar
limitless
Posts: 76
Joined: January 8th, 2017, 2:31 am
Location: Charlotte, NC
Contact:

Re: Web Parsing a Redirect

Post by limitless »

Okay.

Well is there any way I can put a image in a tooltip? Such as the Poster Art for whatever is playing.

Also,
Im having an issue with the bar meters not disappearing when not in use. Please see for yourself.

Image

Thank you for helping me!! I really do appreciate it!
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Web Parsing a Redirect

Post by jsmorley »

No, only .ico (icon) files can be used in a tooltip.
User avatar
limitless
Posts: 76
Joined: January 8th, 2017, 2:31 am
Location: Charlotte, NC
Contact:

Re: Web Parsing a Redirect

Post by limitless »

jsmorley wrote:No, only .ico (icon) files can be used in a tooltip.
Thank you for taking time to help jsmorley. And if I download the file as .ico (icon) file. Then the image should work. Right? Because thats what im doing now and it allows me to open .ico images without error in Windows Explorer.




By the way. jsmorley
This is similar to your https://forum.rainmeter.net/viewtopic.php?p=122564#p122564
User avatar
jsmorley
Developer
Posts: 22628
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Web Parsing a Redirect

Post by jsmorley »

limitless wrote:Thank you for taking time to help jsmorley. And if I download the file as .ico (icon) file. Then the image should work. Right? Because thats what im doing now and it allows me to open .ico images without error in Windows Explorer.




By the way. jsmorley
This is similar to your https://forum.rainmeter.net/viewtopic.php?p=122564#p122564
Yes, .ico files, and only .ico file, can be used with ToolTipIcon.
User avatar
limitless
Posts: 76
Joined: January 8th, 2017, 2:31 am
Location: Charlotte, NC
Contact:

Re: Web Parsing a Redirect

Post by limitless »

jsmorley wrote:Yes, .ico files, and only .ico file, can be used with ToolTipIcon.

Thanks man!


So do you know of any fixes for the bar meter (progress bar and transparent bar) not hiding when the values are 0 or null? I have it set to substitute 0 for value when "" is found. Which is showing as 0 in the variables.


Code: Select all

[MeasurePlexPyProgress]
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream progress percentage
;-------------------------------------------------------------------------------
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")
Substitute="":"0"
DynamicVariables=1

UpdateRate=#RefreshRate#
LogSubstringErrors=0



[MeasurePlexPyProgressNumber1]
Hidden=1
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=1
MinValue=0
MaxValue=100
DynamicVariables=1
Substitute="":"0"


[MeterProgressBar1Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=70
W=656
H=16
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString1] ([MeasurePlexPyNowPlayingYearString1])
ToolTipIcon=#@#\DownloadFile\[MeasurePlexPyNowPlayingString1].ico
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString1]#CRLF#Playback Device: [MeasurePlexPyPlayerString1]#CRLF#IP: [MeasurePlexPyIpAddressString1]#CRLF#[MeasurePlexPyTranscodeProgressNumber1]% Transcoded
DynamicVariables=1
Disabled=1


[MeterProgressBar1]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyProgressNumber1
Meter=BAR
X=(#LeftPadding#+20)
Y=85
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1
DynamicVariables=1
Substitute="":"0"
User avatar
balala
Rainmeter Sage
Posts: 16109
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Web Parsing a Redirect

Post by balala »

limitless wrote:So do you know of any fixes for the bar meter (progress bar and transparent bar) not hiding when the values are 0 or null? I have it set to substitute 0 for value when "" is found. Which is showing as 0 in the variables.
Add a SolidColor option, to the bar meter. This way, when the value of the [MeasurePlexPyProgressNumber1] measure is 0, the empty bar will have the color set by the SolidColor option and when it's greater, the empty part of the bar will have that color.
But beside this, the meters of the posted code are hidden. To appear, you have to show them, using a proper bang (!ShowMeter or !ShowMeterGroup).

Tip: the Hidden option is an option of the meters. You shouldn't use it on measures (as you did for example on the [MeasurePlexPyProgressNumber1] measure).
User avatar
limitless
Posts: 76
Joined: January 8th, 2017, 2:31 am
Location: Charlotte, NC
Contact:

Re: Web Parsing a Redirect

Post by limitless »

balala wrote:Add a SolidColor option, to the bar meter. This way, when the value of the [MeasurePlexPyProgressNumber1] measure is 0, the empty bar will have the color set by the SolidColor option and when it's greater, the empty part of the bar will have that color.
But beside this, the meters of the posted code are hidden. To appear, you have to show them, using a proper bang (!ShowMeter or !ShowMeterGroup).

Tip: the Hidden option is an option of the meters. You shouldn't use it on measures (as you did for example on the [MeasurePlexPyProgressNumber1] measure).

Okay, thank you! I didnt know completely how the hidden works. I should read the wiki more.

But I am going to post my whole code. While its long.. It will give you some insight to what I have going on and why its not doing as told. I am trying here!! :? :oops:

Code: Select all

; ------------------------------------------------------------------------
; 888 d8b               d8b 888    888                            		 |
; 888 Y8P               Y8P 888    888                            		 |
; 888                       888    888                            		 |
; 888 888 88888b.d88b.  888 888888 888  .d88b.  .d8888b  .d8888b 		 |
; 888 888 888 "888 "88b 888 888    888 d8P  Y8b 88K      88K      		 |
; 888 888 888  888  888 888 888    888 88888888 "Y8888b. "Y8888b. 		 |
; 888 888 888  888  888 888 Y88b.  888 Y8b.          X88      X88   	 |
; 888 888 888  888  888 888  "Y888 888  "Y8888   88888P'  88888P' 		 |
; _______________________________________________________________________|
;|_______________________________________________________________________|
;
;
;
;
;
;
;██████╗     ███████╗    ████████╗     █████╗ 
;██╔══██╗    ██╔════╝    ╚══██╔══╝    ██╔══██╗
;██████╔╝    █████╗         ██║       ███████║
;██╔══██╗    ██╔══╝         ██║       ██╔══██║
;██████╔╝    ███████╗       ██║       ██║  ██║
;╚═════╝     ╚══════╝       ╚═╝       ╚═╝  ╚═╝
;██╗██╗██╗██╗██╗██╗██╗██╗██╗██╗██╗██╗██╗██╗██╗
;╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝╚═╝
;
;
;
;
;
;
;
;                                    
; Original Author's Notes
;	Win10 Widgets for Rainmeter - PlexPy Combo Count (large)
;		Authors - TJ Markham, http://tjmarkham.com & Ryan Gosewehr
;		Website - http://win10widgets.com
;		Donate  - http://donate.win10widgets.com
;
;	[Old_Metadata]
;Name=PlexPy Combo Count (large)
;	Author=Ryan Gosewehr
;	Information=Displays the current number of Plex streams and transcodes from PlexPy.
;				License=Creative Commons BY-NC-SA 4.0
;				Version=1.0.0
; ------------------------------------------------------------------------


[Rainmeter]
Update=500
DynamicWindowSize=1
AccurateText=1
BackgroundMode=1

[Metadata]
Name=PlexPy Monitor (large)
	Author=limitless
	Information=Displays the current number of Plex streams and transcodes from PlexPy.||Updated:||Feburary 13, 2017
License=Creative Commons Attribution-Non-Commercial-Share Alike 4.0
Version=1.0.0


[Variables]
@Include1=#@#plexpyvariables.ini
;@Include2=#@#styles.ini
;@Include3=#@#background.ini
CoreFilePath=""#CURRENTPATH#ComboCount-Large.ini""
LeftPadding=25
TopPadding=5
UserFontSize=10
Bar1Calc=0
CalcMeasureProgressOverall=0
;End of [Variables]


; ------------------------------------------------------------------------
; MEASURES
; ------------------------------------------------------------------------


; ------------------------------------------------------------------------
; ORANGE
; ------------------------------------------------------------------------
[BackgroundCard]
Meter=Shape
H=60
W=720
X=0
Y=5
Shape=Rectangle 0,0,720,55,30 | Extend MyModifiers1
MyModifiers1=Fill Color 229,148,0
AntiAlias=1
ShapeEffect=Border
ShapeEffectColor=33,33,33
;LeftMouseDownAction=[!ShowMeterGroup "userlist"]


; ------------------------------------------------------------------------
; Right Content Box		NOT USED
; ------------------------------------------------------------------------
;[BackgroundCard2]
;Meter=Shape
;H=20
;W=120
;X=110
;Y=6
;Shape=Rectangle 0,2,230,100,30 | Extend MyModifiers2
;MyModifiers2=Fill Color 0,0,0
;AntiAlias=1
;ShapeEffect=Border
;ShapeEffectColor=33,33,33

; ------------------------------------------------------------------------
; Left Content Box (logo)
; ------------------------------------------------------------------------

[BackgroundCard4]
Meter=Shape
H=54
W=720
X=0
Y=8
Shape=Rectangle 0,0,720,55,30 | Extend MyModifiers3
MyModifiers3=Fill Color 0,0,0
AntiAlias=1
ShapeEffect=Border
ShapeEffectColor=33,33,33

; ------------------------------------------------------------------------
; Divider - Streams / transcode(s)
; ------------------------------------------------------------------------

[Line1]
Meter=Image
solidcolor=229,148,0
W=1
H=54
X=550
Y=8
AntiAlias=1

[MeasurePlexPy]
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=http://#PlexPyAddress#/api/v2?apikey=#APIKey#&cmd=get_activity
RegExp="(?siU)^\S(.*)$"
UpdateRate=#RefreshRate#
LogSubstringErrors=0

[MeasurePlexPyStreamsAPI]
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)stream_count":."(.*)"
UpdateRate=#RefreshRate#
LogSubstringErrors=0

;--------==================--------==================--------==================--------==================--------
;----------------------------------------------------------------------------------------------------------------
;--------==================--------==================--------==================--------==================--------
;----------------------------------------------------------------------------------------------------------------
;--------==================--------==================--------==================--------==================--------
[MeasurePlexPyUsers]
Hidden=1
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*user\":.\".*\").*user\":.\"(.*)\")(?(?=.*user\":.\".*\").*user\":.\"(.*)\")(?(?=.*user\":.\".*\").*user\":.\"(.*)\")(?(?=.*user\":.\".*\").*user\":.\"(.*)\")(?(?=.*user\":.\".*\").*user\":.\"(.*)\")(?(?=.*user\":.\".*\").*user\":.\"(.*)\")(?(?=.*user\":.\".*\").*user\":.\"(.*)\")(?(?=.*user\":.\".*\").*user\":.\"(.*)\")(?(?=.*user\":.\".*\").*user\":.\"(.*)\")(?(?=.*user\":.\".*\").*user\":.\"(.*)\")
UpdateRate=#RefreshRate#
LogSubstringErrors=0

[MeasurePlexPyUsersString1]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=1
[MeasurePlexPyUsersString2]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=2
[MeasurePlexPyUsersString3]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=3
[MeasurePlexPyUsersString4]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=4
[MeasurePlexPyUsersString5]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=5
[MeasurePlexPyUsersString6]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=6
[MeasurePlexPyUsersString7]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=7
[MeasurePlexPyUsersString8]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=8
[MeasurePlexPyUsersString9]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=9
[MeasurePlexPyUsersString10]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyUsers]
StringIndex=10
;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------

[MeasurePlexPyIpAddress]
Hidden=1
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")(?(?=.*"ip_address\":.\".*\").*"ip_address\":.\"(.*)")
UpdateRate=#RefreshRate#
LogSubstringErrors=0

[MeasurePlexPyIpAddressString1]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=1
[MeasurePlexPyIpAddressString2]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=2
[MeasurePlexPyIpAddressString3]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=3
[MeasurePlexPyIpAddressString4]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=4
[MeasurePlexPyIpAddressString5]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=5
[MeasurePlexPyIpAddressString6]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=6
[MeasurePlexPyIpAddressString7]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=7
[MeasurePlexPyIpAddressString8]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=8
[MeasurePlexPyIpAddressString9]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=9
[MeasurePlexPyIpAddressString10]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyIpAddress]
StringIndex=10
;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------


;--------==================--------==================--------==================--------==================--------
;----------------------------------------------------------------------------------------------------------------
;--------==================--------==================--------==================--------==================--------
;----------------------------------------------------------------------------------------------------------------
;--------==================--------==================--------==================--------==================--------
[MeasurePlexPyPlayPause]
Hidden=1
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")(?(?=.*"state\":.\".*\").*"state\":.\"(.*)\")
UpdateRate=#RefreshRate#
LogSubstringErrors=0
;--------==================--------==================--------==================--------==================--------
[MeasurePlayPauseString1]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=1
[MeasurePlayPauseString2]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=2
[MeasurePlayPauseString3]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=3
[MeasurePlayPauseString4]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=4
[MeasurePlayPauseString5]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=5
[MeasurePlayPauseString6]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=6
[MeasurePlayPauseString7]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=7
[MeasurePlayPauseString8]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=8
[MeasurePlayPauseString9]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=9
[MeasurePlayPauseString10]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayPause]
StringIndex=10

; ------------------------------------------------------------------------
; ------------------------------------------------------------------------
; Determines which Player & or Device your playing from
; ------------------------------------------------------------------------
; ------------------------------------------------------------------------

[MeasurePlexPyPlayers]
Group=activated
; Polls the PlexPy API for current player and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")(?(?=.*"player\":.\".*\").*"player\":.\"(.*)")
UpdateRate=#RefreshRate#
LogSubstringErrors=0

[MeasurePlexPyPlayerString1]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=1
[MeasurePlexPyPlayerString2]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=2
[MeasurePlexPyPlayerString3]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=3
[MeasurePlexPyPlayerString4]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=4
[MeasurePlexPyPlayerString5]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=5
[MeasurePlexPyPlayerString6]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=6
[MeasurePlexPyPlayerString7]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=7
[MeasurePlexPyPlayerString8]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=8
[MeasurePlexPyPlayerString9]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=9
[MeasurePlexPyPlayerString10]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyPlayers]
StringIndex=10


;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------

[MeasurePlexPyNowPlaying]
Hidden=1
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]

RegExp=(?siU)(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)")(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)\")(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)\")(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)\")(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)\")(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)\")(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)\")(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)\")(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)\")(?(?=.*"full_title\":.\".*\").*"full_title\":.\"(.*)\")

UpdateRate=#RefreshRate#
LogSubstringErrors=0

;--------Examples--------
;(?siU)(?(?=.*"title\":.\".*\").*"title\":.\"(.*)")(?(?=.*"title\":.\".*\").*"title\":.\"(.*)\")(?(?=.*"title\":.\".*\").*"title\":.\"(.*)\")(?(?=.*"title\":.\".*\").*"title\":.\"(.*)\")(?(?=.*"title\":.\".*\").*"title\":.\"(.*)\")(?(?=.*"title\":.\".*\").*"title\":.\"(.*)\")(?(?=.*"title\":.\".*\").*"title\":.\"(.*)\")(?(?=.*"title\":.\".*\").*"title\":.\"(.*)\")



;(?siU)(?(?=.*"grandparent_title":.\".*\").*"grandparent_title\":.\"(.*)")(?(?=.*"grandparent_title\":.\".*\").*"grandparent_title\":.\"(.*)\")(?(?=.*"grandparent_title\":.\".*\").*"grandparent_title\":.\"(.*)\")(?(?=.*"grandparent_title\":.\".*\").*"grandparent_title\":.\"(.*)\")(?(?=.*"grandparent_title\":.\".*\").*"grandparent_title\":.\"(.*)\")(?(?=.*"grandparent_title\":.\".*\").*"grandparent_title\":.\"(.*)\")(?(?=.*"grandparent_title\":.\".*\").*"grandparent_title\":.\"(.*)\")(?(?=.*"grandparent_title\":.\".*\").*"grandparent_title\":.\"(.*)\")


;(?siU)(?(?=.*"year\":.\".*\").*"year\":.\"(.*)")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")



[MeasurePlexPyNowPlayingString1]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=1
[MeasurePlexPyNowPlayingString2]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=2
[MeasurePlexPyNowPlayingString3]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=3
[MeasurePlexPyNowPlayingString4]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=4
[MeasurePlexPyNowPlayingString5]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=5
[MeasurePlexPyNowPlayingString6]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=6
[MeasurePlexPyNowPlayingString7]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=7
[MeasurePlexPyNowPlayingString8]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=8
[MeasurePlexPyNowPlayingString9]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=9
[MeasurePlexPyNowPlayingString10]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlaying]
StringIndex=10

;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------


[MeasurePlexPyResolution]
Hidden=1
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")(?(?=.*"video_resolution\":.\".*\").*"video_resolution\":.\"(.*)")
UpdateRate=#RefreshRate#
LogSubstringErrors=0

[MeasurePlexPyResolutionString1]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=1
[MeasurePlexPyResolutionString2]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=2
[MeasurePlexPyResolutionString3]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=3
[MeasurePlexPyResolutionString4]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=4
[MeasurePlexPyResolutionString5]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=5
[MeasurePlexPyResolutionString6]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=6
[MeasurePlexPyResolutionString7]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=7
[MeasurePlexPyResolutionString8]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=8
[MeasurePlexPyResolutionString9]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=9
[MeasurePlexPyResolutionString10]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyResolution]
StringIndex=10

;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------


[MeasurePlexPyMovieIcons]
Hidden=1
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")(?(?=.*"thumb\":.\".*\").*"thumb\":.\"(.*)")
UpdateRate=#RefreshRate#
LogSubstringErrors=0

[MeasurePlexPyMovieIconsString1]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=1
[MeasurePlexPyMovieIconsString2]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=2
[MeasurePlexPyMovieIconsString3]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=3
[MeasurePlexPyMovieIconsString4]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=4
[MeasurePlexPyMovieIconsString5]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=5
[MeasurePlexPyMovieIconsString6]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=6
[MeasurePlexPyMovieIconsString7]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=7
[MeasurePlexPyMovieIconsString8]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=8
[MeasurePlexPyMovieIconsString9]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=9
[MeasurePlexPyMovieIconsString10]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyMovieIcons]
StringIndex=10

;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------


[MeasurePlexPyNowPlayingYear]
Hidden=1
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*"year\":.\".*\").*"year\":.\"(.*)")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")(?(?=.*"year\":.\".*\").*"year\":.\"(.*)\")
UpdateRate=#RefreshRate#
LogSubstringErrors=0

[MeasurePlexPyNowPlayingYearString1]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=1
[MeasurePlexPyNowPlayingYearString2]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=2
[MeasurePlexPyNowPlayingYearString3]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=3
[MeasurePlexPyNowPlayingYearString4]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=4
[MeasurePlexPyNowPlayingYearString5]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=5
[MeasurePlexPyNowPlayingYearString6]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=6
[MeasurePlexPyNowPlayingYearString7]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=7
[MeasurePlexPyNowPlayingYearString8]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=8
[MeasurePlexPyNowPlayingYearString9]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=9
[MeasurePlexPyNowPlayingYearString10]
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyNowPlayingYear]
StringIndex=10

;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------
;--------==================--------==================--------==================--------==================--------

[MeasurePlexPyStreamCount]
; Grabs just the stream count from [MeasurePlexPyStreamsAPI]. If there is
; exactly one stream, it displays the word "Stream". More or less than
; 1, and it displays the word "Streams".
Measure=Plugin
Plugin=WebParser
URL=[MeasurePlexPyStreamsAPI]
StringIndex=1
IfBelowValue=1
IfBelowAction=[!HideMeter OneStream][!ShowMeter Streams]
IfEqualValue=1
IfEqualAction=[!HideMeter Streams][!ShowMeter OneStream]
IfAboveValue=1
IfAboveAction=[!HideMeter OneStream][!ShowMeter Streams]
UpdateRate=#RefreshRate#

[MeasurePlexPyStream]
; Grabs the rest of the JSON output from [MeasurePlexPyStreamsAPI] and passes
; it to [MeasurePlexPyTrancodeCount].
Measure=Plugin
Plugin=WebParser
URL=[MeasurePlexPyStreamsAPI]
RegExp=(?siU)^(.*)$
StringIndex=1
FinishAction=[!EnableMeasure MeasurePlexPyTranscodeCount][!UpdateMeasure MeasurePlexPyTranscodeCount]
UpdateRate=#RefreshRate#

[MeasurePlexPyTranscodeCount]
; Runs a .lua script on the rest of the JSON output from the PlexPy API
; that counts how many times "transcode_decision": "transcode" appears.
; If there is exactly one transcode, it displays the word "Transcode".
; More or less than 1, and it displays the word "Transcodes". This
; measure is disabled by default and only runs when called by
; [MeasurePlexPyStreams].
Measure=Script
ScriptFile=CountTranscodes.lua
IfBelowValue=1
IfBelowAction=[!HideMeter OneTranscode][!ShowMeter Transcodes]
IfEqualValue=1
IfEqualAction=[!HideMeter Transcodes][!ShowMeter OneTranscode]
IfAboveValue=1
IfAboveAction=[!HideMeter OneTranscode][!ShowMeter Transcodes]
UpdateDivider=-1
Disabled=1
UpdateRate=#RefreshRate#
; ------------------------------------------------------------------------
; METERS
;

[PlexPyLogo]
; Displays the Plex logo.  Double-clicking on the logo takes you to the 
; Now Playing status screen in Plex.
Meter=Image
ImageName=plexpylogo.png
X=(#LeftPadding# )
Y=(#TopPadding# + 8 )
H=40
W=140
LeftMouseDoubleClickAction=["https://#PlexAddress#/web/index.html#!/status/playing"]


[PlexArrow]
; Displays the Plex Arrow.  Clicking on the logo takes you to the 
; Now Playing Screen in Widget
Hidden=1
Group=activated
Meter=Image
ImageName=plexarrow.png
X=(#LeftPadding# + 515)
Y=(#TopPadding# + 20 )
LeftMouseDownAction=[!HideMeterGroup "activated"][!ShowMeterGroup "regular"]


[PlexArrowDown]
Group=regular
Meter=Image
ImageName=plexarrowdown.png
X=(#LeftPadding# + 515)
Y=(#TopPadding# + 20 )
LeftMouseDownAction=[!HideMeterGroup "regular"][!ShowMeterGroup "activated"]

; ------------------------------------------------------------------------
; ------------------------------------------------------------------------
; ----------- 		Activated Menu		----------------------------------
; ------------------------------------------------------------------------
; ------------------------------------------------------------------------

[BackgroundCardActivated]
Hidden=1
Group=activated
Meter=Shape
H=211
W=620
X=0
Y=65
Shape=Rectangle 0,0,720,211,30 | Extend MyModifiers3
MyModifiers3=Fill Color 0,0,0
AntiAlias=1
ShapeEffect=Border
ShapeEffectColor=33,33,33

[BackgroundCardActivatedOrange]
Hidden=1
Group=activated
Meter=Shape
H=211
W=620
X=0
Y=65
Shape=Rectangle 0,0,718,209,30| Extend MyModifiers1
MyModifiers1=Fill Color 229,148,0
AntiAlias=1
ShapeEffect=Border
ShapeEffectColor=33,33,33

[BackgroundCardActivated2ndDarkColor]
Hidden=1
Group=activated
Meter=Shape
H=160
W=360
X=0
Y=65
Shape=Rectangle 0,0,716,207,30 | Extend MyModifiers3
MyModifiers3=Fill Color 0,0,0
AntiAlias=1
ShapeEffect=Border
ShapeEffectColor=33,33,33

; ------------------------------------------------------------------------
; ------------------------------------------------------------------------
; User List Inside Activated Box
; ------------------------------------------------------------------------
; ------------------------------------------------------------------------

[User1]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString1
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=5r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User1PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString1
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User1NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString1
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[User2]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString2
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=15r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User2PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString2
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User2NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString2
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[User3]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString3
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=15r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User3PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString3
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User3NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString3
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[User4]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString4
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=15r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User4PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString4
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User4NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString4
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[User5]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString5
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=15r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User5PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString5
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User5NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString5
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[User6]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString6
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=15r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User6PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString6
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User6NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString6
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[User7]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString7
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=15r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User7PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString7
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User7NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString7
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[User8]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString8
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=15r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User8PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString8
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User8NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString8
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[User9]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString9
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=15r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User9PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString9
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User9NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString9
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[User10]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyUsersString10
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=(#LeftPadding#+20)
Y=15r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User10PlayPause]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlayPauseString10
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Left
X=250r
Y=0r
Text=%1
AntiAlias=1
LogSubstringErrors=0

[User10NowPlaying]
Hidden=1
Group=activated
Meter=String
MeasureName=MeasurePlexPyNowPlayingString10
FontColor=255,255,255
FontSize=#UserFontSize#
FontFace=#Font#
StringAlign=Right
X=400r
Y=0r
Text=%1
AntiAlias=1
ClipString=1
W=340
LogSubstringErrors=0

[MeterStreamCount]
; Displays the stream count. Double-clicking on the number takes you to
; the PlexPy home page.
Meter=String
MeterStyle=StyleBigText
MeasureName=MeasurePlexPyStreamCount
FontColor=255,255,255
FontSize=16
FontFace=#Font#
StringAlign=Center
X=(#LeftPadding#+450)
Y=#TopPadding#
Text=%1
LeftMouseDoubleClickAction=["http://#PlexPyAddress#/home"]
AntiAlias=1
LogSubstringErrors=0

[OneStream]
; Displays the word "Stream". Double-clicking takes you to the PlexPy
; home page.
Meter=String
MeterStyle=StyleSmallText
FontColor=255,255,255
FontSize=16
FontFace=#Font#
StringAlign=Center
X=(#LeftPadding#+450)
Y=(#TopPadding#+22)
Text="Stream"
LeftMouseDoubleClickAction=["http://#PlexPyAddress#/home"]
AntiAlias=1
LogSubstringErrors=0

[Streams]
; Displays the word "Streams". Double-clicking takes you to the PlexPy
; home page.
Hidden=1
Meter=String
MeterStyle=StyleSmallText
FontColor=255,255,255
FontSize=16
FontFace=#Font#
StringAlign=Center
X=(#LeftPadding#+448)
Y=(#TopPadding#+22)
Text="Streams"
LeftMouseDoubleClickAction=["http://#PlexPyAddress#/home"]
AntiAlias=1
LogSubstringErrors=0

[MeterTranscodeCount]
; Displays the transcode count. Double-clicking on the number takes you to
; the PlexPy home page.
Meter=String
MeterStyle=StyleBigText
MeasureName=MeasurePlexPyTranscodeCount
StringAlign=Center
FontColor=255,255,255
FontSize=16
FontFace=#Font#
X=(#LeftPadding#+610)
Y=#TopPadding#
Text=%1
LeftMouseDoubleClickAction=["http://#PlexPyAddress#/home"]
AntiAlias=1


[OneTranscode]
; Displays the word "Transcode". Double-clicking takes you to the PlexPy
; home page.
Hidden=1
Meter=String
MeterStyle=StyleSmallText
X=(#LeftPadding#+560)
Y=(#TopPadding#+22)
FontColor=255,255,255
FontSize=16
FontFace=#Font#
Text="Transcode"
LeftMouseDoubleClickAction=["http://#PlexPyAddress#/home"]
AntiAlias=1


[Transcodes]
; Displays the word "Transcodes". Double-clicking takes you to the PlexPy
; home page.

Meter=String
MeterStyle=StyleSmallText
X=(#LeftPadding#+558)
Y=(#TopPadding#+22)
FontColor=255,255,255
FontSize=16
FontFace=#Font#
Text="Transcodes"
LeftMouseDoubleClickAction=["http://#PlexPyAddress#/home"]
AntiAlias=1


[MeasurePlexPyTranscodeProgress]
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)(?(?=.*"transcode_progress\":.\.*).*"transcode_progress\":.(.*),)
UpdateRate=#RefreshRate#
Substitute="":"0"
LogSubstringErrors=0

[MeasurePlexPyTranscodeProgressNumber1]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=1
MinValue=0
MaxValue=100
[MeasurePlexPyTranscodeProgressNumber2]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=2
MinValue=0
MaxValue=100
[MeasurePlexPyTranscodeProgressNumber3]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=3
MinValue=0
MaxValue=100
[MeasurePlexPyTranscodeProgressNumber4]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=4
MinValue=0
MaxValue=100
[MeasurePlexPyTranscodeProgressNumber5]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=5
MinValue=0
MaxValue=100
[MeasurePlexPyTranscodeProgressNumber6]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=6
MinValue=0
MaxValue=100
[MeasurePlexPyTranscodeProgressNumber7]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=7
MinValue=0
MaxValue=100
[MeasurePlexPyTranscodeProgressNumber8]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=8
MinValue=0
MaxValue=100
[MeasurePlexPyTranscodeProgressNumber9]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=9
MinValue=0
MaxValue=100
[MeasurePlexPyTranscodeProgressNumber10]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyTranscodeProgress]
StringIndex=10
MinValue=0
MaxValue=100

[MeterTranscodeProgressBar1]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber1
Meter=BAR
X=(#LeftPadding#+20)
Y=85
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal
[MeterTranscodeProgressBar2]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber2
Meter=BAR
X=(#LeftPadding#+20)
Y=100
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal
[MeterTranscodeProgressBar3]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber3
Meter=BAR
X=(#LeftPadding#+20)
Y=115
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal
[MeterTranscodeProgressBar4]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber4
Meter=BAR
X=(#LeftPadding#+20)
Y=130
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal
[MeterTranscodeProgressBar5]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber5
Meter=BAR
X=(#LeftPadding#+20)
Y=145
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal
[MeterTranscodeProgressBar6]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber6
Meter=BAR
X=(#LeftPadding#+20)
Y=160
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal
[MeterTranscodeProgressBar7]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber7
Meter=BAR
X=(#LeftPadding#+20)
Y=175
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal
[MeterTranscodeProgressBar8]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber8
Meter=BAR
X=(#LeftPadding#+20)
Y=190
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal
[MeterTranscodeProgressBar9]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber9
Meter=BAR
X=(#LeftPadding#+20)
Y=205
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal
[MeterTranscodeProgressBar10]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyTranscodeProgressNumber10
Meter=BAR
X=(#LeftPadding#+20)
Y=220
W=648
H=2
BarColor=150,150,150,255
BarOrientation=Horizontal

; ------------------------------------------------------------------------
; ------------------------------------------------------------------------
; Progress Bar Monitoring
; ------------------------------------------------------------------------
; ------------------------------------------------------------------------

[MovieThumbnail]
Measure=Plugin
Plugin=WebParser
Url=http://#PlexPyAddress#/api/v2?apikey=#APIKey#&cmd=pms_image_proxy&img=[MeasurePlexPyMovieIcons]
StringIndex=1
DynamicVariables=1
Download=1
DownloadFile=Number 1.ico

[MovieIcon1Image]
Disabled=1
Measure=Plugin
Plugin=WebParser
Meter=Image
MeasureName=MovieThumbnail
X=5
Y=5
W=30
PreserveAspectRatio=1

[MeasurePlexPyProgress]
Group=activated
; Polls the PlexPy API for current activity and parses the JSON output.
; Returns the current stream count as StringIndex 1 and the rest of the
; JSON output as StringIndex 2.
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPy]
RegExp=(?siU)(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")(?(?=.*"progress_percent\":.\".*\").*"progress_percent\":.\"(.*)\")
Substitute="":"0"
DynamicVariables=1

UpdateRate=#RefreshRate#
LogSubstringErrors=0



[MeasurePlexPyProgressNumber1]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=1
MinValue=0
MaxValue=100
DynamicVariables=1
Substitute="":"0"


[MeterProgressBar1Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=70
W=656
H=16
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString1] ([MeasurePlexPyNowPlayingYearString1])
ToolTipIcon=#@#\DownloadFile\[MeasurePlexPyNowPlayingString1].ico
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString1]#CRLF#Playback Device: [MeasurePlexPyPlayerString1]#CRLF#IP: [MeasurePlexPyIpAddressString1]#CRLF#[MeasurePlexPyTranscodeProgressNumber1]% Transcoded
DynamicVariables=1
Disabled=1


[MeterProgressBar1]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyProgressNumber1
Meter=BAR
X=(#LeftPadding#+20)
Y=85
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1
DynamicVariables=1
Substitute="":"0"







[MeasurePlexPyProgressNumber2]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=2
MinValue=0
MaxValue=100
DynamicVariables=1
Substitute="":"0"

[MeterProgressBar2Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=90
W=656
H=15
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString2] ([MeasurePlexPyNowPlayingYearString2])
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString2]#CRLF#Playback Device: [MeasurePlexPyPlayerString2]#CRLF#IP: [MeasurePlexPyIpAddressString2]#CRLF#[MeasurePlexPyTranscodeProgressNumber2]% Transcoded
DynamicVariables=1
Disabled=1


[MeterProgressBar2]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyProgressNumber2
Meter=BAR
X=(#LeftPadding#+20)
Y=100
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1
DynamicVariables=1

[MeasurePlexPyProgressNumber3]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=3
MinValue=0
MaxValue=100
Substitute="":"0"

[MeterProgressBar3Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=100
W=656
H=15
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString3] ([MeasurePlexPyNowPlayingYearString3])
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString3]#CRLF#Playback Device: [MeasurePlexPyPlayerString3]#CRLF#IP: [MeasurePlexPyIpAddressString3]#CRLF#[MeasurePlexPyTranscodeProgressNumber3]% Transcoded
DynamicVariables=1
Disabled=1

[MeterProgressBar3]
Hidden=1
Group=activated | MeterProgressBar3Group
MeasureName=MeasurePlexPyProgressNumber3
Meter=BAR
X=(#LeftPadding#+20)
Y=115
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1
DynamicVariables=1
MinValue=0
MaxValue=100
;IfCondition=MeterProgressBar3 >= 0
;IfTrueAction=[!HideGroup MeterProgressBar3Group]

[MeasurePlexPyProgressNumber4]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=4
MinValue=0
MaxValue=100
Substitute="":"0"

[MeterProgressBar4Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=115
W=656
H=15
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString4] ([MeasurePlexPyNowPlayingYearString4])
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString4]#CRLF#Playback Device: [MeasurePlexPyPlayerString4]#CRLF#IP: [MeasurePlexPyIpAddressString4]#CRLF#[MeasurePlexPyTranscodeProgressNumber4]% Transcoded
DynamicVariables=1
Disabled=1

[MeterProgressBar4]
Hidden=1
Group=activated | MeterProgressBar4Group
MeasureName=MeasurePlexPyProgressNumber4
Meter=BAR
X=(#LeftPadding#+20)
Y=130
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1
;IfCondition=MeterProgressBar4 >= 0
;IfTrueAction=[!HideGroup MeterProgressBar4Group]

[MeasurePlexPyProgressNumber5]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=5
MinValue=0
MaxValue=100
Substitute="":"0"

[MeterProgressBar5Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=130
W=656
H=16
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString5] ([MeasurePlexPyNowPlayingYearString5])
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString5]#CRLF#Playback Device: [MeasurePlexPyPlayerString5]#CRLF#IP: [MeasurePlexPyIpAddressString5]#CRLF#[MeasurePlexPyTranscodeProgressNumber5]% Transcoded
DynamicVariables=1
Disabled=1

[MeterProgressBar5]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyProgressNumber5
Meter=BAR
X=(#LeftPadding#+20)
Y=145
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1

[MeasurePlexPyProgressNumber6]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=6
MinValue=0
MaxValue=100
Substitute="":"0"

[MeterProgressBar6Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=145
W=656
H=16
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString6] ([MeasurePlexPyNowPlayingYearString6])
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString6]#CRLF#Playback Device: [MeasurePlexPyPlayerString6]#CRLF#IP: [MeasurePlexPyIpAddressString6]#CRLF#[MeasurePlexPyTranscodeProgressNumber6]% Transcoded
DynamicVariables=1
Disabled=1

[MeterProgressBar6]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyProgressNumber6
Meter=BAR
X=(#LeftPadding#+20)
Y=160
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1


[MeasurePlexPyProgressNumber7]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=7
MinValue=0
MaxValue=100
Substitute="":"0"

[MeterProgressBar7Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=160
W=656
H=16
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString7] ([MeasurePlexPyNowPlayingYearString7])
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString7]#CRLF#Playback Device: [MeasurePlexPyPlayerString7]#CRLF#IP: [MeasurePlexPyIpAddressString7]#CRLF#[MeasurePlexPyTranscodeProgressNumber7]% Transcoded
DynamicVariables=1
Disabled=1

[MeterProgressBar7]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyProgressNumber7
Meter=BAR
X=(#LeftPadding#+20)
Y=175
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1


[MeasurePlexPyProgressNumber8]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=8
MinValue=0
MaxValue=100
Substitute="":"0"

[MeterProgressBar8Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=175
W=656
H=16
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString8] ([MeasurePlexPyNowPlayingYearString8])
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString8]#CRLF#Playback Device: [MeasurePlexPyPlayerString8]#CRLF#IP: [MeasurePlexPyIpAddressString8]#CRLF#[MeasurePlexPyTranscodeProgressNumber8]% Transcoded
DynamicVariables=1
Disabled=1

[MeterProgressBar8]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyProgressNumber8
Meter=BAR
X=(#LeftPadding#+20)
Y=190
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1


[MeasurePlexPyProgressNumber9]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=9
MinValue=0
MaxValue=100
Substitute="":"0"

[MeterProgressBar9Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=190
W=656
H=16
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString9] ([MeasurePlexPyNowPlayingYearString9])
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString9]#CRLF#Playback Device: [MeasurePlexPyPlayerString9]#CRLF#IP: [MeasurePlexPyIpAddressString9]#CRLF#[MeasurePlexPyTranscodeProgressNumber9]% Transcoded
DynamicVariables=1
Disabled=1

[MeterProgressBar9]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyProgressNumber9
Meter=BAR
X=(#LeftPadding#+20)
Y=205
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1


[MeasurePlexPyProgressNumber10]
Group=activated
Measure=Plugin
Plugin=WebParser
Url=[MeasurePlexPyProgress]
StringIndex=10
MinValue=0
MaxValue=100
Substitute="":"0"

[MeterProgressBar10Transparent]
Hidden=1
Group=activated
Meter=Shape
X=(#LeftPadding#+20)
Y=205
W=656
H=16
AntiAlias=1
ToolTipTitle=[MeasurePlexPyNowPlayingString10] ([MeasurePlexPyNowPlayingYearString10])
ToolTipType=1
;ToolTipIcon=INFO
ToolTipText=Quality: [MeasurePlexPyResolutionString10]#CRLF#Playback Device: [MeasurePlexPyPlayerString10]#CRLF#IP: [MeasurePlexPyIpAddressString10]#CRLF#[MeasurePlexPyTranscodeProgressNumber10]% Transcoded
DynamicVariables=1
Substitute="":"Nothing is Currently Playing"
Disabled=1

[MeterProgressBar10]
Hidden=1
Group=activated
MeasureName=MeasurePlexPyProgressNumber10
Meter=BAR
X=(#LeftPadding#+20)
Y=220
W=656
H=2
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1

[MeterOverallText]
Hidden=1
Group=activated
Meter=String
X=(#LeftPadding#+335)
Y=245
W=656
H=20
StringAlign=Center
FontColor=255,255,255,255
StringStyle=Bold
FontSize=14
AntiAlias=1
Text=Overall  Progress

[CalcMeasureProgressOverall]
Measure=Calc
Formula=(MeasurePlexPyProgressNumber1 + MeasurePlexPyProgressNumber2  + MeasurePlexPyProgressNumber3 + MeasurePlexPyProgressNumber4  + MeasurePlexPyProgressNumber5+ MeasurePlexPyProgressNumber6 + MeasurePlexPyProgressNumber7 +  MeasurePlexPyProgressNumber8 + MeasurePlexPyProgressNumber9 + MeasurePlexPyProgressNumber10) / MeasurePlexPyStreamCount 
MinValue=0
MaxValue=100

[CalcMeasureTranscodingProgressOverall]
Measure=Calc
Formula=(MeasurePlexPyTranscodeProgressNumber1 + MeasurePlexPyTranscodeProgressNumber2  + MeasurePlexPyTranscodeProgressNumber3 + MeasurePlexPyTranscodeProgressNumber4  + MeasurePlexPyTranscodeProgressNumber5+ MeasurePlexPyTranscodeProgressNumber6 + MeasurePlexPyTranscodeProgressNumber7 +  MeasurePlexPyTranscodeProgressNumber8 + MeasurePlexPyTranscodeProgressNumber9 + MeasurePlexPyTranscodeProgressNumber10) / MeasurePlexPyStreamCount 
MinValue=0
MaxValue=100

[MeterTranscodeProgressBarOverall]
Hidden=1
Group=activated
MeasureName=CalcMeasureTranscodingProgressOverall
Meter=BAR
X=(#LeftPadding#+20)
Y=265
W=656
H=4
BarColor=150,150,150,255
BarOrientation=Horizontal
AntiAlias=1
Substitute="0":""

[MeterProgressBarOverall]
Hidden=1
Group=activated
MeasureName=CalcMeasureProgressOverall
Meter=BAR
X=(#LeftPadding#+20)
Y=265
W=656
H=4
BarColor=185,250,160,255
BarOrientation=Horizontal
AntiAlias=1
Substitute="0":""

;Substitute Abbreviations.
;Substitute="sd":"480p"|"1080":"1080p"|"720":"720p"|"4k":"4K ULTRA HD"
Please bear with me as all the code is not in its prettiest form and note that all the comments may not be correct for the things they are describing. I havent had time to run through and Comment on everything yet.

I have been at this for a while now and its killing me guys! You all have been such a great help by the way!
User avatar
balala
Rainmeter Sage
Posts: 16109
Joined: October 11th, 2010, 6:27 pm
Location: Gheorgheni, Romania

Re: Web Parsing a Redirect

Post by balala »

limitless wrote:But I am going to post my whole code. While its long.. It will give you some insight to what I have going on and why its not doing as told. I am trying here!! :? :oops:
Doesn't help too much. The code has an included file (the @Include1=#@#plexpyvariables.ini option of the [Variables] section) which probably contains some variables like PlexPyAddress, APIKey and so on. These variables are absolutely necessary, without them, the code can't work. You should post the included file too, or even better, you should pack the config and upload it.
Just another side note, usually the included files (which contains additional variables) would be better to be inc files, instead of ini.
Post Reply