Confusion on the new dialog for video versions
#1
According to the "new in Omega" thread, there is supposed to be a new dialog called "DialogVideoVersion.xml"

However, there is no such xml in Estruary.  Instead it seems it was changed to DialogVideoManager.xml  (according to this thread https://forum.kodi.tv/showthread.php?tid...pid3176850 )

It seems there were some other changes which were [or are still in progress of being] made.  I am really confused as to what is actually supposed to be in that dialog.  Omega has been released, and I have been unable to make the manager dialog work in my skin.    Using DialogVideoManager.xml does bring up a dialog, but the only thing that seems to work on that is the "add new version" button.
I assume I am supposed to see a list of the versions once I've added and/or combined the multiple versions into on entry.  But I never see anything show up on the manager dialog.

I'd note that when I switch to the estruary skin, it does not work there either...     

I do note that after I've added a movie as a version, it does navigate to the "versions" view in the navigator (functioning identically to collections as far as that goes), so it is at least playable.  I just cannot seem to be able to manage the versions beyond adding a version.

Is this a case where I will need to wipe my database, (and wipe kodi settings?) and restart from scratch rather than letting kodi update the DB?   Or is this feature simply broken in the Omega release?)
Reply
#2
It's working fine.

How have you managed to add any versions if it's not working for you in Estuary?
Can you post your DialogVideoManager.xml please.
Reply
#3
What do you need to do to get it to work in Estruary?  After I add a version, the management dialog never lists the versions.  I can see them in the "play" screen, but Estruaries management dialog does not show anything in the list.
Reply
#4
I'm using the estruary which gets built in the Omega branch from git.
Reply
#5
(2024-04-08, 01:13)randallspicher Wrote: I just cannot seem to be able to manage the versions beyond adding a version.
Can you have a quick look over the wiki page... https://kodi.wiki/view/Video_versions

You might spot what you are doing differently? Maybe you are trying to "Manage" in the wrong screen?
My Signature
Links to : Official:Forum rules (wiki) | Official:Forum rules/Banned add-ons (wiki) | Debug Log (wiki)
Links to : HOW-TO:Create Music Library (wiki) | HOW-TO:Create_Video_Library (wiki)  ||  Artwork (wiki) | Basic controls (wiki) | Import-export library (wiki) | Movie sets (wiki) | Movie universe (wiki) | NFO files (wiki) | Quick start guide (wiki)
Reply
#6
(2024-04-08, 23:31)Karellen Wrote:
(2024-04-08, 01:13)randallspicher Wrote: I just cannot seem to be able to manage the versions beyond adding a version.
Can you have a quick look over the wiki page... https://kodi.wiki/view/Video_versions

You might spot what you are doing differently? Maybe you are trying to "Manage" in the wrong screen?
I followed the wiki.  deleted my DB, rescanned the movie collection (set to only use NFO data in my case), and I even happen to have 2 versions of Blade Runner just like the wiki.  I go to the "Theatrical cut" in the navigator, hit "info", go to Versions, and get the manage dialog (which is empty, and only has the add version menu item enabled).  I select the Add Version, and then pick the other movie ("The Final Cut" one)  as the other version (and select "The Final Cut" as the version type).

Then.. the version manage dialog still shows an empty list.  neither of them are displayed. I exit the dialog, and now have just the "theatrical cut" version listed in the main movie list.  I click on that, and I get the "pick version to play" dialog listing both versions (plays fine).  Go to "manage versions" on it again, and dialog is again empty, with only the "Add Version" button enabled.

Thing's I'd note:  1.  I'm running on Ubuntu.  2.  I am using a mysql db, rather than the default sqlliite.  (not sure that would make any difference).  3.  I'm using the NFO Only scan option (as I manage the data using tinymediamanager, and it's quicker to rescan if it doesn't need to hit tmbdb all the time).  4.  I just rebuilt a fresh kodi from scratch (deleted the kodi-build directory and started over).

