Getting Started Core Development?
#1
I have been following this project for a while and I am interested in getting involved with the core development.
I personally use mostly windows and Android so they would be the aeras I would like to focus on. I have a lot of ideas but I don't expect to bug a Dev to try them as I am sure some just won't be possible. To be honest I have very little knowledge of c++ but am will to learn.
I am comfortable with python but some of my ideas will need c++ as python can't do everything needed.

I read the wiki on setting up a development environment but got stuck with ecliipse and composser as I need a php.exe that I could seem to find any information about. So my question is keeping in mind I will be on a Windows PC how can I setup a development environment. What programs are you all using.. I already have sublime but I am sure I need more then that.

Also ilook at the wiki allot of the info seems to be outdated which is why I am asking here. But is the a guide for compliling Kodi on a Windows machine as if I do get into development I will need to test everything before submitting pull request.

I know I am asking alot but is anyone can give me better direction, advice, or guidance I would really appreciate as I go want to truly get involved.
Reply
#2
Core development is done in C++, addon development in Python.
For a core dev environment on a Windows PC I would use Visual Studio 2015 (or 2017 with some 2015 settings).

See https://kodi.wiki/view/HOW-TO:Compile_Kodi_for_Windows

It will also help if you learn about using Git, used for version management, lots of intros on the internet.

Set up a dev environment, installing a variety of tools suitable for Windows as the wiki describes. Take care with versions. Make your own fork of Kodi and get to the point where you can run Kodi in debug. Then the fun begins!

There is a bit of a mountain to climb to understand the current design, Kodi is big, but focus on the areas that interest you and work through the code trying to understand what it does now (and maybe even why). Good luck. Smile
Reply
#3
So one more quick question do I need to use eclipse? Because I can not find the subversive plugin for that anywhere
Reply
#4
Also when running kodi in debug mode does that mean I can have a "debug" version of kodi running without being compile so I can compare changes live or do I have to compile before actually seeing changes?
Reply
#5
You have to compile, c++ is a compiled language.

EDIT: to add, thanks for your enthusiasm. We are always looking for more devs. To add to what @DaveBlake said, you probably  need to find a mentor. Kodi source is big, very big. It is complex and difficult to understand. Look for an area you are interested in, and see who is contributing a lot in that area of the code.
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#6
(2018-02-25, 11:48)Noobie101 Wrote: So one more quick question do I need to use eclipse? Because I can not find the subversive plugin for that anywhere
No, when developing on Windows you do not need Eclipse at all.
Reply
#7
(2018-02-26, 09:52)nickr Wrote: You have to compile, c++ is a compiled language.

EDIT: to add, thanks for your enthusiasm. We are always looking for more devs. To add to what @DaveBlake said, you probably  need to find a mentor. Kodi source is big, very big. It is complex and difficult to understand. Look for an area you are interested in, and see who is contributing a lot in that area of the code.
 That's to bad I was hoping for a F5 reload skin or Ctrl+S and rerun script hahaha.


@DaveBlake   That is good new as well as I didn't get to far with that... Now I am just hurrying up and waiting as visual studio 15 is being installed .. my internet is a lot slower then I thought for a program that large.

Looking over different parts not that I even understand a whole lot of how any of it work but I would like to get CDVDFileInfo::ExtractThumb, CThumbExtractor-DoWork exposed to the python side... I know personally with some of my idea will be easy to implement with python overall but I hate the way this works now where you have to load the page and wait for it to DoWork()..... It would be nice to have this a function to callable from python before even getting to page where this is normally called automatically.

And considering how little I know about both languages I am sure this will be a hard first goal.
Reply
#8
Skins are not implemented in C++ so do NOT need to be compiled.

You are confusing core code with addons.

Core code - c++
Addons - python (although some are compiled, like PVR addons)
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#9
No I was using the ease of seeing change... Like with python or skins where u save your changes and the with skins just reload the skin or with python just rerun the script as a comparison to debug mode as I have hear it can take a while to complie and being I am just starting if can only test changes to core code after compling then this will be a very slow process, That's All.

And a I said before the frist thing I would like to do is get the thumbnailextractor exposed to the python side.
Reply
#10
Only files that have been changed will need to be recompiled and re-linking will be needed in some cases.
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#11
Ok so maybe I am not understanding visual studio to well... I finally got it installed and used open from source connect.. logged into GitHub and added the my fork of xbmc. Now that it have been clone to my machine if I click on solution explorer I get a list of no Kodi stuff....

So my question is and I hate to even ask it but how do I open Kodi up in visual studio to just begin editing the code... I have look at a few visual studio videos but I must be not be looking up the right thing or something.

Again thank you for you help and my apologies for such trival questions.
Reply
#12
You have to follow the instructions - visual studio comes into play a bit later

https://kodi.wiki/view/HOW-TO:Compile_Kodi_for_Windows
AppleTV4/iPhone/iPod/iPad: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for Kodi: NFS (wiki)
HowTo configure avahi (zeroconf): Avahi_Zeroconf (wiki)
READ THE IOS FAQ!: iOS FAQ (wiki)
Reply
#13
I honestly thought I had been following I will go over it again I must have missed something.

And if visual studio is later then do I need to download a different IDE for editing the actual code?
Reply
#14
No, you use Visual Studio to edit code, debug etc.
From what you said it does sound that you have not been following the instructions. Getting a dev env set up and understanding how to use it can be a challenge, but the detail is all there.

What Memphis means by "visual studio comes into play a bit later"  is that you do not use VS to connect to Github etc., you do that manually first: create a branch, run the deps downloads etc. - all as it says in the instructions. Only at the end, after CMAKE has created the .sln,  do you use Visual Studio.

You probably need to read this too https://github.com/xbmc/xbmc/blob/master.../README.md
Reply
#15
(2018-02-27, 09:20)DaveBlake Wrote: No, you use Visual Studio to edit code, debug etc.
From what you said it does sound that you have not been following the instructions. Getting a dev env set up and understanding how to use it can be a challenge, but the detail is all there.

What Memphis means by "visual studio comes into play a bit later"  is that you do not use VS to connect to Github etc., you do that manually first: create a branch, run the deps downloads etc. - all as it says in the instructions. Only at the end, after CMAKE has created the .sln,  do you use Visual Studio.

You probably need to read this too https://github.com/xbmc/xbmc/blob/master.../README.md
I will have to sit down sometime this next weekend and double check and follow as you said step by step I am most definitely sure I missed something.

But on another hand I used sublime to do little exploring in the code and found  AVFrame* CFFmpegImage::ExtractFrame()   I am going to assume that this is the function that actually extracts the thumbnails from videos,
Now if only I can figure out how it is being called more so how to send the url to it from python and cause it to run on my terms.

Does anyone know off the top of there heads how or at what point python addons hooks back into c++, so maybe I can trace one of the python function back into c++ to get a guide for adding this?

Again Guys thanks a lot for all the help and willing ness to help
Reply

Logout Mark Read Team Forum Stats Members Help
Getting Started Core Development?0