News:

There is now a ChangeLog page on the wiki
New developments are added at the bottom of the page.

Main Menu

Kodi - Play TV episode by asking for a season number, episode number

Started by jitterjames, March 04, 2015, 04:54:57 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jitterjames

In this Super command, we can ask for "Play show Game of Thrones, season 2, episode 4".

It will immediately play the requested episode.

If we don't have that episode, it still browses to the correct season.

If we don't have that season either, it will still browse to the TV show we asked for.

<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.4.2-->
<command id="325" name="Play show {1} season {2} episode {3}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <action>
    <cmdType>XJson.Raw</cmdType>
    <params>
      <param>VideoLibrary.GetEpisodes</param>
      <param>"tvshowid":{1}, "season":{2}, "properties":["episode","title"]</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <action>
    <cmdType>RegExTool.Open</cmdType>
    <params>
      <param>True</param>
    </params>
    <cmdRepeat>0</cmdRepeat>
  </action>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>(A)Contains(B)</ifType>
    <ifParams>{LastResult}&amp;&amp;"total": 0</ifParams>
    <then>
      <action>
        <cmdType>TTS.Speak</cmdType>
        <params>
          <param>Sorry, I can't seem to find Season {2} - of {PF.1}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>XJson.Raw</cmdType>
        <params>
          <param>Gui.ActivateWindow</param>
          <param>"window":"video","parameters":["videodb://2/2/{1}/"]</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>VC.StopMacro</cmdType>
        <params />
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <action>
    <cmdType>Results.RegExSingle</cmdType>
    <params>
      <param>"episode":\s{3},.*?"episodeid":\s*(\d*?),.*?"title":\s*"(.*?)"</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>(A)&lt;(B)</ifType>
    <ifParams>{#M}&amp;&amp;1</ifParams>
    <then>
      <action>
        <cmdType>TTS.Speak</cmdType>
        <params>
          <param>Sorry, I found Season {2} but not episode {3} - of {PF.1}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>XJson.Raw</cmdType>
        <params>
          <param>Gui.ActivateWindow</param>
          <param>"window":"video","parameters":["videodb://2/2/{1}/{2}/"]</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else>
      <action>
        <cmdType>OSD.ShowText</cmdType>
        <params>
          <param>Now playing {Pf.1} : {Match.1.2}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>TTS.Speak</cmdType>
        <params>
          <param>Now playing {Pf.1} : {Match.1.2}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>XJson.Raw</cmdType>
        <params>
          <param>Player.Open</param>
          <param>"item":{"episodeid":{match.1.1}}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </else>
  </if>
  <phrase>Play show</phrase>
  <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">XbmcPayloads\xbmcTvShowTitles.xml</payloadFromXML>
  <phrase>season</phrase>
  <payloadRange>1,10</payloadRange>
  <phrase>episode</phrase>
  <payloadRange>1,26</payloadRange>
</command>

Mace