Sponsored Links

Sponsored Links

Navi-X Showtime PS3 Media Player Plug-in Update Now Available


Sponsored Links
134w ago - PlayStation 3 homebrew developer facanferff has updated his Navi-X Showtime PS3 Media Player Plug-in today for Showtime PS3 Media Player with the changes outlined below.

Download: [Register or Login to view links]

To quote: Navi-X is a 'content aggregator' app that provides access to all kinds of multimedia content, listed on a public directory of user contributed listings or playlists for playing on your TV or PC! Users can link to content and playback video, audio, pictures, podcasts, text, rss and html on the internet and share it with people around the world in seconds!

Create fully customizable playlists with backgrounds, logos and icons as well as link to your favorite multimedia on the internet or browse the already existing directory of publicly available content, in one sleek, fast and unified application!"

During the development time of the plugin, Tyrant was valuable, giving important feedback about what was correct and what was wrong. He knew already Navi-X and that allowed a faster development of the plugin. As of his experience with it, he says to new Navi-X users: "Navi-x is awesome once you get to know all the directories and content."

And after Beta Testing the plugin, Tyrant states that "Navi-x is the one and only solution in Showtime PS3 to watch movies, livetv, pictures and listen to music! A must have!"

You may ask, What are the features of the plugin? Here it is:

  • PLX Playlists
  • RSS Playlists
  • Flickr XML

Video/Processors:

  • If a processor fails (gives error different than "This processor is empty, nothing to do...") add an entry to a local store that must be sent to facanferff
  • TMDB For movies

Item Listing:

  • Display information about the date of an item
  • Display URL and Processor if available

User Account:

  • Enable/Disable Login Popup
  • Add Video/Playlist to Favorites
  • Remove from Favorites
  • Create Playlist
  • Add to Playlist
  • Enable/Disable Adult Content (in settings page)
  • Automatically add video to History playlist (if it already exists, moves it to top)
  • Set if new playlists should be private or public (History playlist is by default private and can't change in the plugin)
  • Search (needs external keyboard)

FAQ

1. Where can I download Showtime?
Go to here (lonelycoder.com/showtime/download) and select the PKG you want, install it normally and execute it.

2. Live Streams from playlists are supported in Showtime?
Yes they are, but they should be in rtmp protocol, there is no support for mms or http live streaming in Showtime. You can watch even TV Channels added from other Navi-X user but I'll not tell you where, search Navi-X and you might find it.

3. There are some sections that says "XBMC Only", I can't use them in Showtime?
Some of them you can, those entries are labelled like that because the videos contained in those playlists are rtmp link, that XBMC supports while other platforms can't support, but Showtime supports it and you can use it as well, you're free to navigate these playlists.

4. There are some sections that says "Boxee Only", I can't use them in Showtime?
During development, I faced myself with some playlists labelled like these and some of them didn't work since the feature behind that makes the playlist only supportable for Boxee is the HTML support that Showtime can't support, you might try these playlists but most possibly the plugin will not be able to get you the playlist, in these cases you'll get an empty playlist.

5. You talk about Processors in this plugin several time, what are they?
Well to quote from navixtreme.com: "The purpose of the processor is to function as an online plugin for Navi-X which produces media playback parameters for a single item, normally starting with only the URL of the web page which contains the item. In other words, if a web page has a flash player embedded in it, the processor teaches Navi-X how to emulate that site's flash player to get the media in the page to play in Showtime."

6. When I logged in the first time to Navi-X server, was added some few playlists to my account what should I know about it?
These created playlists pretend to make easier and better your experience in Navi-X plugin for Showtime. For your privacy, any playlist created by the plugin are saved as Private, it means only you can access those, if you want you might change it in navi-xtreme verified user media. Currently, these are the playlists created automatically by the plugin:

  • Favorites: Keeps a list of items that you marked as Favorite
  • History: List in which is added a video when you select a video to play and it starts playing, if it gives any error from the Processor part it will be discarded.

NOTE: Video links that don't play too due to lack of support from Showtime are added too automatically (no way to check it in current Showtime's API)

NOTE 2: If you play a video that was added already to the playlist History, the plugin will remove the one that exist and insert a new one on top of playlist, creating a fresh copy.

