UNPKG

rsi.cli

Version:

The swiss army knife for RSI related tasks.

388 lines (387 loc) 10.7 kB
{ "name": "rsi.service.media", "description" : "the media service definition", "$schema": "https://github.com/wzr1337/rsi.schema/blob/2.0.0/dist/$rsi.schema.json", "resources" : { "collections": { "description": "The media collections can also be understood as media queues of the renderer. Media collections can only contain playable media like tracks, videos or pictures.", "objectModel": { "attributes": { "id": { "description": "collection id", "type": "string", "format": "uuid" }, "name": { "description": "collection name", "type": "string" }, "uri": { "description": "object uri", "type": "string", "format": "uri" }, "items": { "description": "media collection items", "type": "array", "items": { "type": "object", "oneOf": [ { "#ref": "medialibrary.videosObject" }, { "#ref": "medialibrary.picturesObject" }, { "#ref": "medialibrary.tracksObject" } ] } } }, "accessMethods": { "post": { "description": "Media can be any media object. All 'encapsulating' media objects like album, playlist, source etc. will be flattend to root level of mediacollection. E.g. if a playlist contains track A and B, the tracks A and B will be added to the mediacollection.", "parameters": { "items": { "type": "array", "items": { "type": "string", "format": "uri" } } }, "usesPermissions": [ "mediaWrite" ] }, "get": { "parameters": {}, "usesPermissions": [ "mediaRead" ] }, "delete": { "parameters": {}, "usesPermissions": [ "mediaWrite" ] } } }, "accessMethods": { "post": { "description": "media can be any media object. All `encapsulating` media objects like album, playlist etc. will be flattend to root level of mediacollection. E.g. if a playlist contains track A and B, the tracks A and B will be added to the mediacollection. Changing an existing mediaCollectionObject would mean a modification of its `items` property content (e.g. adding or removing items from an existing collection)", "parameters": { "items": { "isRequired": true, "type": "array", "items": { "type": "string", "format": "uri" } } }, "usesPermissions": [ "mediaWrite" ] }, "get": { "parameters": {}, "usesPermissions": [ "mediaRead" ] } } }, "renderers": { "description": "The media player renderer can be understood as the actual media player. It accepts media objects and applies actions like play, pause etc. to them.", "objectModel": { "attributes": { "id": { "description": "renderer id", "type": "string", "format": "uuid" }, "name": { "description": "renderer name", "type": "string" }, "uri": { "description": "object uri", "type": "string", "format": "uri" }, "media": { "description": "current media collection", "type": "object", "oneOf": [ { "#ref": "media.collectionsObject" } ] }, "mediaindex": { "description": "DEPRECATED: index of actual media object if media is a collection (starting index is 0)", "type": "number", "resolution": 1, "minimum": 0 }, "currentMediaItem": { "description": "the media item currently being renderered.", "type": "object", "oneOf": [ { "#ref": "medialibrary.videosObject" }, { "#ref": "medialibrary.sourcesObject" }, { "#ref": "medialibrary.picturesObject" }, { "#ref": "medialibrary.tracksObject" } ] }, "type": { "description": "type of medium", "type": "string", "enum": [ "track", "video", "image" ] }, "offset": { "description": "current offset", "type": "number", "resolution": 1, "minimum": 0, "unit": "ms" }, "state": { "description": "media renderers playback state", "type": "string", "enum": [ "idle", "play", "pause", "stop", "ff", "fr" ] }, "repeat": { "description": "repeat mode", "type": "string", "enum": [ "off", "repeatall", "repeatone" ] }, "shuffle": { "description": "shuffle mode", "type": "string", "enum": [ "on", "off" ] }, "scan": { "description": "shuffle mode", "type": "string", "enum": [ "off", "up", "down" ] } }, "accessMethods": { "post": { "parameters": { "media": { "type": "string", "format": "uri" }, "mediaindex": { "type": "number", "resolution": 1, "minimum": 0 }, "currentMediaItem": { "type": "string", "format": "uri" }, "offset": { "type": "number", "resolution": 1, "minimum": 0, "unit": "ms" }, "state": { "type": "string", "enum": [ "idle", "play", "pause", "stop", "ff", "fr" ] }, "repeat": { "type": "string", "enum": [ "off", "repeatall", "repeatone" ] }, "shuffle": { "type": "string", "enum": [ "on", "off" ] }, "scan": { "type": "string", "enum": [ "off", "up", "down" ] } }, "usesPermissions": [ "mediaWrite" ] }, "get": { "parameters": {}, "usesPermissions": [ "mediaRead" ] }, "subscribe": { "parameters": {}, "usesPermissions": [ "mediaRead" ] } } }, "accessMethods": { "get": { "parameters": {}, "usesPermissions": [ "mediaRead" ] }, "subscribe": { "parameters": {}, "usesPermissions": [ "mediaRead" ] } } } }, "types" : { "position": { "description": "A position is the atomic positioning type used for global positioning systems like GPS", "attributes": { "lat": { "description": "the latitude", "type": "number", "unit": "degrees" }, "long": { "description": "the longitude", "type": "number", "unit": "degrees" } } }, "journeyPosition": { "description": "A journey position is the start point or stop point of a journey", "attributes": { "position":{ "description": "the vehicles position", "type": "object", "oneOf": [ { "#ref": "rva.positionType" } ] }, "odometer": { "description": "the vehicles odometer at current position", "type": "number", "minimum": 0, "unit": "meters" }, "time": { "description": "the time of the journey position", "type": "string", "format": "datetime" } } }, "trackpointPosition": { "description": "Location and heading of the vehicle when a trackpointpoint is recorded", "attributes": { "position":{ "description": "the vehicles position", "type": "object", "oneOf": [ { "#ref": "rva.positionType" } ] }, "odometer": { "description": "the vehicles odometer at current position", "type": "number", "minimum": 0, "unit": "meters" }, "time": { "description": "the time of the journey position", "type": "string", "format": "datetime" } } }, "trackpoint": { "description": "records the position, odometer and timestamp at a given point during a journey", "attributes": { "position": { "description": "the position of the trackpoint", "type": "object", "oneOf": [ { "#ref": "rva.trackpointPositionType" } ] }, "odometer": { "description": "odometer reading at this point of the journey", "type": "number", "minimum": 0, "unit": "meters" }, "timestamp": { "description": "the time and date of recording", "type": "string", "format": "datetime" } } } } }