![]() |
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) Pages:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
JSON-RPC (JSON Remote Procedure Call) interface protocol in development for XBMC - topfs2 - 2010-01-23 Hi, I just wanted to inform those that develop supplimental tools and client that there will be a new integration option into xbmc soon. The main benefits with the new wrapper will be:
The method structure will use the following schema "Namespace.Method" so a namespace will be logically names and the method applicable to that namespace alone. examples:
Anyways I just wanted to bring the client creators up to speed on this as its starting to get somewhat finished, and before its final I would like to get some input about what you guys would like to use it to and whats missing. So we can get as good final product as possible. Here is the currently mapped methods, there are still alot of info getters left and I'll add them as soon as I fix some other parts of the xbmc code needed. The first column says methodcall, the second is internal the third states transport specific need. the forth client permission need and finally the fifth is a description about the method. Cheers, Tobias - slash - 2010-01-28 Hi, This is a nice initiative. As a tool developer (XBMX Web Media Manager) here are some suggestions : For the movie database: - get actor, movieactors and tvshowactors - get genres General: - getshares to return also the usb disks (now it doesn't) - get the thumbs and fanart name for a specific file (so client doesn't have to calculate the CRCs) - Do you think it would be possible to do a selective get (exple: getmovies where value = something) ? Thanks - topfs2 - 2010-01-28 Yeah the get shares should really list usb disks, have forgotten to add that. will see if I can add that. Get Actors and get genres are good ideas, will add it. Also the introspect doesn't really show the params, might be worth adding though. The getmovies takes param, so you can do MovieLibrary.GetMovies were genreid = X. Same with songs, MusicLibrary.GetSongs(artistid=Y) When you get stuff it will always return thumbnail if it exists, fanart I haven't added, shall see if I can add it. Thanks for the suggestions. Cheers, Tobias - slash - 2010-01-28 Great, Looking forward to test this. Thanks for your work and efforts. Cheers Nick - CrashX - 2010-01-28 Would be nice to see a way to access/set the following via web interface: 1) Keymaps 2) AdvancedSettings - topfs2 - 2010-01-28 Advanced settings is planned, will probably have to wait until version 2 though since it needs some alterations in advancedsettings handling. Keymaps, I'd rather alter how input works and make a context driven input system and add mapping in gui (like games). - CrashX - 2010-01-28 Awesome news. How about some more video options: 1) Zoom 2) Info Wouldn't it be better to send a keypress to the gui via web interface instead adding commands one at a time ? or better yet send the Keypress Actions themselves ? That way you have to access all XBMC commands. - topfs2 - 2010-01-28 CrashX Wrote:Awesome news. Well a key can be mapped, an action cannot. they serve different functions. Allthough I've thought of adding Key sending aswell so that it could work as eventserver aswell, but I need to alter stuff inside xbmc first. And making all actions one at a time is tiresome but it adds security, since each action has its own security, so you can't call system.powerdown but call musicplayer.play from your iPhone if this is how you want it. EDIT: Info and zoom I'll add, didn't think of them, thx - CrashX - 2010-01-28 topfs2 Wrote:And making all actions one at a time is tiresome but it adds security, since each action has its own security, so you can't call system.powerdown but call musicplayer.play from your iPhone if this is how you want it. True but we do have web authenication right ? What is differences in executing the action by pressing a key vs over the web ? Another way is to maintain list of Admin only commands ( should be very short list ) ... ie system.powerdown and then have a gui settting that says allow admin command via web. - topfs2 - 2010-01-29 Pressing a key gets translated into an action depending on the window your currently in, so space can mean multiple things. An action is _always_ the same, no matter what the context or window it is. Yes, we have web authentication but if you have authenticated a script that is said to download subtitles, how do you know it won't delete all your files, delete your library and shutdown your system? I'd say that for the web it makes less sense since you probably know the client, but since were aiming at perhaps add this for script aswell its much less transparent what will happen when you start it. Check android, it has the same security model. http://developer.android.com/guide/topics/security/security.html This means that when you start an app or client we can pop up a dialog stating that this script asks for permission to alter your library, if it tries to do anything else it will be denied. Could do with access to the scanned media info - sijones - 2010-01-29 definition, codecs that sort of thing.. - spiff - 2010-01-29 uhm, those are obviously avail as props on the getxxx calls. - CrashX - 2010-01-29 topfs2 Wrote:Pressing a key gets translated into an action depending on the window your currently in, so space can mean multiple things. I am sorry you misunderstood me, I was asking what the differences in security was between executing the action using keyboard instead of web for XBMC ? To me, it looks like xbmc web interface is something designed to be used for local network instead of over the internet. The web scripts that we would run are those that are development by XBMC developers. My use of web interface is as a replacement for mouse/keyboard, ie XBMCRemote. - topfs2 - 2010-01-29 CrashX Wrote:I am sorry you misunderstood me, I was asking what the differences in security was between executing the action using keyboard instead of web for XBMC ? No difference. The security is applied per client, so if the client is allowed to execute keypresses it will be allowed so, then it will be same as keyboard. Although jsonrpc doesn't wrap keypresses yet, it will at some point I hope though. Also which might get lost in the translation is that the webinterface is actually also a client. - slash - 2010-02-08 Hi, The list is very impressive. Nice work. Will the HTTP API database operations like queryvideodatabase, execvideodatabase, querymuscidatabase and execmusicdatabase still be available ? |