GSOC Advice
#1
Hello,

My name is Lars and I am a second year uni student studying software engineering. I have known about the Google summer of code for sometime and this year I thought I would jump in and give it a try. I am really looking forward to learning how to code in a more professional environment, than simple uni assignments etc. I am also very much looking forward to be able to have a mentor that can guide me along, rather than be thrown off the deep end. Since this is my first time attempting the Gsoc I am a bit lost, hence this post.

As it is I am very interested in XMBC and have used your software before and would love to work on the project. If possible i lean towards working on the "Improved database layout" or any internal C++ , but am happy to work on anything. The primary programming language i am skilled in is C/C++ but i also have a basic to intermediate understanding of HTML/CSS, JavaScript, SQL and VB.Net.

I guess what this is a request as to whether you would have anything leaning toward my skill set that i would be able to work on as my Gsoc project? If not i would very happy to learn a new skill, programming language, tools etc., in order to work on the project, given that its possible to learn, with a bit of extra work, in the time frame of the Gsoc?

Thank you for your help.
Lars

P.s. I have looked thought the proposals and liked, "Improved database layout","Improved remote clients for tablet/touch devices" and any of the "extend skinning engine" proposals, but i thought i should ask here first for the communities advice.

Extra contact details;
Email: [email protected]
Reply
#2
Have you looked at the XBMC codebase at all?

If you're interested in database layout and the like, one potential suggestion would be to get started by taking a look at the current layout and perhaps making a minor change to the existing layout.

For example, you might want to add a second "dateadded" field to the appropriate tables, specifying the current date (rather than the file date) so that both are stored, and are returned based on a setting, rather than the current way, where, based on a setting we store one or the other.

Being able to do something small like this (with help, if needed) shows that you have what it takes to complete a successful GSoC.

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
#3
Hi jmarshall,

I have had a look at the codebase before, but not specifically at the database side of it. Forgive me if i'm being a nuance but how exactly does XMBC interface with the database? E.g through something like sqlite or its own individual way?

Also from what i can tell the database specific code is in "XMBC\video\videodatabase" each one for video,music etc. am i right? If there is a documentation section, just point me that way and i can look up the answers myself. Tongue
Reply
#4
That's correct. CVideoDatabase is the video-specific class, with basically all the SQL in it pretty much. CMusicDatabase is the music one and so on. CDatabase is the base class which handles opening, and a few common things (QuerySingleValue etc.) That then drops down to the database-specific stuff (sqlitedataset.cpp, mysqldataset.cpp).

You probably need only concern yourself with the top layers.

The above suggestion (another dateadded field) would be a good way to learn to play with the current code. You'll see the benefits of the way things are as well as the drawbacks, so will give you some ideas as to how you might go about improving the layout. I suggest trying to get something like that going first.

As for better layouts, check the development forums - there's a thread by DecK I think it is that has some nice ideas, and some other threads with nice ideas as well. You might also want to check out the work that garbear has done - see his github and look at his picture library branch. I suggest doing this bit after you've had a chance to get something working in the current stuff.

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
GSOC Advice0