Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Version

Publication Date

Author

Notes

1.0

2017-11-14

JS

Initial Release

1.1

2020-09-15

JS

Added details about service account selection and the Top Menu

1.2

2021-08-06

JS

Additional details about SetServiceAccount; updates to JSON API to include details about multi-client situations

1.3

2021-08-06

JS

Add browsing sub-section to JSON API section

1.4

2021-08-31

JS

Add detail on browse command structure in JSON API section

1.5

2021-09-04

JS

Add PlayPlaylist command

1.6

2021-09-07

JS

Add events that describe changes to Presets and Playlists

1.7

2021-09-09

JS

Add MediaControl and PlayState events

1.8

2022-10-04

AC

Add Scene commands

1.9

2022-12-13

JS

Add argument details to ClearNowPlaying

2.0

2023-08-14

JS

Fix typo in Album Art table

2.1

2023-12-07

JS

Add SetVolume

2.2

2024-01-19

JS

Add preliminary queue modification and supports_ information

2.3

2024-03-07

JS

Improve art request information

Table of Contents
minLevel1
maxLevel7

...

In some cases, especially when writing a control client not known to MMS, it may be necessary to set some additional options that MMS presumes for known clients. Use the SetOption command during the connection preamble. Here are list of those options:

Option

Purpose

supports_playnow=true

Indicates to MMS that the client supports the more advanced queue modification strategies described in the Modifying the Queue section below

supports_inputbox=true

Indicates to MMS that the client supports Input and Message Box UI events

supports_urls=true

Indicates to MMS that the client supports Page type Navigate events where MMS needs the client to open the indicated URL in a web browser

Events

The MMS communicates data back to its control clients through events. These events carry information about the current state of the server. They can also be used to request input from the user. Some events inform the control client about the availability of various functions while others tell the control client to take some action.

...

BaseWebUrl provides the protocol, address, and port portions of the URL to retrieve art from. For example: <httphttp://192.168.0.59:5005.>

The specific handler on the MMS is called getart so an example of a base for retrieving art would be <httphttp://192.168.0.59:5005/getart?.... > Always include the ID of the item. If constructing the URL manually rather than using the value of BaseWebUrl, it is acceptable to leave the port off the request. For example http://192.168.0.59/getart?.... Requests for /getart on port 80 are processed the same as requests on port 5005.

To construct the full URL to get art, use the above values along with the below options.

...