2022-11-12 23:08:28 -05:00
# glowers-radio
This repo contains backing information for Glowers Radio.
## Format
2022-11-12 23:10:11 -05:00
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**
2022-11-12 23:08:28 -05:00
2022-12-07 19:29:16 -05:00
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.
2022-11-12 23:08:28 -05:00
```yaml
2022-12-07 19:29:16 -05:00
required: [ version, songs ]
2022-11-12 23:08:28 -05:00
properties:
2022-11-16 05:47:46 -05:00
version: { type: integer }
songs:
2022-11-12 23:08:28 -05:00
items:
2022-11-16 05:47:46 -05:00
required: [ id, sources ]
2022-11-12 23:08:28 -05:00
properties:
2022-11-16 05:47:46 -05:00
id:
type: string
tags:
2022-12-07 19:29:16 -05:00
description: 'A list of tags used for filtering. Entries are arbitrary, see latest songs list.'
2022-11-16 05:47:46 -05:00
type: array
items: [ { type: string } ]
metadata:
required: [ title, artist ]
properties:
title: { type: string }
artist: { type: string }
2022-12-07 19:29:16 -05:00
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
2022-11-16 05:47:46 -05:00
sources:
type: array
items:
- required: [ type, url ]
properties:
type: { type: string, format: mimetype }
2022-12-07 19:29:16 -05:00
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 }
2022-11-12 23:08:28 -05:00
```