JSON-RPC (JSON Remote Procedure Call) interface protocol in development for XBMC

  Thread Rating:
  • 8 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #16
no.
find quote
FidoFuz Offline
Junior Member
Posts: 49
Joined: Dec 2009
Reputation: 0
Post: #17
Do you intend adding any Library manipulation functions, i.e., scan for changes/update library add/remove source?
find quote
spiff Offline
Retired Developer
Posts: 12,386
Joined: Nov 2003
Post: #18
yes.
find quote
blakeb Offline
Junior Member
Posts: 7
Joined: Sep 2008
Reputation: 0
Post: #19
I have been working on an interface using the http api, and have noticed that when showing the info overlay during video playback, the http api stops responding. It also stops responding while the dialog asking if you want to resume your position is showing. It still receives the commands, but not until after I exit the dialog with the keyboard. This doesn't happen during music playback. I am using the latest build of XBMC on windows 7. I am not sure if it is happening on other platforms.
find quote
topfs2 Offline
Team-Kodi Developer
Posts: 4,093
Joined: Dec 2007
Reputation: 12
Post: #20
blakeb Wrote:I have been working on an interface using the http api, and have noticed that when showing the info overlay during video playback, the http api stops responding. It also stops responding while the dialog asking if you want to resume your position is showing. It still receives the commands, but not until after I exit the dialog with the keyboard. This doesn't happen during music playback. I am using the latest build of XBMC on windows 7. I am not sure if it is happening on other platforms.

This is offtopic... httpapi is being deprecated so its unlikely to ever be fixed.

If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
find quote
Tolriq Offline
Donor
Posts: 2,362
Joined: Jun 2009
Reputation: 68
Location: France
Post: #21
Not the good place to such bug report, but i've the same effect i did not investigate more since the box is not up2date.

Edit : Too late Tongue

So i change this in, do you plan to release test build for us preparing the move ?

Yatse 2 : Media Center Remote Control for Touch Screens
Yatse, the Xbmc Remote and Widgets for Android
find quote
Kabooga Offline
Senior Member
Posts: 232
Joined: Feb 2009
Reputation: 1
Location: Silicon Valley, CA
Post: #22
Currently my web page uses the API commands QueryMusicDatabase, QueryVideoDatabase, and AddToPlayListFromDB to accomplish most of the heavy work. Will these API commands (or facsimiles) be included in this new API?

I am an expert at acting like an expert ---- WC Fields.

XBMC Web Control Interface - https://github.com/mthiels/webinterface.xrc
find quote
topfs2 Offline
Team-Kodi Developer
Posts: 4,093
Joined: Dec 2007
Reputation: 12
Post: #23
Kabooga Wrote:Currently my web page uses the API commands QueryMusicDatabase, QueryVideoDatabase, and AddToPlayListFromDB to accomplish most of the heavy work. Will these API commands (or facsimiles) be included in this new API?

If you check the first post and the list of commands you'll see that you can query the database easy and wraped, so no more sql anymore.

If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
find quote
topfs2 Offline
Team-Kodi Developer
Posts: 4,093
Joined: Dec 2007
Reputation: 12
Post: #24
Tolriq Wrote:Not the good place to such bug report, but i've the same effect i did not investigate more since the box is not up2date.

Edit : Too late Tongue

So i change this in, do you plan to release test build for us preparing the move ?

Its really close to be merged, just pending the review. So no dev builds outside the normal svn trunk builds.

If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
find quote
EqUiNoX Offline
Skilled Skinner
Posts: 164
Joined: Sep 2005
Reputation: 4
Location: Vancouver, BC
Post: #25
Not sure if this has been catered for or if fully on topic but would be nice to have some improved screenshot functions.

Such as...

1) Screenshot without mouse pointer.
2) Raw compressed binary data screenshot.
3) Maybe some kind of way to say screen has changed since last screenshot.
4) Also transfer region that has changed (could be done by comparing previous and latest screenshot for ease)

As you may see I am thinking on the lines of being able to remotely control xbmc in a remote desktop like fashion.

Currently working on Ellipsis 1.3 Updates. Update Requests Here.

Ellipsis for XBMC 1.2.1 Click here to download & for SVN details.

Twitter.com/TeamBlackbolt | Facebook.com/TeamBlackbolt1 | TeamBlackbolt.co.uk
find quote
topfs2 Offline
Team-Kodi Developer
Posts: 4,093
Joined: Dec 2007
Reputation: 12
Post: #26
Well it has been discussed and it all comes down to that reading the backbuffer at a significant speed takes up way to much resource so you'd get a significant impact on the htpc. Also transfering the screenshots / movie thing will take alot of bandwith and adding compression to that would probably not be beneficial since it will take even more cpu cycles on both client and htpc, although it would be needed to be investigated.

regarding 3 and 4, we don't have that code in place in xbmc by normal so no way of detecting it. when XBMC supports dirty regions and event based rendering this would be revisable.