Is there a pre-built version of omega available somewhere for Ubuntu?  I can try someone else's build and see if something in my build options may be having an effect.
Reply
#7
(2024-04-08, 23:17)randallspicher Wrote: After I add a version, the management dialog never lists the versions.
When you say you add a version how exactly are you doing that? The only way is either through the library scanning option or through the management dialog.

EDIT: Just seen your reply above.

Something is definitely not right with your setup - I don't see how you can 2 versions in the select dialog but not 2 in the management dialog.

Does the new version appears in the list when you add it?
Reply
#8
I installed the flatpack version on a laptop, and scanned in my sci-fi directory on that (flatpack has it's own set of issues trying just to get it to even allow kodi to see a mounted NFS directory....)
Scanned in using the python tmdb scanner, and using the local sqllite db. (defaulting everything)

It works fine from there. 

I'll play around with variations of mysqldb and nfo scanner options there to see if there is something related to that, or if there's something in my build options which is affecting the functionality on my dev machine.

Unless the flatpack was built off a different branch other than the Omega?
Reply
#9
On the original confusion:    The instructions in the "New Skinning Features In Omega" thread do not seem to line up with the actual requirements of the Dialog (starting with the name of the XML file needed)
Reply
#10
Yeah, I see it needs updating. Things changed a lot along the way to getting video versions ready for release.
Reply
#11
I think I've narrowed down the issues I've been seeing with the "empty" manage dialog, and identified a Bug.

I was wrong about the cause.  The cause seems to from using profiles.  It appears the Video [Version] Manager dialog is pulling it's versions list from the Master profile, and not the profile which may currently be in use.

My issue is my library is broken out into multiple sources, with multiple paths (makes it easy to slice-and-dice to have the kids profiles show different things from the parent's profiles)

It seems that everything is fine for the First Path which is indexed, and broken for everything else.

For example, if I only index this source with multiple paths:

Code:
       <source>
            <name>Fantasy (PG+R)</name>
            <path pathversion="1">/media-share/MOVIES/PG/Fantasy/</path>
            <path pathversion="1">/media-share/MOVIES/R/Fantasy/</path>
            <allowsharing>true</allowsharing>
        </source>

After indexing, all the movies under PG are just fine. But everything under R does not display the movies in the management versions dialog, and kodi throws this error for them when I bring up dialog:

Code:
error <general>: SetSelectedVideoAsset: Item to select not found in asset list!

And if I have 2 sources:

Code:
<source>
<name>Sci-Fi (PG)</name>
<path pathversion="1">/media-share/MOVIES/PG/Sci-Fi/</path>
<allowsharing>true</allowsharing>
</source>

<source>
<name>Sci-Fi ®</name>
<path pathversion="1">/media-share/MOVIES/R/Sci-Fi/</path>
<allowsharing>true</allowsharing>
</source>

Then the movies in whichever source I happen to index first are fine. all of the ones afterwards break the manage versions dialog.  

The error message seems to be coming from this function in GUIVideoManagerDialog.cpp

Code:
void CGUIDialogVideoManager::SetSelectedVideoAsset(const std:Confusedhared_ptr<CFileItem>& asset)
{
  const int dbId{asset->GetVideoInfoTag()->m_iDbId};
  const auto it{std::find_if(m_videoAssetsList->cbegin(), m_videoAssetsList->cend(),
                             [dbId](const auto& entry)
                             { return entry->GetVideoInfoTag()->m_iDbId == dbId; })};
  if (it != m_videoAssetsList->cend())
    m_selectedVideoAsset = (*it);
  else
    CLog::LogF(LOGERROR, "Item to select not found in asset list!");

  UpdateControls();
}
Reply
#12
(2024-04-09, 03:30)randallspicher Wrote: I think I've narrowed down the issues I've been seeing with the "empty" manage dialog, and identified a Bug.
Can you provide your database?
My Signature
Links to : Official:Forum rules (wiki) | Official:Forum rules/Banned add-ons (wiki) | Debug Log (wiki)
Links to : HOW-TO:Create Music Library (wiki) | HOW-TO:Create_Video_Library (wiki)  ||  Artwork (wiki) | Basic controls (wiki) | Import-export library (wiki) | Movie sets (wiki) | Movie universe (wiki) | NFO files (wiki) | Quick start guide (wiki)
Reply
#13
I was wrong about the paths.  it seems the issue is actually related to the profiles.

Simple Test:
  • Start with a fresh kodi install.
  • Do nothing but Create a profile and turn off the automatic login.  Log out of master user, and login to the new profile. (do not index anything into the master profile)
  • (As User) Create 1 source [Movies], and index it.
  • (As User) try to open versions manager -- it will not show the current item in the dialog's list (although it will allow you to add a new version don't bother with that now).
  • Close kodi
  • Copy MyVideos131.db from .../userdata/profiles/UserName/database/MyVideos131.db to .../userdata/database/MyVideos131.db  (copy the user DB to the master profile)
  • Open kodi
  • Login to the user profile.
  • (As User) bring up the versions manager dialog on a movie.  Now you will see the movie listed in the manage list.  don't bother to add it now though.
  • Log out of the user profile, and log into the master profile.  (it will now have the movies listed since you copied the DB)
  • (As Master) go to the movies, and set up some versions.  (versioning all works fine in the master profile)
  • Log out of the master profile and login as your user profile.
  • (As User) Go to the movies.  (You will note all the movie versions are still listed in the main list). 
  • (As User) Open up the version manager dialog on the one you used as the primary movie when you set up the versions in the master profile...  you will see all the versions you set up as the Master profile  already populated in the list even though you did not add as versions to this users database. (list appears to have been pulled from the master profile)
  • (As User) Now back out of the dialog, and try to open up the version manager on one of movies which are a "version" on the master profile.  It will not show anything in the versions list (this movie is no longer a self-contained entitiy in the Master profile, so the dialog is not finding it)
So, it appears the list of versions in the manager dialog is getting pulled from the Master profile all the time, instead of whichever profile is currently in use.  when actually Adding a version, that goes into the current profile's DB, so works for playing.
Reply
#14
Can you open an issue on GitHub please so it's tracked.
Reply
#15
I think I  found the issue.

CGUIDialogVideoManager.h  is declaring  m_database as one of the class properties.
Code:
CVideoDatabase m_database;
I'm not seeing this being done anywhere else in the kodi core code.  Everywhere else, the video database objects are being  instantiated and opened within the methods that actually use them (including a couple of the other methods within CGUIDialogVideoManager itself...  which creates a videodb object and opens it on demand.  All methods which try to use the "shared" m_database property all end up hitting the master profile's DB, instead of the current user's DB.  (I tested some of those as well)

I think that is because the Classes for the video versions are gettiing instantiated when kodi starts up, at which point the users profiles are not yet logged in, so the master profile in in scope.  At that point, the CVideoDatabase object intantiated as part of the Management objects, and the shared DB connection they are using is pointing at the master DB.

I modified the code on my local to remove the m_database from the CGUIDialogideoManager.h and instead declare and open the DB in each function which actually use it (so it's created under the context of the logged in user) by adding this to each function inside GUIDialogVideoManager.cpp, GUIDialogVideoManagerExtras.cpp and GUIDialogVideoManagerVersions.cpp

Code:
  CVideoDatabase m_database;
  if (!m_database.Open())
      CLog::LogF(LOGERROR, "Failed to open video database!");

that solves all the issues I've been seeing when using profiles.

I don't think I've go the ability to submit pull requests into the kodi core. 
I can probably send a diff though if you want.
Reply

Logout Mark Read Team Forum Stats Members Help
Confusion on the new dialog for video versions0