The goal of this project is to create a web based or PSP Application (1.0-1.5) that can send commands to the XBMC HTTP API
Would it be easier to do a web based app? YES and NO
I would like to code this APP with the PSPSDK so it would be more stable and not depend on a defunct hacked web broswer(s). I would like to send the commands from the PSP to XBMC via WiFi, and maybe later on incorperate some streaming support for MP3/PHOTOS/ and maybe someday VIDEO :) For the most part the devs of XBMC have done all the xbox side of it ... all I need to do is get the PSP to talk to the XBOX and make it understand :)
If you are interested in this project and would like to help please email me and reply to this post. :)
http://www.xboxmediacenter.com/ (for more info on Xbox Media Center)
With that said here is a list of the commands from the CVS (thanks to AlTheKill and TechnoJuice for the guidance):
BASIC HTML:
<your xbox ip>/xbmcCmds/xbmcHttp?command=<comman>
Code: Select all
/* Parse an XBMC HTTP API command */
CStdString CXbmcHttp::xbmcProcessCommand( int eid, webs_t wp, char_t *command, char_t *parameter)
{
int numParas;
CStdString paras[MAX_PARAS], retVal;
if (strlen(parameter)<300)
CLog::Log(LOGDEBUG, "HttpApi Start command: %s paras: %s", command, parameter);
else
CLog::Log(LOGDEBUG, "HttpApi Start command: %s paras: [not recorded]", command);
numParas = splitParameter(parameter, paras, ";");
if (wp != NULL)
websHeader(wp);
if (!stricmp(command, "clearplaylist")) retVal = xbmcClearPlayList(eid, wp, numParas, paras);
else if (!stricmp(command, "addtoplaylist")) retVal = xbmcAddToPlayList(eid, wp, numParas, paras);
else if (!stricmp(command, "playfile")) retVal = xbmcPlayerPlayFile(eid, wp, numParas, paras);
else if (!stricmp(command, "pause")) retVal = xbmcAction(eid, wp, numParas, paras,1);
else if (!stricmp(command, "stop")) retVal = xbmcAction(eid, wp, numParas, paras,2);
else if (!stricmp(command, "playnext")) retVal = xbmcAction(eid, wp, numParas, paras,3);
else if (!stricmp(command, "playprev")) retVal = xbmcAction(eid, wp, numParas, paras,4);
else if (!stricmp(command, "rotate")) retVal = xbmcAction(eid, wp, numParas, paras,5);
else if (!stricmp(command, "move")) retVal = xbmcAction(eid, wp, numParas, paras,6);
else if (!stricmp(command, "zoom")) retVal = xbmcAction(eid, wp, numParas, paras,7);
else if (!stricmp(command, "restart")) retVal = xbmcExit(eid, wp,1);
else if (!stricmp(command, "shutdown")) retVal = xbmcExit(eid, wp,2);
else if (!stricmp(command, "exit")) retVal = xbmcExit(eid, wp,3);
else if (!stricmp(command, "reset")) retVal = xbmcExit(eid, wp,4);
else if (!stricmp(command, "restartapp")) retVal = xbmcExit(eid, wp,5);
else if (!stricmp(command, "getcurrentlyplaying")) retVal = xbmcGetCurrentlyPlaying(eid, wp);
else if (!stricmp(command, "getdirectory")) retVal = xbmcGetDirectory(eid, wp, numParas, paras);
else if (!stricmp(command, "gettagfromfilename")) retVal = xbmcGetTagFromFilename(eid, wp, numParas, paras);
else if (!stricmp(command, "getcurrentplaylist")) retVal = xbmcGetCurrentPlayList(eid, wp);
else if (!stricmp(command, "setcurrentplaylist")) retVal = xbmcSetCurrentPlayList(eid, wp, numParas, paras);
else if (!stricmp(command, "getplaylistcontents")) retVal = xbmcGetPlayListContents(eid, wp, numParas, paras);
else if (!stricmp(command, "removefromplaylist")) retVal = xbmcRemoveFromPlayList(eid, wp, numParas, paras);
else if (!stricmp(command, "setplaylistsong")) retVal = xbmcSetPlayListSong(eid, wp, numParas, paras);
else if (!stricmp(command, "getplaylistsong")) retVal = xbmcGetPlayListSong(eid, wp, numParas, paras);
else if (!stricmp(command, "playlistnext")) retVal = xbmcPlayListNext(eid, wp);
else if (!stricmp(command, "playlistprev")) retVal = xbmcPlayListPrev(eid, wp);
else if (!stricmp(command, "getpercentage")) retVal = xbmcGetPercentage(eid, wp);
else if (!stricmp(command, "seekpercentage")) retVal = xbmcSeekPercentage(eid, wp, numParas, paras);
else if (!stricmp(command, "setvolume")) retVal = xbmcSetVolume(eid, wp, numParas, paras);
else if (!stricmp(command, "getvolume")) retVal = xbmcGetVolume(eid, wp);
else if (!stricmp(command, "setplayspeed")) retVal = xbmcSetPlaySpeed(eid, wp, numParas, paras);
else if (!stricmp(command, "getplayspeed")) retVal = xbmcGetPlaySpeed(eid, wp);
else if (!stricmp(command, "filedownload")) retVal = xbmcGetThumb(eid, wp, numParas, paras);
else if (!stricmp(command, "getthumbfilename")) retVal = xbmcGetThumbFilename(eid, wp, numParas, paras);
else if (!stricmp(command, "lookupalbum")) retVal = xbmcLookupAlbum(eid, wp, numParas, paras);
else if (!stricmp(command, "choosealbum")) retVal = xbmcChooseAlbum(eid, wp, numParas, paras);
else if (!stricmp(command, "filedownloadfrominternet")) retVal = xbmcDownloadInternetFile(eid, wp, numParas, paras);
else if (!stricmp(command, "filedelete")) retVal = xbmcDeleteFile(eid, wp, numParas, paras);
else if (!stricmp(command, "filecopy")) retVal = xbmcCopyFile(eid, wp, numParas, paras);
else if (!stricmp(command, "getmoviedetails")) retVal = xbmcGetMovieDetails(eid, wp, numParas, paras);
else if (!stricmp(command, "showpicture")) retVal = xbmcShowPicture(eid, wp, numParas, paras);
else if (!stricmp(command, "sendkey")) retVal = xbmcSetKey(eid, wp, numParas, paras);
else if (!stricmp(command, "fileexists")) retVal = xbmcFileExists(eid, wp, numParas, paras);
else if (!stricmp(command, "fileupload")) retVal = xbmcSetFile(eid, wp, numParas, paras);
else if (!stricmp(command, "getguistatus")) retVal = xbmcGetGUIStatus(eid, wp);
else if (!stricmp(command, "execbuiltin")) retVal = xbmcExecBuiltIn(eid, wp, numParas, paras);
else if (!stricmp(command, "config")) retVal = xbmcConfig(eid, wp, numParas, paras);
else if (!stricmp(command, "help")) retVal = xbmcHelp(eid, wp);
else if (!stricmp(command, "getsysteminfo")) retVal = xbmcGetSystemInfo(eid, wp, numParas, paras);
else if (!stricmp(command, "getsysteminfobyname")) retVal = xbmcGetSystemInfoByName(eid, wp, numParas, paras);
else if (!stricmp(command, "addtoslideshow")) retVal = xbmcAddToSlideshow(eid, wp, numParas, paras);
else if (!stricmp(command, "clearslideshow")) retVal = xbmcClearSlideshow(eid, wp);
else if (!stricmp(command, "playslideshow")) retVal = xbmcPlaySlideshow(eid, wp, numParas, paras);
else if (!stricmp(command, "getslideshowcontents")) retVal = xbmcGetSlideshowContents(eid, wp);
else if (!stricmp(command, "slideshowselect")) retVal = xbmcSlideshowSelect(eid, wp, numParas, paras);
else if (!stricmp(command, "getcurrentslide")) retVal = xbmcGetCurrentSlide(eid, wp);
else if (!stricmp(command, "getguisetting")) retVal = xbmcGUISetting(eid, wp, numParas, paras);
else if (!stricmp(command, "setguisetting")) retVal = xbmcGUISetting(eid, wp, numParas, paras);
else if (!stricmp(command, "takescreenshot")) retVal = xbmcTakeScreenshot(eid, wp, numParas, paras);
else if (!stricmp(command, "getguidescription")) retVal = xbmcGetGUIDescription(eid, wp);
else if (!stricmp(command, "setautogetpicturethumbs")) retVal = xbmcAutoGetPictureThumbs(eid, wp, numParas, paras);
//Old command names
else if (!stricmp(command, "deletefile")) retVal = xbmcDeleteFile(eid, wp, numParas, paras);
else if (!stricmp(command, "copyfile")) retVal = xbmcCopyFile(eid, wp, numParas, paras);
else if (!stricmp(command, "downloadinternetfile")) retVal = xbmcDownloadInternetFile(eid, wp, numParas, paras);
else if (!stricmp(command, "getthumb")) retVal = xbmcGetThumb(eid, wp, numParas, paras);
else if (!stricmp(command, "guisetting")) retVal = xbmcGUISetting(eid, wp, numParas, paras);
else if (!stricmp(command, "setfile")) retVal = xbmcSetFile(eid, wp, numParas, paras);
else if (!stricmp(command, "setkey")) retVal = xbmcSetKey(eid, wp, numParas, paras);
else
retVal = flushResult(eid, wp, "<li>Error:unknown command\n");
if (wp!=NULL)
websFooter(wp);
CLog::Log(LOGDEBUG, "HttpApi End command: %s", command);
return retVal;
}