Kodi Community Forum

Full Version: GSOC 2019 - Interested in working on "Add a picture library"
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hello, I’m khaled sabry, student in my 3rd year in computer engineering, Cairo university.
i have worked on the required skills before on many projects, To get to know my skills better this is my :
Linkedin: https://www.linkedin.com/in/khaled-sabry-12263614a/
Github:  https://github.com/khaledsabry97 (there are hidden projects if you want to take a look please, send me your GitHub account to add you)

I’m interested in “Add a picture library”
I took my time to look and see carefully the code written in the xbmc project and also most of your responses on this idea (add a picture library) and links you provided, and as I hope I understood well what exactly you want so I have some questions about the proposal: -
1) should I write a document or a post in this forum?
2) should I add to the document/post some photos to explain what I want to do (some figures from xbmc code & some explanatory figures)?
3) should I define in my document the classes I will make and functions I want (I’ve already thought some of the important classes and functions that I ‘ll start with)?
4) what is the maximum no. of pages should I write (because I can explain the things I will do better in more pages)?
5) could I start from 3/6/2019 as my exams will finish at this date?

Back to the project idea from what I saw in the code you want a picture database to store different things(image type, Image Path, metadata(height, width, bit depth), date modified,date created, number of opining times) we could also add things like the duration of seeing a particular photo so we can use it later for more analysis like most important pictures or put it in the picture library background slideshow with sorting to the most important pictures or other things, also a lot of things will be discussed later)  and there is  a lot of similarity with videoDatabase.

So when I enter the picture library again I show immediately what is in the picture database(using the paths) as in the videodatabase then I could later refresh the database according to pictures found.
I could filter or categorize according to anything as I will store the metadata of the image in columns in the database.

From what I explain above I think these are the most important things you are looking for (if I was wrong about anything or forgot something important please let me know) as there is also things to be added later to make it fancier.

Thanks for your time,
Hey, nice to have you Smile

1) you should post here, but your application needs to be done on googles portal later
2) graphics always help
3) in general, be as concrete as you can be, but i think we're mostly interested in how you design and plan to do it/plan your work and time
4) yes, last year i basically ignored everything below 2 or 3 pages, as there are certain things we expect you to talk about
5) means your not able to start the coding phase at the 27/5/2019? what about the Community Bonding Period?
hello again Blush , sorry but i can't start coding at 27/5/2019 as i prefer to be totally focused when i am working on coding for a new project and i am willing to make up for it by designing the database first before starting my exams and continuing the hard work after finishing the exams.

and for the Community Bonding Period i will be available at this period of time and even before that.
hello again Razze, do i will make in the Picture database things like orientation, stars given to pictures as currently the app doesn't provide anything related to that , should i consider to do that as well for future work ??
(2019-03-23, 21:07)khaledsab1997 Wrote: [ -> ]hello again Razze, do i will make in the Picture database things like orientation, stars given to pictures as currently the app doesn't provide anything related to that , should i consider to do that as well for future work ??

I'm not 100% sure what your question is
(2019-03-29, 16:56)Razze Wrote: [ -> ]
(2019-03-23, 21:07)khaledsab1997 Wrote: [ -> ]hello again Razze, do i will make in the Picture database things like orientation, stars given to pictures as currently the app doesn't provide anything related to that , should i consider to do that as well for future work ??

I'm not 100% sure what your question is   
what i was asking about is "when you open a picture in kodi for example, user can't change the orientation of a picture" so i was asking if i should design a plan for taking orientation from user and save it in the database so later on when he opens the same picture he sees the picture with the last orientation he made to it before he closed the picture ??

but while i was writing my project idea proposal, i have figured that i have a lot of work to do, i 'll post my proposal tonight and see if we can put the idea "Picture user interaction" in the timeline of the project.

"Picture User Interaction": will take :-
1) orientation of the image: user can change the picture to (landscape/portrait)
2) stars given to an image: user can put from 1 star to 5 stars to an image, so we could make more additions for "sort by" 
3) Comment on an image : user can write a comment for an image, and save that in the database.

