wiki:URLScheme

URL Scheme

iPeng from 1.3.4 / 1.1.4 (iPad) on will be callable from other Apps through a URL scheme.
There currently is a basic implementation, and proposed enhancements which I would implement if somebody has a need for it.

Update: iPeng 2.0.9/1.4.9 (iPad) will probably support the "?sboxplayer=<MAC>" parameter as described in the advanced section.

Current state:

This is what will be supported from iPeng 1.3.4/1.1.4 on

URL Handler

iPeng registers a handler for

ipeng:

iPeng 7 also registers a handler for

ipeng7:

iPeng also registers a handler for

sbox:

Comment: Use sbox instead of squeezebox as a common url scheme since obviously only one App can be called even on iPad.

Instead of sbox: iPeng UE will register a handler for

ueradio:

General Scheme

The general scheme will be

ipeng:<URL including protocol>

<URL including protocol>

A URL that is understood by Squeezebox Server or iPeng, so this can be a file URL or an App URL like "spotify://...". Use is currently limited to what Squeezebox Server supports, that means single tracks or streams.

iPeng will open a context menu and ask what to do with the element.
If no URL is specified, iPeng will do nothing.

iPeng understands the following schemes and services:

Protocols:

lfm://
napster://
rhapd://
rtsp://
spotify:, spotify://, spotifyradio:, spotifyradio://
slacker://
wimp://
youtube://

Services and their URL Ranges (http://)

This of course only applies to playable links.

  • Spotify (open.spotify.om)
  • YouTube (youtube.com)?
  • Last.fm (lastfm.<country> or last.fm)
  • Pandora (pandora.com)
  • Slacker (slacker.com)
  • Napster (napster.com)
  • Rhapsody (rhapsody.com)
  • WiMP (wimp.no and wimp.dk)

Enhanced Capabilities

Since iPeng 2.0.9/1.4.9, an "sboxplayer" command is supported to select a player to be used. Just add

?sboxplayer=<MAC>

to the URL that's used to call iPeng.

<MAC>

A player the action should be executed on. If omitted, iPeng will ask if more than one player is connected on the current server will use the current player. This is a temporary nuisance in iPeng 1.3.4 because it means you have to go back to the calling App if you have to switch players first (switching players will remove the menu from the stack) but that will go away in 1.3.5 when you will be able to switch players from everywhere, including this menu, while it is already a non-issue on iPad for the same reason (you can just bring up the player list to use a different player).

iPeng 7

iPeng 7 from version 7.0.2 on supports the x-callback URL calling scheme. http://x-callback-url.com/

To support this, iPeng 7 registers an additional handler:

ipeng-x-callback://

This handler supports the x-callback URL-scheme:

ipeng-x-callback://x-callback-url/[action]?[x-callback parameters]&[action parameters]

This handler does NOT use the syntax described above but the standardized x-callback format. The following actions are supported:

No action (empty) just open App, define a return-url and/or select a player
urlmenuopen a URL provided in the "url" parameter

The following parameters are supported with x-callback, all of them are optional with the exception of the "url" parameter for the urlmenu-action:

x-source=<name>Name of source App
x-success=<url>Return-URL to be used by return menu. If this is being supplied, iPeng 7 will show a menu item to return to the calling App in it's main menu
sboxplayer=<MAC>Player to be used
url=<url>URL to be used with the urlmenu action
urltitle=<name>Name for the playable URL provided. This is meant to supply a readable title for the context menu opened to play the URL

Note: A "url=" parameter needs to be the last parameter in the list. All subsequent parameters will be ignored Note 2: An "x-success=" URL must not include parameters or query strings. If it does, these will be ignored and not called.

Last modified 3 years ago Last modified on Jun 27, 2014, 2:31:40 PM