I just installed VC. I have XBMC Gotham playing my movies from a Synology NAS and a central MySQL DB running on the main home computer.
I installed the MySQL plugin and I ran the GenXML and I can see that the xbmcMovieIDs.xml is now populated. When I say Play Movie The Avengers I get acknowledgment on the XBMC interface that the command was received correctly and displays "1 Play Movie {The Avengers}" at the top of the screen but nothing happens.
the movie plays fine manually. The macro shows XJason.Raw Player.Open "item": {"movieid": {1}} for that command
Any help will be much appreciated.
Hi omar and welcome to VC forum.
Did you follow this tutorial?
https://www.youtube.com/watch?v=O-9QNjEdNhI (https://www.youtube.com/watch?v=O-9QNjEdNhI)
Hi Omar,
Please attach a log.
http://voxcommando.com/mediawiki/index.php?title=Log
Looking at the video I found that I had the Video DB set to myvideos75 and looking into the MySQL DB I found the highest number was myvideos78. After I modified that value and regenerating the XMLs I was able to play the movies by name.
The Find Movie macro was not working and the macro looks quite a bit more complex. It had this value in the first line
XJson.SmartPL smart\MoviebyName.xsp {2}
If I change the {2} by {1} the macro seems to work most of the time. Is that correct or I am doing something wrong by modifying that value?
You should not modify that value. Actually, it's a good idea for you to learn what payloads are (the notation that {1} and {2} are for) by watching some of the core tutorial videos for VC, especially those on editing commands.
http://voxcommando.com/mediawiki/index.php?title=Video_Tutorials
Now that you have selected the correct database file, you should generate your xml again. Then the command should work correctly for all titles (hopefully). This is because VC will now be able to scan the correct file to get all of the titles in your current collection. If you don't re-generate the xml, it will simply use the information it scanned previously.
If you look in your command tree at the voice command for "Find Movie":
"Find, Search, Show" is the first payload.
The second payload is the actual payload xml file that contains the references to all of your movie media, so that action definitely needs the notation {2}.
Earlier you said that you were using MySQL and then you started talking about changing the path to the SQL files.
The settings for the path to SQL files is in the xSQL plugin. In the xMySQL plugin there is no such setting. You should be using the xSQL plugin (for normal installs of XBMC) or the XMySQL plugin if you use MySQL databases with XMBC. You should not be using both.
You should also be using the xJson plugin no matter what.
Actually after re-reading Omar's post and looking at the xMySQL plugin settings, I think I may have misunderstood.
Sorry if I did.
I'm pretty sure the payloads in the default configuration are correct, but I will set up a test configuration using MySQL to make sure everything is still working correctly.
Apologies for the confusion. To make the play movies macro work I went to the settings on the xMySQL plugin and in the OutPut (XML Payloads) section I modified the database myvideos75 for myvideos78 saved it and generated the XMLs again. Play Movie uses xbmcMoviesIDs.xml
The Find Movie Macro seems to use a different XML (xbmcMovies.xml) which on my file has these type of lines
Value
dav://user:pass@NAS_IP:port/Movies/2%20Guns.mp4
Pharases
2 Guns
From what little I understand at this point the macro seems to create a playlist 'on the fly' with the name of the movie you provide (attached picture). On that macro, if I replace the {2} by {1} the playlist gets created and finds the movie Ok, but If I leave it as {2} it doesn't seems to work.
I don't see how it can possibly work using payload 1.
I have tested it here and it seems to work fine without editing the macro.
Please use the original macro and send us a log.
The one problem I have been able to find with the "find movie" command is that movies containing an & will not work, because in the xml it expects it to look like &
This will be fixed in the next release.
I have put together a new better way to handle all the movie functions in one command.
With this command you can "Find/Show/Browse", or "Play", or "Resume".
It uses the movie ID so no worries about special characters.
Please delete the entire group named "XBMC Movies" and then replace it by pasting this XML into your tree.
(see http://voxcommando.com/mediawiki/index.php?title=XML_on_the_forum for more info)
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.1.0.7-->
<commandGroup open="True" name="XBMC Movies" enabled="True" prefix="" priority="0" requiredProcess="" description="">
<command id="806" name="NEW {1} Movie {2}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<if ifBlockDisabled="False" ifNot="False">
<ifType>(A)Contains(B)</ifType>
<ifParams>Find,Show,Browse&&{1}</ifParams>
<then>
<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": {"movieid": {2}}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>XJson.Raw</cmdType>
<params>
<param>GUI.ActivateWindow</param>
<param>"window": "videoplaylist"</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)Contains(B)</ifType>
<ifParams>Resume&&{1}</ifParams>
<then>
<action>
<cmdType>XJson.Raw</cmdType>
<params>
<param>Player.Open</param>
<param>"item": { "movieid": {2} } , "options":{ "resume":true }</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</then>
<else>
<action>
<cmdType>XJson.Raw</cmdType>
<params>
<param>Player.Open</param>
<param>"item": { "movieid": {2} }</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
</else>
</if>
<payloadList>Find, Browse, Show, Resume, Play</payloadList>
<phrase>film, films, movie, movies, moving picture</phrase>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">XbmcPayloads\xbmcMovieIDs.xml</payloadFromXML>
</command>
<command id="809" name="Find/Browse Genre {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>XJson.Raw</cmdType>
<params>
<param>GUI.ActivateWindow</param>
<param>"window": "video", "parameters": [ "videodb://1/1/{1}/" ]</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>Find, Browse, Show</phrase>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">XbmcPayloads\xbmcVideoGenres.xml</payloadFromXML>
<phrase>movies, films, videos</phrase>
</command>
<command id="1005" name="Find Actor {1}" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>XJson.Raw</cmdType>
<params>
<param>GUI.ActivateWindow</param>
<param>"window": "video", "parameters": [ "videodb://1/4/{1}" ]</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<action>
<cmdType>TTS.Speak</cmdType>
<params>
<param>Showing movies with {PF.1}</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase optional="true">Find, Search, Show</phrase>
<phrase>film, films, movie, movies</phrase>
<phrase>with, starring</phrase>
<phrase optional="true">actor</phrase>
<payloadFromXML phraseOnly="False" use2partPhrase="False" phraseConnector="by" Phrase2wildcard="anyone" optional="False">XbmcPayloads\xbmcMovieActors.xml</payloadFromXML>
</command>
<command id="406" name="Download subtitles (Gotham)" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
<action>
<cmdType>XJson.Raw</cmdType>
<params>
<param>GUI.ActivateWindow</param>
<param>subtitlesearch</param>
</params>
<cmdRepeat>1</cmdRepeat>
</action>
<phrase>download subtitles, subtitle search, find subtitles</phrase>
</command>
</commandGroup>
After you edit the tree, you will need to save it and close it before the changes will take effect.
Thanks James, the XML you created works great.