This repo contains backing information for Glowers Radio.
Go to file
2022-12-08 18:26:08 +00:00
data songs.json: add animated artwork for poljacked 2022-12-08 18:26:08 +00:00
.gitignore .gitignore: add 2022-11-19 11:36:47 +00:00
generate.js generate.js: remove setDisplayType, not needed anyway 2022-12-08 14:39:35 +00:00
readme.md readme.md: update schema 2022-12-08 00:29:16 +00:00

glowers-radio

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.

required: [ version, songs ]
properties:
  version: { type: integer }
  songs:
    items:
      required: [ id, sources ]
      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:
          required: [ title, artist ]
          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 }
              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 }