A music player that connects to your cloud/distributed storage.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: favourites can just be a playlist

+9 -55
-1
deno.jsonc
··· 138 138 139 139 // .ts 140 140 "./definitions/types/sh/diffuse/output/constituent.ts": "./src/definitions/types/sh/diffuse/output/constituent.ts", 141 - "./definitions/types/sh/diffuse/output/favourite.ts": "./src/definitions/types/sh/diffuse/output/favourite.ts", 142 141 "./definitions/types/sh/diffuse/output/playlist.ts": "./src/definitions/types/sh/diffuse/output/playlist.ts", 143 142 "./definitions/types/sh/diffuse/output/track.ts": "./src/definitions/types/sh/diffuse/output/track.ts", 144 143 },
-1
src/definitions/index.ts
··· 1 1 export * as ShDiffuseOutputConstituent from "./types/sh/diffuse/output/constituent.js"; 2 - export * as ShDiffuseOutputFavourite from "./types/sh/diffuse/output/favourite.js"; 3 2 export * as ShDiffuseOutputPlaylist from "./types/sh/diffuse/output/playlist.js"; 4 3 export * as ShDiffuseOutputTrack from "./types/sh/diffuse/output/track.js";
-38
src/definitions/output/favourite.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "sh.diffuse.output.favourite", 4 - "defs": { 5 - "main": { 6 - "type": "record", 7 - "record": { 8 - "type": "object", 9 - "required": ["criteria"], 10 - "properties": { 11 - "criteria": { 12 - "type": "array", 13 - "items": { "type": "ref", "ref": "#criterion" } 14 - } 15 - } 16 - } 17 - }, 18 - "criterion": { 19 - "type": "object", 20 - "required": ["field", "value"], 21 - "properties": { 22 - "field": { "type": "string" }, 23 - "transformations": { 24 - "type": "array", 25 - "items": { "type": "ref", "ref": "#transformation" } 26 - }, 27 - "value": { 28 - "type": "unknown", 29 - "description": "Value that should be matched belonging to the given field" 30 - } 31 - } 32 - }, 33 - "transformation": { 34 - "type": "string", 35 - "description": "Transformation to apply to the field value before comparison" 36 - } 37 - } 38 - }
+7 -7
src/definitions/output/playlist.json
··· 6 6 "type": "record", 7 7 "record": { 8 8 "type": "object", 9 - "required": ["collection", "items", "name"], 9 + "required": ["items", "name", "unordered"], 10 10 "nullable": ["autoGenerate"], 11 11 "properties": { 12 12 "autoGenerate": { 13 13 "type": "ref", 14 14 "ref": "#autoGenerate" 15 - }, 16 - "collection": { 17 - "type": "boolean", 18 - "default": false, 19 - "description": "If this property is set to true, the playlist items should not be presented in order. It's considered a collection of tracks." 20 15 }, 21 16 "items": { 22 17 "type": "array", ··· 27 22 }, 28 23 "name": { 29 24 "type": "string" 25 + }, 26 + "unordered": { 27 + "type": "boolean", 28 + "default": false, 29 + "description": "If this property is set to true, the playlist items should not be presented in order. It's considered an unordered collection of tracks." 30 30 } 31 31 } 32 32 } 33 33 }, 34 34 "autoGenerate": { 35 35 "type": "object", 36 - "description": "Auto-generate the items of the playlist, overriding the included items. If this property is set, the playlist should always be treated as a collection.", 36 + "description": "Auto-generate the items of the playlist, overriding the included items. If this property is set, the playlist should always be treated as unordered.", 37 37 "required": ["criteria"], 38 38 "properties": { 39 39 "criteria": {
-2
src/definitions/types.d.ts
··· 2 2 Main as Constituent, 3 3 } from "./types/sh/diffuse/output/constituent.ts"; 4 4 5 - export type { Main as Favourite } from "./types/sh/diffuse/output/favourite.ts"; 6 - 7 5 export type { 8 6 AutoGenerate as PlaylistAutoGeneration, 9 7 Criterion,
+2 -6
src/index.vto
··· 178 178 desc: > 179 179 Custom constituents to keep around. 180 180 url: "definitions/output/constituent.json" 181 - - title: "Output / Favourite" 182 - desc: > 183 - Indicate a user's favourite audio. Not a property of a track because tracks are associated with a specific source. Favourites may match with multiple tracks. Specified with criteria that will be used to match the tracks. 184 - url: "definitions/output/favourite.json" 185 181 - title: "Output / Playlist" 186 182 desc: > 187 - Just like favourites, does not refer to specific tracks. Can also be considered a collection which is basically an unordered playlist. 188 - todo: true 183 + Represents a collection of tracks, which may be ordered or unordered. Tracks are matched based on the given criteria. 184 + url: "definitions/output/playlist.json" 189 185 - title: "Output / Progress" 190 186 desc: > 191 187 Used to track progress of (long) audio playback.