Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - PegLegTV

Pages: 1 2 [3] 4 5
31
Bug Reports / Scrape Fail causes VC.SetEventTimmer to repeat
« on: March 19, 2016, 02:36:49 AM »
I was trying to use VC.SetEventTimmer to trigger an event to run a command that had a Scrape action in it and it worked a couple times and then it would start to trigger the event again and again causing the command to repeated until I would force close VC,

after some testing I found that it happens if the first Scrape action fails, I know this seems confusing partially because its so bizarre and because its hard to explain  :bonk

so I created a group that you can run to see what I mean

in the second command there are two scrape actions the first one I set to a "fake" IP address so it would fail
the second IP is for my beam (you can change that IP address to your beam IP so they don't fail)

I also added an on screen counter to show how many times it repeats
I also added in VC.StopMacro so it should stop repeating after 3 times (it can still take VC about a minute to Respond after "3" is show on the OSD as it still needs to finish executing the command)

just execute the command called "Execute ME" this will set an event timer for 10 seconds to trigger the second command

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.6-->
<commandGroup open="True" name="Scrape Fail causes Repeat" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="443" name="Execute ME" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>VC.SetEventTimer</cmdType>
      <params>
        <param>10S</param>
        <param>Scrape</param>
        <param>1</param>
        <param>10</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>ScrapeRe</param>
        <param>0</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
  </command>
  <command id="1361" name="Scrape" 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>2&amp;&amp;{Var.ScrapeRe}</ifParams>
      <then>
        <action>
          <cmdType>VC.StopMacro</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <action>
      <cmdType>PY.ExecString</cmdType>
      <params>
        <param>result={Var.ScrapeRe}+1</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>ScrapeRe</param>
        <param>{LastResult}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.ShowText</cmdType>
      <params>
        <param>{Var.ScrapeRe}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>http://192.168.1.202/sendIR?p=NEC&amp;code=0x20df40bf</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>http://192.168.1.201/sendIR?p=NEC&amp;code=0x20df40bf</param>
      </params>
      <cmdRepeat>{2}</cmdRepeat>
    </action>
    <event>Scrape</event>
  </command>
</commandGroup>

running 2.2.1.6

Edit: If you want my log file let me know and I will PM it to you

32
Feature Requests / Rss feed for beta releases
« on: March 02, 2016, 03:01:40 PM »
this is more of a website feature request but I created a command for downloading the beta version of VC using PowerShell but I would like to automate it so it will download to my desktop when its released,

but if the Rss Feed has the right info we may be able to use Haddood's Generic File Downloader (my command for downloading VC Beta is the second post under Haddood's)


Thanks  :D

33
this does take a decent amount of setup but when finished you will be able to communicate with Voxcommando from inside and outside your local network with voice feedback

what you need

Extra Android device (More Below)
Tasker Full Version
AutoVoice Full Version
AutoRemoteFull Version
UDP sennder


the extra android device will need to be on your local network at all times(When ever you want to use this setup anyways), if it is a tablet or phone you will most likely need the screen to be on for this to work as most tablets cut wifi connection when the screen is off for an extended period,

