View Full Version : What the development-status of the WebServer (libGOAhead)?
could someone let me know what the current development status of the xbmc web server is? if it is dormant i might have time to look at it myself.
to me the web server is one of xbmc's most desirable features since i wish to control it from a pocket pc.
nad
Hullebulle
2004-02-08, 15:33
as far as i know nobody is working on it atm. so feel free and go ahead to improve it. :)
there are some new skins at allxboxskins.com if that is what you're looking for, but i guess that will not get you any further with pocket pc control *???
it might give you some inspiration though...
have a look at:
http://www.allxboxskins.com/skins....id=2335 (http://www.allxboxskins.com/skins/index.php?app=xbmc&cat=0&ps=&pageno=&id=2335)
thanks. i'll starting browsing the source code and get back to you. don't hold your breath though.
nad
i have made a small windows application that can control xbmp or xbmc by sending commands to the webserver.
taka a look at my homepage for the application (with screenshots and all):
http://www.geocities.com/grundir4/xbmr/
features that i would like to see in the webserver (to be able to improve my program, and make the webinterface more useful):
-be able to retrieve the current playlist (and play songs from it)
-find out which song/file that is currently playing
-set volume
it would also be nice if you could get some kind of id or path of the song/file, so that you don't have to go to that files directory "manually" if you want to play the song right away, i.e. just call /xbmpcmds/xbmpform?command=playfile&fileid=345 or something like that if you know what i mean. but maybe that's not possible cause of the way that xbmc is built i don't know, just wanted to ask.
thebeast
2004-02-13, 03:37
i have made a small windows application that can control xbmp or xbmc by sending commands to the webserver.
taka a look at my homepage for the application (with screenshots and all):
http://www.geocities.com/grundir4/xbmr/
features that i would like to see in the webserver (to be able to improve my program, and make the webinterface more useful):
-be able to retrieve the current playlist (and play songs from it)
-find out which song/file that is currently playing
-set volume
it would also be nice if you could get some kind of id or path of the song/file, so that you don't have to go to that files directory "manually" if you want to play the song right away, i.e. just call /xbmpcmds/xbmpform?command=playfile&fileid=345 or something like that if you know what i mean. but maybe that's not possible cause of the way that xbmc is built i don't know, just wanted to ask.
i would like those also. it would make it easier to use xbox to play back music for instance.
especially if one is often at another computer or other computers often, with a web browser. and if one doesn't have a remote...
you should perhaps try working closer with xmbc as well as putting up your program ;)
hello salle78!
great work, have you published the source for your application somewhere?
regards niclas
thanks. i'll starting browsing the source code and get back to you. don't hold your breath though.
nad
the easies way is just to modify the asp-pages (make a new web-skin) so that they are viewable in pocket internet explorer on the pocket pc.
i am thinking of doing that myself when i have an ipaq with wlan in a drawer somewhere (the batteries on it are not that great).
hello salle78!
great work, have you published the source for your application somewhere?
regards niclas
thx niclas,
no i have not published the source, what are you missing in the application? (keep in mind that it is only the first alpha-version)
i will release the source-code when i lose interest in developing the application or if i don't have time for it.
you should perhaps try working closer with xmbc as well as putting up your program ;)
i have looked at the code in the cvs, but c++ is not my native language so to speak. but maybe i willl give it a try...
cameronsto
2004-02-27, 08:24
is there any active development being done on the web server interface of xbmc?
i've got the latest build and it just seems to let you view directory listings, and i guess play the files although i didn't try that. *configuration/dashboard/etc didn't seem to do anything. *a buddy of mine showed me the web interface to his slimp3 device and i'd like to try to mimick something like that for xbmc, though i have limited c++ experience so i make no promises :)
-cameron
Gamester17
2004-02-27, 15:18
is there any active development being done on the web server interface of xbmc?
not currently by anyone on the xbm team, you're all aways welcomed to give it a shot, we love to see xml/setup configuration :)
cameronsto
2004-02-27, 16:24
is there any active development being done on the web server interface of xbmc?
not currently by anyone on the xbm team, you're all aways welcomed to give it a shot, we love to see xml/setup configuration :)
ok, gimme some ideas and i'll see what i can come up with. now where did i put that damn xdk...
-cameron
cameronsto
2004-02-28, 18:36
does anyone have any more info on the web server? *what server is it? *where are the web pages in the cvs tree? *what seems to be handling requests to /xbmccmds/xbmcform on the web server?
thanks
cameron
edit: *ok, found some of my answers, seems it uses goahead webserver 2.1 which i've never heard of so i'll have to research that. also found the xbmc asp pages.
those asp pages are not real asp. only a few asp commands are supported by goahead. but i have included spyce support to goahead (python server pages) which is similar to asp.
i have already done something with configuring xbmc through the webinterface (this code is already in xbmcweb.cpp).
but since i didn't like the way it is done i did not activate it yet. you can still have a look at it to get some idea.
Gamester17
2004-02-29, 03:25
i have included spyce support to goahead (python server pages) which is similar to asp.
@cameronsto, please do not code anything that require the use of python by default as it uses a lot of memory and is memory resistant.
ps! another feature suggestion for the webserver would be the ability to upload/move/rename/delete files, but that's a very low priority.
i have included spyce support to goahead (python server pages) which is similar to asp.
@cameronsto, please do not code anything that require the use of python by default as it uses a lot of memory and is memory resistant.
ps! another feature suggestion for the webserver would be the ability to upload/move/rename/delete files, but that's a very low priority.
"memory resistant" means that it doesn't support garbage collection? or, worse, that there is no way to clean, manually or automatically, the memory used?
Gamester17
2004-03-08, 17:07
[quote=darkie,feb. 28 2004,17:25]i have included spyce support to goahead (python server pages) which is similar to asp.
@cameronsto, please do not code anything that require the use of python by default as it uses a lot of memory and is memory resistantquote]
"memory resistant" means that it doesn't support garbage collection? or, worse, that there is no way to clean, manually or automatically, the memory used?
i meant that once the python library been loaded in to ram (memory) it can't be unloaded, it(1mb+) stays in memory until reboot
after starting this thread i am back.
i have just uploaded an xbmc patch to sourceforge which provides an api offering the functionality that i require. the upload also includes the client (pocket pc and windows in one application) which is what i am currently using (sometimes at least) to control the wonderful xbmc.
xbmchttp patch (https://sourceforge.net/tracker/index.php?func=detail&aid=914911&group_id=87054&atid=581840)
hopefully some others can make use of the patch and the client.
nad
---=Snyper=---
2004-03-13, 07:36
alittle goof on the cvs update that jwnmulder did for the web server.. *forgot the update the xbmc.vcproj with the 3 new files..
<file
relativepath=".\xbmc\lib\libgoahead\includes.h">
</file>
<file
relativepath=".\xbmc\lib\libgoahead\xbmcconfigurat ion.cpp">
</file>
<file
relativepath=".\xbmc\lib\libgoahead\xbmcconfigurat ion.h">
</file>
hope that helps
snyper
grrrrr.. that fixes the compiling problem.. and the options work great now.. but music, video, pics ect are broke..
alittle goof on the cvs update that jwnmulder did for the web server.. *forgot the update the xbmc.vcproj with the 3 new files..
<file
relativepath=".\xbmc\lib\libgoahead\includes.h">
</file>
<file
relativepath=".\xbmc\lib\libgoahead\xbmcconfigurat ion.cpp">
</file>
<file
relativepath=".\xbmc\lib\libgoahead\xbmcconfigurat ion.h">
</file>
hope that helps
thanks snyper. i added the code to the vcproj file and was able to compile the latest cvs. before adding the code, i was getting 11 errors and the compilation would fail. i am also posting this in the how-to compile xbmc from cvs section so it can be updated and also to help others with the same problem.
just to let you know. currently i'm bussy on doing some updates for the webserver, like fixing a few bugs and adding playlist support.
@nad
when i have some time left i will have a look at your patch, and if it's a good one we will add it to cvs
only this evening i discovered this great feature of xbmc (the web server), and since i didn't find the current web skin very nice i started playing with it.
as i'm in web programming/design i would like to contribute and improve the web server feature, but i had trouble finding anything about the /xbmccmds/xbmcform page and the asp xbmccommand it seems to affect.
can someone help with a brief reference?
Gamester17
2004-09-15, 11:14
we use a ported version of goahead websever (link) (http://www.goahead.com/webserver/webserver.htm) (from ver 2.1.7) in xbmc, you should be able to find all docs and specs on their website
there is not a lot of documentation on what functions are available to web developers.
i have read most of the source (in /lib/libgoahead) and most of the interessting stuff is in xbmcweb.cpp
if you know a bit of programming it should at least give you an idea of what is available.
you can also have a look at another thread where i ask for a few features i'd really like to be added: http://www.xboxmediaplayer.de/cgi-bin....;t=1243 (http://www.xboxmediaplayer.de/cgi-bin/forums/ikonboard.pl?act=st;f=4;t=1243)
i am currently working on an improved webinterface, simply to be able to turn off the tv while still listening to music, so if you are interested or need anything, please contact me.
rgds.
olen
you will probably find the functionality that you after with this patch (http://sourceforge.net/tracker/index.php?func=detail&aid=914911&group_id=87054&atid=581840). it also has an xbmc client app for a ppc.
your patch does just what i want, and i have wished to have it merged for several weeks. it is just so much hassle to keep patching the latest cvs all the time.
with this patch and spyce now working, i am really looking forward to do some nice scripting the next weeks...
fyi: i'm a long time c/++ programmer and i have some spare time over the next two months. i've been a long time xbmp/xbmc user and decided to contribute my time to this project.
several years ago i wrote a very small webserver (>500 lines code) for an embedded project. i think it might be useful for xbmc. it doesn't have a ton of dynamic abilities, but there are hooks in the class to allow for virtual and generated pages. i don't think integrating it and setting it up to control xbmc's playback, etc remotely would be more then a day long project. i'd be happy to do that, however there is a caveat. i am an absolutely terrible web page designer. if someone wanted to volunteer to build me a set of templates for the interface, i'd be much obliged. before building the templates, please email me so we can discuss and agree on exactly how they'll be parsed. i'd much rather get it right the first time then have to redo it later.
sean
there already is a webserver with asp functionality. does your support that?
we need some sort of serverbased script support imho
also the webserver needs to reflect what happens in the main ui, i dont know what this is called in development terms, but i hope you understand what i mean
well, xbmcapi commands are very usefull....
however, if i try to put "sprintf" or "substring" or specials commands, i get an error.
where can i find a basic commands list to make "evoluate" scripts ?
do i need to build the webserver with an other library ?
thanks for answer !)
http://webserver.goahead.com/webserver/wsfeatures.htm
this is the webserver we have, not sure about the version.
goahead website do not provide any informations about this :(
well, its really easy. there is no asp (except for 5 commands or so). dunno why goahead calls it asp
snortix: you mentioned xbmcapi so i presume you have already discovered that it is possible to call this api from asp pages.
e.g. response = xbmcapi(“getcurrentlyplaying”);
if you need more background have a look at the thread in the development forum titled "httpapi: pocketpc and windows clients". also you can get the api docs here:httpapi docs (http://prdownloads.sourceforge.net/xbmc/apidoc.doc?download)
nad
jlbcnous
2005-08-24, 16:16
why not use ajax technology, for example for displaying time an song name?
not sure if i've got the right place to post this but here goes.
i've been playing around with writing an enhanced ppc web page controller. i am having problems in getting many commands to run properly, probably because i'm a novice. does anybody have a list of commands & functions etc [asp, esp, embedded javascript] that are supported by the standard goahead web server. i've tried the goahead website but can't seem to get any of their examples using embedded javascript to run. so it leads me to thinking that its a cut down version of the their standard web server that xbmc is using.
this may seem like a stupid question, but i searched through nad's api doc and could not find the answer. what are the api commands for start, stop and pause?
as slick as the default xbmc webserver page looks, it doesn't have enough functionality for me. i struggled several hours to figure out the spyce language and gave up. since i run apache on my laptop, i'll just use the api and write any code in php. so, i took everything in nad's doc and built a php xbmcapi class. now i'm going to work on a jukebox interface to control my xbmc from my laptop.
-- jeff
the word doc is a bit outdated now. the best documentation is the source code itself... xbmchttp.cpp:
http://cvs.sourceforge.net/viewcvs....ttp.cpp (http://cvs.sourceforge.net/viewcvs.py/*checkout*/xbmc/xbmc/xbmc/lib/libgoahead/xbmchttp.cpp)
in particular, look at "cxbmchttp::xbmccommand" for all the commands.
HarshReality
2006-02-07, 06:03
this may seem like a stupid question, but i searched through nad's api doc and could not find the answer. *what are the api commands for start, stop and pause?
as slick as the default xbmc webserver page looks, it doesn't have enough functionality for me. *i struggled several hours to figure out the spyce language and gave up. *since i run apache on my laptop, i'll just use the api and write any code in php. *so, i took everything in nad's doc and built a php xbmcapi class. *now i'm going to work on a jukebox interface to control my xbmc from my laptop. *
-- jeff
i did a release in the cvs patches that has the editing for the current xml added to the settings section. did the same for the pm3 skin just havent put it up anywhere.
strongly thingking about a slight code alteration in the page itself for speed gains.
hi there.
i'm trying to modify the http headers on an asp page that is located on the xbmc.
i tried doing
addresponseheader("content-type","royalairways-format");
http://www.astro.uni-bonn.de/~webstw/cm/ns_js_ssa/misc.htm#1020125
but this just throws an error.
anyone with bright ideas?
another alternative to achive my goal if it exists something like we have in apache :
.htaccess
but it doesn't seem we have that in the goahead webserver.
---------------------------------------------------
wow just figured out that spyce works. mabe there is something there that can help me modifing the headers sendt to client.
http://spyce.sourceforge.net/docs/eg.html
hehe
i got it working now,
thanks to spyce!
http://spyce.sourceforge.net/docs/gif.src.html
okey, seems like i need some more help after all.
http://home.no.net/thor918/xbmc/stuff/headerchange.spy
while i can use spyce to change the mime type of the header, in my case the file extencion can't end with spy.
are there any way to configure goahead webserver like apache's .htaccess
what would be perfect, if i can spesify the file extencions that will be parsed as python server side page.
i'm hoping a dev can pick up my thread :d
okey. i sorted out the file problem.
used spyce to add a header containg a the filename
response.addheader('content-disposition', 'filename=xbox.ini')
i think it would work in most browsers, but not sure.
sorry about all the fuss.
I am a complete XBMC newb, so please forgive me if this question is an old one.
I understand GoAhead is the integrated web server. After doing a little reading at their site it appears to support ASP and CGI. But, the XBMC wiki page The Web Interface (http://xbmc.org/wiki/?title=The_Web_Interface) states no ASP or PHP support. The web folder I downloaded shows default.asp and has some pretty standard code.
What am I missing here? Is this like ChiliASP? I'm considering doing some work on the web interface, and want to make sure I understand the current framework.