Author Topic: Windows 8 Netflix App control  (Read 4724 times)

0 Members and 1 Guest are viewing this topic.

PegLegTV

  • $upporter
  • Hero Member
  • *****
  • Posts: 500
  • Karma: 43
    • View Profile
Windows 8 Netflix App control
« on: May 01, 2015, 06:46:49 PM »
Update:: Fixed a problem with "NetflixApp.Movie.Stopped" event triggering when stopping TV Shows, It should now only trigger when a Movie is stopped (Sept, 20 2015 11:37PM)

Update:: fixed error of not being able to "add to My list" if TV Show was opened from search results the Win8NetflixControl.exe below is updated to the new version (May, 3 2015 11:21AM)

after helping Lja with his quest for better control of NetfliXBMC addon in XBMC/KODI and reading Haddood's Netflix setup with RoboBrowser I decided to modify this AutoHotKey script for windows 8 Netflix app control to better work with VC, and then converted it in to Win8NetflixControl.exe

this does have some required settings for this to work properly because the .exe is mapping mouse movements,
                       
                      required:
1.) screen resolution needs to be 1920 x 1080
 
2.) in Windows 8.1's Search, search for "Change the Size of Apps on the screen" and set it to "Larger" to make it legible from a usual TV-sitting distance. (this will change the size of all apps)

3.) Win8NetflixControl.exe MUST be placed in the VC folder (If VC is not installed on the computer then it can be ran from anywhere on the main drive)