7. What is the status of WatchTV plugin?
With this new plugin, WatchTV plugin became obsoleted, there's no reason to use anymore the system that WatchTV provided, in this plugin you can watch too Live Streams normally and with the advantage of viewing those that were added by other users without having work of setting up a server or using a keyboard to enter a link.

8. Where can I find facanferff to talk about Showtime?
facanferff is sometimes in Efnet on channel #showtime, you might try to find him there. There will be there some other helpful people ready to assist you.

9. How can I give feedback, suggest or report bugs?
To report bugs you can create a ticket in the official bug tracking managed by facanferff and running in andoma's Web site (lonelycoder.com/redmine/projects/navix)






Stay tuned for more PS3 Hacks and PS3 CFW news, follow us on Twitter and be sure to drop by the PS3 Hacks and PS3 Custom Firmware Forums for the latest PlayStation 3 scene updates and homebrew releases!

Comments 556 Comments - Go to Forum Thread »

• Please Register at PS3News.com or Login to make comments on Site News articles. Thanks!

tim132's Avatar
#536 - tim132 - 45w ago
I was wondering whether there's a way to add imdb.com to collect metadata of my films?

PS3 News's Avatar
#535 - PS3 News - 46w ago
Following up on the previous revision, today PlayStation 3 homebrew developer Andreas Oman updated the Showtime PS3 Media Player testing builds to v04.03.698 followed by Showtime for multiMAN (both CEX and DEX) by deank with the changes outlined below.

Download: [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links] (6.21 MB) / [Register or Login to view links] (6.27 MB) / [Register or Login to view links] (13.7 MB) by Mussonero

Showtime Media Center Changelogs

4.3.698

Avoid some log messages from sqlite (we deal with them anyway)
Call logfiles "showtime-#.log" instead of "showtime.log.#"
h264: Skip the check converting h264 AVCC to annexb even when NAL unit len = 3.
media: Fix lock-against-self when cycling subtitle/audio tracks …
Make sure fa_parent() works on NTFS drives (ugly hack) …
Update pl_PL, sp_SP, zh_CN language
Make miner also translatable

4.3.685

upnp: Add more URLs in device description
settings/store: Fix lock inversion Fixes #1837
ssdp: Remove unused code
ssdp: If we fail to bind, retry later Fixes #1838
Update translation files: Swedish, dk_DK, zh_CN
Make system name configurable in Settings -> Network
hls: Drop astray FA_DEBUG
asyncio: Handle errors from poll() in a more resilient way poll() on ps3 can return error if there is a problem with one of the fd:s
If settings storage can't use rename to overwrite, just log a debug message
Improve ext subtitle load debug
ASYNCIO: Add names to all file descriptor structs
When ASYNCIO Poll error occurs, output more info in log
subtitles: Fix some memory leaks when loading ext subs
When user can rename discovered services, revert to original name if configured name is empty

4.3.628

Upgrade librtmp - Fixes bug with DecodeTEA on BE systems. Fixes #1774
upnp: One more fix. Fixes #1788
upnp: Use URL to video file as canonical URL
Rework how continous video playback build the video play list. Fixes #1819
audio: Fix assert() in pulseaudio when skipping to next video track
upnp: Fix issue causing names of UPNP services to be messed up
ps3: Nag a bit more about donations if it's never turned on by the user
HLS: More robust handling of corrupted segments
RTMP: Set media source info. Fixes #1822
hls: Avoid calling sub_scanner repeatedly if nothing will be scanned by it
httpclient: Deal with "206 Partial Content" when we didn't ask for it.

Here is the standalone version of Showtime 04.03.698 compiled by me with all the standard changes:

Showtime for multiMAN is available as usual within mM/mmCM in the VIDEO column (press [Triangle] over "Start Showtime" and select "UPDATE").

CEX/DEX standalone versions are also available for direct download (as .pkg) in the WEB column of multiMAN/mmCM.

More PlayStation 3 News...

PS3 News's Avatar
#534 - PS3 News - 47w ago
Following up on the previous updates, today PlayStation 3 homebrew developer Andreas Oman updated the Showtime PS3 Media Player testing builds to v4.3.613 with the changes outlined below.

Download: [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links]

4.3.613 (Testing Build) Changelog:

