diff --git a/readme.md b/readme.md index 18ad30f..6150c4d 100644 --- a/readme.md +++ b/readme.md @@ -1,6 +1,35 @@ # glowers-radio This repo contains backing information for Glowers Radio. +## Contributing +If you have a song in mind that would fit on Glowers Radio, you are free to create a PR or send in a diff for `generate.js`. +The living schema is documented [below](#format) and mostly maps 1:1 to `MediaItem` + +## Best Practices +- Use an alpha-numeric id. Don't use dashes or hyphens; Uppercase characters *may* be used when appropriate. +- Use `image/png`, `image/jpg`, `image/gif`, `audio/mp3`, and `video/mp4`. Files *should* be under 10MB and be of reasonable or tolerable quality +- Declare metadata when available. If you do not know the original source, try to find it first. +- Metadata **must** be accurate and not an artists rendition of the actual metadata. +- Try not to use reuploads, remasters, or edits, as the source; Unless the edit or remaster is the actual media. +- Sources *should* contain codec information; if you are unsure of what correct codecs to declare, do not declare any or ask for help. + No codec declarations are better than incorrect codec declarations. See [MDN](https://developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter#basic_syntax) for details +- Don't use videos where audio alongside AlbumArt would functionally identical. Lyrics videos are ok +- All content *should* be hosted on Glowers Club. If you are not a Glower then your uris will be reuploaded if your Item(s) are accepted +- Provide fallbacks for sources and previews when possible: + - `video/` *should* have a thumbnail preview. + - `video/` *should* have a `SQUARE` fallback preview for audioOnly and for when the agent does not support the provided `video/`. + - Animated previews **must** always have a `image/gif` fallback. +- Items that aren't primarily music should be tagged with `misc`. +- Use the `metadata-prefer-id` tag if the actual title would be too long, cubersome, or unrelated. i.e: + - `slamtris`: Slamtris - Quad City DJs vs Hirokazu Tanaka *(cumbersome)* + - `dngyamom`: Dynamite by BTS but it's Doin' Your Mom *(cumbersome)* + - `thisistheinfowar`: In the House, In a Heartbeat *(unrelated)* + - `alexjones`: Alex Jones Remix: Renai Circulation *(cumbersome)* + - `ywnbaw`: Professor proves SICKS are the best weapons *(unrelated)* + - `whenblackissus`: Among Us theme song but it's in the style of Metallica's Black Album *(long and cumbersome)* + - `niggatorial`: I'm The 2007 YouTube Tutorial *(cumbersome)* + - `honorary`: Erika *(unrelated)* + ## 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** @@ -82,6 +111,11 @@ properties: - required: [ type, url ] properties: type: { type: string, format: mimetype } + codecs: + description: 'A list of codec declarations. This is checked alongside the type on the client' + type: array + items: + - type: string uri: { "$ref": "#/$defs/GWRadioURI" } previews: description: >-