https://kodi.wiki/index.php?title=Special:NewPages&feed=atom&hideredirs=1&limit=50&offset=&namespace=0&username=&tagfilter=&size-mode=max&size=0Official Kodi Wiki - New pages [en]2024-03-29T10:44:54ZFrom Official Kodi WikiMediaWiki 1.39.6https://kodi.wiki/view/Steam_Deck_developmentSteam Deck development2024-02-02T08:40:17Z<p>Garbear: Garbear moved page Steam Deck development to Kodi Steam Deck development</p>
<hr />
<div>{{Kodi_development_nav}}<br />
{{mininav|[[Development]]}}<br />
{{see also|HOW-TO:Submit_a_patch|Steam Deck}}<br />
<br />
<section begin="intro" />Kodi is easily installable on the Steam Deck via Flatpak, but if you're looking to do development on the Steam Deck, this article is for you.<section end="intro" /><br />
<br />
== Environment Setup ==<br />
<br />
The first step is to disable the read-only filesystem. If you're reading this, it's assumed that you know what you're doing. If not, seek safety.<br />
<br />
The following steps will allow you to compile Kodi on the Steam Deck:<br />
<br />
=== Disable the read-only filesystem===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
sudo steamos-readonly disable<br />
</syntaxhighlight><br />
<br />
=== Initialize the pacman keyring ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
sudo pacman-key --init<br />
</syntaxhighlight><br />
<br />
=== Populate the pacman keyring with the default Arch Linux and Holo keys ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
sudo pacman-key --populate archlinux holo<br />
</syntaxhighlight><br />
<br />
=== Update the system packages ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
sudo pacman -Syu<br />
</syntaxhighlight><br />
<br />
=== Install required packages ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
sudo pacman -S \<br />
audit \<br />
base-devel \<br />
ccache \<br />
curl \<br />
glibc \<br />
gperf \<br />
jre-openjdk \<br />
krb5 \<br />
libcap-ng \<br />
libglvnd \<br />
libvdpau \<br />
libx11 \<br />
libxext \<br />
libxfixes \<br />
libxrandr \<br />
libxrender \<br />
linux-api-headers \<br />
lld \<br />
net-tools \<br />
perl-parse-yapp \<br />
qt5-base \<br />
readline \<br />
rpcsvc-proto \<br />
systemd-libs \<br />
xorgproto \<br />
zlib<br />
</syntaxhighlight><br />
<br />
=== Disable Baloo ===<br />
<br />
Building Kodi and depends writes a few hundred thousand small files, so it's recommended that you disable the Baloo indexer:<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
balooctl suspend<br />
balooctl disable<br />
balooctl purge<br />
</syntaxhighlight><br />
<br />
=== Clone Kodi ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
git clone https://github.com/xbmc/xbmc.git ~/Documents/kodi<br />
</syntaxhighlight><br />
<br />
=== Bootstrap depends ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
cd ~/Documents/kodi/tools/depends<br />
./bootstrap<br />
</syntaxhighlight><br />
<br />
=== Configure depends ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
./configure --prefix="$HOME/kodi-deps" --host=x86_64-steamdeck-linux-gnu<br />
</syntaxhighlight><br />
<br />
=== Build depends (this takes about 25 minutes) ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
make -j8<br />
</syntaxhighlight><br />
<br />
=== Create CMake files ===<br />
<br />
Optionally, link with LLD because ld.gold complains about newer DWARF formats:<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
cd ~/Documents/kodi<br />
make -C tools/depends/target/cmakebuildsys CMAKE_EXTRA_ARGUMENTS="-DENABLE_LLD=ON"<br />
</syntaxhighlight><br />
<br />
=== Build Kodi (this takes about 18 minutes) ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
cd build<br />
make -j8<br />
</syntaxhighlight><br />
<br />
=== Build binary add-ons ===<br />
<br />
<syntaxhighlight lang="bash" enclose="div"><br />
make -j8 binary-addons<br />
</syntaxhighlight></div>Garbearhttps://kodi.wiki/view/Video_versionsVideo versions2024-01-09T00:46:35Z<p>Karellen: add nfo and other minor updates</p>
<hr />
<div>{{mininav|[[Video library]]|[[Video management|Management]] }}<br />
<br />
<br />
<br />
= Introduction =<br />
<section begin="intro" />Video Version is a new {{kodi}} feature introduced in v21. It allows users to keep multiple versions of the same video title in the library.<br />
<br />
Do you have the DVD, Bluray, 3D and 4K version of a title?<br />
Do you have the Theatrical Release, Director's Cut, Extended version or any other type of version for the same title?<br />
Do you dislike the same title being repeatedly listed in the library?<br />
<br />
All these different formats and versions can be attached to a parent title in the library. Think of it as Movie Sets for the same movie.<section end="intro" /><br />
<br />
This feature works on the movie library and may be expanded to TV shows and episodes in a later release of {{kodi}}.<br />
<br />
<br />
<br />
= Understanding Versions =<br />
{{kodi}} uses a parent/child method for video versions. i.e. one version is selected as the parent version, which is the default version, and other versions are added to this parent version. <small>Using the Update Library method, which version becomes the parent/default version cannot be controlled, but the default version can be changed later as required.</small><br />
<br />
Using Blade Runner (1982) as an example, to make the original US Theatrical Release as the default version of the movie, using the Versions Manager method it would be selected as the movie to which all other versions are added to.<br />
<syntaxhighlight lang="xml"> -Blade Runner (1982) - US Theatrical Cut [dvd] (parent movie; default movie)<br />
|- Blade Runner (1982) - Directors Cut [dvd] (child version)<br />
|- Blade Runner (1982) - Intl Theatrical Cut [dvd] (child version)<br />
|- Blade Runner (1982) - The Final Cut [bluray] (child version)<br />
|- Blade Runner (1982) - The Final Cut [dvd] (child version)</syntaxhighlight><br />
<br />
For those familiar with the {{kodi}} video database, scanned movies are saved in the ''movie'' table of the MyVideos database. When a movie is added as a child to a Video Version, that child movie is deleted from the ''movie'' table and moved into the ''videoversion'' table which contains no movie metadata and contains links to the file, video version type and parent movie via the use of primary and foreign keys. The parent movie remains in the ''movie'' table and the child versions use the metadata of the parent movie. When the default parent movie is changed, it is only the ''idFile'' in the ''movie'' table that changes.<br />
<br />
<br />
As this is a '''Library''' feature, how the files are stored on your hard drives does not affect Video Versions. Your video files can continue to be in their own folder, on different drives or in a single folder.<br />
<br />
<br />
Versions are matched as follows:<br />
# The scanner first checks for duplicate TMDB or IMDB UniqueID<br />
# If no ID is matched, then the scanner checks for a duplicate Title+Year.<br />
To increase the accuracy of the scan, especially when using nfo files, ensure:<br />
# TMDB and IMDB ID's are included, correct and they are the same for all the versions<br />
# The value in the <title> tag is clean and that all the versions use the same title. i.e. Use <code><title>Blade Runner</title></code> instead of naming the version like <code><title>Blade Runner - US Theatrical Release</title></code><br />
<br />
<br />
<br />
= Settings =<br />
There are three settings that control the behaviour of Video Versions.<br />
<br />
{|<br />
|- valign="top"<br />
| width=120px | {{nowrap|'''Settings level:'''}} <br />
| Basic<br />
|- valign="top"<br />
| '''Description:'''<br />
|<br />
Settings ► Media ► Library ► Video Library ► '''Ignore different video versions on scan'''<br />
<br />
* '''Disabled''' - When an Update Library is run and the scanner discovers a title that may be a duplicate of another title already scanned into the library, the Update Library will pause with a pop-up requesting confirmation on how to treat the duplicate. The Library Update will not continue until the pop-up is cleared.<br />
* '''Enabled''' - (default) When an Update Library is run, there are no interruptions to the scan and the various versions will be scanned or scraped into the library without a video version being created. Use the Versions Manager method described below to create a Video Version after scanning has ended.<br />
|}<br />
<br />
<br />
{|<br />
|- valign="top"<br />
| width=120px | {{nowrap|'''Settings level:'''}} <br />
| Standard<br />
|- valign="top"<br />
| '''Description:'''<br />
|<br />
Settings ► Media ► Videos ► All ► '''Select default video version'''<br />
<br />
* '''Disabled''' - (default) When selecting a video version to play, a pop-up will provide the option to select which version to play<br />
* '''Enabled''' - Plays the default parent video. Other versions can be accessed from ''Context menu ► Choose version''<br />
|}<br />
<br />
<br />
{|<br />
|- valign="top"<br />
| width=120px | {{nowrap|'''Settings level:'''}} <br />
| Standard<br />
|- valign="top"<br />
| '''Description:'''<br />
|<br />
Settings ► Media ► Videos ► All ► '''Show videos with multiple versions as a folder'''<br />
<br />
* '''Disabled''' - (default) When selecting a video version, what happens after selection will be determined by the previous setting ''Select default video version''<br />
* '''Enabled''' - Selecting a video with multiple versions will always open another screen listing the versions. Similar to opening a Movie Set.<br />
|}<br />
<br />
<br />
<br />
= Creating a Version =<br />
There are two methods to creating a Video Version as detailed below. The methods can be used singly or in combination with each other. <br />
<br />
For example, you may initially manually scan a single title, then run an Update Library to scan additional titles and using the pop-up notifications to create the Video Version, or vice versa.<br />
<br />
<br />
'''Note:''' During initial creation of a Video Version collection, the parent/default version needs to be scanned/scraped into the library (but changing via ''Set as default'' does not need scraping again). Child titles do not need to be scanned into the library as any metadata that is scanned/scraped is discarded once the title is added as a child version. Using the ''Browse files'' option in the Versions Manager method, a video file can be directly linked to a Version collection without scanning. Child versions always use the metadata of the parent title. The only downside to this method is if you have unique artwork for each version, this will not be scanned and artwork from the parent version will be used.<br />
<br />
<br />
== Library Update Method ==<br />
When using the this method, ensure the setting '''Ignore different video versions on scan''' is '''Disabled'''<br />
<br />
{{kodi}} will scan titles into the library until it encounters a duplicate at which time the scanning pauses and requires a user response.<br />
<br />
To create a Video Version, follow these steps.<br />
<br />
# Run the Update Library function, or navigate to your Source and from the context menu select ''Scan for new content''<br />
# When a title is scanned that is a duplicate of a title already in your library the ''Different movie version found'' dialogue will notify you<br />
# Select '''Yes''' to add as a version or '''No''' to ignore and continue scanning<br />
# When '''Yes''' is selected, the ''Add as a version to...'' pop-up will offer the matching parent title<br />
# After selecting the parent title, from the ''Choose version'' pop-up, select what type of version this title is. If a pre-defined name is not listed, add a new name using the ''New version...'' button<br />
# The Update Library scanner will continue with the scan until it finds another duplicate movie.<br />
<br />
<br />
== Versions Manager Method ==<br />
If you prefer to use the Versions Manager method rather than interrupting the Library Update runs, ensure the setting '''Ignore different video versions on scan''' is '''Enabled'''.<br />
<br />
See the '''Add Version''' section below for details.<br />
<br />
<br />
<br />
= Versions Manager =<br />
Versions are managed through the Versions Manager. There are two methods to access the version manager shown in the following images...<br />
<br />
<gallery mode="packed" widths="500px" heights="283px"><br />
File:VideoVersionsManager.jpg| '''Image 1'''- In the library highlight the title that either currently is, or will become, the default version of the title and call up the Information Page<br/>Select the '''Versions''' button along the bottom row<br />
File:VideoVersionsContext.jpg| '''Image 2'''- In the library highlight the title that either currently is, or will become, the default version of the title and call up the Context Menu<br/>Select '''Manage ► Manage versions'''<br />
File:VideoVersionsManager01.jpg| '''Image 3'''- The Versions Manager<br />
</gallery><br />
<br />
<br />
== Play ==<br />
Play the selected title.<br />
<br />
<br />
== Add Version ==<br />
To add a new Version using the Version Manager follow these steps...<br />
<br />
# Access the Versions Manager<br />
# The pop-up box will display details of the parent movie. It defaults to "Standard Edition" but this can be changed using the '''Rename''' button<br />
# To add another version, select '''Add version'''<br />
#* If the message ''No similar movies were found in the library'' choose one of the following options:<br />
#** '''Browse files'''- Browse your source folders to find another version of the movie. It will be scanned once selected<br />
#** '''Browse library'''- Browse titles currently in the library and select the title from the library list.<br />
#** '''Cancel'''- Cancel the operation<br />
# From the pop-up box, scroll to select the next version to be added and press ''Enter'' or equivelant keypress<br />
# From the next pop-up, select the version format. If a pre-defined name is not listed, add a new name using the ''New version...'' button<br />
# The new version will be added<br />
# To add additional versions, repeat these steps.<br />
<br />
<br />
== Choose Art ==<br />
Allows the changing of artwork for the highlighted version.<br />
<br />
<br />
== Rename ==<br />
Used to nominate the version type- i.e. ''Directors Cut, Extended Edition'' etc.<br />
<br />
# Call up the Versions Manager<br />
# Scroll to the version to be renamed<br />
# Select ''Rename''<br />
# From the ''Choose version'' dialogue,<br />
#* Select the required version<br />
#* If the required version is not listed, select the ''New version...'' button and add the name of the version type<br />
<br />
<br />
== Remove ==<br />
The only method that allows removal of individual child versions is the ''Remove Child Version'' method described in this section. Any other method you may use will remove the entire Version collection.<br />
<br />
''Remove'' will remove a version from the library only and will not delete files from the file system. The setting '''[[Settings/Media/General#Allow_file_renaming_and_deletion| Allow file renaming and deletion]]''' has no effect. Be aware that running an Update Library will rescan the removed title back into the library.<br />
<br />
=== Remove Version Collection ===<br />
To remove the entire version collection from the library, use one of the following methods...<br />
<br />
* Highlight the Video Version to be deleted from the library<br />
** Press {{keypress|del}} on the keyboard, or<br />
** Use ''[[Basic_controls#Context_Menu|Context Menu]]'' ► Manage ► Remove from library<br />
<br />
=== Remove Child Version ===<br />
To remove a single child version, use the following method...<br />
<br />
# Call up the Versions Manager<br />
# Scroll to the child version to be deleted<br />
# Select ''Remove''<br />
# If the button is greyed out this indicates you have selected the parent version. To delete the parent version see the next section.<br />
<br />
=== Remove Parent Version ===<br />
To remove the parent version without removing the entire collection, use the following method...<br />
<br />
# Call up the Versions Manager<br />
# The version manager lists all movies in the version. The parent version is the one with the ''Remove'' and ''Set as default'' buttons greyed out<br />
# Select another version to become the parent version and press ''Set as default''<br />
# Scroll back to the version to be deleted and select ''Remove''<br />
<br />
<br />
== Set As Default ==<br />
The default title allows immediate playback, instead of browsing for a version, when the setting '''Select default video version''' is enabled.<br />
<br />
To change which version becomes default, use the following method...<br />
<br />
# Call up the Versions Manager<br />
# Highlight the version to be made as the new default version<br />
# Select ''Set as default''<br />
<br />
<br />
<br />
= NFO Files =<br />
{{note| NFO file support is an incomplete feature in v21. Plans are to complete the feature in v22.}}<br />
<br />
Exporting the library to ''Separate Files'' now exports the following Video Versions related xml tags:<br />
<br />
<syntaxhighlight lang="xml"><br />
<videoassettitle>Intl Theatrical Cut</videoassettitle><br />
<videoassetid>40801</videoassetid><br />
<videoassettype>0</videoassettype><br />
<hasvideoversions>true</hasvideoversions><br />
<hasvideoextras>false</hasvideoextras><br />
<isdefaultvideoversion>true</isdefaultvideoversion><br />
</syntaxhighlight><br />
<br />
The process to import these tags during scanning is not complete. As a result, you will still be asked if you would like to add movies as a version of an existing during scanning.<br />
<br />
Once the nfo file module is complete, rebuilding from nfo files will automatically allocate movies to versions.<br />
<br />
<br />
<br />
<br />
<br />
{{top}}<br />
<br />
{{updated|21}}<br />
<br />
[[Category:Karellen]]<br />
[[Category:Video library]]</div>Karellen