glw: Fix some nastyness related to how we resolve properties This fixes a long standing issue with image view in the UI, causing just the spinner to appear and no image to be shown
hls: Fix issues when seeking past end of track when doing continous play
osk: Replace ¤ with $
Upgrade: Don't fail patch upgrade attempt if we can't open target file to get current hash
Add Slovak translation
Improve event routing

More PlayStation 3 News...

PS3 News's Avatar
#533 - PS3 News - 50w ago
Following up on the previous updates, today PlayStation 3 homebrew developer Andreas Oman updated the Showtime PS3 Media Player testing builds alongside some MultiMAN PS3 PKG updates by deank with details below.

Download: [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links] / [Register or Login to view links]

v4.3.576 & Recent Changes

ps3: Fix bug in litecoin miner causing it to be a lot less efficient than it should be
ps3: Relax memory warning thresholds a bit. Now that we use TLSF it's much less of a problem
stos: sync() after critical writes to disk
Fix crash in UPNP code Fixes #1773
js: Add support for plugins to set cookies directly
ps3: Add a miner
Transfer Copyright to Lonelycoder AB
prop: Disable prop subscription stats
prop: Redeuce memory usage by reusing compile time strings during prop symlinking
prop: Correctly handle settings of a PROP_DIR to some other value
glw/view: Improve trace() function a bit
prop/core: We must use prop_ref_dec_locked() when prop_mutex is held Fixes #1797
ps3: Make it possible to edit discovered FAT and HDD sources from settings
ps3: Add NTFS support
httpclient: Fix broken cookie domain validation Fixes #1794
Add so called 'managed services'
Huge rework of prop tree symbolic links
Add missing title and contents for network discovered services
Add str_cleanup() helper
ps3: Add some mutex debug helpers
Update fr_FR.lang
Update it_IT.lang
glw: Fix problem when assigning 'args' attribute with a non-prop p Fixes #1776

From aldostools: Build 4.3.582 has two important changes since 4.3.576:

ps3: Fix bug causing NTFS drives not being able to be remounted
ps3: Show CPU and RSX temperature in sysinfo (Press L3 to view)

For more details: github.com/andoma/showtime/commits/master

From deank: I compiled showtime 4.3.582 for mM... It is available in the WEB column of multiMAN and also from the VIDEO column -> Update. Standalone versions are in the web column.

Update: v4.3.601 Testing Changelog:

subtitles/sub: Watch out for division by zero
glw: Fix minor memleak (one per glw session)
Fix play/pause issues
glw: Rework how we auto-rescale UI
audio: Fix invalid assert()
ftpserver: Add support for "OPTS UTF8 ON/OFF" and report is as a FEATure
Resolve prop for track in playqueue
audio: When flushing pipeline we must also flush resampler
builtin-osk: Add '@' character and close when user press back/exit button
Drop shoutcast support
httpserver: Send encoding as UTF-8 in various places
Fix 'use after free'
miner: Drop debug info
ps3: Fix bug causing NTFS drives not being able to be remounted.
ps3: Show CPU and RSX temperature in sysinfo (Press L3 to view)

More PlayStation 3 News...

PS3 News's Avatar
#532 - PS3 News - 52w ago
Following up on the previous update, today PlayStation 3 developer facanferff has made available a Quickstart to PS3 Plugin Development in Showtime with details below.

To quote: Since a long time ago, some users have requested me to write a tutorial so they could create their own Showtime plugins. This is an initial attempt to it, I hope you like. If I make some mistake, I'm sorry, I'm not a teacher.

Overview

Before we get our hands dirty, it’s important to explain some little things that might help you later in making your own plugins. Plugins for Showtime (also known as Apps) are exclusively written, at the moment, in Javascript. To bring plugins to life, Showtime uses a Javascript engine called Spidermonkey (as of now, Showtime uses Spidermonkey 1.8.0-rc1). To learn more about this engine, you may go to developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey.

If you ever did web development, you may wonder if the Javascript API that work in normal web browser might work here, well, the answer is no. Due to this, you will not find things like DOM or AJAX in your toolbox, but you may and should use the basic Javascript.

In this quickstart, I will assume the reader has good understanding of Javascript. If you don’t know it, you may check the several resources available online/offline. From these, I recommend check this: codecademy.com

