From OpenHome

(Difference between revisions)
Jump to: navigation, search
(Created page with "= Overview = All pins have a uri associated with them which is used by the pins service to interpret one or more playable items and must be in the following form: <tt> <mode>:...")
(CalmRadio)
 
(11 intermediate revisions not shown)
Line 11: Line 11:
The current pin version is <tt>1</tt>. The version has been omitted from the examples below.
The current pin version is <tt>1</tt>. The version has been omitted from the examples below.
-
= Supported Pins =
+
= (Linn) Kazoo Server =
-
 
+
-
== (Linn) Kazoo Server ==
+
{|
{|
Line 33: Line 31:
| Requires response type tracks
| Requires response type tracks
|-
|-
 +
|
 +
| genre
 +
| Requires response type of either albums, playlists or tracks
 +
|-
 +
|
 +
| container
 +
| Only supported in a list pin
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|
 +
|-
 +
| udn
 +
| Server's Udn
 +
|
 +
|-
 +
| me
 +
| Endpoint Id
 +
|
 +
|-
 +
| response
 +
| Response type
 +
| See above
 +
|-
 +
| browse
 +
| Item id
 +
| Performs a browse query with the given item id. Can't contain list parameter
 +
|-
 +
| list
 +
| Tag id
 +
| Performs a list query with given tag id. Can't contain a browse parameter
|}
|}
 +
 +
Example Uris:
 +
<code>
 +
  // Browse pin
 +
  openhome.me://[type]?udn=[device udn]&me=[endpoint id]&browse=[item id]&response=[response type]
 +
 
 +
  // List pin
 +
  openhome.me://[type]?udn=[device udn]&me=[endpoint id]&list=[item id]&response[response type]
 +
</code>
 +
 +
= Tidal =
 +
== Tracks ==
 +
 +
{|
 +
|-
 +
| mode
 +
| tidal
 +
|-
 +
| type
 +
| track
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|-
 +
| trackId
 +
| Tidal track id
 +
|}
 +
 +
Example Uri:
 +
<code>
 +
  tidal://track?trackId=[id]
 +
</code>
 +
 +
== Other Tidal Content ==
 +
 +
For other Tidal content the pin will provide a link to the Tidal API resource and a hint as to what you expect that resource to return.
 +
 +
{|
 +
|-
 +
| mode
 +
| tidal
 +
|
 +
|-
 +
| type
 +
| album
 +
| Requires response type tracks
 +
|-
 +
|
 +
| artist
 +
| Requires response type albums
 +
|-
 +
|
 +
| playlist
 +
| Requires response type tracks
 +
|-
 +
|
 +
| genre
 +
| Requires response type of either albums, playlists or tracks
 +
|-
 +
|
 +
| container
 +
| Requires response type of either albums, playlists or tracks
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|
 +
|-
 +
| path
 +
| Tidal API link
 +
| Must to be url encoded
 +
|-
 +
| response
 +
| Response type
 +
| See above
 +
|}
 +
 +
Example Uri:
 +
<code>
 +
  tidal://[type]?path=[api link]&response=[response type]
 +
</code>
 +
 +
= Qobuz =
 +
== Tracks ==
 +
 +
{|
 +
|-
 +
| mode
 +
| qobuz
 +
|-
 +
| type
 +
| track
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|-
 +
| trackId
 +
| Qobuz track id
 +
|}
 +
 +
Example Uri:
 +
<code>
 +
  qobuz://track?trackId=[id]
 +
</code>
 +
 +
== Other Qobuz Content ==
 +
 +
For other Qobuz content the pin will provide a link to the Qobuz API resource and a hint as to what you expect that resource to return.
 +
 +
{|
 +
|-
 +
| mode
 +
| qobuz
 +
|
 +
|-
 +
| type
 +
| album
 +
| Requires response type tracks
 +
|-
 +
|
 +
| artist
 +
| Requires response type albums
 +
|-
 +
|
 +
| playlist
 +
| Requires response type tracks
 +
|-
 +
|
 +
| container
 +
| Requires response type of either albums, playlists
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|
 +
|-
 +
| path
 +
| Qobuz API link
 +
| Must to be url encoded
 +
|-
 +
| response
 +
| Response type
 +
| See above
 +
|-
 +
|}
 +
 +