WIth that being said rendering the video @ 64x64 might be added since ambilight daemons could use that data.

I do find the idea interesting but unfortuanatly I doubt we can do it better than vnc and such already do, essentially have the same problems. Although since the data fetching will be so easy it will be a snap for other clients to display the data instead.

If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
(This post was last modified: 2010-02-09 10:57 by topfs2.)
find quote
EqUiNoX Offline
Skilled Skinner
Posts: 164
Joined: Sep 2005
Reputation: 4
Location: Vancouver, BC
Post: #27
One of the reasons why the idea came about was due to the fact when skinning I tend to develop on my pc and upload to what ever platform I would like to test. In this case it was my trusty old xbox (which has now been replaced with xbmc live on a asrock ion 330). The only problem was the xbox wasnt in the same room. So instead of wearing out the carpet moving from room to room or moving the xbox itself. I wrote a application to send keys to the xbox and take periodic screenshots.

Im not sure if xbmclive can have vnc running in the background to achieve similar?

Another motivation for the screenshot without mouse pointer was if available to xbmc's python engine. I could then take screenshots of the current screen then do some special techniques I have done to achieve blur like effects etc.

Big Grin

Currently working on Ellipsis 1.3 Updates. Update Requests Here.

Ellipsis for XBMC 1.2.1 Click here to download & for SVN details.

Twitter.com/TeamBlackbolt | Facebook.com/TeamBlackbolt1 | TeamBlackbolt.co.uk
find quote
sebak Offline
Junior Member
Posts: 33
Joined: Mar 2010
Reputation: 0
Location: Belgium
Post: #28
Well, lot of the discussion got lost here.
Anyway, it would be great if you could add methods to list & manage all playlists instead of only the now playing one.
find quote
topfs2 Offline
Team-Kodi Developer
Posts: 4,093
Joined: Dec 2007
Reputation: 12
Post: #29
There have been a few changes while the cloud dropped xbmc.org and basically it was decided that the implicit player mapping isn't suitable and will in the long run just give weird handling and it might be so limiting to do the implicit its not worht it. The explicit mapping is the way to go, check nowplaying in the webinterface for implementation ideas.

Also, the GUI.GetLocalizedString how much I like the idea I'm not sure I can realize it just now (threadsafeness) so it is subject of being removed. However it may be reinstated in camelot+2 when I've had time to come up with a threadsafe way of doing it.

Also the UTF-8 issue, I might add a cleanup thing so it will remove any markers but converting from UTF-16 and such I'm not sure I'll add, better to just send everything in utf-8.

sebak Wrote:Well, lot of the discussion got lost here.
Anyway, it would be great if you could add methods to list & manage all playlists instead of only the now playing one.

Definatly, I'm redoing abit of the playlist stuff internally in xbmc aswell now later it will be possible to just select an ID out of the blue and you'll get a virtual (in memory) playlist you can do whatever you wish with, and it will be shared between clients.

So you'll be able to create a virtual playlist and then append it to the now playing if you wish, and hopefully save it aswell.

Cheers,
Tobias

If you have problems please read this before posting

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]

"Well Im gonna download the code and look at it a bit but I'm certainly not a really good C/C++ programer but I'd help as much as I can, I mostly write in C#."
(This post was last modified: 2010-03-18 19:52 by topfs2.)
find quote
jez500 Offline
Team-Kodi Member
Posts: 77
Joined: Mar 2010
Reputation: 5
Location: Perth, Australia
Post: #30
Hi all, long time xbmc fan, first time poster.

Firstly a big thanks to all involved in the move to json (and xbmc in general), it is a dream to use compared to the old httpapi. I am a web developer by trade and have been working on a web ui over the last few months. The news of a json-rpc was music to my ears, So I decided to spend a few days rebuilding my app using json but during this process I got a bit stuck on a few things...

1. Search : I found the combination of QueryMusicDatabase + LIKE %q% + searchbox + ajax resulted in powerful and fast itunes style searching. I can’t seem to make “MusicLibrary.GetSongs” do the same thing, is it possible? I am currently grabbing all songs at page load and looping through each item when searched - which I don’t think will scale well.

2. Add to Playlist: “Playlist.Add” doesn’t seem to have the same power as AddToPlayListFromDB, I found the ability to add songs, albums or artists to the playlist by id to be very useful.

3. Playlist data: more of a feature request here but it would be great if each playlist item was a fully loaded db row. Eg artist, artistid, genre, albumid, album ,thumb....etc. The virtual playlist sounds very cool!

4. Maybe these don’t exist yet or maybe I'm going blind but I cannot find equivalents of: clearPlayList, playFile, GetCurrentlyPlaying and SetPlaylistSong, any ideas?

I have been using this: http://pastebin.com/m340ebb83 and the default web interface (nightly win32 xbmc-r28256-trunk.exe) as my point of reference for documentation, is there anywhere else I should be looking?

Thanks again for all the great work!
find quote
Post Reply