Project

General

Profile

Feature #926

Launch Cinemavision

Added by Stefan 7 months ago. Updated 7 months ago.

Status:
New
Priority:
Normal

Description

Cinemavision is a Kodi Add-on which lets you get an intro before showing a movie. Cinemavision uses the context menu in the Kodi library to launch.

See here: http://kodi.wiki/view/Add-on:CinemaVision\_Launcher

Would it be possible to implement a feature to be able to see the context menu from within the left menu of Yatse where you browse your library?

History

#1 Updated by Tolriq 7 months ago

It's not possible like that.

I did ask the addon author for propers API so it can be integrated and never heard back.

#2 Updated by Stefan 7 months ago

Tolriq wrote:

It's not possible like that.

>

I did ask the addon author for propers API so it can be integrated and never heard back.

I see! I got a response from the people at cinemavision and it seems they think that they already provided you with everything you needed but perhaps there was some sort of misunderstanding. They asked if you could go over to their forums and perhaps work it out?

https://cinemavision.tv/forums/topic/960-cinemavision-into-yatse-the-kodi-remote/

#3 Updated by Tolriq 7 months ago

Well can't read the guide, needs registration. I have more than enough accounts everywhere ;) Maybe you can link the content.

#4 Updated by Stefan 7 months ago

Tolriq wrote:

Well can't read the guide, needs registration. I have more than enough accounts everywhere ;) Maybe you can link the content.

Absolutely! :)

**The Big Picture**

We think CinemaVision integration adds value and functionality to every aspect of the entertainment center. Because of this, we'd like to make it as seamless as possible to integrate with our products. If you have any suggestions for how to improve either this guide, or integration as a whole, please let us know. At the end of this guide, you will be able to integrate your skin or application with CinemaVision.

**What you won't need:**

Working knowledge of how the CinemaVision add-on(s) work behind the scenes.

**What you will need:**

Working knowledge of the programming language you're using to write the application you're integrating with CinemaVision

Kodi installed and configured on an HTPC, with content scraped into the local Kodi database (not streaming), for testing purposes.

The Kodi CinemaVision Add-on installed, with a working Sequence (a working knowledge of setting up CinemaVision), for testing purposes.

Integrating CinemaVision into Your Skin

Traditionally, users are accustomed to having a button in the Movie Information dialog. For Kodi, we recommend that you add a button to your skins DialogVideoInfo.xml file. The button code below should work, and of course you'll want to change the ID (listed as 00 below) of the button so that it doesn't conflict with another button in your skin.

<control type="button" id="00">

<description>CinemaVision</description>

<include>ButtonInfoDialogsCommonValues</include>

<label>CinemaVision</label>

<onclick>Dialog.Close(MovieInformation)</onclick>

<onclick>RunScript(script.cinemavision,experience)</onclick>

<visible>System.HasAddon(script.cinemavision) + \[Stringcompare(ListItem.DBType,movie) | Stringcompare(ListItem.DBType,tvshow) | Stringcompare(ListItem.DBType,season) | Stringcompare(ListItem.DBType,episode)\]</visible>

</control>

Many of our users prefer that the Busy Dialog and Pop-ups are suppressed to improve the CinemaVision experience. While both of these things do improve the experience while CinemaVision is running, please keep in mind that your users will not know what's happening when a video is buffering, for example. Use these options at your discretion. These options should be added as a direct child of the <window> tag in the XML file. If you're unsure of where in the files to add the code, add it on the line before the <controls> tag. If you know what you're doing, add it where ever you need it to be. :)

We recommend that you add the option to suppress the busy dialog to your skins DialogBusy.xml file. To suppress the busy dialog when CinemaVision is running, add the following to the DialogBusy.xml file:

<visible>IsEmpty(Window(Home).Property(script.cinemavision.running))</visible>

We also recommend that you add the option to suppress pop-up notifications to your skins DialogKaiToast.xml file. To suppress pop-up notifications while CinemaVision is running, add the following to the DialogKaiToast.xml file:

<visible>IsEmpty(Window(Home).Property(script.cinemavision.running))</visible>

We do not recommend that you add the option to suppress your buffering dialog as this also suppresses the information and seek bar that is seen when you pause your content. If you want to do this despite our objection, here's how. To suppress the buffering, content information, and seek bar dialogs add the following to your skins DialogSeekBar.xml file:

