Kodi Community Forum
JSON-RPC (JSON Remote Procedure Call) interface protocol in development for XBMC - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Kodi Application (https://forum.kodi.tv/forumdisplay.php?fid=93)
+---- Forum: JSON-RPC (https://forum.kodi.tv/forumdisplay.php?fid=174)
+---- Thread: JSON-RPC (JSON Remote Procedure Call) interface protocol in development for XBMC (/showthread.php?tid=68263)



- samdret - 2012-01-10

Montellese Wrote:Unless you are using Dharma, JSONRPC.Introspect provides you will all the information about every parameter of every method. You can also find some (limited) information on the wiki.

In case you are using Dharma I recommend to either wait till Eden stable has been released or if you can't wait update to Eden Beta 1 and to take a look at the new introspect.

Concerning your question on VideoLibrary.GetRecentlyAddedMovies: You must specify the additional information you want in the "properties" parameter as an array of strings (e.g. [ "title", "rating", "thumbnail" ]).

How stupid of me. The wrapper I'm using was dumbing down the content created from Introspect.

Got it up to snuff now Smile


- Mizaki - 2012-01-10

Montellese Wrote:What do you mean by GUI notification? A notification dialog telling you that you switched to audiostream XYZ? Don't you know that already because you initiated the action? AFAIK there's no such thing in XBMC.

If I say toggle subtitles on or off with the "t" key a notification appears on screen basically saying subtitles on/off. I have mapped a key to switch audio streams. If I hit that I get a notification on screen telling me what audio stream I've switched to.

The question is really; should JSONRPC calls for these things act the same as a button press of the same function?


- Montellese - 2012-01-11

Ah I only switch subtitles/audiostreams through the OSD dialog in the XBMC GUI so I never came across those notifications.

Good question concerning whether they should appear or not. I don't really have an opinion on it because I never used it so far. I'll have to think about it and aks other people what they'd expect.


- Mizaki - 2012-01-11

I think it would make life much easier for the user. Say you have 8 different subtitles. Atm you'd be blindly cycling through and having to wait for someone to talk to see which langague you are currently on. Whereas if you had the popup you'd know.


- Montellese - 2012-01-11

I just pushed a commit which refactores the way the methods of the Input namespace work. Up until now Input.Left/Right/... could only be used for navigational purposes but didn't work in other places like in fullscreen video where the "Arrow Right" key on the keyboard performs a small seek forward. After this change executing the Input.Left method has the exact same effect as when pressing the "Arrow Left" key on the keyboard. Obviously this also applies to Input.Right/Up/Down/Back/Select.

I hope this makes using these methods easier and more intuitive. Furthermore addons now get a fully qualified action object in python with valid name and buttoncode (and not only with a valid action id).


- othrayte - 2012-01-11

Hey,

I've seen some problems from TU users who have "allow programs on this computer to control xbmc" disabled, and thus TU can't see json notifications. For python add-ons running in XBMC is there a way to access the json stream without a telnet connection? would this be possible? would it (as a last resort) be reasonable (or even possible) for the add-on to enable this option when it isn't enabled?


- Montellese - 2012-01-11

I don't really know much about python and addons but there's no notification callback into python. It might be possible to implement but I'd have to read up on that stuff and it would certainly not be available for Eden. Please create a feature request ticket for it. So having "allow programs on this computer to control xbmc" and a TCP connection to XBMC is the only way so far. Changing GUI settings from an addon isn't supported either.

Best thing would probably be to put a hint into your addons disclaimer or description saying that the user needs to enable "allow programs on this computer to control xmbc" with a description where to find the setting.


- othrayte - 2012-01-12

Montellese Wrote:I don't really know much about python and addons but there's no notification callback into python. It might be possible to implement but I'd have to read up on that stuff and it would certainly not be available for Eden. Please create a feature request ticket for it. So having "allow programs on this computer to control xbmc" and a TCP connection to XBMC is the only way so far. Changing GUI settings from an addon isn't supported either.

Best thing would probably be to put a hint into your addons disclaimer or description saying that the user needs to enable "allow programs on this computer to control XBMC" with a description where to find the setting.

I thought that might be the case, I'll make a ticket for that.

I'll probably catch the error and suggest that the user change the setting, I'll also look into bringing up the relevant settings page to change the setting.


- Martijn - 2012-01-13

Is it possible to use JSON-RPC to edit/retrieve/delete data from the textures database or do I have to use the HTTPAPI for this?


- Montellese - 2012-01-13

JSON-RPC does not provide any means to access the texture database.


- Martijn - 2012-01-13

Montellese Wrote:JSON-RPC does not provide any means to access the texture database.

Thanks for the info


- Martijn - 2012-01-13

Is there an easier way to retrieve following unique data:
Quote:Season number + Season path

At the moment I use a combination of:
PHP Code:
VideoLibrary.GetEpisodes
VideoLibrary
.GetEpisodeDetails 
To retrieve information and then filter out what season folders are used in combination with the season number used.

Example of wanted data:
PHP Code:
Season:    Path:
1             smb://MACHINE-SANCTUM/Media3/TV Series/True Blood/Season01
2             smb://MACHINE-SANCTUM/Media3/TV Series/True Blood/Season02
3             smb://MACHINE-SANCTUM/Media3/TV Series/True Blood/Season03 

Edit:
Ok I think i found a better way of doing this and I do get the required results.
http://paste.ubuntu.com/803208/
However any other suggestion is welcome of course Big Grin


- Mizaki - 2012-01-13

I'm not sure what you are after but a seasons doesn't have to be in the correct season folder Smile Guess you want to get the season fan art or similar wouldn't getting the directories (Files.GetDirectory) from the root be a better bet? But I have the same TV show in different locations as well.


- Martijn - 2012-01-13

Mizaki Wrote:I'm not sure what you are after but a seasons doesn't have to be in the correct season folder Smile Guess you want to get the season fan art or similar wouldn't getting the directories (Files.GetDirectory) from the root be a better bet? But I have the same TV show in different locations as well.

No i want to store season fanart/posters/banners in the season folder. I am also assuming every one uses separate seasons folders (if not to bad for them)


- Montellese - 2012-01-13

The problem with your approach is, as Mizaki pointed out correctly, that some ppl don't have seperate directories for seasons and other people have the epidose files of the same season in different directories (maybe even on different harddiscs) so you need to take that into account.