Page 1 of 1

XBMC Remote 4 PSP (Devs needed)

Posted: Thu Oct 27, 2005 6:06 pm
by S34N
I know you've seen this before and all but I really think this is an application that should be developed. So enough asking I'm doing ... I'm recruiting DEVS for this project/ THIS IS NOT XBMC ON PSP!!!! THIS IS ONLY A REMOTE FOR XBMC THAT HAPPENS TO BE ON A PSP!!!


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&#58;&#58;xbmcProcessCommand&#40; int eid, webs_t wp, char_t *command, char_t *parameter&#41;
&#123;
  int numParas;
  CStdString paras&#91;MAX_PARAS&#93;, retVal;
  if &#40;strlen&#40;parameter&#41;<300&#41;
    CLog&#58;&#58;Log&#40;LOGDEBUG, "HttpApi Start command&#58; %s  paras&#58; %s", command, parameter&#41;;
  else
    CLog&#58;&#58;Log&#40;LOGDEBUG, "HttpApi Start command&#58; %s  paras&#58; &#91;not recorded&#93;", command&#41;;
  numParas = splitParameter&#40;parameter, paras, ";"&#41;;
  if &#40;wp != NULL&#41;
    websHeader&#40;wp&#41;;
  if &#40;!stricmp&#40;command, "clearplaylist"&#41;&#41;                 retVal =  xbmcClearPlayList&#40;eid, wp, numParas, paras&#41;;  
  else if &#40;!stricmp&#40;command, "addtoplaylist"&#41;&#41;            retVal =  xbmcAddToPlayList&#40;eid, wp, numParas, paras&#41;;  
  else if &#40;!stricmp&#40;command, "playfile"&#41;&#41;                 retVal =  xbmcPlayerPlayFile&#40;eid, wp, numParas, paras&#41;; 
  else if &#40;!stricmp&#40;command, "pause"&#41;&#41;                    retVal =  xbmcAction&#40;eid, wp, numParas, paras,1&#41;;
  else if &#40;!stricmp&#40;command, "stop"&#41;&#41;                     retVal =  xbmcAction&#40;eid, wp, numParas, paras,2&#41;;
  else if &#40;!stricmp&#40;command, "playnext"&#41;&#41;                 retVal =  xbmcAction&#40;eid, wp, numParas, paras,3&#41;;
  else if &#40;!stricmp&#40;command, "playprev"&#41;&#41;                 retVal =  xbmcAction&#40;eid, wp, numParas, paras,4&#41;;
  else if &#40;!stricmp&#40;command, "rotate"&#41;&#41;                   retVal =  xbmcAction&#40;eid, wp, numParas, paras,5&#41;;
  else if &#40;!stricmp&#40;command, "move"&#41;&#41;                     retVal =  xbmcAction&#40;eid, wp, numParas, paras,6&#41;;
  else if &#40;!stricmp&#40;command, "zoom"&#41;&#41;                     retVal =  xbmcAction&#40;eid, wp, numParas, paras,7&#41;;
  else if &#40;!stricmp&#40;command, "restart"&#41;&#41;                  retVal =  xbmcExit&#40;eid, wp,1&#41;;
  else if &#40;!stricmp&#40;command, "shutdown"&#41;&#41;                 retVal =  xbmcExit&#40;eid, wp,2&#41;;
  else if &#40;!stricmp&#40;command, "exit"&#41;&#41;                     retVal =  xbmcExit&#40;eid, wp,3&#41;;
  else if &#40;!stricmp&#40;command, "reset"&#41;&#41;                    retVal =  xbmcExit&#40;eid, wp,4&#41;;
  else if &#40;!stricmp&#40;command, "restartapp"&#41;&#41;               retVal =  xbmcExit&#40;eid, wp,5&#41;;
  else if &#40;!stricmp&#40;command, "getcurrentlyplaying"&#41;&#41;      retVal =  xbmcGetCurrentlyPlaying&#40;eid, wp&#41;; 
  else if &#40;!stricmp&#40;command, "getdirectory"&#41;&#41;             retVal =  xbmcGetDirectory&#40;eid, wp, numParas, paras&#41;; 
  else if &#40;!stricmp&#40;command, "gettagfromfilename"&#41;&#41;       retVal =  xbmcGetTagFromFilename&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getcurrentplaylist"&#41;&#41;       retVal =  xbmcGetCurrentPlayList&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "setcurrentplaylist"&#41;&#41;       retVal =  xbmcSetCurrentPlayList&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getplaylistcontents"&#41;&#41;      retVal =  xbmcGetPlayListContents&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "removefromplaylist"&#41;&#41;       retVal =  xbmcRemoveFromPlayList&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "setplaylistsong"&#41;&#41;          retVal =  xbmcSetPlayListSong&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getplaylistsong"&#41;&#41;          retVal =  xbmcGetPlayListSong&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "playlistnext"&#41;&#41;             retVal =  xbmcPlayListNext&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "playlistprev"&#41;&#41;             retVal =  xbmcPlayListPrev&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "getpercentage"&#41;&#41;            retVal =  xbmcGetPercentage&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "seekpercentage"&#41;&#41;           retVal =  xbmcSeekPercentage&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "setvolume"&#41;&#41;                retVal =  xbmcSetVolume&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getvolume"&#41;&#41;                retVal =  xbmcGetVolume&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "setplayspeed"&#41;&#41;             retVal =  xbmcSetPlaySpeed&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getplayspeed"&#41;&#41;             retVal =  xbmcGetPlaySpeed&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "filedownload"&#41;&#41;             retVal =  xbmcGetThumb&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getthumbfilename"&#41;&#41;         retVal =  xbmcGetThumbFilename&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "lookupalbum"&#41;&#41;              retVal =  xbmcLookupAlbum&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "choosealbum"&#41;&#41;              retVal =  xbmcChooseAlbum&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "filedownloadfrominternet"&#41;&#41; retVal =  xbmcDownloadInternetFile&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "filedelete"&#41;&#41;               retVal =  xbmcDeleteFile&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "filecopy"&#41;&#41;                 retVal =  xbmcCopyFile&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getmoviedetails"&#41;&#41;          retVal =  xbmcGetMovieDetails&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "showpicture"&#41;&#41;              retVal =  xbmcShowPicture&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "sendkey"&#41;&#41;                  retVal =  xbmcSetKey&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "fileexists"&#41;&#41;               retVal =  xbmcFileExists&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "fileupload"&#41;&#41;               retVal =  xbmcSetFile&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getguistatus"&#41;&#41;             retVal =  xbmcGetGUIStatus&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "execbuiltin"&#41;&#41;              retVal =  xbmcExecBuiltIn&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "config"&#41;&#41;                   retVal =  xbmcConfig&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "help"&#41;&#41;                     retVal =  xbmcHelp&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "getsysteminfo"&#41;&#41;            retVal =  xbmcGetSystemInfo&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getsysteminfobyname"&#41;&#41;      retVal =  xbmcGetSystemInfoByName&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "addtoslideshow"&#41;&#41;           retVal =  xbmcAddToSlideshow&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "clearslideshow"&#41;&#41;           retVal =  xbmcClearSlideshow&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "playslideshow"&#41;&#41;            retVal =  xbmcPlaySlideshow&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getslideshowcontents"&#41;&#41;     retVal =  xbmcGetSlideshowContents&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "slideshowselect"&#41;&#41;          retVal =  xbmcSlideshowSelect&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getcurrentslide"&#41;&#41;          retVal =  xbmcGetCurrentSlide&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "getguisetting"&#41;&#41;            retVal =  xbmcGUISetting&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "setguisetting"&#41;&#41;            retVal =  xbmcGUISetting&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "takescreenshot"&#41;&#41;           retVal =  xbmcTakeScreenshot&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getguidescription"&#41;&#41;        retVal =  xbmcGetGUIDescription&#40;eid, wp&#41;;
  else if &#40;!stricmp&#40;command, "setautogetpicturethumbs"&#41;&#41;  retVal =  xbmcAutoGetPictureThumbs&#40;eid, wp, numParas, paras&#41;;

  //Old command names
  else if &#40;!stricmp&#40;command, "deletefile"&#41;&#41;               retVal =  xbmcDeleteFile&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "copyfile"&#41;&#41;                 retVal =  xbmcCopyFile&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "downloadinternetfile"&#41;&#41;     retVal =  xbmcDownloadInternetFile&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "getthumb"&#41;&#41;                 retVal =  xbmcGetThumb&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "guisetting"&#41;&#41;               retVal =  xbmcGUISetting&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "setfile"&#41;&#41;                  retVal =  xbmcSetFile&#40;eid, wp, numParas, paras&#41;;
  else if &#40;!stricmp&#40;command, "setkey"&#41;&#41;                   retVal =  xbmcSetKey&#40;eid, wp, numParas, paras&#41;;

  else
    retVal = flushResult&#40;eid, wp, "<li>Error&#58;unknown command\n"&#41;;
  if &#40;wp!=NULL&#41;
    websFooter&#40;wp&#41;;
  CLog&#58;&#58;Log&#40;LOGDEBUG, "HttpApi End command&#58; %s", command&#41;;
  return retVal;
&#125;

Posted: Fri Oct 28, 2005 1:50 am
by mrbrown
Moved off-topic because you don't actually have a project yet but are wishing for one.

Posted: Wed Jul 26, 2006 12:14 pm
by mfennell
I have developed a flash based XBMC control (for my psp) that does this

its at www.markfennell.com/flash/psp