Add-on:Cinema Experience: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
m (Addon-Bot Update)
Line 3: Line 3:
|provider-name=Giftie - nuka1195
|provider-name=Giftie - nuka1195
|ID=script.cinema.experience
|ID=script.cinema.experience
|latest-version=3.0.4
|latest-version=3.0.6
|extension point=xbmc.python.script
|extension point=xbmc.python.script
|provides=
|provides=

Revision as of 00:54, 13 September 2013

Cinema Experience
http://mirrors.xbmc.org/addons/frodo/script.cinema.experience/icon.png

See this add-on on the kodi.tv showcase

Author: Giftie - nuka1195

Type: Program
Repo:

Source: Source code
Summary: Re-create a full movie theater experience.
Home icon grey.png   ▶ Add-ons ▶ Cinema Experience
Attention talk.png Need help with this add-on? See here.

Play trailers, slideshows, intro videos, outro videos: To re-create a movie theater experience in the comfort of your home.

Installing

This add-on is installed from the Add-on browser located in Kodi as follows:

  1. Settings
  2. Add-ons
  3. Install from repository
  4. Program Add-ons
  5. Cinema Experience
  6. Install

About Cinema Experience

What is Cinema Experience

This scripts will add the wow factor to your home theatre and give you the true cinema experience you deserve(except you still have to supply the popcorn and drinks). This script allows you to play slides, previews(trailers) and other videos that give the full cinema feel(Intro's and Outro's) Slides can consist in almost any jpg picture(many Movie Q&A, Movie Stills, Movie Fact packs already exist). The Feature Presentation Movie(s) must be in your Video Library. It can stream or download from Apple Movie Trailers, play locally stored trailer that are on you system or play trailers from your Movie Library.

History

This add-on has a lot of history, starting its life in 2009 as the Home Theatre Experience script, by an amazing and skilled python programmer nuka1195. Through out its life it had brought changes to XBMC. In December 2010, the script was modified to work with the new add-on engine in XBMC's Dharma version, and changed names to Cinema Experience. In the start, the script was only being maintained to function with XBMC, then functional repairs, then some big changes(some brought about some negative feedback). Now it's 2013 and XBMC Frodo is here, so is Cinema Experience..

How to get it

At the moment this add-on is only available through zip-file downloads. The Frodo version will be soon added to the Official Repo, making it easier to get. But for the time being...

Dharma Version: http://www.mediafire.com/file/6r7d1pqnfeib7xx/script.cinema.experience.1.0.53.zip

Eden Version: https://www.dropbox.com/s/9xqnclvosuhm2o1/script.cinema.experience.2.0.57.zip

Frodo Version: Available from the Official Repo

Reporting bugs and requesting features

Since this script is always an evolving creature, getting better with every release, bugs do come up. When they do, a bug report needs to be made. These are to be made on the Cinema Experience forum thread. A debug log is always(repeat, ALWAYS) required, along with the steps to create the bug.

Also on this forum thread I will accept feature requests.

Now the fun stuff

Cinema Experience Sequence

Cinema Experience gives you the ability to enable or disable any introduction videos, or the trivia slideshow. You have the power to customize your cinema experience. The following is an example of the complete script flow:

  1. Numbered list item Trivia Intro Video(s)
  2. Numbered list item Trivia Slides with Optional Music Playlist
  3. Numbered list item Trivia Outro Video(s)
  4. Numbered list item Movie Theater Intro Video(s)
  5. Numbered list item Coming Attractions Intro Video(s)
  6. Numbered list item Trailer(s)
  7. Numbered list item Coming Attractions Outro Video(s)
  8. Numbered list item Feature Presentation Intro Video(s)
  9. Numbered list item Rating Video (MPAA, BBFC and FSK ratings are currently supported)
  10. Numbered list item Audio Format Video
  11. Numbered list item Countdown Video
  12. Numbered list item FEATURE PRESENTATION
  13. Numbered list item Intermission Video(s) (note)
  14. Numbered list item Rating Video (MPAA, BBFC and FSK ratings are currently supported)
  15. Numbered list item Audio Format Video
  16. Numbered list item FEATURE PRESENTATION 2
  17. Numbered list item Rating Video (MPAA, BBFC and FSK ratings are currently supported)
  18. Numbered list item Audio Format Video
  19. Numbered list item FEATURE PRESENTATION 3
  20. Numbered list item Rating Video (MPAA, BBFC and FSK ratings are currently supported)
  21. Numbered list item Audio Format Video
  22. Numbered list item FEATURE PRESENTATION 4
  23. Numbered list item Rating Video (MPAA, BBFC and FSK ratings are currently supported)
  24. Numbered list item Audio Format Video
  25. Numbered list item FEATURE PRESENTATION 5 (end note)
  26. Numbered list item Feature Presentation Outro Video(s)
  27. Numbered list item Movie Theater Outro Video(s)

(note) At this point in the script, if multiple features have been queued and the skin uses home menu integration, multiple rating videos, audio format videos, features, and intermission videos will take the place of a single feature. A total of 5 features can be queued. This option can be even larger if you use one of the starting methods suggested in the Script Starting methods section.

Video Folder Outline

The only folder that need to be in a specific format is Audio Format folder. This is because the script uses the name of the Audio Format(DTS, Dolby Digital, etc) to find the appropriate videos.

Home Automation Integration

Here the Home Automation feature will be explained.

Settings Explained

Trivia Slideshow

Special Videos

Movie Trailers

Feature Presentations

Home Automation

Miscellaneous

Integration

Script Starting Methods

There are a few different arguments available to change the starting the script. This are mostly for starting from with-in a skin or from an outside source(remote). Each cause the script to behave differently.

Using the built-in RunScript Method often used in skins and keymaps

RunScript(script.cinema.experience,argument)