and we could think for more than that.
Orientation can be changed on the fly using the R keyboard which I think maps to https://codedocs.xyz/xbmc/xbmc/group__ko...16664033e7 however as there is no database if the rotation is changed there's no where to save it.
(2019-03-29, 17:48)jjd-uk Wrote: [ -> ]Orientation can be changed on the fly using the R keyboard which I think maps to https://codedocs.xyz/xbmc/xbmc/group__ko...16664033e7 however as there is no database if the rotation is changed there's no where to save it.

ooh, i didn't know the shortcut until now Smile , but i think it needs to appear to a user to know about it.

we couldn't make any interaction with the pictures before as there was no database for the pictures, but after i 'll make it ,the picture database 'll open to us things more than just saving the orientation but more things like what i mentioned in my last reply on Razze.
hey @Razze , here is my draft for the "add a picture library" project proposal, i hope i wrote it as concrete and clear as i could.

https://drive.google.com/file/d/1ZA30nu0...sp=sharing


please, discuss with me when you finish reading it,your opinion and any feedback on the project timeline/design/proposal and if we could add to the project timeline what i have told you before on "Picture User Interaction"

all feedback from all kodi users are welcome  Blush
I'm not one of the Team mentors so can't advise on your proposal, or a developer, but as Pictures is an area I'd like to see get improvement so I thought the following might provide a useful references:

MyPicDB python addon support thread at 133905 (thread) and code at https://github.com/Xycl/plugin.image.mypicsdb

Previous Picture Library attempt that was abandoned see 1562 (PR) however it's 7 years old so based on a really old codebase and Kodi has under gone massive changes since then, but perhaps there might be something useful you can get from it as the Pictures category itself seen little change.
@jjd-uk  thanks for your care, 
i have took a look on the https://github.com/Xycl/plugin.image.mypicsdb and 133905 (thread) that you have provided and these are really old ones

now in kodi we can scan the pictures and their metadata, the problem is we can't store their metadata.
as you see here these are the classes and the view that kodi shows (the pictures are scanned and their metadata) so there is no use to remake that again

this is kodi code to identify metatdata for different types : https://www.photobox.co.uk/my/photo/full...1761213700
and here it what it appears to users : https://www.photobox.co.uk/my/photo/full...1761213030


second, as you can see here in the video (movie, tv series and music videos )  database all of these are written inside using c++, so as we 'll start from scratch, why we don't make the code c++ same as the code that has been written for the video library ?!! to keep the consistency of the code !

https://www.photobox.co.uk/my/photo/full...1761213108

and thanks to you a lot, as i hope this 1562 'll help me much in deciding which is faster (sqllite3 / mysql) to implement with in this situation as i saw a discussion there on the performance testing on 1000 images, or my mentor @Razze  'll advice me which is best to use.

thanks for your help  Wink
Pointing you towards the MyPicDB addon was meant solely as reference for perhaps the types of filters that users might like to see in any C++ implementation.

Yes code consistency with videos and music would seem to make sense for ease if maintainability, not that I can comment too much on the code as I just do the occasional minor changes, so I not at all knowledgeable with C++ coding.
Proposal looks good, did you get kodi to build on your workstation?
(2019-04-01, 00:24)Razze Wrote: [ -> ]Proposal looks good, did you get kodi to build on your workstation?

i have already built and read kodi code and saw the structure before i made a post in this forum.
(2019-03-30, 18:48)jjd-uk Wrote: [ -> ]Pointing you towards the MyPicDB addon was meant solely as reference for perhaps the types of filters that users might like to see in any C++ implementation.

Yes code consistency with videos and music would seem to make sense for ease if maintainability, not that I can comment too much on the code as I just do the occasional minor changes, so I not at all knowledgeable with C++ coding.

What types of filters do you want to have that depend on user analysis not the metadata of the picture ?! (you could understand what i mean by looking for page 3 under "Picture Analysis" section ) in my proposal https://drive.google.com/file/d/1ZA30nu0...kMTlJ/view ) , i want to gather more types of filter analysis from users  (i have mentioned some in the document, but i want more)

@Razze if there was a (developer / discussion)  in the past few years have (thought about/ discussed) filters depending on user analysis, could you provide me with a link ?!
Pages: 1 2