From 650db1204952dd7e4fcacf8c3af7574fcf993463 Mon Sep 17 00:00:00 2001 From: Jon Date: Thu, 8 Dec 2022 00:29:16 +0000 Subject: [PATCH] readme.md: update schema --- readme.md | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 5663591..c9adb58 100644 --- a/readme.md +++ b/readme.md @@ -4,8 +4,10 @@ This repo contains backing information for Glowers Radio. ## Format The `songs.json` format **is only intended for use for Glowers Radio**, and is effectively a living standard as a result. **Live data may change drastically without warning** +If you do wish to use this data for your own purposes, i.e: to make a custom player, you should be caching the songs list so your application has something to fallback to if a breaking change to the format is made. + ```yaml -required: [ version, songs] +required: [ version, songs ] properties: version: { type: integer } songs: @@ -15,6 +17,7 @@ properties: id: type: string tags: + description: 'A list of tags used for filtering. Entries are arbitrary, see latest songs list.' type: array items: [ { type: string } ] metadata: @@ -22,13 +25,36 @@ properties: properties: title: { type: string } artist: { type: string } + href: + description: 'A URL the original source can be found, if known. Link may be dead' + type: string + format: url + _nigid: + description: 'The original song id from nigge.rs. Do not use for nigge.rs detection, use the "niggers" tag instead' + type: string + _nigkey: + description: 'Content of _id from the original nigge.rs song entry. Do not use for nigge.rs detection, use the "niggers" tag instead' + type: string sources: type: array items: - required: [ type, url ] properties: type: { type: string, format: mimetype } - url: { type: string, format: uri } - thumbnail_type: { type: number } - thumbnail_url: { format: uri } + uri: + description: 'A URI that points to the source file. See `GWMediaPlayer.fromURIToAbsolute()` for how to convert to a URL' + type: string + previews: + description: >- + This is an array so GWMediaPlayer can better display videos being played as audio only. + The first Item is how the MediaItem *should* be displayed, other Items are alternative versions the player may use. + type: array + items: + - properties: + display_type: + description: 'Used to determine how the media should be displayed. See GWMediaPlayer.EDisplayType' + type: string + uri: { "$ref": "#/properties/songs/items/properties/sources/items/properties/uri" } + type: { type: string, format: mimetype } + size: { type: string } ```