Netflix Windows 8 APP control
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.4.5-->
<commandGroup open="False" name="Netflix Windows 8 APP" enabled="False" prefix="" priority="0" requiredProcess="" description="">
  <command id="729" name="Netflix APP Closed" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>VC.EnableGroup</cmdType>
      <params>
        <param>XBMC Basic commands</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.DisableGroup</cmdType>
      <params>
        <param>Netflix Windows 8 APP</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>NetflixApp.Closed</event>
  </command>
  <command id="597" name="Netflix search" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="{LWIN}({Q})">
    <action>
      <cmdType>Mouse.MoveAbsolute</cmdType>
      <params>
        <param>1554,1006</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.Pause</cmdType>
      <params>
        <param>100</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.LeftClick</cmdType>
      <params />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({S})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{RWIN}({Q})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.Pause</cmdType>
      <params>
        <param>100</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{CONTROL}({A})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{DELETE}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>InputKeys.TextEntry</cmdType>
      <params>
        <param>{1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{ENTER}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>TTS.Speak</cmdType>
      <params>
        <param>Searching Netflix for {1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Search Netflix for</phrase>
    <payloadDictation>payloadDictation: Regular</payloadDictation>
  </command>
  <command id="616" name="Netflix Back/Exit" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Mouse.MoveAbsolute</cmdType>
      <params>
        <param>1554,1006</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.LeftClick</cmdType>
      <params />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.Pause</cmdType>
      <params>
        <param>200</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>SendKeys</cmdType>
      <params>
        <param>{BACKSPACE}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix go back</phrase>
    <event>BACK</event>
  </command>
  <command id="647" name="Netflix Focus" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({B})</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.MoveAbsolute</cmdType>
      <params>
        <param>1000,1000</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.LeftClick</cmdType>
      <params />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.Pause</cmdType>
      <params>
        <param>100</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{}({F9})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Focus Netflix</phrase>
    <event>FOCUS</event>
  </command>
  <command id="704" name="Netflix Media Prev" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({K})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix Jump Back</phrase>
    <event>MEDIA PREVIOUS</event>
  </command>
  <command id="694" name="Netflix Media Next" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({L})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix Jump Forward</phrase>
    <event>MEDIA NEXT</event>
  </command>
  <command id="685" name="Netflix Reset Mouse Posistion" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{}({F9})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Reset Mouse Posistion</phrase>
    <event>RESET MOUSE</event>
  </command>
  <command id="664" name="Netflix browse genre's" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>TTS.Speak</cmdType>
      <params>
        <param>Loading Netflix {PF.1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.MoveAbsolute</cmdType>
      <params>
        <param>1532,93</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.LeftClick</cmdType>
      <params />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{ALT}({n})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.Pause</cmdType>
      <params>
        <param>400</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.MoveAbsolute</cmdType>
      <params>
        <param>{1}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.LeftClick</cmdType>
      <params />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Browse, Show, Go To</phrase>
    <phrase optional="true">Netflix</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\NetflixAppGuide.xml</payloadFromXML>
  </command>
  <command id="669" name="Netflix Play/Pause" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Mouse.MoveAbsolute</cmdType>
      <params>
        <param>1554,1006</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.LeftClick</cmdType>
      <params />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{}({SPACE})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix Play, Netflix Pause</phrase>
    <event>PLAY PAUSE</event>
  </command>
  <command id="681" name="Netflix move" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>SendKeys</cmdType>
      <params>
        <param>{{1}}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Move, GO</phrase>
    <payloadList>RIGHT, LEFT, UP, DOWN</payloadList>
    <event>Direction</event>
  </command>
  <command id="686" name="Netflix Select" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>SendKeys</cmdType>
      <params>
        <param>{ENTER}</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix Select</phrase>
    <event>SELECT</event>
  </command>
  <command id="699" name="Netflix Info" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{ALT}({I})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix show info</phrase>
    <event>INFO</event>
  </command>
  <command id="695" name="Netflix Exit Discreet" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({M})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix Exit please</phrase>
    <event>DISCREET EXIT</event>
  </command>
  <command id="708" name="Netflix go home" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({W})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix go home</phrase>
    <event>GO HOME</event>
  </command>
  <command id="697" name="Netflix My List" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({Z})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Add, Remove</phrase>
    <phrase optional="true">Netflix Movie, Netflix TV Show</phrase>
    <phrase>to my list</phrase>
    <event>MY LIST</event>
  </command>
  <command id="725" name="Netflix Stop" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{ALT}({e})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix Stop</phrase>
    <event>Stop</event>
  </command>
  <command id="154" name="Netflix Star Rating" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{ALT}({{1}})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>give this</phrase>
    <phrase optional="true">Movie, TV Show, Video</phrase>
    <phrase optional="true">a</phrase>
    <payloadList>1,2,3,4,5</payloadList>
    <phrase>Star Rating, Stars </phrase>
    <event>Star Rating</event>
  </command>
  <command id="750" name="Netflix Keyboad Search (Netflix Main Menu Only)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({Q})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>I would like to search by keyboard</phrase>
    <event>KEYBOARD SEARCH</event>
  </command>
  <command id="726" name="Netflix Genre Menu (Netflix Main Menu Only)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({G})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Browse Netflix Genre Menu</phrase>
    <event>BROWSE GENRE</event>
  </command>
  <command id="737" name="Netflix Category Grid (Netflix Main Menu Only)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>InputKeys.Send</cmdType>
      <params>
        <param>{LALT}({Y})</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Browse Netflix  Category Grid</phrase>
    <event>CATEGORY GRID</event>
  </command>
  <command id="693" name="Netflix Show Profiles" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Mouse.MoveAbsolute</cmdType>
      <params>
        <param>1753,95</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.LeftClick</cmdType>
      <params />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Results.SetVar</cmdType>
      <params>
        <param>NetflixProfile</param>
        <param>Open</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>Netflix Show Profiles</phrase>
  </command>
  <command id="739" name="Netflix Select Porfile (must show profiles first)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)==(B)</ifType>
      <ifParams>{Var.NetflixProfile}&amp;&amp;Open</ifParams>
      <then>
        <action>
          <cmdType>Mouse.MoveAbsolute</cmdType>
          <params>
            <param>{1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Mouse.LeftClick</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Results.SetVar</cmdType>
          <params>
            <param>NetflixProfile</param>
            <param>closed</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <phrase>select</phrase>
    <payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">payloads\NetflixProfiles.xml</payloadFromXML>
  </command>
</commandGroup>

Start Netflix
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.3.8-->
<commandGroup open="True" name="Start Netflix" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="746" name="Netflix show me netflix" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>TTS.Speak</cmdType>
      <params>
        <param>Loading Netflix, Please wait</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Launch</cmdType>
      <params>
        <param>{Path.VC}\Win8NetflixControl.exe</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>show me netflix, i want to watch netflix</phrase>
    <event>Start Netflix</event>
  </command>
  <command id="655" name="Netflix APP Started" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>VC.EnableGroup</cmdType>
      <params>
        <param>Netflix Windows 8 APP</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.DisableGroup</cmdType>
      <params>
        <param>THE GROUP YOU WANT TO DISABLE</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <event>NetflixApp.Started</event>
  </command>
</commandGroup>

the "Netflix browse genre's" command is using mouse input to select a specific genre,

you : "browse Netflix TV Shows"

you will see: mouse clicking the menu icon (top right on home screen), the menu will open then mouse will click TV Shows from the menu,

instructions and commands to setup better control of your profiles is in the next post

"Netflix APP Started":
 this is trgered when Win8NetflixControl.exe is launched it enables the group above and you will want to adjust the disable group action in this command for what you want it to disable


the Win8NetflixControl.exe (place in your VC folder) and NetflixAppGuide payload, NetflixProfile payload (place both in your Payload folder)


Note: this will trigger events when starting and stopping a movie
 
This should keep track of your position in the app as long as all input goes through the .exe the only thing I couldn't get the .exe to know is when you select to play a video directly from the main menu (the three video thumb nails on the far left of the main menu) so if you directly play a video, the stop button wont work and you will have to use the back button to exit the video, and it wont trigger an event for a movie starting and stopping 
 

 ::banana instructions and commands to setup better control of your profiles is in the next post   ::banana
« Last Edit: September 21, 2015, 01:48:49 AM by PegLegTV »

PegLegTV

  • $upporter
  • Hero Member
  • *****
  • Posts: 500
  • Karma: 43
    • View Profile
Re: Windows 8 Netflix App control
« Reply #1 on: May 01, 2015, 06:47:05 PM »
Win8NetflixControl.exe
Keymap:
Quote
Down = Down

Up = Up

Right = Right

Left = Left

F9 = Reset Mouse Posistion (not sure how well it works, I've never used it)

Enter = Select

ALT+K = Media Prev (jumps back in video)

ALT+l = Media skipnext (jumps ahead in video)

ALT+i = Info (shows OSD during video playback)

Backspace = Back/Exit (moves back through the menu untll main menu then becomes exit button)

ALT+q = Search with keyboard (home screen only)

ALT+g = opens genre menu (home screen only)

ALT+y = opens category grid from (home screen only)

ALT+m = Exit button (discrete exit button)

ALT+w = Netflix Home (executes a relaunch of Netflix app and starts at the main menu)

ALT+b = Focus Netflix (doesn't always work, not sure why)

ALT+z = Add remove to my list (details screen only)

Alt+1 = Gives a "1" star rating (details screen only)

Alt+2 = Gives a "2" star rating (details screen only)

Alt+3 = Gives a "3" star rating (details screen only)

Alt+4 = Gives a "4" star rating (details screen only)

Alt+5 = Gives a "5" star rating (details screen only)

ALT+e = Stop

*ALT+n = browse by genre tracker for VC

*ALT+S = Search tracker (only used by voice search)

* Profile voice commands

*= VoxCommando only


after some more time I created a better way of choosing a profile, with this command you can choose by name,
getting it setup may be a little confusing but worth it to give a better VC feel

the first thing you need to do is launch the Netflix app and select profiles then select "Manage Profile" at the bottom of the list

the order that you see in the edit screen is the same order that you need to replace the names in "Netflix Profile map Creator" for the users with P1 after their names so if your names (in order) are Hank, Nancy, Peggy, Dale then:

Bob P1  ---- Becomes ---- Hank P1
Jill P1 ----- Nancy P1
Jack P1 ---- Peggy P1
Joe P1 ----  Dale P1

and from then on replace all Bobs with hank and all jills with nancy and so on all the way down the list, then set current user to the profile that is signed in right now then execute "Netflix Profile map Creator" command

then in the "Netflix Profile by name" do the same in the if statments replace Bob with Hank and Jill with Nancy and so on

then in the payload list for "Netflix Profile by name" change out all the names for the names you used

if you have less then 4 profiles then you can delete the ones that you don't need, if you have more then 4 profiles let me know and I'll explain how to add more profiles to your list

Netlfix Profile Command and map builder
Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.3.8-->
<commandGroup open="True" name="Netflix profle and map builder" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="753" name="Netflix Profile map Creator" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Map.CreateTable</cmdType>
      <params>
        <param>NetflixProfiles</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Current user</param>
        <param>Bob</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Bob P1</param>
        <param>1753,95</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Jill P1</param>
        <param>1753,217</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Jack P1</param>
        <param>1753,297</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Joe P1</param>
        <param>1753,377</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>.-------------------------</param>
        <param>------------------------------------</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Jill P2</param>
        <param>1753,95</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Bob P2</param>
        <param>1753,217</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Jack P2</param>
        <param>1753,297</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Joe P2</param>
        <param>1753,377</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>..-------------------------</param>
        <param>------------------------------------</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Jack P3</param>
        <param>1753,95</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Bob P3</param>
        <param>1753,217</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Jill P3</param>
        <param>1753,297</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Joe P3</param>
        <param>1753,377</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>...-------------------------</param>
        <param>------------------------------------</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Joe P4</param>
        <param>1753,95</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Bob P4</param>
        <param>1753,217</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Jill P4</param>
        <param>1753,297</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Map.Set</cmdType>
      <params>
        <param>NetflixProfiles</param>
        <param>Jack P4</param>
        <param>1753,377</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
  </command>
  <command id="751" name="Netflix Profile by Name" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>Mouse.MoveAbsolute</cmdType>
      <params>
        <param>1753,95</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.LeftClick</cmdType>
      <params />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <action>
      <cmdType>VC.Pause</cmdType>
      <params>
        <param>400</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)==(B)</ifType>
      <ifParams>{M:NetflixProfiles.Current user}&amp;&amp;Bob</ifParams>
      <then>
        <action>
          <cmdType>Mouse.MoveAbsolute</cmdType>
          <params>
            <param>{M:NetflixProfiles.{1} P1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Mouse.LeftClick</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Map.Set</cmdType>
          <params>
            <param>NetflixProfiles</param>
            <param>Current user</param>
            <param>{1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)==(B)</ifType>
      <ifParams>{M:NetflixProfiles.Current user}&amp;&amp;Jill</ifParams>
      <then>
        <action>
          <cmdType>Mouse.MoveAbsolute</cmdType>
          <params>
            <param>{M:NetflixProfiles.{1} P2}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Mouse.LeftClick</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Map.Set</cmdType>
          <params>
            <param>NetflixProfiles</param>
            <param>Current user</param>
            <param>{1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)==(B)</ifType>
      <ifParams>{M:NetflixProfiles.Current user}&amp;&amp;Jack</ifParams>
      <then>
        <action>
          <cmdType>Mouse.MoveAbsolute</cmdType>
          <params>
            <param>{M:NetflixProfiles.{1} P3}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Mouse.LeftClick</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Map.Set</cmdType>
          <params>
            <param>NetflixProfiles</param>
            <param>Current user</param>
            <param>{1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <if ifBlockDisabled="False" ifNot="False">
      <ifType>(A)==(B)</ifType>
      <ifParams>{M:NetflixProfiles.Current user}&amp;&amp;Joe</ifParams>
      <then>
        <action>
          <cmdType>Mouse.MoveAbsolute</cmdType>
          <params>
            <param>{M:NetflixProfiles.{1} P4}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Mouse.LeftClick</cmdType>
          <params />
          <cmdRepeat>1</cmdRepeat>
        </action>
        <action>
          <cmdType>Map.Set</cmdType>
          <params>
            <param>NetflixProfiles</param>
            <param>Current user</param>
            <param>{1}</param>
          </params>
          <cmdRepeat>1</cmdRepeat>
        </action>
      </then>
      <else />
    </if>
    <action>
      <cmdType>VC.Pause</cmdType>
      <params>
        <param>400</param>
      </params>
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>Mouse.LeftClick</cmdType>
      <params />
      <cmdRepeat>0</cmdRepeat>
    </action>
    <action>
      <cmdType>TTS.Speak</cmdType>
      <params>
        <param>Loading {1}'s profile, please wait</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>switch to </phrase>
    <payloadList>Bob, Jill, Jack, Joe</payloadList>
    <phrase>Netflix Profile</phrase>
  </command>
</commandGroup>

after this new profile command is set up you should no longer need the two profile commands in the original post
« Last Edit: June 05, 2015, 06:46:02 PM by PegLegTV »

Haddood

  • $upporter
  • Hero Member
  • *****
  • Posts: 688
  • Karma: 22
    • View Profile
Re: Windows 8 Netflix App control
« Reply #2 on: May 02, 2015, 01:57:46 PM »
wow ...can't wait to test ... taming windows apps to VC is very important ... as I see the industry is now heavy inclined on app dev. so it is the natural future
When Voice command gets tough, use hand gestures

lja

  • Sr. Member
  • ****
  • Posts: 145
  • Karma: 5
    • View Profile
Re: Windows 8 Netflix App control
« Reply #3 on: May 02, 2015, 08:42:57 PM »
Fastastic. Would love to try this but cannot use 1920x1080 on my monitor. Space constraints re size in HTPC rack.
« Last Edit: May 02, 2015, 09:16:48 PM by lja »

PegLegTV

  • $upporter
  • Hero Member
  • *****
  • Posts: 500
  • Karma: 43
    • View Profile
Re: Windows 8 Netflix App control
« Reply #4 on: May 02, 2015, 11:12:46 PM »
Fastastic. Would love to try this but cannot use 1920x1080 on my monitor. Space constraints re size in HTPC rack.

If you want I can post my AutoHotKey script and you could modify the coordinates, I'm not sure if you know AutoHotKey but it's easy to learn, this is my first major project,

I modified the original script linked to in the first post, I added in a lot of functions that I use and added in VoxCommando and Eventghost event triggers so It would switch my remote setup and voice inputs, plus dim my lights when i start a movie.

lja

  • Sr. Member
  • ****
  • Posts: 145
  • Karma: 5
    • View Profile
Re: Windows 8 Netflix App control
« Reply #5 on: May 03, 2015, 12:29:53 AM »
If you want I can post my AutoHotKey script and you could modify the coordinates, I'm not sure if you know AutoHotKey but it's easy to learn, this is my first major project,

I modified the original script linked to in the first post, I added in a lot of functions that I use and added in VoxCommando and Eventghost event triggers so It would switch my remote setup and voice inputs, plus dim my lights when i start a movie.

Don't know AutoHotKey but willing to learn. Could you post your script and I will give it a try? Any suggestion for a guide?

PegLegTV

  • $upporter
  • Hero Member
  • *****
  • Posts: 500
  • Karma: 43
    • View Profile
Re: Windows 8 Netflix App control
« Reply #6 on: May 03, 2015, 12:48:16 AM »
I found google to be my best friend when trying to understand how everything worked, you will want to download AutoHotkey they have some extra little programs with it that can make things easier, plus you will need it so you can run the script and test it you can find it here http://www.autohotkey.com/

most of the mouse coordinates can be found at the top of the script but there are some spread out through out the script,

I attached the script below hope you can get it working with your resolution
« Last Edit: October 17, 2015, 10:30:43 PM by PegLegTV »

lja

  • Sr. Member
  • ****
  • Posts: 145
  • Karma: 5
    • View Profile
Re: Windows 8 Netflix App control
« Reply #7 on: May 03, 2015, 10:32:49 AM »
I found google to be my best friend when trying to understand how everything worked, you will want to download AutoHotkey they have some extra little programs with it that can make things easier, plus you will need it so you can run the script and test it you can find it here http://www.autohotkey.com/

most of the mouse coordinates can be found at the top of the script but there are some spread out through out the script,

I attached the script below hope you can get it working with your resolution

Thanks @PegLegTV. Will try with it.

PegLegTV

  • $upporter
  • Hero Member
  • *****
  • Posts: 500
  • Karma: 43
    • View Profile
Re: Windows 8 Netflix App control
« Reply #8 on: May 03, 2015, 06:37:20 PM »
here is an AutoHotKey (AHK) script for outputting mouse movements to a text file on your desktop and  "Mouse Coordinates.exe" that will do the same if you don't have AHK

keymap:

z--- wrights the current mouse coordinates  (with number count to keep track of what coordinate goes where)

log example:

1.) 1745,50

2.) 1912,25

n --- resets count number and adds "Start of New Count" to the log (great when using to track more then one page like navigating the Netflix App ;))

ESC -- exits the AHK script or the .exe

this works great for anytime you need to get mouse coordinates

NOTE: I uploaded new copy's the first 2 where used for my laptop so they clicked when getting coordinates and you had to use alt+ for each button, sense some people will need to use this while using remote desktop I made them a single key press as shown above and removed the click so it wouldn't open anything under your mouse
« Last Edit: June 05, 2015, 06:51:24 PM by PegLegTV »

PegLegTV

  • $upporter
  • Hero Member
  • *****
  • Posts: 500
  • Karma: 43
    • View Profile
Re: Windows 8 Netflix App control
« Reply #9 on: September 21, 2015, 01:47:25 AM »
Update:: Fixed a problem with "NetflixApp.Movie.Stopped" event triggering when stopping TV Shows, It should now only trigger the event when a Movie is stopped