# glowers-radio This repo contains backing information for Glowers Radio. ## Best Practices - Use an alpha-numeric id. Don't use dashes or hyphens - Add proper song metadata when appropriate. Attribution data should be added when possible - Keep all media assets under 10MB, a single item's assets should not be over 15MB. - Add codec information for your sources. - Mimic other items if you're unsure about something. ## Examples ```js RadioItem.new("hummerguy") .addItemInfo(RadioMetadata.newLAV("hummer guy ytpmv", "gud boi", RadioMetadata.createYouTubeURI("A2Fd4NHreI0")).bOfficial()) .addItemInfo(RadioMetadata.newLA("Skrillex - Scary Monsters and Nice Sprites (Sihk Happy Hardcore Remix)", "SIHK", RadioMetadata.createYouTubeURI("Z01Tsgwe2dQ")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createSoundcloudURI("skrillex-scary-monsters-nice-sprites-sihk-happy-hardcore-remix-free-dl", "sihk66")).setFor(0).bOriginal().bOfficial().bAlt()) .addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ]) .setURI("mxc://glowers.club/jnmPzoUhxCTrvRZmpxmGXYMr") .addPreview("mxc://glowers.club/AmkQLtUuuCixPKNzkugAkiHh", "image/jpg", "800x449")) .addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .setURI("mxc://glowers.club/wtsFmPEzerDPdzOSQraBzupN") .addPreview("mxc://glowers.club/UPPtHMbKXrEaeHLDYovVkZRt", "image/jpg", "440x440")), ``` ```js RadioItem.new("kramer") .setMiscInfo(RadioMiscInfo.new().bExplicit().bMetadataPreferId()) .addItemInfo(RadioMetadata.newLAV("wholesome ytpmv :3", "KrazedDonut", RadioMetadata.createYouTubeURI("LVdJ6cqqiUA")).bOfficial().bUnavailable().bExplicit()) .addItemInfo(RadioMetadata.newLA("Spin ye Bottle (Minigame)", "Jake Kaufman", RadioMetadata.createBandcampURI("spin-ye-bottle-minigame", "virt")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1170509291)).setFor(0).bOriginal().bOfficial().bAlt()) .addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ]) .setURI("mxc://glowers.club/FztaIVnDJeHkYQfZmdHFOdnP") .addPreview("mxc://glowers.club/FKCKRytGQEFRJUxTfeKjXmXz", "image/jpg", "800x450")) .addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .setURI("mxc://glowers.club/hqRzxaQMWfQoZGpiPIbyNSEk") .addPreview("mxc://glowers.club/JurRLPteOyFLrfJoRJuzbZkH", "image/jpg", "500x500")), ``` ```js RadioItem.new("blsdm") .setMiscInfo(RadioMiscInfo.new().bExplicit()) .addItemInfo(RadioMetadata.newLA("Black Lives (Still Don't) Matter", "Moonman").bExplicit().bPseudonym()) .addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .setURI("mxc://glowers.club/GfcCntGLSZsYkkzzkaoJrUWx") .addPreview("mxc://glowers.club/yyWJVkClXhWIFqgayFFtZZDJ", "image/jpg", "500x500")), ``` ## Integrations See [data/schema.yaml](data/schema.yaml) for JSONSchema documentation. You may also want to inspect the code within [lib/](lib/)