A music player that connects to your cloud/distributed storage.
1{
2 "lexicon": 1,
3 "id": "sh.diffuse.output.playlistItem",
4 "defs": {
5 "main": {
6 "type": "record",
7 "record": {
8 "type": "object",
9 "required": ["id", "criteria", "playlist"],
10 "properties": {
11 "id": { "type": "string" },
12 "createdAt": { "type": "string", "format": "datetime" },
13 "criteria": {
14 "type": "array",
15 "description": "Criteria for matching this item against a set of tracks",
16 "items": { "type": "ref", "ref": "#criterion" }
17 },
18 "ephemeral": { "type": "boolean" },
19 "playlist": { "type": "string", "description": "The name of the playlist" },
20 "positionedAfter": {
21 "type": "string",
22 "description": "Id of the item that this item should be positioned after"
23 },
24 "updatedAt": { "type": "string", "format": "datetime" }
25 }
26 }
27 },
28 "criterion": {
29 "type": "object",
30 "required": ["field", "value"],
31 "properties": {
32 "amount": { "type": "integer", "minimum": 0 },
33 "field": { "type": "string" },
34 "mode": { "type": "string", "knownValues": ["include", "exclude"], "default": "include" },
35 "transformations": {
36 "type": "array",
37 "items": { "type": "ref", "ref": "#transformation" }
38 },
39 "value": {
40 "type": "unknown",
41 "description": "Value that should be matched belonging to the given field"
42 }
43 }
44 },
45 "transformation": {
46 "type": "string",
47 "description": "Transformation to apply to the field value before comparison. This transformation is method to call on the value. For example, `toString`"
48 }
49 }
50}