Example Uri:
 +
<code>
 +
  qobuz://[type]?path=[api link]&response=[response type]
 +
</code>
 +
 +
= TuneIn =
 +
== Stations ==
 +
 +
A TuneIn station pin should play the station from the TuneIn link specified in the pin uri.
 +
<br>Note that the pin's title and artwork uri will be presented as track metadata by the [[Av:Developer:InfoService | Info]] service.
 +
 +
{|
 +
|-
 +
| mode
 +
| tunein
 +
|
 +
|-
 +
| type
 +
| stream
 +
|
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|
 +
|-
 +
| path
 +
| Radio stream link
 +
| Must to be url encoded
 +
|-
 +
|}
 +
 +
Example Uri:
 +
<code>
 +
  tunein://stream?path=[stream]
 +
</code>
 +
 +
== Shows / Podcasts ==
 +
 +
A TuneIn show/podcast pin should play the most recent episode as reported by the TuneIn link specified in the pin uri.
 +
 +
{|
 +
|-
 +
| mode
 +
| tunein
 +
| Latest episode
 +
|-
 +
| mode
 +
| tuneinlist
 +
| All episodes
 +
|-
 +
| type
 +
| podcast
 +
|
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|
 +
|-
 +
| path
 +
| Show/podcast link
 +
| Must to be url encoded
 +
|-
 +
|}
 +
 +
Example Uri:
 +
<code>
 +
  tunein://podcast?path=[stream]
 +
  tuneinlist://podcast?path=[stream]
 +
</code>
 +
 +
= Radio Preset =
 +
Play a radio preset by index:
 +
<code>
 +
  radio://preset?id=[index]
 +
</code>
 +
 +
= iTunes Podcast =
 +
Play either the latest episode from a podcast or load a playlist with the last N episodes
 +
{|
 +
|-
 +
| mode
 +
| itunes
 +
| Latest episode only
 +
|-
 +
| mode
 +
| ituneslist
 +
| Load all of the episode list
 +
|-
 +
| type
 +
| podcast
 +
|
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|
 +
|-
 +
| id
 +
| iTunes podcast id
 +
|
 +
|-
 +
|}
 +
 +
<code>
 +
  itunes://podcast?id=[identifier]
 +
  ituneslist://podcast?id=[identifier]
 +
</code>
 +
 +
= Sources =
 +
 +
A source pin should switch to the source matching the system name specified in the pin uri.
 +
 +
{|
 +
|-
 +
| mode
 +
| transport
 +
|-
 +
| type
 +
| source
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|-
 +
| id
 +
| The system name of the source
 +
|-
 +
| udn
 +
| Udn of the device to which the source belongs
 +
|-
 +
|}
 +
 +
Example Uri:
 +
<code>
 +
  transport://source?id=[system name]&udn=[device udn]
 +
</code>
 +
 +
= CalmRadio =
 +
 +
A CalmRadio pin should play the stream specified in the pin uri
 +
<br>Note that the pin's title and artwork uri will be presented as track metadata by the [[Av:Developer:InfoService | Info]] service.
 +
 +
{|
 +
|-
 +
| mode
 +
| calmradio
 +
|
 +
|-
 +
| type
 +
| stream
 +
|
 +
|-
 +
| ''Query Parameters''
 +
|
 +
|
 +
|-
 +
| path
 +
| Radio stream link
 +
| Must to be url encoded
 +
|-
 +
|}
 +
 +
Example Uri:
 +
<code>
 +
  calmradio://stream?path=[stream]
 +
</code>
 +
 +
= Url =
 +
Play a hard-coded url.
 +
<br>Note that the pin's title and artwork uri will be presented as track metadata by the [[Av:Developer:InfoService | Info]] service.
 +
<code>
 +
  url://stream?path=[stream]
 +
</code>

Latest revision as of 09:53, 21 August 2018

Contents

Overview

