My Junk - THis page is used for my XBMC-DEV stuff while im still coding it. completed/final copy of this page are moved to new site. (like the GSM)


GameSave Manger 

Stuff Ive already done

  • Builtin Command  TAKESCREENSHOT 
  • Builtin Command  EXTRACT
  • Changed DialogProgress Update function to change the lines
  • GameSaveManger in XBMC (Biggest one so far)



Who)  Donno. (Inspired by Nuka for the GuiBuilder)

What) A new Window class that can load xml

Why) To replace the need for GuiBuilder (having stuff coded in python when most can use the internal workings of XBMC instead and this should make it scripts simpler code wise :) Provide a way for scripts to be more like plugins rather than extras tacked on the end.

When) When its done, and I/others get a break to work on it.

How) C/C++ Code (with an example script in .py)



Whoops i got bored (didnt' feel like coding or totally relaxing watchign TV) and typed all this instead to be productive.


I am hoping to create a branch on the svn for this and also up a XBMC_PC exe to somwhere for scripters to play with on their pcs :)



  • Process Duplicated (made a copy of the files) WindowDialog.cpp, dialog.cpp and the matching headers.
  • Called them WindowXML.cpp and winxml.cpp.
  • Changed WindowDialog to WindowXML in the new cpp/h
  • Changed WindowDialog_Type to WindowXML_Type etc
  • Hooked it up to xbmcgui.WindowXML
  • Ran into a problem (keep getting an exception) and it ended up I was forgetting to run initWindowXML_Type().
  • Tested it to see if it worked (it did)
  • Set WindowXML to take a string 'the xml name'
  • Couldn't pass that string to the GUIWindow  Constructor without getting problems :) so i just made it run "youtube.xml" straight in the code to continue on.
  • Removed the code that checks to see if the clicked control was in the list of controls for that window. (When XBMC loads the xml it doesn't add the controls to the vector of controls.
  • I renamed onControl (PyEvent_OnControl) to  onClick/ PyEvent_OnClick
  • Modified the PyEvent_OnClick to just pass an integer (and send the control id)
  • Duplicated onClick/PyEvent_OnClick and rename to onFocus and PyEvent_OnFocus. 
  • In the OnMessage function I added Case GUI_MSG_SETFOCUS (then copied the same code as GUI_MSG_CLICKED and changed the onClick call to onFocus :) and presto
  • Now the core stuff worked, I went back to have another crack at getting the specifed XML file to work. With a little luck I got it.
  • Now the core stuff worked, I went back to have another crack at getting the specified XML file to work. With a little luck I got it.


Progress - DONE

  • onInit, onClick, onFocus
  • Accept xml name

Progress - TODO

  • Extend GetControl and the Python Control types to include the GUIContainer List and other control types so GetControlByID will work fully.
  • Allow 'absolute' path (so  :\\youtube\\default\\youtube_window.xml) (both for the XML path and for images


Old Projects

  • XBMC Game Save Manger DEV moved  HERE