Using the JSON RPC Method

{"jsonrpc": "2.0", "method": "Addons.ExecuteAddon", "params": { "wait": false, "addonid": "script.cinema.experience", "params": [ "arguments" ] }, "id": 1}

Available Arguments

XBMC Video Library Window ID

XBMC Video Library Movie ID

Window ID

This is primarily used to put the script into multiple feature mode, though it can be used for a single Movie. The user will need to queue the movies into a playlist(normal queuing methods are used, Q on a keyboard, 0 on a remote or from the context menu)

Possible window IDs to use:

movietitles
moviegenres
movieyears
movieactors
moviedirectors
moviestudios
moviesets
moviecountries
recentlyaddedmovies

These match the general quick library links available from the homepage.

eg.

RunScript(script.cinema.experience,movietitles)

This will open up the library using Movie Titles, with the script waiting for the set number of features to be queue.

Movie ID

This is a new method introduced in version 3.0.1 of the script, to replace the former method of starting the script from a skin. The former method(no arguments sent to the script) caused an unsightly jump in the Movie Library list. This was due to the method XBMC uses to queue a video. With Frodo, skins now can extract the database ID for the Movie(using $INFO[ListItem.DBID] ) This method also allow a known database ID to be sent. Multiple database IDs can be sent at the same time, causing the script to go into Multiple Feature mode(fixed in version 3.0.4). The database IDs need to be separated by a semi-colon(;)

eg.

RunScript(script.cinema.experience,movieid=$INFO[ListItem.DBID]) skin method
RunScript(script.cinema.experience,movieid=35) single movie database ID
{"jsonrpc": "2.0", "method": "Addons.ExecuteAddon", "params": { "wait": false, "addonid": "script.cinema.experience", "params": [ "movieid=35" ] }, "id": 1}
RunScript(script.cinema.experience,movieid=35;123;112) multiple movie database IDs
{"jsonrpc": "2.0", "method": "Addons.ExecuteAddon", "params": { "wait": false, "addonid": "script.cinema.experience", "params": [ "movieid=35;123;112" ] }, "id": 1}

Skin Integration

Skin Developers can integrate the starting of the script. Often the chosen location for such integration is in the DialogVideoInfo.xml file. There are two methods, the old way and the new Movie ID way.

Old Method(still valid for the Dharma/Eden versions of the script)

<control type="button" id="49">
    <description>Home Theatre</description>
    <include>ButtonInfoDialogsCommonValues</include>
    <label>Cinema</label>
    <onclick>Dialog.Close(MovieInformation)</onclick>
    <onclick>XBMC.RunScript(script.cinema.experience)</onclick>
    <visible>system.hasaddon(script.cinema.experience) + Container.Content(movies)</visible>
</control>


New Method(Frodo Version 3.0.1+)

<control type="button" id="49">
    <description>Home Theatre</description>
    <include>ButtonInfoDialogsCommonValues</include>
    <label>Cinema</label>
    <onclick>Dialog.Close(MovieInformation)</onclick>
    <onclick>XBMC.RunScript(script.cinema.experience,movieid=$INFO[ListItem.DBID])</onclick>
    <visible>system.hasaddon(script.cinema.experience) + Container.Content(movies)</visible>
</control>

Trivia Slideshow

The script can display a slideshow at the start of the experience. The slides can be standard still slides or Q&A(with clues). The best method of storing the slides are to have them in separate folders, the script can search the folders recursively.

Stills

Q & A

For the script to determine how and when to display the Q&A slides a file needs to accompany the slide's folder. This file is called 'slides.xml'(not all lower case). Here are some examples of the slides.xml and the filenames.

slides.xml labels

<slide rating=> - allows the ability to specify a 'age' rating similar to movies, this can be used to match the rating of the movie being played or to set a limit on which slides are played based on value set in the Settings)

<question format= /> - provides the format that matches slides as a question slide

<clue format= /> - provides the format that matches slides as a clue slide

<answer format= /> - provides the format that matches slides as an answer slide


Filenaming

slideXXX_q.jpg - Question Slide

slideXXX_c.jpg - Clue Slide

slideXXX_a.jpg - Answer Slide

(XXX) represents a number, up to 3 digits

<slides>
    <slide>
        <slide rating="R">
        <question format=".([0-9]{1,3})+_q.jpg" />
        <clue format=".([0-9]{1,3})+_c.jpg" />
        <answer format=".([0-9]{1,3})+_a.jpg" />
    </slide>
</slides>

Breakdown of ".([0-9]{1,3})+_q.jpg"

. <- provides matching of any alpha characters(letters) ie: matches "stills" in "stills20_q.jpg"

([0-9]{1,3}) <- provides matching of any number from 0 - 999 ie: matches "20" in "stills20_q.jpg"

+_q <- allows the script to determine if it is a question ie: "stills20_q.jpg" is a question, but "stills20_c" is not.

^ this can be any letter or combination of letters as long as the pattern is kept. For example:

<question format=".([0-9]{1,3})+a.jpg" /> - the question

<clue format=".([0-9]{1,3})+b.jpg" /> - the clue

<answer format=".([0-9]{1,3})+c.jpg" /> - the answer


The next example of a slides.xml is for a two part trivia question(question and answer):

<slides>
    <slide>
        <slide rating="R">
        <question format=".([0-9]{1,3})+_q.jpg" />
        <clue format="N/A" />
        <answer format=".([0-9]{1,3})+_a.jpg" />
    </slide>
</slides>


If your Q&A do not have any ordering numbers (ie slide1_q, the 1 is the ordering number) just use the following:

<slides>
    <slide>
        <slide rating="R">
        <question format=".+_a.jpg" />
        <clue format="N/A" />
        <answer format=".+_b.jpg" />
    </slide>
</slides>