The Showtime plugins’ job is to respond to browse and search requests and populate the internal data model with the actual information to be shown to the user via Showtime’s user interface(s).

Since there are different types of plugins, I will focus in this tutorial in only a type, plugins that browse content in the web and show it to user (e.g. Youtube plugin).

Structure of a plugin

Every plugin lives in a directory of their own. From the several files this directory may have, you need to have at least one file in the root of the plugin, plugin.json, which contains information about the plugin and the author. You may use sub-directories and custom names for other files in order to organize it better.

plugin.json

plugin.json is a JSON (json.org) encoded text file containing information about the plugin and its author. Example of a plugin.json file (from the Channel9 plugin):

[Register or Login to view code]

Now it’s time to learn more about each field and which ones are required for every plugin:

[Register or Login to view code]

Getting Started

To run a plugin in a development environment, you may call from a terminal:

[Register or Login to view code]

The flag –p means that you want to load a plugin in development environment.

If you ran this already, you might get the following error: This will output something like: plugins [ERROR]: Unable to load development plugin: testplugin Unable to load testplugin/plugin.json -- File not found. This means or we don’t have a testplugin directory or we don’t have a plugin.json inside it. To create the directory do:

[Register or Login to view code]

Now, to edit the plugin.json, open the file testplugin/plugin.json in any text editor that you like.
In there, let’s make our initial plugin.json:

[Register or Login to view code]

With this, we specified that the plugin testplugin uses Javascript engine, has an ID ‘testplugin’ and the script is ‘testplugin.js’.

Whenever you want to reload the plugin you can use Shift+F5 in Showtime. This is helpful when you make changes to a plugin already in development environment inside Showtime, without the need of restarting Showtime. Even if the plugin gave an error, you may use this to try to reload it. When you reload it, all hooks and resources associated to the plugin are removed. This phenomenon happens also when a user removes a plugin from Showtime.

In case you are already in a page that belongs to the plugin itself, Showtime will reload the plugin and reload the page itself.

Now open your testplugin/testplugin.js in a text editor. Since we want to have a plugin that lives forever (so it can be called anytime) we need to have a scope where all local variables will live and also need to remember ‘this’ which is, when the script is invoked, a plugin object created by Showtime itself (showtimemediacenter.com/projects/showtime/wiki/JSAPI_plugin).

So, let’s edit this file:

[Register or Login to view code]

Reload the plugin now with Shift+F5, if you look in the terminal windows from which you opened Showtime, you will find a line saying ‘Hello, Showtime XXX’ where XXX is your current Showtime version that was obtained via showtime.currentVersionString .

Routing an URI to the plugin

Since our plugin will respond to browse requests we need to have an URI associated to it. An URI is something like a URL you use to browse the Internet, but in this case it is used to browse in Showtime. Every plugin reservers URI space starting with the plugin’s ID specified in plugin.json. These URI routes registered by plugins have higher priority than URI routes that Showtime itself handles, so you can create an URI route like it is in a web browser (e.g. youtube.com)

With this new knowledge let’s make it in use (edit it to match this code):

[Register or Login to view code]

Now, reload the plugin and if you type “testplugin:hello” in the search input field on Showtime’s home page, you will notice Showtime will open a new page with only a loading symbol, but in the terminal it will show the message provided to showtime.print.

A look in a real plugin

For this tutorial, I decided to use a real plugin made by me, which is called Videocopilot. The plugin source is located at github.com/facanferff/showtime-plugins/tree/master/videocopilot and its a plugin for Web site videocopilot.net.

I will not discuss the plugin.json of the plugin ([Register or Login to view links]) in this tutorial.
The lines of code or numbers of line are relative to version 0.9 (the most updated version at this moment).

Lets see then the plugin script (github.com/facanferff/showtime-plugins/blob/master/videocopilot/videocopilot.js).

To make Showtime provide a link in home page to the plugin’s start page we need to create a service:

[Register or Login to view code]

