[New Feature] Movie version
#1
!!!WARNING!!!
This feature is still in development. It will update your database, please backup your data before testing. The future/final version may not be compatible with this version and your data may be lost.
!!!WARNING!!!
 
 
Installation

The test builds for all platforms are in http://mirrors.kodi.tv/test-builds/, please install the package with "PR14972" in its name. The commonly used packages:

Android (ARMv7): http://mirrors.kodi.tv/test-builds/andro...bi-v7a.apk
Android (AARCH64): http://mirrors.kodi.tv/test-builds/andro...64-v8a.apk
Windows (32): http://mirrors.kodi.tv/test-builds/windo...ge-x86.exe
Windows (64): http://mirrors.kodi.tv/test-builds/windo...ge-x64.exe

Summary

I'm working on a new feature (https://github.com/xbmc/xbmc/pull/14972) for movie versions which allows user have different versions of a movie (EXTENDED, DIRECTOR'S CUT, etc.) under single entry in the movie library. The major work has been done and it works now. Before finalizing (It's supposed to be merged into master after Leia release), if there is any people have interest on it, you can try this and return feedback. Any comment is welcome!

I personally want this feature for a very long time, and also see many requests/questions in the forum for this. Finally, Kodi will support it soon!

Problem

Currently, there are two ways for user to manage different versions of a movie in Kodi:
  1. Scanning all of them to movie library and rename them with different titles, it works but not natural. For the big movie set (Star Wars, for example), too many items with similar name is not a enjoyable way for browsing
  2. Using the Extras addon to open it, but you have to save them under the specific folder and exclude the folder from scanning and play by file name for the movie. It's too raw

Solution

With this new feature I'm working on, you can choose the different version of movie just like you buy a movie online (Microsoft Store app in Windows/XBOX, for example), which is very natural and easy.

The basic operation is just like adding a movie a movie set in Kodi. For a movie set, you add an empty set (if it's not exist) and add movies one by one to the set.
For movie versions, you scan all versions of movie into movie library and choose anyone of them as the basic movie (it doesn't matter which one you choose), and add all others as the separate versions for the movie.

I'll give a step by step instructions for this and it's very easy to manage and use. There are two ways to do this: managing version manually in library after scanning or managing version at scanning time automatically. 

Manage version at library after scanning

For this instruction, I'll use the Big Buck Bunny (2008) (https://www.imdb.com/title/tt1254207) as an example.

I have 4 versions of this movie and these 4 files are saved at the same folder. I scan all of them to movie library. To differentiate them, I rename them as following (it's not required, but you need to know the versions of them):

Image

By default, all movies are set as the "Standard" version. You can see the movie version from the movie information dialog. There is a new "Version" button added to the button group at the bottom, The "Version" button is the first one.

Image

(For skin developer or people uses other skin, you need add the "Version" button to DialogVideoInfo.xml file of skin to see it. The id of "Version" button is 14)

After clicking the "Version" button, you will see the "Change default movie version" dialog, which lists all versions of the movie. There is only a "Standard" version listed here as we haven't add other version to it yet.

Image

We choose the "Big Buck Bunny" as the basic movie and add all other three movies as its additional versions.

Steps

1. Choose a version ("Big Buck Bunny EXTENDED", for example) and right click on it to open the context menu, then click "Manage...", there will be a new context menu pop up. There is a new "Manage movie version" menu added to it.

Image

2. Click the "Manage movie version" menu item. The "Convert movie to an additional version of" dialog will pop up. The current movie is highlighted by default.

Image

3. Click the basic movie "Big Buck Bunny" from the list and a new dialog "Select movie version" will pop up. Choose "Extended". Done!

Image

(If there is no version you want in the list, you can click the "Add movie to a new version" button at the top right corner in the dialog and create a new version, the movie will be added as the version you created. This list should have covered most commonly used versions. Please report the version that you think is common by missed here. I can add it to the list, so you won't need create it manually)

4. We have successfully added the movie "Big Buck Bunny EXTENDED" as the "EXTENDED" version of movie "Big Buck Bunny". The movie "Big Buck Bunny EXTENDED" has disappeared from the movie library now.

5. Follow the steps above to see the versions of "Big Buck Bunny". We get:

Image

6. Repeat the above steps and add other two movies as "3D" version and "4K" version. There is only one movie in the movie library at last and when we check the version, we get:

Image

Notice that the "Standard" version is highlighted (and the "1080p HD" at the bottom right corner) as it's the basic movie and we haven't change the default version for the movie yet.

7. In the video info dialog, click the "Version" button, in the popped dialog "Change default movie version", click "4K UHD". The 4K version will be the default version for "Big Buck Bunny" movie. Notice the "4K" at the bottom right corner.

 Image

From now on, whenever you play the "Big Buck Bunny" movie, the 4K version will be played, until you change the default version to another.

8. Assume you added an "EXTENDED" version to a movie before, but later tried to add another movie as "EXTENDED" version again (forgot may be Smile), there will be a warning dialog (as you won't be able to differentiate them when you choose them from the version dialog, so the warning). You can click "Yes" to add it anyway or click "No" to select another version or create a new version with the button "Add movie to a new version" at the top right corner.

Image

9. Change the movie version without covert it as an additional version of another movie. At the "Convert movie to an additional version of" dialog, if you choose the movie itself, not the basic version of movie, and then select a version other than the default "Standard" version, you basically changed the movie version, not added this movie as an additional version of another movie. This is by design. Smile
Reply
#2
Manage version at scanning time

During the time of scanning new movie to library, the scanner will check whether there is any existing movie with the same name in the library. If found, the following dialog will pop up to ask user choice for how to handle the duplicate movie:

Image

Notice the progress indicator at top right corner. If clicking "No", the movie will be added to library normally. If clicking "Yes", the following dialog will pop up to ask user to convert the movie as an additional version of the selected movie:

Image

Notice the different with the dialog when managing version at library. This dialog will list the video file (not the movie title as they have the same title) for the original movie to give user chance to verify whether this is intended.

After clicking the movie, the following dialog will pop up to let user choose the movie version type. Done!

Image


Settings

There is a new setting at "Settings->Meida->Library->Add duplicate video to library" to control whether you want to enable this managing version at scanning feature. With this option enabled, the scanner will take the old behavior for scanning new movie; otherwise, the new behavior will be taken.

The player behavior for multiple versions movie has also been changed. Kodi will pop up a version selection dialog by default when you are playing a movie with more than one version exist, in order to let you choose which version you want to play at this time. This behavior can be controlled from "Settings->Player->Videos->Play default video version". With this option enabled, Kodi will play the default movie version without asking;otherwise, the version selection dialog will pop up each time when you are playing a movie.
Reply
#3
Hey man

Thanks so much for creating this long awaited feature. This will make a lot of people happy me included Smile

Reading over the GitHub comments a user mentioned about having the movie select dialog appear when user clicks to play movie. In my opinion would prefer this way too.

For example when you set the default version it plays this version by default when you click play. Some users may forget which version is default and when they play the movie they may be unsure which version it is, whereas if the version select dialog appears each time you click play it may make it more clear.

Just my opinion though. Anyhow major congrats for the work so far. If you could add the words "Blu-ray" and "DVD" to the predefined list as some movies I have Blu-ray and DVD version, but as you mentioned we can add these ourselves so no worries.

As a workaround for the last year I have been using both versions of a movie muxed together in one mkv file where I switch between them in video options during playback. Is there way of picking up two versions from one video file or does it only work with both being added to library.

Many thanks. Just pity it didn't make it into Leia release. Is there enough time to squeeze it in before leia final release Wink
Reply
#4
Thanks for the comments.

I may be able to add an option in the player settings to allow user choosing be asked always if there is more than one version available for a movie.

For the BluRay and DVD, the "Standard" in fact was the BluRay when I chose them, it's should be the standard for movie now when you collect it. I nearly forgot DVD. Will add them in the list.
Reply
#5
+1 for about having the movie select dialog appear when user clicks to play movie.
Reply
#6
(2018-12-01, 18:01)dr88dr88 Wrote: +1 for about having the movie select dialog appear when user clicks to play movie.
 I'd agree on this. 
Additionally you might be able to attach the "extra" as well
Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
Reply
#7
(2018-12-01, 17:15)XODIDOX Wrote: Thanks for the comments.

I may be able to add an option in the player settings to allow user choosing be asked always if there is more than one version available for a movie.

For the BluRay and DVD, the "Standard" in fact was the BluRay when I chose them, it's should be the standard for movie now when you collect it. I nearly forgot DVD. Will add them in the list.
 Please keep settings to a bare minimum or preferably none at all. Users who have more than one version of a movie in their library are enthusiast and will always want to have the dialog to choose. Normal users will never see this so the option becomes pointless
Read/follow the forum rules.
For troubleshooting and bug reporting, read this first
Interested in seeing some YouTube videos about Kodi? Go here and subscribe
Reply
#8
(2018-12-01, 18:47)Martijn Wrote: lease keep settings to a bare minimum or preferably none at all. Users who have more than one version of a movie in their library are enthusiast and will always want to have the dialog to choose. Normal users will never see this so the option becomes pointless 
I encountered many cases (may be this is only common for old HongKong movies) that there are two versions of a movie released, the very old VCD/VHS version and a new REMASTERED BluRay version. The BluRay version has high quality, but some part was cut, the VCD/VHS version is complete, but low quality. I want to keep both. This is one of the reasons that I wanted to implement this feature. I choose play the BluRay versoin mostly and rarely to play the VCD/VHS version. So if no setting but just asking user each time will be annoying (for me at least). I'll add an option and enable it by default. This is what enthusiast expect, but at least give me an option to don't see it often.
Reply
#9
Have you considered a non predefined list solution such as this? Emby Server Multi Version Support
Reply
#10
The predefined version is just for convenient for user (input these with remote on TV is tedious), you can always define your own version.

There is no standard way to get the version from file name. Kodi core shouldn't get the version information from file name anyway. But I'll add the JSON API later so scrapper and addon can check the file name and set the version based on that with JSON API.
Reply
#11
As I don't have permission to edit the op yet. I'll update here.

@the_bo @dr88dr88 @Martijn 

I have added the version selection dialog when playing movie with multiple versions based on feedback and enabled it by default. A setting in player settings has also been added to give user option to turn the dialog off.
Reply
#12
(2018-12-02, 06:30)XODIDOX Wrote: As I don't have permission to edit the op yet. I'll update here.

In light of what you've contributed so far, I think we can fix that at least Wink

You should be good to go now, I've tweaked your account permissions a bit.
| Banned add-ons (wiki) | Forum rules (wiki) | VPN policy (wiki) | First time user (wiki) | FAQs (wiki) | Troubleshooting (wiki) | Add-ons (wiki) | Free content (wiki) | Debug Log (wiki) | Free Movies/TV Shows |
Reply
#13
(2018-12-02, 10:14)DarrenHill Wrote: In light of what you've contributed so far, I think we can fix that at least Wink

You should be good to go now, I've tweaked your account permissions a bit. 
  Thank you!
Reply
#14
Fantastic feature.

Can't wait to create skin support for this and test it out! Wink
Reply
#15
Hello @XODIDOX

I had a quick play with this, and think it is a great feature, so thanks for the effort Smile

I don't know how easy my suggestion is but I am wondering if duplicate movies could be added automatically to Version sets?

We can already find duplicate movies in the database with this query...
SELECT c00, dateadded AS DateAdded,
'Dupe Movie' AS description,
strfilename AS FILE
FROM movie_view a
JOIN (
SELECT uniqueid_value
FROM movie_view
GROUP BY uniqueid_value
HAVING COUNT(*) > 1) b ON a.uniqueid_value = b.uniqueid_value
ORDER BY strfilename ASC;

Is there some way to extend this basic query to add the duplicates to Versions? Most people will use standard naming movie-extended, movie-Directors Cut etc and it could auto fill the Version Type.

PS... Also seems like a good way to hide movies Wink
My Signature
Links to : Forum rules (wiki) | 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) | NFO_files (wiki) | Quick start guide (wiki)
Reply
 
Thread Rating:
  • 1 Vote(s) - 5 Average



Logout Mark Read Team Forum Stats Members Help
[New Feature] Movie version51