All pins have a uri associated with them which is used by the pins service to interpret one or more playable items and must be in the following form:

<mode>://<type>?<pin specific query parameters>&version<pin version>

The mode indicates which music provider will provide the playable content. Each has a number of query parameters which are outlined below. The pins service allows you to query which modes the device currently supports.

The type describes what the pin is such as an artist, album or playlist.

The current pin version is 1. The version has been omitted from the examples below.

(Linn) Kazoo Server

mode openhome.me
type album Requires response type tracks
artist Requires response type albums
playlist Requires response type tracks
genre Requires response type of either albums, playlists or tracks
container Only supported in a list pin
Query Parameters
udn Server's Udn
me Endpoint Id
response Response type See above
browse Item id Performs a browse query with the given item id. Can't contain list parameter
list Tag id Performs a list query with given tag id. Can't contain a browse parameter

Example Uris:

 // Browse pin
 openhome.me://[type]?udn=[device udn]&me=[endpoint id]&browse=[item id]&response=[response type]
 
 // List pin
 openhome.me://[type]?udn=[device udn]&me=[endpoint id]&list=[item id]&response[response type]

Tidal

Tracks

mode tidal
type track
Query Parameters
trackId Tidal track id

Example Uri:

 tidal://track?trackId=[id]

Other Tidal Content

For other Tidal content the pin will provide a link to the Tidal API resource and a hint as to what you expect that resource to return.

mode tidal
type album Requires response type tracks
artist Requires response type albums
playlist Requires response type tracks
genre Requires response type of either albums, playlists or tracks
container Requires response type of either albums, playlists or tracks
Query Parameters
path Tidal API link Must to be url encoded
response Response type See above

Example Uri:

 tidal://[type]?path=[api link]&response=[response type]

Qobuz

Tracks

mode qobuz
type track
Query Parameters
trackId Qobuz track id

Example Uri:

 qobuz://track?trackId=[id]

Other Qobuz Content

For other Qobuz content the pin will provide a link to the Qobuz API resource and a hint as to what you expect that resource to return.

mode qobuz
type album Requires response type tracks
artist Requires response type albums
playlist Requires response type tracks
container Requires response type of either albums, playlists
Query Parameters
path Qobuz API link Must to be url encoded
response Response type See above

Example Uri:

 qobuz://[type]?path=[api link]&response=[response type]

TuneIn

Stations

A TuneIn station pin should play the station from the TuneIn link specified in the pin uri.
Note that the pin's title and artwork uri will be presented as track metadata by the Info service.

mode tunein
type stream
Query Parameters
path Radio stream link Must to be url encoded

Example Uri:

 tunein://stream?path=[stream]

Shows / Podcasts

A TuneIn show/podcast pin should play the most recent episode as reported by the TuneIn link specified in the pin uri.

mode tunein Latest episode
mode tuneinlist All episodes
type podcast
Query Parameters
path Show/podcast link Must to be url encoded

Example Uri:

 tunein://podcast?path=[stream]
 tuneinlist://podcast?path=[stream]

Radio Preset

Play a radio preset by index:

 radio://preset?id=[index]

iTunes Podcast

Play either the latest episode from a podcast or load a playlist with the last N episodes

mode itunes Latest episode only
mode ituneslist Load all of the episode list
type podcast
Query Parameters
id iTunes podcast id

 itunes://podcast?id=[identifier]
 ituneslist://podcast?id=[identifier]

Sources

A source pin should switch to the source matching the system name specified in the pin uri.

mode transport
type source
Query Parameters
id The system name of the source
udn Udn of the device to which the source belongs

Example Uri:

 transport://source?id=[system name]&udn=[device udn]

CalmRadio

A CalmRadio pin should play the stream specified in the pin uri
Note that the pin's title and artwork uri will be presented as track metadata by the Info service.

mode calmradio
type stream
Query Parameters
path Radio stream link Must to be url encoded

Example Uri:

 calmradio://stream?path=[stream]

Url

Play a hard-coded url.
Note that the pin's title and artwork uri will be presented as track metadata by the Info service.

 url://stream?path=[stream]