<visible>IsEmpty(Window(Home).Property(script.cinemavision.running))</visible>

Integrating CinemaVision into Your Application

For your convenience, we've created several Methods that can be used to run CinemaVision, as well as a number of Properties that can be read to obtain specific data about the CinemaVision experience for use in your applications. We'll start with Methods.

Methods for Running CinemaVision

These methods will determine the type of content, and pass that to CinemaVision for processing.

This will launch CinemaVision using the default Sequence.

This method reads from the Kodi playlist, falling back to the current selection.

RunScript(script.cinemavision,experience)

This will use the ID from the current ListItem to launch CinemaVision.

This method forces the selection, ignoring the Kodi playlist.

RunScript(script.cinemavision,selection)

This will allow you to specify the movie ID when launching CinemaVision.

Use this if you are not getting the ID via ListItem.DBID within the selected container.

RunScript(script.cinemavision,movieid=<id>\[|<id>|<id>|...\])

This will allow you to specify the episode ID when launching CinemaVision.

Use this if you are not getting the ID via ListItem.DBID within the selected container.

RunScript(script.cinemavision,movieid=<id>\[|<id>|<id>|...\])

This will launch CinemaVision and play the media specified using the default Sequence.

RunScript(script.cinemavision,dbtype=$INFO\[ListItem.DBType\],dbid=$INFO\[ListItem.DBID\])

This will allow you to bypass the Queue Dialog when launching CinemaVision.

Using the nodialog switch will suppress the Queue Dialog when launching CinemaVision.

RunScript(script.cinemavision,\[experience,selection,movieid,episodeid\],nodialog)

Properties Allowed By CinemaVision

These properties will return specific information about the CinemaVision Sequence.

CinemaVision Running Status

This property returns a value of True if CinemaVision is running.

!IsEmpty(Window(Home).Property(script.cinemavision.running))

CinemaVision Module Status(es)

This property returns the Type of the Module running currently in the Sequence. (i.e. video, trivia, feature, trailer, audioformat)

Window(Home).Property(script.cinemavision.module.current)

This property returns the Name of the Module running currently in the Sequence.

!IsEmpty(Window(Home).Property(script.cinemavision.running))

This property returns the Type of the Module running next in the Sequence. (i.e. video, trivia, feature, trailer, audioformat)

Window(Home).Property(script.cinemavision.module.next)

This property returns the Name of the Module running currently in the Sequence.

Window(Home).Property(script.cinemavision.module.next.name)

CinemaVision Feature Status(es)

This property returns the Title of the Feature running next in the Sequence.

Window(Home).Property(script.cinemavision.feature.next.title)

This property returns the Database Type of the Feature running next in the Sequence. (i.e. movie, tvshow)

Window(Home).Property(script.cinemavision.feature.next.dbtype)

This property returns the Database ID of the Feature running next in the Sequence.

Window(Home).Property(script.cinemavision.feature.next.dbid)

This property returns the Path of the Feature running next in the Sequence.

Window(Home).Property(script.cinemavision.feature.next.path)

Integrating CinemaVision into Your Application

We have come up with our best practices for adding CinemaVision support to your remote software. First, here's a quick overview of how CinemaVision works:

When CinemaVision is launched, it get's the list of videos from the Kodi video playlist or, if that is empty, it checks for a selected ListItem to get video info. If enabled, it then displays the list of those videos for the user to edit. When the user selects Play, this list is used when generating the video Sequence. The CinemaVision add-on does not really use a playlist, rather it gets the movies from the Kodi playlist.

Best Practices

From the remote, you should add the content to the Kodi playlist and then display a dialog similar to the add-on's dialog for editing the Kodi playlist. We have added the ability to pass a list of multiple movie IDs and episode IDs. When building a list of multiple IDs, you would keep that list of IDs on the remote rather than passing them one at a time to the add-on.

Launching CinemaVision from a Remote via JSON

{\[jsonrpc": "2.0", "method": "Addons.ExecuteAddon", "params": { "addonid": "script.cinemavision", "params": \["experience"\]}, "id\]() 1}

Also available in: Atom PDF

Go to top