NOTE:: it may be possible to use the Autoremote Evenghost plugin (I tried using it after I had this method setup, but I didn't have any luck. I may have been doing something wrong)

Just an update on this: I cannot send a message from our Android mobile device to the Eventghost plugin unless there's a local network connection. So, while I haven't been able to properly test a remote connection I strongly believe that anyone who wants to use the Eventghost option on their PC will need to use port forwarding if they want to send messages to their computer from a remote location.

... it is probably much simpler and more reliable to use the TCP plugin with a forwarded port to receive messages or commands from devices outside your LAN, or to use the mobile device solution if you don't mind running an Android device all the time...

this will also require redoing all of your TTS.Speak and TTS.SpeakSync Actions and converting them into a VC.TriggerEvent action (more on this below)

now that all the information to help you determin if it is worth doing is out of the way, here is a video showing a very quick demo and a full walk though on how to set things up on your two android devices:




In VC you will need to convert all of your TTS.Speak and TTS.Speaksync to-
Quote
VC.Triggerevent (Eventname) Speak {1} {Var.Sender} {2} TTS Method, {3} Text to speak
there are two examples in the "Example TTS / AutoRemote Event" command attached below

description of the attached commands:

"AutoRemote Map Setup Example" an example of how to setup your AutoRemote map tablet in VC

"Sender" this sets the Variable Sender to the name of the sender i.e. peglegs phone

"Sender Reset" this is used to set the sender back to PC

"TTS > PC/Phone" this action will either send AutoRemote message or TTS.speak/sync depending on the Sender

"Example TTS / AutoRemote Message" examples of how to setup VC.TriggerEvent for TTS and AutoRemote Messages


Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.6-->
<commandGroup open="True" name="AutoRemote to VC Communication" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="1417" name="AutoRemote Map Setup Example" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Map.CreateTable</cmdType>
      <params>
        <param>AutoRemote</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>AutoRemote</param>
        <param>your phone</param>
        <param>Your AutoRemote API Key for your phone Goes HERE</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>AutoRemote</param>
        <param>other AutoRemote Device</param>
        <param>Your AutoRemote API Key for other device Goes HERE</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
  </command>
  <command id="1056" name="Sender" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>Sender</param>
        <param>{1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.SetEventTimer</cmdType>
      <params>
        <param>30s</param>
        <param>Sender.Reset</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>Sender</event>
  </command>
  <command id="1040" name="Sender Reset" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>Sender</param>
        <param>PC</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>Sender.Reset</event>
  </command>
  <command id="1020" name="TTS &gt; PC/Phone" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="The First AutoRemote message is a blank, to make sure that Autoremote and tasker receive the message ">
    <if ifBlockDisabled="False" ifNot="True">
      <ifType>(A)==(B)</ifType>
      <ifParams>{Var.Sender}&amp;&amp;PC</ifParams>
      <then>
        <action>
          <cmdType>Scrape</cmdType>
          <params>
            <param>https://autoremotejoaomgcd.appspot.com/sendmessage?key={M:AutoRemote.{1}}&amp;message= </param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Scrape</cmdType>
          <params>
            <param>https://autoremotejoaomgcd.appspot.com/sendmessage?key={M:AutoRemote.{1}}&amp;message=VCSay=:={3}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>VC.SetEventTimer</cmdType>
          <params>
            <param>30s</param>
            <param>Sender.Reset</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>VC.StopMacro</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)==(B)</ifType>
      <ifParams>TTS&amp;&amp;{2}</ifParams>
      <then>
        <action>
          <cmdType>TTS.Speak</cmdType>
          <params>
            <param>{3}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else>
        <action>
          <cmdType>TTS.SpeakSync</cmdType>
          <params>
            <param>{3}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </else>
    </if>
    <event>Speak</event>
  </command>
  <command id="1041" name="Example TTS / AutoRemote Message" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>VC.TriggerEvent</cmdType>
      <params>
        <param>Speak</param>
        <param>{Var.Sender}</param>
        <param>TTS</param>
        <param>text to be spoken</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.TriggerEvent</cmdType>
      <params>
        <param>Speak</param>
        <param>{Var.Sender}</param>
        <param>TTSync</param>
        <param>text to be spoken</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
  </command>
</commandGroup>

34
Bug Reports / looping with events
« on: February 06, 2016, 06:12:27 PM »
I'm trying to use tasker to trigger an event for Scrolling (Left, Right, Up, Down) but when the event triggers it only executes the command once (XJson.Btn.KB) but if I use VC.Tellvox then the command will loop (I prefer using an event as it seems to have a little less delay before execution)

according to the wiki an event should work with looping
http://voxcommando.com/mediawiki/index.php?title=Logical_Command_Builder#Looping

this is the command that I'm using
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.4-->
<command id="286" name="scroll" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="True" loopDelay="300" loopMax="50" description="">
  <action>
    <cmdType>XJson.Btn.KB</cmdType>
    <params>
      <param>{1}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <phrase>scroll</phrase>
  <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\4directions.xml</payloadFromXML>
  <event>Scroll</event>
</command>

these are the two different VC api calls I'm using with tasker

executes only once
Code: [Select]
/Api/vc.triggerevent&&Scroll&&Right
executes and loops
Code: [Select]
/Api/vc.tellvox&&Scroll Right

35
Feature Requests / Windows username variable
« on: January 17, 2016, 02:36:02 AM »
nime5ter great tutorial,   :clap

I took a look at the commands and I noticed that in the command "5. Using payload XML in the macro, but not the voice command" you forget to change the file path

it reminded me that I wanted to make a feature request for a program variable for "Username" but forgot after I set it up using python

Var.username
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.1.4-->
<command id="1492" name="Var.username" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>PY.ExecString</cmdType>
    <params>
      <param>import getpass{CR}result=username = getpass.getuser()</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>Results.SetVar</cmdType>
    <params>
      <param>username</param>
      <param>{LastResult}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <event>VC.Loaded</event>
</command>


let me know if you want me to make a feature request

36
Feature Requests / SickBeard detect unfinished downloads
« on: December 30, 2015, 02:08:46 AM »
Sorry for the delayed response,

I'm working on a command that looks at Sickbeard snatched history and then checks each show that is listed in the snatched history to see if they still contain any snatched episodes, then if any of the shows still have snatched episodes it will send an email with a list of the shows that have snatched episodes 

the first logic block in the second command (Sickbeard compare) is where the goto action or a loopblock with an if statement would come in and would allow me to build this all into one command


Sickbeard Check and compare
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.0.9-->
<commandGroup open="True" name="Sickbeard Check and Compare" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="401" name="Sickbeard Snatched and compare" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>http://192.168.1.10:8081/api/APIKEY HERE/?cmd=history&amp;type=snatched&amp;limit=10</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegEx</cmdType>
      <params>
        <param>id":\s(\d+)</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>TVid{i}</param>
        <param>{Match.{i}.1}</param>
      </params>
      <cmdRepeat>{#M}</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegEx</cmdType>
      <params>
        <param>name":\s"(.*?)"</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>TVname{i}</param>
        <param>{Match.{i}.1}</param>
      </params>
      <cmdRepeat>{#M}</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.ShowText</cmdType>
      <params>
        <param>Snatched:</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>LC</param>
        <param>0</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>Snatched</param>
        <param><![CDATA[ ]]></param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <loop>
      <loopParams>
        <from>1</from>
        <to>10</to>
      </loopParams>
      <loopActions>
        <action>
          <cmdType>Scrape</cmdType>
          <params>
            <param>http://192.168.1.10:8081/api/APIKEY HERE/?cmd=show.stats&amp;tvdbid={var.TVid{j}}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.RegExSingle</cmdType>
          <params>
            <param>snatched":\s{.*?"total":\s(\d+).*?}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.SetVar</cmdType>
          <params>
            <param>TVsnatched{j}</param>
            <param>{Match.1.1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>OSD.AddText</cmdType>
          <params>
            <param>{Var.TVname{j}} - TVdbID{Var.TVid{j}}  Snatched: {var.TVsnatched{j}}</param>
          </params>
          <cmdRepeat>0</cmdRepeat>
        </action>
        <action>
          <cmdType>VC.TriggerEvent</cmdType>
          <params>
            <param>Snatched</param>
            <param>{Var.TVname{j}}</param>
            <param>{var.TVsnatched{j}}</param>
            <param>{Var.TVid{j}}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </loopActions>
    </loop>
  </command>
  <command id="490" name="Sickbeard compare" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>PY.ExecString</cmdType>
      <params>
        <param>result={Var.LC}+1</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>LC</param>
        <param>{LastResult}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)&lt;(B)</ifType>
      <ifParams>0&amp;&amp;{2}</ifParams>
      <then>
        <action>
          <cmdType>Results.SetVar</cmdType>
          <params>
            <param>Snatched</param>
            <param>{Var.Snatched} &lt;br&gt;&lt;br&gt;&lt;a href="http://ip:port/home/displayShow?show={3}"&gt;{1}&lt;/a&gt;      </param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)==(B)</ifType>
      <ifParams>{Var.LC}&amp;&amp;10</ifParams>
      <then>
        <action>
          <cmdType>SMTP.Send</cmdType>
          <params>
            <param>Email@here.com</param>
            <param>System Check update</param>
            <param>These Shows still have Snatched Episodes &lt;br&gt;&lt;br&gt;{Var.Snatched}</param>
            <param />
            <param>True</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <event>Snatched</event>
  </command>
</commandGroup>

37
Feature Requests / new action called goto
« on: December 29, 2015, 02:41:14 AM »
I'm working on a new command that could really use a logic block inside a loop block, but according to the wiki it doesn't look like that can work at this time :(

so I was thinking a "Goto" action might work

so that way we could use the Goto action in (or after) a Logic Block and have it either go back to the top of that logic block or to an action above that Logic block ( may have to use a blank action before the logic block depending on the command)

Example:


(only one of the two VC.Goto actions would be used)


in the picture I numbered the Actions and the one logic block to show where the VC.Goto would  go to,

paramater break down of  VC.Goto

1st = logic or action number in the current command

2nd = minimum amounts to Goto (may not be needed)

3rd = maximum times before continuing on to the next action

if further explanation is needed let me know  ;)



38
UPDATE:: jitterjames did like he always does and went Way above and beyond,  ::banana and built in an extra way to communicate from Kodi to Voxcommando check it out below


ORIGINAL POST:

I'm looking for something similar to "Xbmc Python Script for VoxCommando"

What I'm looking for is the ability to trigger an event from Kodi to VC,

as of now I'm using exe files that I created using autohotkey to trigger an event in VC, I'm using advanced launcher to launch the exe files so it creates an unwanted delay, and popup window in kodi,

I tried using the JsonRPC.NotifyAll command but with no luck (If I understand the purpose of this action It should work) I asked for help on the kodi forums but I haven't had any luck My Kodi Forum post

does anyone know of another method or maybe even the correct format for Jsonrpc.NotifyAll

39
WAY Off Topic / Great Scott
« on: October 21, 2015, 10:59:33 PM »
Great Scott, don't forget to day is Back to the Future day


40
looking for some help,  ::hmm

I just upgraded from XBMC 13.2 to Kodi 15.1 ( I know I know I'm a little behind  ::zzz)

and when I upgraded I changed all my databases over in the MySql plugin from

Myvideos78 ---- Myvideos93
Mymusic46   ---- Mymusic52

and when I clicked save and generate I hadd the following popup

Code: [Select]
---------------------------

---------------------------
Unknown database 'mymusic52'
Unknown database 'mymusic52'
Unknown database 'mymusic52'
Unknown database 'mymusic52'
Saved [0078 items] to: C:\Users\sallyj\Desktop\VC2\XbmcPayloads\xbmcTvShowTitles.
xmlSaved [0339 items] to: C:\Users\sallyj\Desktop\VC2\XbmcPayloads\xbmcMovieIDs.xmlTable
'myvideos93.movieview' doesn't exist
SCANNING ABORTED
---------------------------
OK   
---------------------------

I checked my database folder and saw that I had a Mymusic52.db but no Myvideos93.db file

so I closed all of my Kodi's and then in Mysql command line I ran

Code: [Select]
show databases;
followed by

Code: [Select]
drop database MyVideos93;
then

Code: [Select]
show databases;just to make sure it dropped Myvideos93

then I restarted my main Kodi and let it run to rebuild the Myvideo93.db however when I checked my folder I still didn't have a Myvideo93.db file so I opened Mysql command line tool and ran

Code: [Select]
show databases;
it is showing that I have a Myvideos93 database but when I ran the Mysql plugin in VC I received this

Code: [Select]
---------------------------

---------------------------
Saved [0105 items] to: C:\Users\sallyj\Desktop\VC2\XbmcPayloads\xbmcArtists.xml

Saved [0120 items] to: C:\Users\sallyj\Desktop\VC2\XbmcPayloads\xbmcAlbums.xml

Saved [4413 items] to: C:\Users\sallyj\Desktop\VC2\XbmcPayloads\xbmcSongs.xml

Saved [0014 items] to: C:\Users\sallyj\Desktop\VC2\XbmcPayloads\xbmcGenres.xml

Saved [0078 items] to: C:\Users\sallyj\Desktop\VC2\XbmcPayloads\xbmcTvShowTitles.xml

Saved [0339 items] to: C:\Users\sallyj\Desktop\VC2\XbmcPayloads\xbmcMovieIDs.xml

Saved [0172 items] to: C:\Users\sallyj\Desktop\VC2\XbmcPayloads\xbmcMusicVideos.xml

Table 'myvideos93.movieview' doesn't exist

SCANNING ABORTED


---------------------------
OK   
---------------------------

this is the query that it is aborting on
Code: [Select]
myvideos93 | select concat(strpath,strfilename),c00 from movieview | xbmcMovies
when I tested the query on XBMC 13.2 Myvideos78 It ran with no problems, but I can't seem to get it to work on Myvideos93


any help would be great, Thanks

41
XML Exchange / TheBlaze.com News
« on: October 17, 2015, 10:26:22 PM »
Theses two commands are similar to Nime5ters Reuters World News

Simply ask "What's new at the Blaze" and it will read the first 5 article titles from TheBlaze.com and add all the articles currently on the site to the payload list,

then say "Tell me more about headline number {1}" and it will either read a synopsis of the article (I have it cut out all the links which includes hyperlinks) or if it has a youtube video it will launch the video in Kodi and skip reading the article (since most of the time the articles with videos are just a description of the video)

and then it will email a link of the article to the email of your choosing, simply add your email address to the last action in "More From the Blaze" where it says youremailhere

The Blaze
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.0.9-->
<commandGroup open="True" name="The Blaze" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="1082" name="the blaze" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>TTS.SpeakSync</cmdType>
      <params>
        <param>one moment please as I check to see what is new at the blaze dot com</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>http://www.theblaze.com/stories/feed/</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegExReplace</cmdType>
      <params>
        <param>&amp;#\d+;</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegEx</cmdType>
      <params>
        <param>&lt;title&gt;(.*?)&lt;/title&gt;&lt;link&gt;(.*?)&lt;/link&gt;</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>PayloadXML.Clear</cmdType>
      <params>
        <param>payloads\TheBlaze.xml</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>PayloadXML.AddPair</cmdType>
      <params>
        <param>payloads\TheBlaze.xml</param>
        <param>{Match.{i}.2}</param>
        <param>{i}</param>
      </params>
      <cmdRepeat>{#M}</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.ShowText</cmdType>
      <params>
        <param>latest headlines from TheBlaze.com</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>OSD.AddText</cmdType>
      <params>
        <param>{i}. {Match.{i}.1}.</param>
      </params>
      <cmdRepeat>5</cmdRepeat>
    </action>
    <action>
      <cmdType>TTS.SpeakSync</cmdType>
      <params>
        <param>Latest headlines from the blaze dot com</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>TTS.SpeakSync</cmdType>
      <params>
        <param>{i}. {Match.{i}.1}.</param>
      </params>
      <cmdRepeat>5</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>headline {i}</param>
        <param>{Match.{i}.1}</param>
      </params>
      <cmdRepeat>5</cmdRepeat>
    </action>
    <action>
      <cmdType>Group.Rebuild</cmdType>
      <params>
        <param>The Blaze</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Whats new at the blaze</phrase>
  </command>
  <command id="1255" name="More from The Blaze" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>{1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegEx</cmdType>
      <params>
        <param>src="https://www.youtube.com/embed/(.*?)"</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>LastActionSuccess</ifType>
      <ifParams>&amp;&amp;</ifParams>
      <then>
        <action>
          <cmdType>TTS.Speak</cmdType>
          <params>
            <param>Loading You Tube video from the blaze, please wait</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw</cmdType>
          <params>
            <param>player.open</param>
            <param>"item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.1.1}"}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else>
        <action>
          <cmdType>Results.RegExReplace</cmdType>
          <params>
            <param>&amp;.(\d+);</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.RegExReplace</cmdType>
          <params>
            <param>;..(\d+)</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.RegEx</cmdType>
          <params>
            <param>&lt;p&gt;(\w)(.*?)&lt;/</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.MatchConcat</cmdType>
          <params>
            <param><![CDATA[ ]]></param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.RegExReplace</cmdType>
          <params>
            <param>&lt;.*?&gt;</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>TTS.SpeakSync</cmdType>
          <params>
            <param>{LastResult}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </else>
    </if>
    <action>
      <cmdType>SMTP.Send</cmdType>
      <params>
        <param>youremailhere</param>
        <param>The Blaze News Stories</param>
        <param>The Blaze.com - &lt;a href="{1}"&gt;{Var.headline {PF.1}}&lt;/a&gt; </param>
        <param />
        <param>True</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Tell me more about</phrase>
    <phrase>headline, article</phrase>
    <phrase>number</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\TheBlaze.xml</payloadFromXML>
  </command>
</commandGroup>

42
Tasker + VC / Tasker + VoxCommando = Home Control App
« on: October 02, 2015, 12:38:40 AM »
After all the talk of Imagination  ;) http://voxcommando.com/forum/index.php?topic=2307.msg19935#msg19935

I created this App using Tasker Scenes and Voxcommando, all commands get passed to VC,

I use this as a secondary remote in my living room, there can be a delay at times but nothing to major




If you want to import the scenes for the app in this video follow the post bellow
http://voxcommando.com/forum/index.php?topic=2353.msg20535#msg20535

how to videos: http://voxcommando.com/forum/index.php?topic=2353.msg20512#msg20512

43
Came across this a little while ago and thought it was cool,

360 degree camera that has some home automation tied into it as well, plus it says there are sensors as well,

https://www.indiegogo.com/projects/branto-full-remote-presence-security-device#/story


44
Tasker + VC / Comunicating from VoxCommando to Tasker
« on: August 19, 2015, 10:26:43 PM »
how to use the TCP Server and tasker to get info from VC,

the simplest way is to have a separate html for each thing you want tasker to have access to, so if you have an app for your living room

you may want these options in your app

LRL=Living Room Lights  (Text in the html)

LRLStatus.html (ON or OFF)
FanStatus.html (ON, Off, Low, Med, High)
LRLDim.html      (10,20,30,40....)

if using this method then I would suggest creating a new folder called "tasker" in your plugins\TCP\html folder and saving your status html files there, as this method could add up to several files in a hurry

you would have VC write the files whenever you toggle the lights or change the fan settings

how to get the Light status using tasker

use HTTP Get:

server:Port
Your VC IP:Your port

Path
/html/tasker/LRLStatus.html 

at the bottom make sure you check

"Countinue Task After Error"


If you prefer to have less html files you could do something similar to this:

Code: [Select]
<LRLStatus>ON</LRLStatus>
<FanStatus>OFF</FanStatus>
<LRLDim>40</LRLDim>

then you would have to use taskers regex to get the information you need

45
these commands are based off of XBMC/kodi "Cinema Experience (CE)" addon

I've made these commands because I haven't had the best of luck with CE working all the time, I like to play a couple short videos before I play trailers but we don't use trivia so most the time it would skip the first couple videos and go straight to the trailers or it would skip the opening videos and the trailers and skip to my last couple videos before the movie would start,

so I made my own commands that will achieve what I wanted, all the commands Can play the following

#*Random Local Video
*Random Local video
Youtube movie trailer
Youtube movie trailer
Youtube movie trailer
Youtube movie trailer
*Random Local Video
*Random Local Video
play the selected Movie

*= your own videos,

#=you will need to set an intro video for this to work, as that is what starts the playlist (if I start the playlist after adding all the videos, for some reason some of the local media will repeat its self)

in order to use these actions you will need to add your file path for each video that you want to add, and enable the actions,

the easiest way to have it play random videos is to name them like so:
Quote
Intro (1).mp4, Intro (2).mp4 | Refreshments (1).mp4 | Short (1).mp4....

and then make sure the action equals the same amount of videos that you have, so if you have 8 Intro videos then your file path should look like

Code: [Select]
Your\File\Path\To\Intro ({Rnd.1.8}).mp4 If your videos are in a different format then mp4 then change the extension in the action accordingly
 NOTE: if you are using videos that are shared across the network then the file paths need to start with   smb:


There are 3 different commands in this group

"Theater Experience" - Used while browsing your movies

"Theater Experience anywhere" - used anywhere with media from your library

"Theater Experience Streaming" - used with streaming addons (if it is a link based addon then you will have to use it on the link that you want to use) (Caution, this could be used on any video media TV Shows, Music Videos)

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.0.7-->
<commandGroup open="True" name="Theater Experience" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="249" name="Theater Experience" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>Playlist.Clear</param>
        <param>"playlistid": 1</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>XBMC.GetInfoBooleans</param>
        <param>"booleans": ["Container.Content(movies)"]</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)Contains(B)</ifType>
      <ifParams>{LastResult}&amp;&amp;true</ifParams>
      <then>
        <action>
          <cmdType>XJson.Raw</cmdType>
          <params>
            <param>XBMC.GetInfoLabels</param>
            <param>"labels": ["ListItem.Title", "ListItem.FileNameAndPath"]</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.RegEx</cmdType>
          <params>
            <param>:\s"(.*?)"</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.SetVar</cmdType>
          <params>
            <param>TE MoviePath</param>
            <param>{Match.1.1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.SetVar</cmdType>
          <params>
            <param>TE MovieName</param>
            <param>{Match.2.1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>TTS.SpeakSync</cmdType>
          <params>
            <param>preparing {Var.TE MovieName} for your movie theater experiance, Enjoy the show</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw</cmdType>
          <params>
            <param>Playlist.Clear</param>
            <param>"playlistid": 1</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw/</cmdType>
          <params>
            <param>Player.Open</param>
            <param>"item": {"file":"YOUR\FILE\PATH\TO\Intro ({Rnd.1.5}).mp4"}</param>
          </params>
          <cmdRepeat>0</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw</cmdType>
          <params>
            <param>Playlist.Clear</param>
            <param>"playlistid": 1</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw/</cmdType>
          <params>
            <param>Playlist.Add</param>
            <param>"playlistid": 1, "item": {"file":"YOUR\FILE\PATH\TO\Refreshments ({Rnd.1.2}).mp4" }</param>
          </params>
          <cmdRepeat>0</cmdRepeat>
        </action>
        <action>
          <cmdType>Scrape</cmdType>
          <params>
            <param>https://www.youtube.com/user/movieclipsTRAILERS/videos</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.RegEx</cmdType>
          <params>
            <param>data-context-item-id="(.*?)"</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw/</cmdType>
          <params>
            <param>Playlist.Add</param>
            <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.1.5}.1}" }</param>
            <param>YouTube Trailer</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw/</cmdType>
          <params>
            <param>Playlist.Add</param>
            <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.6.10}.1}" }</param>
            <param>YouTube Trailer</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw/</cmdType>
          <params>
            <param>Playlist.Add</param>
            <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.11.15}.1}" }</param>
            <param>YouTube Trailer</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw/</cmdType>
          <params>
            <param>Playlist.Add</param>
            <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.16.20}.1}" }</param>
            <param>YouTube Trailer</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw/</cmdType>
          <params>
            <param>Playlist.Add</param>
            <param>"playlistid": 1, "item": {"file":"YOUR\FILE\PATH\TO\Shorts ({Rnd.1.4}).mp4" }</param>
          </params>
          <cmdRepeat>0</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw/</cmdType>
          <params>
            <param>Playlist.Add</param>
            <param>"playlistid": 1, "item": {"file":"YOUR\FILE\PATH\TO\Feature Presentation ({Rnd.1.4}).mp4" }</param>
          </params>
          <cmdRepeat>0</cmdRepeat>
        </action>
        <action>
          <cmdType>XJson.Raw/</cmdType>
          <params>
            <param>Playlist.Add</param>
            <param>"playlistid": 1, "item": {"file":"{Var.TE MoviePath}"}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <phrase>Take me to the movies, take us to the movies</phrase>
  </command>
  <command id="256" name="Theater Experience anywhere" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="if you are using videos that are shared across the network then the file paths need to start with   smb://&#xD;&#xA;I have all my videos named as such  Intro (1).mp4, Intro (2).mp4">
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>Playlist.Clear</param>
        <param>"playlistid": 1</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>TTS.SpeakSync</cmdType>
      <params>
        <param>preparing Movie {PF.1} for your movie theater experiance, Enjoy the show</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>Playlist.Clear</param>
        <param>"playlistid": 1</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Player.Open</param>
        <param>"item": {"file":"YOUR\FILE\PATH\TO\Intro ({Rnd.1.5}).mp4"}</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>Playlist.Clear</param>
        <param>"playlistid": 1</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"YOUR\FILE\PATH\TO\Refreshments ({Rnd.1.2}).mp4" }</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>https://www.youtube.com/user/movieclipsTRAILERS/videos</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegEx</cmdType>
      <params>
        <param>data-context-item-id="(.*?)"</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.1.5}.1}" }</param>
        <param>YouTube Trailer</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.6.10}.1}" }</param>
        <param>YouTube Trailer</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.11.15}.1}" }</param>
        <param>YouTube Trailer</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.16.20}.1}" }</param>
        <param>YouTube Trailer</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"YOUR\FILE\PATH\TO\Shorts ({Rnd.1.4}).mp4" }</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"YOUR\FILE\PATH\TO\Featured Presentation ({Rnd.1.4}).mp4" }</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"movieid":{1}}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Show me the full experience with, I want to go to the movies and watch, I want to go to the movies to watch</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">XbmcPayloads\xbmcMovieIDs.xml</payloadFromXML>
  </command>
  <command id="252" name="Theater Experience Streaming" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>Playlist.Clear</param>
        <param>"playlistid": 1</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>XBMC.GetInfoLabels</param>
        <param>"labels": ["ListItem.Title", "ListItem.FileNameAndPath"]</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegEx</cmdType>
      <params>
        <param>:\s"(.*?)"</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>TE MoviePath</param>
        <param>{Match.1.1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>TE MovieName</param>
        <param>{Match.2.1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>TTS.SpeakSync</cmdType>
      <params>
        <param>preparing {Var.TE MovieName} for your movie theater experiance, Enjoy the show</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>Playlist.Clear</param>
        <param>"playlistid": 1</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Player.Open</param>
        <param>"item": {"file":"YOUR\FILE\PATH\TO\Intro ({Rnd.1.5}).mp4"}</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw</cmdType>
      <params>
        <param>Playlist.Clear</param>
        <param>"playlistid": 1</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"YOUR\FILE\PATH\TO\Refreshments ({Rnd.1.2}).mp4" }</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>Scrape</cmdType>
      <params>
        <param>https://www.youtube.com/user/movieclipsTRAILERS/videos</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.RegEx</cmdType>
      <params>
        <param>data-context-item-id="(.*?)"</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.1.5}.1}" }</param>
        <param>YouTube Trailer</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.6.10}.1}" }</param>
        <param>YouTube Trailer</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.11.15}.1}" }</param>
        <param>YouTube Trailer</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"plugin://plugin.video.youtube/play/?video_id={Match.{Rnd.16.20}.1}" }</param>
        <param>YouTube Trailer</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"YOUR\FILE\PATH\TO\Shorts ({Rnd.1.4}).mp4" }</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"YOUR\FILE\PATH\TO\FP ({Rnd.1.4}).mp4" }</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>XJson.Raw/</cmdType>
      <params>
        <param>Playlist.Add</param>
        <param>"playlistid": 1, "item": {"file":"{Var.TE MoviePath}"}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Streaming Experience</phrase>
  </command>
</commandGroup>






Pages: 1 2 [3] 4 5