PS4 News on Facebook! PS4 News on Twitter! PS4 News on YouTube! PS4 News RSS Feed!

Home PS4 News - Latest PlayStation 4 and PS3 News

November 26, 2013 // 10:19 pm - 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.


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

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:

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 is a JSON ( 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 (

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.

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 and its a plugin for Web site

I will not discuss the plugin.json of the plugin ( 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 (

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('') + ':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:

Publishing plugins

You may check for all details about it.

Bibliography (maintained by Andreas Oman (andoma), Fábio Ferreira (facanferff) and Leonid Protasov (lprot))


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

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.

Quickstart to PS3 Plugin Development in Showtime by Facanferff

Quickstart to PS3 Plugin Development in Showtime by Facanferff

Follow us on Twitter, Facebook and drop by the PS3 Hacks and PS3 CFW forums for the latest PlayStation 3 scene and PS4 Hacks & JailBreak updates with PlayStation 4 homebrew PS4 Downloads.

#520 - mmanolos - February 9, 2013 // 10:52 pm
mmanolos's Avatar
I always have issues with Showtime. Some upgrades ago I lost the tiled view and I got the list view with no icons for everything, besides all the channels I pinned down in the home page disappeared.

This last update was great at first, I received a notification for a new version from inside the application, it downloaded and installed fine and all the bugs went away: the change views option returned and I got the lost channels back.

It is an excellent version... but after close it, every time I try to launch Showtime again I receive an error message. It runs fine from inside Multiman. I will try to delete it an reinstall it from scratch.

#519 - PS4 News - February 5, 2013 // 10:33 pm
PS4 News's Avatar
Following up on the previous release and YouTube Plugin, today PlayStation 3 homebrew developer Andreas Oman has updated Showtime PS3 Media Player to version 4.2 with the changes outlined below.

Download: Showtime v4.2 PKG / Showtime GH v4.2 PKG / Showtime 4.2 SELF / Showtime v04.02.000 DEX PKG by deank / GIT

Showtime PS3 Media Player v4.2 Changelog:

Some highlights:

  • Virtual keyboard
  • Integration with
  • Chapter support for movies
  • Support for subtitle plugins

And as usual, a lot of bugs squashed


ps3: Remove "/dev_hdd0/tmp/turnoff" before shutting down system

Fixes #1594


Fix broken colors in VOBSUB

Fixes #1579


Fix regression causing crash with embedded DVD/VOBSUB tracks

Fixes #1577


httpclient: Fix a regression when using range queries to determine filesize

Caused problems with minidlna (possibly other servers)

Fixes #1576


Fix the oversized album art during music playback


ps3: Fix video stuttering in some high bitrate video streams


Fix broken date-sorting (Allow user to sort on newest or oldest first)

Fixes #1297


Rework subtitle scheduling

This allows us to pick subtitles that are out of sync with video stream. Also makes it possible to do negative subtitle time shifting for embedded subs

Fixes #727
Fixes #1470


ps3: Increase audio buffer size

Fix stuttering playback with some audio formats (APE is one)

Fixes #1451


Fix problem that caused picture stuttering in some movies after 20-25 minutes

Fixes #1483


Add support for LPCM in DVD playback

Fixes #1046


Add movie chapters support where supported by file formats

Chapters can be found in menu during video playback next to seek thumbnails and audio/subltitle tracks

Fixes #786


Fix broken seeking in FLAC files

Fixes #1435


Add support for subtitle plugins

This also removes the built-in support for opensubtitles.

Opensubtitles is now available as a plugin. No username + password is needed as allows anonymous logins


The list of subtitles are now sorted based on user preferred languages


Fix a bug that made "Custom query" impossible to erase in the metadata editor. It would come back next time the item was scanned


Fix a crash that was caused by invalid markup tags in SRT files

Typically this would happen if the SRT file contained a subtitle entry with just one tag that was invalid. Now such invalid tags will be
presented as normal text instead.

Fixes #1501


ps3: Fix a crash on PS3 when playing AAC HEv2 files

This was caused by too small stack for the threads

Fixes #1515


Fix recently introduced crash in module


Add stretch-to-widescreen and stretch-to-fullscreen as options during video playback

Fixes #1334


Add support for getting metadata from


Allow user to adjust subtitle timing ±10 minutes in increments of 0.5 seconds


Improved support for

Showtime will now search in database using the movie title and optionally the IMDB ID if it manages to resolve that

To limit the number of returned results it will only include the subtitles that matches the languages configured in Settings -> Languages.
If no such configuration has been entered all results will be displayed.


ps3: Sign pkg files to work with 4.xx CFW


Fix some issues related to mono audio in videos


Use external metadata (TMDB, etc) for video title in video OSD


Avoid doing external metadata lookup for very short file names


Add support for playback of HLS (Http Live Streaming) URLs


Add support for user configurable fonts

To install and use a new font put the font someplace where Showtime can browse it. When clicking on the font Showtime will what you want to use the font for. Showtime will copy the font to an internal storage location.

To select between installed fonts or to reset to default, go to Settings -> Look and Feel -> Fonts

More PlayStation 3 News...

#518 - PS4 News - January 17, 2013 // 1:52 am
PS4 News's Avatar
Below is Showtime 4.1.368 for PS3 CEX and DEX from Andreas Oman which has been compiled by deank who states the following:

Download: Showtime 04.01.368 [CEX].pkg (5.62 MB) / Showtime 04.01.368 [DEX].pkg (5.69 MB) / Showtime 04.01.386a [CEX].pkg (5.60 MB) / Showtime 04.01.386a [DEX].pkg (5.67 MB) / Showtime 4.1.387 (g7e95cd9) PKG / Showtime GH 4.1.387 (g7e95cd9) PKG / Showtime 4.1.387 (g7e95cd9) Self

I compiled it with my changes and it should be ok with mM 04.18.00. Also I decreased the size of the pkg/self with 1MB. Showtime 04.01.386a is compiled with my changes as always. Also the size of the pkg/self is decreased with another 20KB.

  • You can update your Showtime for multiMAN from within multiMAN via the Video column (select showtime, press Triangle and then Update)
  • Showtime 04.01.368 [CEX].pkg standalone is available in the WEB column, too.

Update: Showtime 4.1.387 by Andreas Oman is now available online.

Download: Showtime 04.01.387 [CEX].pkg (5.60 MB) / Showtime 04.01.387 [DEX].pkg (5.67 MB)

  • You can update your Showtime for multiMAN from within multiMAN via the Video column (select showtime, press Triangle and then Update)
  • Showtime 04.01.387 [CEX].pkg standalone is available in the WEB column, too.

Update #2: Showtime 4.1.419 (by Andreas Oman) for mM and standalone are available.

Download: Showtime 04.01.419 [CEX].pkg (5.62 MB) / Showtime 04.01.419 [DEX].pkg (5.68 MB)

  • Showtime for mM is available online within mM and in the web column.

#517 - pht - January 12, 2013 // 12:42 pm
pht's Avatar
Hello, I'm using Showtime to read video files stored on an "UPnP Media Server" via WiFi connection. Sometimes with big MKV files, WiFi is too slow (or connection is too bad) and video is lagging. Is there any way to copy the video file before reading it. In others words, can I copy file from Media Server (or network drive) to PS3 HDD. Thanks for help.

Edit: Perhaps Comgenie's Awesome Filemanager or Multiman can do this kind of copy but I did not manage?

Sorry for the double post, but I can no more edit it...

#516 - pinoytechno - January 3, 2013 // 1:13 pm
pinoytechno's Avatar
thanks showtime

#515 - billyreneoberra - December 28, 2012 // 5:44 am
billyreneoberra's Avatar
2 questions, first i have a little problem with the showtime youtube plugin.

i have the 4.1.208 version of showtime and the latest version of youtube for it. i have authenticated youtube but whenever i go on my user profile i get this message:

unable to open resource
ReferenceError: reference to undefined property$username

and i can't login into my youtube account. can anybody please tell me how to fix this or if it even can be fixed at all. i tried uninstalling and reinstaling everything, re-authenticating ....

second i have troubles with getting showtime to see some plugins like megaviewer, hd-trailers, game trailers and so on. i put the rar's in the appropriate folder but they don't show once i go to the plugging section of showtime

can anybody help me out here?? thanks

#514 - mw00 - December 26, 2012 // 11:39 am
mw00's Avatar

#513 - PS4 News - December 26, 2012 // 6:51 am
PS4 News's Avatar
Following up on his previous release, this weekend PlayStation 3 developer facanferff has updated the YouTube Plugin to version 2.0 for Showtime PS3 Media Player dubbed the New Experience with the changes outlined below followed by v2.2, v2.21 and v2.2.5.

Download: YouTube v2.0 Plugin for Showtime PS3 Media Player / GIT

Below are the changes, as follows:

The first major release of the plugin was more than a year ago and now it is time to renew that experience and provide a improved experience that I hope everyone will enjoy. Please see carefully the changelog so you know exactly what's new:

  • Add: Support for Continuous Playback (needs to activate setting in Showtime's Video Playback Settings)
  • Add: Main Page now supports order customization (like Showtime Main Page)
  • Add: Youtube Disco
  • Add: Native Sorting (by Publish Date, by Views, by Title (incrementing/decrementing) and as Default)
  • Add: Youtube EDU
  • Add: Featured feed in Youtube Movies
  • Add: New User Profile Interface/Experience
  • Add: New Advanced Mode for videos
  • Add: Choose what feeds to show in User Profile
  • Add: Header buttons in Oceanus skin plugin
  • Add: Item Menu:
  • Like/Dislike video
  • Comment video
  • Add to Favorites
  • Add to Watch Later
  • Related Videos
  • Response Videos
  • Redirect to Movie (if video is a known trailer)
  • Trailers (if video is a movie)
  • Redirect to a Show (if video belongs to a Show)
  • Redirect to the Show Season (if video belongs to a Show Season)
  • Fix: Video Playback
  • Fix: Some videos would fail due to some RegEx differences
  • Fix: Videos that are no available don't show friendly error message
  • Fix: The plugin would load additional pages of a feed that didn't contain entries
  • Fix: User Favorites didn't work
  • Improvement: Updated video metadata for support in Oceanus skin plugin
  • Improvement: More flexibe Youtube Search
  • Improvement: Don't show login popup in search

v2.25 Changelog:

  • Add: Add video to existing playlist (available in item menu in video listing and in Actions in Advanced Mode)
  • Add: Itemhook "Search in Youtube" for video entries in Showtime (in item menu,
    you can use this feature to search for videos in Youtube given any title of a video item in Showtime) (requires 4.3.261)
  • Add: Show debug information if setting is enabled


  • Fix: Search for space separated queries

v2.2 Changelog:

  • Add: Support for Live Streaming videos using HLS
  • Add: Show videos that authenticated user liked
  • Add: Searchers for API v3 (old searchers are still active)
  • Add: Authentication for API v3
  • Add: New URI routes for video playback
  • Add: My Activity (provides recommendations, videos that users subscribed liked/favorited)
  • Add: Subscribe to User in User Profile
  • Add: Initial support for Guide Categories
  • Add: Initial support for Video Categories (old "Browse Videos" section)
  • Add: Video Advanced Mode actions: Like, Dislike, Add to Favorites, Add to Watch Later, Comment
  • Add: Show more information for videos in pages using API v3 (enable in Settings)
  • Enhancement: Improved User Profile
  • Enhancement: Started work to upgrade plugin from API v2 to v3

As you may see several things that were being asked since the first release are now here, fresh and ready to be used.

Showtime Plugin Youtube changes:

  • The new Home Screen, using SELECT + Arrows in PS3 you can customize the order of the items.
  • The improved item listing.
  • The new Youtube Search screen providing easy to use search for everything you want.
  • The new advanced mode in videos, cleaner and easier to use.
  • The new User Profile screen, featuring an easy to use and fast experience.


Go to Plugin Central (puzzle icon in home screen) inside Showtime and download the plugin.

Special thanks:

  • andoma: for creating Showtime and maintaining it
  • Tyrant: for beta testing the plugin and giving fresh ideas


  • When testing, my Beta Tester (El Tyrant) found that the resume videos of Showtime does not work properly with the plugin, so please disable the following settting: Video playback -> Resume video playback


1. I found some issues, had crashes or have suggestions, where can I inform the developer about them?


Finally, below is a brief tutorial on how to log out from the Showtime Plugin YouTube from facanferff (via for those interested:

Recently a user in IRC (EFNET, #showtime) asked how to log out from the current user in Youtube plugin for Showtime, so here is a tutorial for it. This method is only needed for versions 1.5 and up where it uses OAuth2 as the main authentication method. This method works for the standalone version.

The process is really simple and may be done via Multiman:

1. Go to the jsstore folder of showtime.

  • In PS3: /dev_hdd0/HTSS00003/USRDIR/settings/settings/jsstore
  • In Linux: /home//.hts/showtime/settings/jsstore

2. Delete the file called youtube-oauth2.

3. Open Showtime and it will no longer use your old user account, so you may authenticate again for another user account.


1. Now every time I try to play a video, it fails with random errors, what is happening?

With the recent website changes featuring a new layout, the plugin is unable to play any video. A fix for it is being worked on and will be available once it is possible and it is confirmed to be stable. Sorry for this.

2. I found the plugin crash for some reason, what can I do?

The simplest answer is report it, you can either use or Please report any issue you encounter, if you don't I may not face it so I will not fix it by the simple aspect that I won't know about it.

More PlayStation 3 News...

#512 - PS4 News - December 7, 2012 // 9:29 pm
PS4 News's Avatar
Following up on the previous release, today PlayStation 3 homebrew developer Andreas Oman has updated the Showtime PS3 Media Player Testing Build to version 4.1.273 with the changes outlined below.

Download: Showtime v4.1.273 (g1e323cc) PKG / Showtime GH v4.1.273 (g1e323cc) PKG / Showtime 4.1.273 (g1e323cc) SELF / GIT

For those who missed them, a Showtime PS3 Media Player Skin Oceanus and Showtime PS3 Plugin TMDB and Oceanus Skin Plugin are also available.


Make sure Showtime does not downgrade a plugin to a lesser version


Add support for replacing various parts of the UI using plugins. More information about this will surface once plugins support it


For beta-testers of plugins there is now a setting under "General" where a user can specify a, list of space separated, passwords
that will enable beta testing of plugins. Passwords are administrated by the plugin developer


Add support for adjusting volume during video playback using up/down keys

Fixes #1241
Fixes #1123
Fixes #751
Fixes #560


Don't wrap from end to beginning of list during continuous video playback

Fixes #1250


Correctly recognize '.m2ts' as a file type ending to ignore

Fixes #1391


Reworked audio pipeline. This should fix various issues. In particular various clicks and pops now and then on PS3 should be gone.

Fixes #1408
Fixes #1308
Fixes #1005
Fixes #964


Upgrade to libav9_beta2. This is a huge upgrade that might cause problems with some files. Please report bugs if anything seems to have broken


Fix broken RTMP(E) playback on PS3


Fix a problem that caused playback time to stay at 0:00 for some audio files


Fix problem that caused resume position not to be reset when movie ended


Fix search lookup loops when changing TMDB configuration

Fixes #1293
Fixes #1292


Add support for Shoutcast playback. Plugins are required to be able to browse Shoutcast services


Add support for setting custom movie titles directly from the item popup menu

Fixes #1213


Add an action in settings->general to clear the entire metadb item table. Safeguarded with a popup as it is a non-revocable action.

Fixes #1218


ps3: When seeking using L2/R2, rescale seek delta based on duration of feature. In principle this make it so that the user can always seek from begining to end in ~2 seconds regardless of how long the currently playing media is.


Add Exit and Standby as items in the page popup menu

Fixes #1042
Fixes #1184


Only reset screensaver timer if movie is actually playing

Fixes #1022
Fixes #1115


Add support for plugins that can replace certain parts of the UI


Add support for categorization of plugins. When browsing available plugins they will appear under a category instead of a single long list


TMDB: Let user choose which language to use for TMDB. Also lets user choose if to display the original title or translated title


Don't set resume time for videos if current position < one minute. This makes sure the user does not accidentally lose the resume
position if restarting the video from beginning by mistake


Let 'mark as seen' create entry in item table if it does not exist

Fixes #1175


Improve Showtime's response time to play/pause events

Fixes #1180

More PlayStation 3 News...

#511 - scott7seven - November 29, 2012 // 10:53 am
scott7seven's Avatar
should you install both the mm pkg and the stand alone, or can you, and why.. and do you have to dl the ocean them separate?