New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[video][Estuary] Video Versions: Improvements and Fixes #24430
Conversation
a4d1c21
to
df9efb7
Compare
It will take some time to absorb all the changes and comment, except for the artwork, that I just worked on and am more familiar with. The description doesn't say what you tried to achieve so I can only describe what seem to be problems, not knowing for sure what is supposed to happen. 1/ Movie with single version and proper artwork: open manage versions. A thumb is displayed instead of the art of the movie. Also, (pre-existing bug) going to Choose Art shows no current art, not even the thumb. Skinning / new infotag: of course it's just a preview, and actual appearance is subject to change, but I don't know if skins will have enough information to display the version name only when appropriate (different look for different contexts, like library list, versions folder, maybe more?). |
Shall I remove the two commits from this PR? Next time we definitely should sync before both of us put effort into the same things. I assigned the respective issue to myself and even took a note that I plan to work on this. S**t happens, but it would have been good if you would have communicated earlier that you are familiar with this code and that you want to fix this. :-/ Re skinning, as I said this is not more than a proof of concept. An experienced skinner needs to pick this. At some places the version name definitely should be displayed (Video info dialog, folder view of versions, ...)
I can reproduce this. Both bugs are also in master. Nothing supposed to be fixed in this PR.
Oh, nothing I tested. Maybe a bug, maybe something also present in master. Must be fixed (most probably by you in your PR or already working there)?
See 2)
Nothing I wanted to fix in this PR. I have seen you asked somebody else to deal with the refresh problems and so I refrained from looking into this. |
a5a13cc
to
c9fd6c4
Compare
@CrystalP I removed the artwork get/set changes from this PR. You said you can do better. Go ahead. And don't get me wrong please, no offence taken. I'm honestly happy that I don't have to deal with this super complex stuff myself... |
a9f0592
to
671683f
Compare
Sorry I can't review, I don't have a good mental model of versions yet, but the least I can do is go through commit by commit and I saw no code issues. |
I’m not sure whether the movie title of all versions of a “parent” movie will always be the same as the title of the parent movie. If this is a given, then in this view the version name would be enough, yes. Question is whether this is something that should to be implemented by the skin or the core. |
@CrystalP I put the two artwork commits back, as you said internally you want to add artwork fixes on top of this PR. This is much appreciated. |
See my comment: https://github.com/xbmc/xbmc/pull/24430/files#r1442634920 |
5347dd2
to
c42fa78
Compare
Fixed with latest force-push. (
Fixed with latest force-push. ( |
Sorry guys that this PR gets bigger and bigger, but all the changes build on top of each other. |
c42fa78
to
4fc2960
Compare
c343276
to
cffd7a5
Compare
Squashed. No code changes. Ready to go in. |
I don't know how the navigation / filtering for gui works. Since movie_view now returns one row per movie and version combination, can you explain where/how the filtering is done to show the library list as usual without the additional versions? Hopefully it's done by the db to avoid transferring extra rows that will be hidden most of the time and will take additional time to send for external db. |
cffd7a5
to
c06043d
Compare
Heads-up: I removed the commit that makes setting art for video versions using context menu "choose art" and video info dialog button "choose art" working. We will fix this in another PR. @CrystalP fyi |
c06043d
to
74f6b96
Compare
Final cleanup of code (no functional changes). |
Need to trick Jenkins... |
74f6b96
to
ff38486
Compare
…now the movies with the respective versions, no longer video version items.
ff38486
to
5ebfe93
Compare
This change introduced that the ListItem.HasVideoVersions boolean is set to true even when browsing a versions folder... IMHO, this doesn't make much sense as it leads to all versions in that folder to be tagged as "having versions" - information we already have and that's frankly redundant. Using Estuary this leads to missing watched information and in my skin it just looks weird (only possible to prevent with very complicated visible conditions): Wouldn't it be more elegant to set the boolean to false when browsing a version folder? |
That will be fixed with this PR.
Not that complicated. I just added a |
Unfortunately, it is: My skin shows multiple icons in that poster overlay bar and I have to move icons depending on visibility of the other icons. Therefore, the visibility conditions are complex as is, but they'd be even more complicated, if I had to add another condition. But the point was rather: It doesn't serve any purpose to turn this boolean true in a subfolder where this type of information would never make any sense (also not using Estuary). In a folder that shows versions, why return true that a version has versions? 😆 |
I agree but don't know how trivial it is to do in core. |
The whole concept and implementation of "show movies with multiple versions as folder" needs to be rethought / redone. There are more things that make not really sense, but I'd rather go for think about all this in details before start band-aiding stuff and need to revise later. |
@@ -8029,6 +8048,9 @@ bool CVideoDatabase::GetMoviesByWhere(const std::string& strBaseDir, const Filte | |||
if (!videoUrl.FromString(strBaseDir) || !GetFilter(videoUrl, extFilter, sorting)) | |||
return false; | |||
|
|||
if (!videoUrl.HasOption("videoversionid")) | |||
extFilter.AppendWhere("isDefaultVersion = 1"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm reviewing how the version folder works and I know it's a bit far already,.. Do you remember if there is a reason for this block not to be integrated inside GetFilter() just above, with other videoversionid option logic?
I'm thinking about moving it in upcoming PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@CrystalP sorry, don't remember.
Here comes a bunch of improvements and fixes for the video versions feature:
This PR is not heading for fixing the (known) refresh problems after changing artwork. We have open issues for some of them.
For skinners:
Listitem.VideoVersionName
- does what it says. Filled for all movies, empty for all other media types.For users:
* version specific art can now be edited also via context menu "Manage" -> "Choose art" and video info dialog's button "Choose art".Before:
After:
Runtime-tested on macOS, latest Kodi master.
@enen92 @CrystalP I tried to split commits into logical chunks. Hope that helps for the review.