How and where do I get started with XBMC development?
#1
Question 
Guys,

I'm a developer by trade and am interested in getting my head around the XBMC codebase.

I've done a svn checkout and I've got Xcode installed - basically I'm following the instructions here http://wiki.xbmc.org/?title=HOW-TO_compi...ource_code

What I was wondering is whether there are some examples or guides on how to get started? i.e. answering simple questions on how the code and skin interact, or examples of how some of the dialogs work both at a skin and code level?

ATM I've just got a lot of code but not sure where to begin. I'm going through the development wiki, but would be great if there was a step-by-step guide for one specific screen or something that gives an end-to-end explanation of what goes on.

Thanks,

Justin
Reply
#2
Some of the code is documented with doxygen comments (http://doxygen.org)

All other documentation is in the wiki (then official XBMC Online Manual):
http://www.xbmc.org/wiki/?title=Development_Notes

Best might be to tell what you want to achieve then ask what code to look at.

...break it down and describe exactly what end result you want to see in XBMC.

Happy coding! Big Grin
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
Reply
#3
ok Smile

I posted in the feature request forum about editing more info than just the movie title from the context menu and wondered about doing it myself.

I thought it might be a good place to start as I could see how the edit title works then just add fields to edit more things. Might be a simplistic view, who knows?

So any tips on how to start looking at that would be great!

Justin
Reply
#4
TBH all of our documentation is outdated. Basically nothing is doxygened and even less is mentioned out side of comments in the code. That said, most of the code reads fairly straight forward. I'd suggest skimming over the code, start with xbmc.cpp and branching out from there. Read more in depth on the sections that interest you. Once you have your bearings find a simple task to complete and submit the patch on trac.
Reply
#5
If you're looking specifically at making stuff editable, then the easiest way to do it is in GUIWindowVideoInfo.cpp.

What you'll need to do is replace the currently skin-defined display stuff with a set of predefined edit controls. Choose a range of id's and then fill them via SET_CONTROL_LABEL in the Update() routine.

The UI engine will do the rest, allowing them to be editted.

You'll ofcourse then need a dirty flag that you update whenever some text has changed - you can test for this easy enough as the edit control sends a message whenever it does so - see OnTextChanged() in GUIEditControl.cpp

Once done, you'll finally need to add some code to update the information in the fileitem object (just the reverse of what you've done in Update()), and in the database itself (Basically a SetDetailsForMovie, ideally just an update routine though).

Good luck - let us know if you need any more help.

Cheers,
Jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply

Logout Mark Read Team Forum Stats Members Help
How and where do I get started with XBMC development?0