<?xml version="1.0" encoding="utf-8"?>
<!--C:\Users\Administrator\Desktop\VcCollection_New Plex.xml-->
<!--This groupCollection xml file was exported from VoxCommando-->
<VoiceCommands version="2.1.4.5">
    <groupCollection open="True" name="New Plex">
        <commandGroup open="False" name="PLEX Admin 2.0.0" enabled="True" prefix="" priority="0" requiredProcess="" description="">
            <command id="324" name="Generate PLEX map" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Change IP_Serv and Port_Serv values to your own Plex Server IP and port information.&#xD;&#xA;&#xD;&#xA;NOTE: Your Plex Client needs to be running for this command to work.">
                <action>
                    <cmdType>Map.DropTable</cmdType>
                    <params>
                        <param>plexClients</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.CreateTable</cmdType>
                    <params>
                        <param>plex</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>plex</param>
                        <param>Server</param>
                        <param>YOUR IP HERE</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>plex</param>
                        <param>Port_serv</param>
                        <param>32400</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}?X-Plex-Token={M:plex.Auth_token}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>machineIdentifier="(.*?)"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>plex</param>
                        <param>ID_serv</param>
                        <param>{Match.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/clients?X-Plex-Token={M:plex.Auth_token}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>name="(.*?)".*?address="(.*?)".port="(.*?)".machineIdentifier="(.*?)"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.CreateTable</cmdType>
                    <params>
                        <param>plexClients</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>plexClients</param>
                        <param>Client_name0{i}</param>
                        <param>{Match.{i}.1}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>plexClients</param>
                        <param>Client_ip0{i}</param>
                        <param>{Match.{i}.2}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>plexClients</param>
                        <param>Port_client0{i}</param>
                        <param>{Match.{i}.3}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>plexClients</param>
                        <param>ID_client0{i}</param>
                        <param>{Match.{i}.4}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>PlexClients</param>
                        <param>NUM_clients</param>
                        <param>{#M}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>PlexClients</param>
                        <param>Default_Client</param>
                        <param>01</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.SetVar</cmdType>
                    <params>
                        <param>DefaultClient</param>
                        <param>{M:plexClients.Default_Client}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Generate PLEX map</phrase>
                <event>VC.Loaded</event>
            </command>
            <command id="507" name="Update Libraries" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="This sends request to force update Plex Libraries">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/library/sections/?X-Plex-Token={M:plex.Auth_token}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>key="(.*?)"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/library/sections/{i}/refresh?X-Plex-Token={M:plex.Auth_token}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>Updating Plex Libraries</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>update</phrase>
                <phrase>plex, libraries, library</phrase>
            </command>
            <command id="445" name="Generate plex xml VC2.0.0" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="This command requires VC version 2.0.0.0 Release Candidate 1 or higher.&#xD;&#xA;&#xD;&#xA;Verify that the 3 actions that set the variables for the music, TV, and movie sections in this command are correct. If needed, you can verify them via http://[yourPlexServerIPaddress]:32400/library/sections/ in your web browser. &#xD;&#xA;&#xD;&#xA;This command generates Plex payload xml files for movies, TV shows, and music artists. ">
                <action>
                    <cmdType>Map.DropTable</cmdType>
                    <params>
                        <param>TEMPMOVIES</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.DropTable</cmdType>
                    <params>
                        <param>TEMPTV</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.CreateTable</cmdType>
                    <params>
                        <param>TEMPMOVIES</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.CreateTable</cmdType>
                    <params>
                        <param>TEMPTV</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PayloadXML.Clear</cmdType>
                    <params>
                        <param>PlexPayloads\plexMovies.xml</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/library/sections?X-Plex-Token={M:plex.Auth_token}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>key="(.*?)".type="movie"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.SetVar</cmdType>
                    <params>
                        <param>MOVIESEC{i}</param>
                        <param>{Match.{i}.1}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <loop>
                    <loopParams>
                        <from>1</from>
                        <to>{#M}</to>
                    </loopParams>
                    <loopActions>
                        <action>
                            <cmdType>Scrape</cmdType>
                            <params>
                                <param>http://{M:plex.Server}:{M:plex.Port_serv}/library/sections/{Var.MOVIESEC{j}}/all?X-Plex-Token={M:plex.Auth_token}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Results.Replace</cmdType>
                            <params>
                                <param>&amp;apos;</param>
                                <param>'</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Results.RegEx</cmdType>
                            <params>
                                <param>ratingKey="(.*?)".*?title="(.*?)"</param>
                                <param><![CDATA[ ]]></param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Results.MatchToMap</cmdType>
                            <params>
                                <param>TEMPMOVIES</param>
                                <param>False</param>
                                <param>True</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </loopActions>
                </loop>
                <action>
                    <cmdType>Map.ExportPayloadXML</cmdType>
                    <params>
                        <param>PlexPayloads\plexMovies.xml</param>
                        <param>TEMPMOVIES</param>
                        <param>True</param>
                        <param>True</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PayloadXML.Clear</cmdType>
                    <params>
                        <param>PlexPayloads\plexTV.xml</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/library/sections?X-Plex-Token={M:plex.Auth_token}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>key="(.*?)".type="show"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.SetVar</cmdType>
                    <params>
                        <param>TVSEC{i}</param>
                        <param>{Match.{i}.1}</param>
                    </params>
                    <cmdRepeat>{#M}</cmdRepeat>
                </action>
                <loop>
                    <loopParams>
                        <from>1</from>
                        <to>{#M}</to>
                    </loopParams>
                    <loopActions>
                        <action>
                            <cmdType>Scrape</cmdType>
                            <params>
                                <param>http://{M:plex.Server}:{M:plex.Port_serv}/library/sections/{Var.TVSEC{j}}/all?X-Plex-Token={M:plex.Auth_token}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Results.Replace</cmdType>
                            <params>
                                <param>&amp;apos;</param>
                                <param>'</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Results.RegEx</cmdType>
                            <params>
                                <param>ratingKey="(.*?)".*?title="(.*?)"</param>
                                <param><![CDATA[ ]]></param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Results.MatchToMap</cmdType>
                            <params>
                                <param>TEMPTV</param>
                                <param>False</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </loopActions>
                </loop>
                <action>
                    <cmdType>Map.ExportPayloadXML</cmdType>
                    <params>
                        <param>PlexPayloads\plexTV.xml</param>
                        <param>TEMPTV</param>
                        <param>True</param>
                        <param>True</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Generate plex xml</phrase>
            </command>
            <command id="462" name="Generate song xml VC2.0.0" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Uses new Results.MatchToXML action, only available in VC version number 2.0 (Release Candidate 1) or higher.">
                <action>
                    <cmdType>Results.SetVar</cmdType>
                    <params>
                        <param>sectionMusic</param>
                        <param>1</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PayloadXML.Clear</cmdType>
                    <params>
                        <param>PlexPayloads\plexSongs.xml</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/library/sections/{Var.sectionMusic}/search?type=10</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.Replace</cmdType>
                    <params>
                        <param>&amp;apos;</param>
                        <param>'</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>ratingKey="(.*?)".*?title="(.*?)"</param>
                        <param><![CDATA[ ]]></param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.MatchToXML</cmdType>
                    <params>
                        <param>PlexPayloads\plexSongs.xml</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Generate song xml</phrase>
            </command>
            <command id="364" name="Generate Auth Token" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>PY.ExecFile</cmdType>
                    <params>
                        <param>PY\plexAuth.py</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>plex</param>
                        <param>Auth_token</param>
                        <param>{LastResult}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>TTSMS.Speak</cmdType>
                    <params>
                        <param>Authentication Token Updated</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>update, get, generate</phrase>
                <phrase optional="true">new</phrase>
                <phrase>auth token</phrase>
                <event>VC.Loaded</event>
            </command>
            <command id="300" name="Generate Client Payload" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Map.DropTable</cmdType>
                    <params>
                        <param>TempClients</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Map.CreateTable</cmdType>
                    <params>
                        <param>TempClients</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PayloadXML.Clear</cmdType>
                    <params>
                        <param>PlexPayloads\plexClients.xml</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <loop>
                    <loopParams>
                        <from>1</from>
                        <to>{M:plexClients.NUM_clients}</to>
                    </loopParams>
                    <loopActions>
                        <action>
                            <cmdType>Map.Get</cmdType>
                            <params>
                                <param>plexClients</param>
                                <param>Client_name0{j}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Results.SetVar</cmdType>
                            <params>
                                <param>Clientname</param>
                                <param>{LastResult}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Map.Set</cmdType>
                            <params>
                                <param>TempClients</param>
                                <param>0{j}</param>
                                <param>{Var.Clientname}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </loopActions>
                </loop>
                <action>
                    <cmdType>Map.ExportPayloadXML</cmdType>
                    <params>
                        <param>PlexPayloads\plexClients.xml</param>
                        <param>TempClients</param>
                        <param>True</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Generate Client Payload</phrase>
            </command>
            <command id="280" name="Default Client" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Map.Set</cmdType>
                    <params>
                        <param>plexClients</param>
                        <param>Default_Client</param>
                        <param>{1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.SetVar</cmdType>
                    <params>
                        <param>DefaultClient</param>
                        <param>{1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase optional="true">Change, set</phrase>
                <phrase>default client</phrase>
                <phrase optional="true">to</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">PlexPayloads\plexClients.xml</payloadFromXML>
            </command>
        </commandGroup>
        <commandGroup open="False" name="PLEX Playback" enabled="True" prefix="" priority="0" requiredProcess="" description="">
            <command id="264" name="Pause or play" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <if ifBlockDisabled="False" ifNot="False">
                    <ifType>(A)&lt;(B)</ifType>
                    <ifParams>{#P}&amp;&amp;2</ifParams>
                    <then>
                        <action>
                            <cmdType>Scrape</cmdType>
                            <params>
                                <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plexClients.Client_ip{Var.DefaultClient}}/playback/{1}?X-Plex-Token={M:plex.Auth_token}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </then>
                    <else>
                        <action>
                            <cmdType>scrape</cmdType>
                            <params>
                                <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plexClients.Client_ip{2}}/playback/{1}?X-Plex-Token={M:plex.Auth_token}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </else>
                </if>
                <payloadList>pause,stop,play</payloadList>
                <phrase>movie, TV show, track, song, playback</phrase>
                <phrase optional="true">on</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="True">PlexPayloads\plexClients.xml</payloadFromXML>
            </command>
            <command id="278" name="Rewind" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/playback/stepBack</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Step back, go back, rewind</phrase>
            </command>
            <command id="292" name="Fast forward" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/playback/stepForward</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Step forward, Go forward, Fast forward</phrase>
            </command>
            <command id="299" name="Previous track" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Skips to previous track or video in a queue.">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/playback/skipPrevious</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Previous, play previous, skip to previous</phrase>
                <phrase optional="true">episode, track, song, item</phrase>
            </command>
            <command id="318" name="Next track" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="Skips to next track or video in a queue.">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/playback/skipPrevious</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Next, skip to next</phrase>
                <phrase optional="true">episode, track, song, item</phrase>
            </command>
        </commandGroup>
        <commandGroup open="False" name="PLEX play media" enabled="True" prefix="" priority="0" requiredProcess="" description="">
            <command id="276" name="Play movie {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <if ifBlockDisabled="False" ifNot="False">
                    <ifType>(A)&lt;(B)</ifType>
                    <ifParams>{#P}&amp;&amp;2</ifParams>
                    <then>
                        <action>
                            <cmdType>TTSMS.Speak</cmdType>
                            <params>
                                <param>Playing Movie {PF.1} on Default Client</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>OSD.ShowText</cmdType>
                            <params>
                                <param>Playing movie {PF.1} on default device{M:plexClients.Default_Client}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Scrape</cmdType>
                            <params>
                                <param>http://{M:plexClients.Client_ip{Var.DefaultClient}}:{M:plexClients.Port_client{Var.DefaultClient}}/player/playback/playMedia?key=/library/metadata/{1}&amp;offset=0&amp;X-Plex-Client-Identifier={M:plexClients.ID_client{Var.DefaultClient}}&amp;machineIdentifier={M:plex.ID_serv}&amp;address={M:plex.Server}&amp;port={M:plex.Port_serv}&amp;protocol=http&amp;path=http://{M:plex.Server}:{M:plex.Port_serv}/library/metadata/{1}&amp;X-Plex-Token={M:plex.Auth_token}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </then>
                    <else>
                        <action>
                            <cmdType>TTSMS.Speak</cmdType>
                            <params>
                                <param>Playing Movie {PF.1} on {PF.2}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>OSD.ShowText</cmdType>
                            <params>
                                <param>Playing movie {PF.1} on {PF.2}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                        <action>
                            <cmdType>Scrape</cmdType>
                            <params>
                                <param>http://{M:plexClients.Client_ip{2}}:{M:plexClients.Port_client{2}}/player/playback/playMedia?key=/library/metadata/{1}&amp;offset=0&amp;X-Plex-Client-Identifier={M:plexClients.ID_client{2}}&amp;machineIdentifier={M:plex.ID_serv}&amp;address={M:plex.Server}&amp;port={M:plex.Port_serv}&amp;protocol=http&amp;path=http://{M:plex.Server}:{M:plex.Port_serv}/library/metadata/{1}&amp;X-Plex-Token={M:plex.Auth_token}</param>
                            </params>
                            <cmdRepeat>1</cmdRepeat>
                        </action>
                    </else>
                </if>
                <phrase>Play</phrase>
                <phrase>movie, video, film</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">PlexPayloads\plexMovies.xml</payloadFromXML>
                <phrase optional="true">on</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="True">PlexPayloads\plexClients.xml</payloadFromXML>
            </command>
            <command id="319" name="Play next episode of {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/library/metadata/{1}/allLeaves?unwatched=1</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.RegEx</cmdType>
                    <params>
                        <param>ratingKey="(.*?)".*?title="(.*?)"</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>VC.TriggerEvent</cmdType>
                    <params>
                        <param>playFile</param>
                        <param>{PF.1} episode</param>
                        <param>{Match.1.2}</param>
                        <param>{Match.1.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase optional="true">Play</phrase>
                <phrase>next episode of</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">PlexPayloads\plexTV.xml</payloadFromXML>
            </command>
            <command id="288" name="Play song {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>VC.TriggerEvent</cmdType>
                    <params>
                        <param>playFile</param>
                        <param>song</param>
                        <param>{PF.1}</param>
                        <param>{1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Play song</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">PlexPayloads\plexSongs.xml</payloadFromXML>
            </command>
            <command id="323" name="trigger play file" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>Playing {1} {2}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Client01}:{M:plex.Port_client01}/player/playback/playMedia?key=/library/metadata/{3}&amp;offset=0&amp;X-Plex-Client-Identifier={M:plex.ID_Client01}&amp;machineIdentifier={M:plex.ID_Serv}&amp;address={M:plex.Server}&amp;port={M:plex.Port_serv}&amp;protocol=http&amp;path=http://{M:plex.Server}:{M:plex.Port_serv}/library/metadata/{3}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <event>playFile</event>
            </command>
            <command id="465" name="Resume Playback" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="This will direct play a library title. Obviously requires familiarity if a particular title exists but then may simple direct fling title to client for immediate playback">
                <action>
                    <cmdType>Map.GetKey</cmdType>
                    <params>
                        <param>plexMovie</param>
                        <param>{PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>TTS.Speak</cmdType>
                    <params>
                        <param>Resuming movie {PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Results.SetVar</cmdType>
                    <params>
                        <param>playMovie</param>
                        <param>{LastResult}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/library/metadata/{var.playMovie}?checkFiles=1&amp;includeExtras=1&amp;X-Plex-Token={M:plex.Auth_token}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>File.Write</cmdType>
                    <params>
                        <param>PlexPayloads\offset.xml</param>
                        <param>{LastResult}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>PY.ExecFile</cmdType>
                    <params>
                        <param>PY\getMovieOffset.py</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>OSD.ShowText</cmdType>
                    <params>
                        <param>{lastResult}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{Var.Server}:32400/system/players/{Var.Client}/application/playMedia?path=http%3A%2F%2F{Var.Server}%3A32400%2Flibrary%2Fsections%2F{Var.sectionMovie}%2Fall&amp;key=%2Flibrary%2Fmetadata%2{LastResult}</param>
                    </params>
                    <cmdRepeat>0</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{Var.Client}:{Var.ClientPort}/player/playback/playMedia?key=%2Flibrary%2Fmetadata%2F{var.playMovie}&amp;offset={LastResult}&amp;X-Plex-Client-Identifier={Var.ClientID}&amp;machineIdentifier={Var.ServerID}&amp;address={Var.Server}&amp;port=32400&amp;protocol=http&amp;path=http%3A%2F%2F{Var.Server}%3A32400%2Flibrary%2Fmetadata%2F{var.playMovie}&amp;X-Plex-Token={Var.authToken}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Resume</phrase>
                <phrase>film, films, movie, movies</phrase>
                <payloadFromXML phraseOnly="True" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="True">PlexPayloads\plexMovies.xml</payloadFromXML>
            </command>
        </commandGroup>
        <commandGroup open="False" name="PLEX Navigation" enabled="True" prefix="" priority="0" requiredProcess="" description="">
            <command id="340" name="Go {1}{2}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/{1}</param>
                    </params>
                    <cmdRepeat>{2}</cmdRepeat>
                </action>
                <phrase>Go, Move, Scroll</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">PlexPayloads\plexDirections.xml</payloadFromXML>
                <payloadRange>1,10</payloadRange>
            </command>
            <command id="274" name="Toggle OSD" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/toggleOSD</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Show, Hide</phrase>
                <phrase>info</phrase>
            </command>
            <command id="301" name="Context menu" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/contextMenu</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Context menu</phrase>
            </command>
            <command id="287" name="Select" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/select</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Select</phrase>
                <phrase optional="true">track, song, album, movie</phrase>
            </command>
            <command id="459" name="next or previous letter" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/{1}Letter</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <payloadList>next, previous</payloadList>
                <phrase>letter</phrase>
            </command>
            <command id="460" name="Home menu" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="If you are running the Plex client on the same computer as VC, you can also try keyboard emulation instead.&#xD;&#xA;&#xD;&#xA;See https://support.plex.tv/hc/en-us/articles/201670487-Keyboard-Shortcuts for some keys you can try.">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/HOME</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Home menu, Go home</phrase>
            </command>
            <command id="298" name="Focus Plex" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Window.Focus</cmdType>
                    <params>
                        <param>Plex Home Theater</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <phrase>Focus Plex</phrase>
            </command>
        </commandGroup>
        <commandGroup open="False" name="Find media (different machine)" enabled="True" prefix="" priority="0" requiredProcess="" description="">
            <command id="358" name="++Find movie {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/select</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>TTS.SpeakSync</cmdType>
                    <params>
                        <param>Finding {PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/application/sendString?text={PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>vc.pause</cmdType>
                    <params>
                        <param>600</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/moveRight</param>
                    </params>
                    <cmdRepeat>9</cmdRepeat>
                </action>
                <phrase>Find movie</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">PlexPayloads\plexMovies.xml</payloadFromXML>
            </command>
            <command id="353" name="++Find artist {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/select</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>TTS.SpeakSync</cmdType>
                    <params>
                        <param>Finding {PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/application/sendString?text={PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>vc.pause</cmdType>
                    <params>
                        <param>600</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/moveRight</param>
                    </params>
                    <cmdRepeat>9</cmdRepeat>
                </action>
                <phrase>Find artist</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">PlexPayloads\plexArtists.xml</payloadFromXML>
            </command>
            <command id="381" name="++Find TV show {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/select</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>TTS.SpeakSync</cmdType>
                    <params>
                        <param>Finding {PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/application/sendString?text={PF.1}</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>vc.pause</cmdType>
                    <params>
                        <param>600</param>
                    </params>
                    <cmdRepeat>1</cmdRepeat>
                </action>
                <action>
                    <cmdType>Scrape</cmdType>
                    <params>
                        <param>http://{M:plex.Server}:{M:plex.Port_serv}/system/players/{M:plex.Client01}/navigation/moveRight</param>
                    </params>
                    <cmdRepeat>9</cmdRepeat>
                </action>
                <phrase>Find TV show</phrase>
                <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">PlexPayloads\plexTV.xml</payloadFromXML>
            </command>
        </commandGroup>
        <commandGroup open="False" name="Server commands" enabled="True" prefix="" priority="0" requiredProcess="" description="" />
    </groupCollection>
</VoiceCommands>