v19 New Kodi option to deal with Music only
#1
Hello,

I am a french C++ senior developer and I would like to participate to the new v19 kodi version. I developed intensively for 10 years in C++ for a company and switched to management and quality (10 more years) after that.

I modified the kodi 18.4 kodi code for my own usage to play on a orange Pi zero 256 as a music box with RPC call only. I was inspired by a headless patch but this patch broke the playing functionality (broken events in the GUI). I did the modification and now the kodi runs for weeks in the very tiny configuration like a charm (20Mo RSS rock stable).

During that developing :

 - I learned cmake
 - I learned cross compiling with distcc (x64 volunteer and armv7 client) combined with ccmake
 - I read and understood the kodi code in the xbmc (Application.cpp, events, GUI tricks ...)
 - I questioned about the way to get back this functionality to the community 

My questions are :

 - do you need new developers, and how can I modestly contribute ?
 - is that feature interesting for other peoples in v19 ?
 - if yes and yes, who can I contact to participate to the new V19 version of kodi ?
 
Thanks in advance for your answers.
Regards,
Reply
#2
Welcome!

We are always looking for more developers. Can you share your GitHub account so people that are interested can look at your work?

There has been a long standing interest to get Kodi to have a proper headless mode but it will still take a lot of work because the gui needs to be untangled from the main thread. There has been a few people that have worked on this in the past but have only got so far. If this is something you are interested in pursuing we can create a roadmap for what needs to be done to solve this problem. Just a heads up though there will be a lot of work outside the scope of this work as the gui is entangled in many things.

Regards,
"PPC is too slow, your CPU has no balls to handle HD content." ~ Davilla
"Maybe it's a toaster. Who knows, but it has nothing to do with us." ~ Ned Scott
Reply
#3
(2020-01-13, 05:57)lrusak Wrote: Welcome!

We are always looking for more developers. Can you share your GitHub account so people that are interested can look at your work?

There has been a long standing interest to get Kodi to have a proper headless mode but it will still take a lot of work because the gui needs to be untangled from the main thread. There has been a few people that have worked on this in the past but have only got so far. If this is something you are interested in pursuing we can create a roadmap for what needs to be done to solve this problem. Just a heads up though there will be a lot of work outside the scope of this work as the gui is entangled in many things.

Regards,

Thank you for your answer.

Reading the code, I was wondering why the event dispatcher is in the GUI ? In fact, the event dispatcher deals with events that are not all related with GUI, example, Next song, stop ...

That's why I proposed the new version v19 for this update. Before diving into some refactoring, we can discuss if this is relevant or not to update this part.

In fact there is two ways to do the headless patch :

 - launch the required initialization with the fake GUI (fast and risky at runtime)
 - get out the event dispatcher and move the callback attachment of the GUI (more work, needs stabilisation but best for long term and best for modularity of the application) 

For the patch, I will not open another github part of kodi, I prefer to give it to docker headless guy. I will give it in this thread as soon as it was accepted.

I am volunteer to follow this feature (--headless option) in the v19 but I can't hide you I prefer the little refactoring to get the event out of the GUI.
By experience, the event dispatching can be touchy, because, it has to be correctly protected by locks and the thread in which it is executed has an importance also.

If you know people I can discuss with about this, let me know.

Regards,
Reply
#4
(2020-01-13, 09:37)godiabolo Wrote: Reading the code, I was wondering why the event dispatcher is in the GUI ? In fact, the event dispatcher deals with events that are not all related with GUI, example, Next song, stop ...

Not sure if you're aware of the history of Kodi, but we started out as an app (circa 2003) for the original Xbox's which had been modded to run unauthorised apps. From my understanding everything for the original Xbox ran on a single thread game loop and although a lot of the code has been refactored since we stopped supporting the original Xbox, there's still a significant amount of code that still dates back to those Xbox days.

My role in the Team is not primarily as a dev however, so no idea if that is an example of really old code that hasn't yet been modernised.
Reply
#5
Probably also worth mentioning that developers wishing to discuss anything related to development for Kodi can also reach out to the Team via IRC channel #kodi-dev on Freenode

Bear in mind however that the majority of the Team is based in Europe, although we have a couple of members in Australia and a few in Northern America.
Reply
#6
(2020-01-13, 12:11)jjd-uk Wrote:
(2020-01-13, 09:37)godiabolo Wrote: Reading the code, I was wondering why the event dispatcher is in the GUI ? In fact, the event dispatcher deals with events that are not all related with GUI, example, Next song, stop ...

Not sure if you're aware of the history of Kodi, but we started out as an app (circa 2003) for the original Xbox's which had been modded to run unauthorised apps. From my understanding everything for the original Xbox ran on a single thread game loop and although a lot of the code has been refactored since we stopped supporting the original Xbox, there's still a significant amount of code that still dates back to those Xbox days.

My role in the Team is not primarily as a dev however, so no idea if that is an example of really old code that hasn't yet been modernised. 

 I understand that kodi has a long and great history.
 As a really really new kodi code reader, I have questions that experimented guys probably don't have.
 Thanks for the enlightment !
Reply
#7
(2020-01-13, 12:18)jjd-uk Wrote: Probably also worth mentioning that developers wishing to discuss anything related to development for Kodi can also reach out to the Team via IRC channel #kodi-dev on Freenode

Bear in mind however that the majority of the Team is based in Europe, although we have a couple of members in Australia and a few in Northern America.

 As I have a work and 2 kids, I am not fan of IRC channels. I prefer 1 days POST, 1 days answer as time permitted. Have conversations interrupted on IRC can be very frustrated for guys that are in there full time and difficult to follow the entire paused conversation interleaved by other messages. I can deal with POST on this kind of forum.

 For the coding, I can fragment a development inside slots that my personal life permits, there is less trouble for that.
 I would be very happy to participate, tell me if the IRC is a blocking point to join the volunteer team. 
 Thank you anyway for the information.
Reply
#8
I only mentioned it to give you the option of potentially getting more real time feedback from the Team, if you prefer the forum then that's fine, as we are all volunteers with busy lives such as yourself doing this in spare time around family & work, then there's not always people available to respond in real time on IRC anyway. Once there's something specific you wish to start working on then a better place to post would be the subforum for Kodi Application development discussion at https://forum.kodi.tv/forumdisplay.php?fid=93 or alternatively as one of my roles is forum mod I can move this thread.
Reply
#9
(2020-01-13, 13:05)jjd-uk Wrote: I only mentioned it to give you the option of potentially getting more real time feedback from the Team, if you prefer the forum then that's fine, as we are all volunteers with busy lives such as yourself doing this in spare time around family & work, then there's not always people available to respond in real time on IRC anyway. Once there's something specific you wish to start working on then a better place to post would be the subforum for Kodi Application development discussion at https://forum.kodi.tv/forumdisplay.php?fid=93 or alternatively as one of my roles is forum mod I can move this thread.

Good idea to move this thread. Thanks !
Reply

Logout Mark Read Team Forum Stats Members Help
New Kodi option to deal with Music only0