Lets check each argument given to plugin.createService:

  • 1st: “Video Copilot” is the display name of the service
  • 2nd: PREFIX (which is a global variable specified as “videocopilot” + “:start” is the initial route of the service (the URI where is located the home page of the plugin)
  • 3rd: “video” tells Showtime this plugin provides video resources
  • 4th: true means the service should be enabled immediately, making it visible to user and
  • 5th: plugin.path (gives you the full path to the plugin’s root directory) + “logo.png” is the path to an image that identifies the plugin.

Since we registered the home page’s URI route, we need to specify what does that URI route:

[Register or Login to view code]

Here, plugin.addURI registers a new URI route, in this case called “videocopilot:start” and startPage is the function to be called when this route is open by user request. The function provided to addURI should accept at least one argument, where the 1st one is a page object created by Showtime and used to manipulate the page.

function startPage:

[Register or Login to view code]

Here, page.appendItem will append a new item to the current page. Lets see the arguments:

  • 1st: PREFIX + ':browse:' + escape('http://www.videocopilot.net/tutorials/') + ':undefined' , is the URI route that should be called when the user clicks this item
  • 2nd: type of item, from the several ones, the most used are: directory, used to specify this item will open a new page to browse contents; and video that specified this item will open a video resource
  • 3rd: metadata for the item, you may provide any information about this item as you want. The most used are: title, title of the item; icon, image to be shown associated to the item; description, a description of the item

[Register or Login to view code]

Means this page is a directory to browse content.

[Register or Login to view code]

Tells Showtime that the contents of this page are “items”, in most cases, you want to use this one, we will use it for this tutorial.

[Register or Login to view code]

Tells Showtime that we don’t want anymore the loading symbol to be shown to user.

Function getVideoList:

[Register or Login to view code]

Here, showtime.httpGet is a function you may call to do a GET request to a page (e.g. to obtains its source code) and .toString() is to convert its response to a Javascript String to manipulate.

plugin.addURI(PREFIX + ":video:simple: (.*)", function(page, link):

[Register or Login to view code]

This is a Javascript object where we specify only the title of a video (displayed in video playback) and sources is an array where each object contains at least the url (e.g. the video’s url).

[Register or Login to view code]

Here, page.source is the way to tell Showtime what we want to reproduce. Since we want to play a video we need to put always “videoparams:” before the parameters of video as specified before encoded in a JSON string.

[Register or Login to view code]

This finally tells Showtime we have a video, so Showtime can handle everything to prepare video playback.

[Register or Login to view code]

This function is used to add continuously items to a page. In the current version of the tutorial, I will not explain this, so whenever you want to show more items (e.g. of a second page) use page.appendItem and pass what you need.

[Register or Login to view code]

This function adds a searcher to Showtime that can be used when a user searches for something (not a URI route) in search input field in Showtime’s home page. This function accepts 3 arguments:

  • 1st: title of the searcher, shown to user when searching something
  • 2nd: image of the search, also shown to user
  • 3rd: function that receives a page and query arguments (page is the same as specified before in the tutorial and query is a string containing what to search). This function is runs always whenever a user searches for something.

Note: In the function passed to plugin.addSearcher you need to specify somewhere the number of found entries via page.entries, otherwise Showtime will not show your searcher to user for that query.

I recommend you study carefully the code at: github.com/facanferff/showtime-plugins/blob/master/videocopilot/videocopilot.js

Publishing plugins

You may check showtimemediacenter.com/projects/showtime/wiki/SPMC for all details about it.

Bibliography

showtimemediacenter.com/projects/showtime/wiki/PluginDevelopment (maintained by Andreas Oman (andoma), Fábio Ferreira (facanferff) and Leonid Protasov (lprot))

Thanks

andoma: for creating Showtime

Final notes

I hope, you learned a little about plugin development in Showtime with this small tutorial. This tutorial is far away from being finished, I just wanted to give you an initial overview to the process of creating plugins for Showtime.

With a look in a real plugin, I believe you have now the fundamental tools to study better existing plugins and create new plugins. Whenever I can, I will try to update this tutorial to make it more complete and easier to understand.

For a reference of the functions Showtime provides I recommend you check showtimemediacenter.com/projects/showtime/wiki/JSAPIREF

And to conclude I leave here a screenshot of plugin TMDb so you can see the potential you can get from a plugin (below).

I hope you liked, facanferff.

More PlayStation 3 News...

Sponsored Links

Sponsored Links
Sponsored Links

Sponsored Links







Advertising - Affiliates - Contact Us - PS3 Downloads - Privacy Statement - Site Rules - Top - © 2014 PlayStation 3 News