generate.js: add items, migrate to DisplayType, add thumbnail sizes

This commit is contained in:
Jon 2022-11-17 18:06:32 +00:00
parent 7df2eb5f36
commit e0044ea59a

View File

@ -49,7 +49,7 @@ RadioItem.prototype.serialize = function () {
], obj => ({ ...obj, "sources": this.sources.map(source => source.serialize()) })) ], obj => ({ ...obj, "sources": this.sources.map(source => source.serialize()) }))
} }
const EThumbnailType = { const EDisplayType = {
"NATIVE": -1, "NATIVE": -1,
"LANDSCAPE": 0, "LANDSCAPE": 0,
"SQUARE": 1, "SQUARE": 1,
@ -59,196 +59,203 @@ const EThumbnailType = {
const RadioSource = function (type) { const RadioSource = function (type) {
this.type = type this.type = type
this.url = null this.url = null
this.thumbnail_type = type.startsWith("video/") ? EThumbnailType.NATIVE : EThumbnailType.SQUARE this.display_type = type.startsWith("video/") ? EDisplayType.NATIVE : EDisplayType.SQUARE
this.thumbnail_url = undefined this.thumbnail_url = undefined
return this return this
} }
RadioSource.new = type => new RadioSource(type) RadioSource.new = type => new RadioSource(type)
RadioSource.prototype.setThumbnailType = function (thumbnail_type) { this.thumbnail_type = thumbnail_type; return this } RadioSource.prototype.setDisplayType = function (display_type) { this.display_type = display_type; return this }
RadioSource.prototype.setURL = function (uri) { this.url = uri; return this } RadioSource.prototype.setURL = function (uri) { this.url = uri; return this }
RadioSource.prototype.setThumbnailURL = function (uri) { this.thumbnail_url = uri; return this } RadioSource.prototype.setThumbnailURL = function (uri, type, size) {
this.thumbnail_url = uri
this.thumbnail_type = type
this.thumbnail_size = size ? size.replace(/x/g, "×") : undefined
return this
}
RadioSource.prototype.serialize = function () { RadioSource.prototype.serialize = function () {
return objSerialize(this, [ return objSerialize(this, [
"type", "type",
"url", "url",
"display_type",
"thumbnail_url",
"thumbnail_type", "thumbnail_type",
"thumbnail_url" "thumbnail_size"
]) ])
} }
const radioEntries = [ const mediaItems = [
RadioItem.new("nightinjunitaki") RadioItem.new("nightinjunitaki")
.setMetadata("Night In Junitaki", "Wünsche") .setMetadata("Night In Junitaki", "Wünsche")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/night_in_junitaki_-_waves.mp3") .setURL("x-gwm://wiki/night_in_junitaki_-_waves.mp3")
.setThumbnailURL("mxc://glowers.club/HCiiIVMOekjPZtiEaexDdUsD")), .setThumbnailURL("mxc://glowers.club/HCiiIVMOekjPZtiEaexDdUsD", "image/jpg", "400x400")),
RadioItem.new("goodbyeautumn") RadioItem.new("goodbyeautumn")
.setMetadata("Goodbye Autumn", "Tomppabeats") .setMetadata("Goodbye Autumn", "Tomppabeats")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/goodbye_autumn.mp3") .setURL("x-gwm://wiki/goodbye_autumn.mp3")
.setThumbnailURL("mxc://glowers.club/HCiiIVMOekjPZtiEaexDdUsD")), .setThumbnailURL("mxc://glowers.club/HCiiIVMOekjPZtiEaexDdUsD", "image/jpg", "400x400")),
RadioItem.new("balmy") RadioItem.new("balmy")
.setMetadata("Balmy", "90sFlav") .setMetadata("Balmy", "90sFlav")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/balmy90sblav.mp3") .setURL("x-gwm://wiki/balmy90sblav.mp3")
.setThumbnailURL("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov")), .setThumbnailURL("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov", "image/jpg", "999x999")),
RadioItem.new("springletter") RadioItem.new("springletter")
.setMetadata("Spring Letter", "90sFlav") .setMetadata("Spring Letter", "90sFlav")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/spring_letter.mp3") .setURL("x-gwm://wiki/spring_letter.mp3")
.setThumbnailURL("mxc://glowers.club/wTLwzrymoDeNGdJLEpDoEBtZ")), .setThumbnailURL("mxc://glowers.club/wTLwzrymoDeNGdJLEpDoEBtZ", "image/jpg", "500x500")),
RadioItem.new("weep") RadioItem.new("weep")
.setMetadata("Weep", "90sFlav") .setMetadata("Weep", "90sFlav")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/weep.mp3") .setURL("x-gwm://wiki/weep.mp3")
.setThumbnailURL("mxc://glowers.club/jIkXGOSECsPPyJTvgrxPhRoq")), .setThumbnailURL("mxc://glowers.club/jIkXGOSECsPPyJTvgrxPhRoq", "image/jpg", "500x500")),
RadioItem.new("whenimetyou") RadioItem.new("whenimetyou")
.setMetadata("When I Met You", "90sFlav") .setMetadata("When I Met You", "90sFlav")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/when_i_met_you.mp3") .setURL("x-gwm://wiki/when_i_met_you.mp3")
.setThumbnailURL("mxc://glowers.club/ntDKDFtqeQCmIVoRtzRQdvEC")), .setThumbnailURL("mxc://glowers.club/ntDKDFtqeQCmIVoRtzRQdvEC", "image/jpg", "500x500")),
RadioItem.new("sevenofnine") RadioItem.new("sevenofnine")
.setMetadata("Seven of Nine", "90sFlav") .setMetadata("Seven of Nine", "90sFlav")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/seven_of_nine.mp3") .setURL("x-gwm://wiki/seven_of_nine.mp3")
.setThumbnailURL("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov")), .setThumbnailURL("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov", "image/jpg", "999x999")),
RadioItem.new("callme") RadioItem.new("callme")
.setMetadata("Call Me", "90sFlav") .setMetadata("Call Me", "90sFlav")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/call_me.mp3") .setURL("x-gwm://wiki/call_me.mp3")
.setThumbnailURL("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov")), .setThumbnailURL("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov", "image/jpg", "999x999")),
RadioItem.new("midnightsession") RadioItem.new("midnightsession")
.setMetadata("Midnight Session", "90sFlav") .setMetadata("Midnight Session", "90sFlav")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/полуночная_сессия.mp3") .setURL("x-gwm://wiki/полуночная_сессия.mp3")
.setThumbnailURL("mxc://glowers.club/pLexnITqTOhJUXBOKtDAiZzv")), .setThumbnailURL("mxc://glowers.club/pLexnITqTOhJUXBOKtDAiZzv", "image/jpg", "288x288")),
// TODO: Add thumb
RadioItem.new("southdakota") RadioItem.new("southdakota")
.setMetadata("South Dakota", "Keeloh", "https://soundcloud.com/keelohproducer/southdakota") .setMetadata("South Dakota", "Keeloh", "https://soundcloud.com/keelohproducer/southdakota")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://wiki/southdakota.mp3") .setURL("x-gwm://wiki/southdakota.mp3")
.setThumbnailURL("mxc://glowers.club/FJfFhscJavurBvoEuRbykpmM")), .setThumbnailURL("mxc://glowers.club/FJfFhscJavurBvoEuRbykpmM", "image/jpg", "500x500")),
RadioItem.new("dobson") RadioItem.new("dobson")
.addSource(RadioSource.new("video/mp4") .addSource(RadioSource.new("video/mp4")
.setURL("mxc://glowers.club/mRtnfcoHYkyAOXSkYvrnbZgX") .setURL("mxc://glowers.club/mRtnfcoHYkyAOXSkYvrnbZgX")
.setThumbnailURL("mxc://glowers.club/eHKVfIITgdRKERhVOPSTDQAc")), .setThumbnailURL("mxc://glowers.club/eHKVfIITgdRKERhVOPSTDQAc", "image/jpg", "432x426")),
RadioItem.new("poljacked") RadioItem.new("poljacked")
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/xnYQdrroEheIZBfigHGZferu") .setURL("mxc://glowers.club/xnYQdrroEheIZBfigHGZferu")
.setThumbnailURL("mxc://glowers.club/BczfFtojBhwMxTNjoZfhemam")), .setThumbnailURL("mxc://glowers.club/BczfFtojBhwMxTNjoZfhemam", "image/jpg", "638x360")),
RadioItem.new("femalecops") RadioItem.new("femalecops")
.setTags([ "misc" ]) .setTags([ "misc" ])
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/RYjIfTiZKSKBdYBvjGtyBILa") .setURL("mxc://glowers.club/RYjIfTiZKSKBdYBvjGtyBILa")
.setThumbnailURL("mxc://glowers.club/BVQhXkWSYbvFcSerzVZFgfrn")), .setThumbnailURL("mxc://glowers.club/BVQhXkWSYbvFcSerzVZFgfrn", "image/jpg", "600x600")),
RadioItem.new("autisticclowns") RadioItem.new("autisticclowns")
.setTags([ "misc" ]) .setTags([ "misc" ])
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/WqYtubpqVplLjSxxmaxNeQir") .setURL("mxc://glowers.club/WqYtubpqVplLjSxxmaxNeQir")
.setThumbnailURL("mxc://glowers.club/esDPBgpoTvTtqekHAQJRwqtK")), .setThumbnailURL("mxc://glowers.club/esDPBgpoTvTtqekHAQJRwqtK", "image/jpg", "480x272")),
RadioItem.new("ifuckinglovescience") RadioItem.new("ifuckinglovescience")
.setMetadata("I FUCKING LOVE SCIENCE", "Hank Green") .setMetadata("I FUCKING LOVE SCIENCE", "Hank Green")
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/abgQasVrghOSkpRZTIfHMFyF") .setURL("mxc://glowers.club/abgQasVrghOSkpRZTIfHMFyF")
.setThumbnailURL("mxc://glowers.club/IhivpcDssjnjSDHBdMEGGwVp")) .setThumbnailURL("mxc://glowers.club/IhivpcDssjnjSDHBdMEGGwVp", "image/jpg", "320x180"))
.addSource(RadioSource.new("video/mp4") .addSource(RadioSource.new("video/mp4")
.setURL("mxc://glowers.club/ieQlfAlPPGeXLsvevolcQKqO") .setURL("mxc://glowers.club/ieQlfAlPPGeXLsvevolcQKqO")
.setThumbnailURL("mxc://glowers.club/IhivpcDssjnjSDHBdMEGGwVp")), .setThumbnailURL("mxc://glowers.club/IhivpcDssjnjSDHBdMEGGwVp", "image/jpg", "320x180")),
RadioItem.new("dootnukem") RadioItem.new("dootnukem")
.setMetadata("Grabbag", "Lee Jackson") .setMetadata("Grabbag", "Lee Jackson")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/xsuBJwyAUwuDoASbmqjZWrLO") .setURL("mxc://glowers.club/xsuBJwyAUwuDoASbmqjZWrLO")
.setThumbnailURL("mxc://glowers.club/ymWgXucYRzhsgdiecjBkFvmz") .setThumbnailURL("mxc://glowers.club/ymWgXucYRzhsgdiecjBkFvmz", "image/jpg", "1600x1800")
.setThumbnailType(EThumbnailType.STRETCH)), .setDisplayType(EDisplayType.STRETCH)),
RadioItem.new("hyperborea") RadioItem.new("hyperborea")
.setMetadata("Somebody That I Used to Know", "VelvetCasca") .setMetadata("Somebody That I Used to Know", "VelvetCasca")
.addSource(RadioSource.new("video/mp4") .addSource(RadioSource.new("video/mp4")
.setURL("mxc://glowers.club/egAyPBuGNFPYyvnMWMxySLiX") .setURL("mxc://glowers.club/egAyPBuGNFPYyvnMWMxySLiX")
.setThumbnailURL("mxc://glowers.club/dOxJvUWRlGqRRxJdpDRZyeko")), .setThumbnailURL("mxc://glowers.club/dOxJvUWRlGqRRxJdpDRZyeko", "image/jpg", "640x360")),
// TODO: Add metadata // TODO: Add metadata
RadioItem.new("feizhou") RadioItem.new("feizhou")
.setMetadata("Without the Communist Party, There Would Be No New China", "Brother Hao", "https://youtu.be/5tCMI0uKbBE") .setMetadata("Without the Communist Party, There Would Be No New China", "Brother Hao", "https://youtu.be/5tCMI0uKbBE")
.addSource(RadioSource.new("video/mp4") .addSource(RadioSource.new("video/mp4")
.setURL("mxc://glowers.club/fVKJZgWpIHRmilhZLboFXOIK") .setURL("mxc://glowers.club/fVKJZgWpIHRmilhZLboFXOIK")
.setThumbnailURL("mxc://glowers.club/EuYQZnqLjRGPMocgqGqtKFpJ")) .setThumbnailURL("mxc://glowers.club/EuYQZnqLjRGPMocgqGqtKFpJ", "image/jpg", "366x240"))
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/EVRGpqeefZdsjVawOvSkOdvZ") .setURL("mxc://glowers.club/EVRGpqeefZdsjVawOvSkOdvZ")
.setThumbnailURL("mxc://glowers.club/GywrCPMpcpsLFJQAuYoZRuzq")), .setThumbnailURL("mxc://glowers.club/GywrCPMpcpsLFJQAuYoZRuzq", "image/jpg", "366x240")),
RadioItem.new("breathe") RadioItem.new("breathe")
.setMetadata("Breathe (in the Air)", "Pink Floyd") .setMetadata("Breathe (in the Air)", "Pink Floyd")
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/HAGTNySLRemaDfjZMSmpktDj") .setURL("mxc://glowers.club/HAGTNySLRemaDfjZMSmpktDj")
.setThumbnailURL("mxc://glowers.club/KytvUDmLWCFKQWwHemdDTksd")), .setThumbnailURL("mxc://glowers.club/KytvUDmLWCFKQWwHemdDTksd", "image/jpg", "640x360")),
RadioItem.new("fuckjuice") RadioItem.new("fuckjuice")
.setMetadata("Fuck Jannies and Fuck Juice", "The Crystal Crypt") .setMetadata("Fuck Jannies and Fuck Juice", "The Crystal Crypt")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/bxMoRJmYFteVNNntNhqrniNJ") .setURL("mxc://glowers.club/bxMoRJmYFteVNNntNhqrniNJ")
.setThumbnailURL("mxc://glowers.club/YgeFvRPLguZOCGtUJFJednNj")), .setThumbnailURL("mxc://glowers.club/YgeFvRPLguZOCGtUJFJednNj", "image/jpg", "276x240")),
RadioItem.new("onegame") RadioItem.new("onegame")
.setMetadata("ONE GAME", "Chris Voiceman") .setMetadata("ONE GAME", "Chris Voiceman")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/iejQiyaVtnqhuSSCuXqviAIN") .setURL("mxc://glowers.club/iejQiyaVtnqhuSSCuXqviAIN")
.setThumbnailURL("mxc://glowers.club/bZonXMZjhadXyazpKscvRBiP")), .setThumbnailURL("mxc://glowers.club/bZonXMZjhadXyazpKscvRBiP", "image/jpg", "255x255")),
RadioItem.new("imaginebeingdruckmann") RadioItem.new("imaginebeingdruckmann")
.setMetadata("Imagine Being Druckmann", "Chris Voiceman") .setMetadata("Imagine Being Druckmann", "Chris Voiceman")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/wRsCVvtUiLzFnDjwwgkCnXzN") .setURL("mxc://glowers.club/wRsCVvtUiLzFnDjwwgkCnXzN")
.setThumbnailURL("mxc://glowers.club/ipWDVreHeWKOqefUBuvyFxjj")), .setThumbnailURL("mxc://glowers.club/ipWDVreHeWKOqefUBuvyFxjj", "image/jpg", "255x255")),
RadioItem.new("copeacabana") RadioItem.new("copeacabana")
.setMetadata("Cope-a-Cabana", "Chris Voiceman") .setMetadata("Cope-a-Cabana", "Chris Voiceman")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/zEmMFUyaIBmuqAeogVZAMrmO") .setURL("mxc://glowers.club/zEmMFUyaIBmuqAeogVZAMrmO")
.setThumbnailURL("mxc://glowers.club/WBhXYzFgTyMVTTEWKwzDfsgF")), .setThumbnailURL("mxc://glowers.club/WBhXYzFgTyMVTTEWKwzDfsgF", "image/jpg", "512x512")),
RadioItem.new("jihad") RadioItem.new("jihad")
.setMetadata("Heyaw Rijal Al Qassam", "Inshad Ensemble") .setMetadata("Heyaw Rijal Al Qassam", "Inshad Ensemble")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://gnujihad.mp3") .setURL("x-gwm://gnujihad.mp3")
.setThumbnailURL("x-gwm://chromiumjihad.gif")), .setThumbnailURL("x-gwm://chromiumjihad.gif", "image/gif", "420x236")),
RadioItem.new("thisistheinfowar") RadioItem.new("thisistheinfowar")
.setMetadata("In the House, In a Heartbeat", "John Murphy") .setMetadata("In the House, In a Heartbeat", "John Murphy")
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/znoCPlczXEXaEAVaiKHopnAV") .setURL("mxc://glowers.club/znoCPlczXEXaEAVaiKHopnAV")
.setThumbnailURL("mxc://glowers.club/klXuXEwYNmYvsZhNOaXsDGJq")), .setThumbnailURL("mxc://glowers.club/klXuXEwYNmYvsZhNOaXsDGJq", "image/jpg", "640x360")),
RadioItem.new("floyd") RadioItem.new("floyd")
.setMetadata("Paralyzer", "Finger Seven") .setMetadata("Paralyzer", "Finger Seven")
.setTags([ "misc" ]) .setTags([ "misc" ])
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/IusHmBCOyJZFGHxsGjRkYqXf") .setURL("mxc://glowers.club/IusHmBCOyJZFGHxsGjRkYqXf")
.setThumbnailURL("mxc://glowers.club/JjsGuJkEGAbudLaYvbAcxryQ")), .setThumbnailURL("mxc://glowers.club/JjsGuJkEGAbudLaYvbAcxryQ", "image/jpg", "600x600")),
RadioItem.new("amd") RadioItem.new("amd")
.setMetadata("Svetovid", "Jan Janko Močnik") .setMetadata("Svetovid", "Jan Janko Močnik")
.setTags([ "misc" ]) .setTags([ "misc" ])
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/RBvSWrEWiFtIuDUCoxZbCDTW") .setURL("mxc://glowers.club/RBvSWrEWiFtIuDUCoxZbCDTW")
.setThumbnailURL("mxc://glowers.club/GccquMupQGvDXYNeifUbxfuy")), .setThumbnailURL("mxc://glowers.club/GccquMupQGvDXYNeifUbxfuy", "image/jpg", "800x450")),
// TODO: Add thumbnail // TODO: Add thumbnail
RadioItem.new("israel") RadioItem.new("israel")
@ -261,125 +268,125 @@ const radioEntries = [
.setMetadata("Erika", "Major Han Friess") .setMetadata("Erika", "Major Han Friess")
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/qMkbHHunSgPzkFpcoOuYeIuE") .setURL("mxc://glowers.club/qMkbHHunSgPzkFpcoOuYeIuE")
.setThumbnailURL("mxc://glowers.club/aENkwWEKXIztqyBTJrBHCmRQ")), .setThumbnailURL("mxc://glowers.club/aENkwWEKXIztqyBTJrBHCmRQ", "image/jpg", "800x450")),
RadioItem.new("bashar") RadioItem.new("bashar")
.setMetadata("God, Syria, and Bashar", "Rami Kazour") .setMetadata("God, Syria, and Bashar", "Rami Kazour")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/egmaXMIHsNmblfDjyTGHdyas") .setURL("mxc://glowers.club/egmaXMIHsNmblfDjyTGHdyas")
.setThumbnailURL("mxc://glowers.club/wpwHKoSFsxkNttaNyaNFzhMk")), .setThumbnailURL("mxc://glowers.club/wpwHKoSFsxkNttaNyaNFzhMk", "image/jpg", "794x582")),
RadioItem.new("hatethem") RadioItem.new("hatethem")
.setMetadata("Niggerz Bop", "Mike David", "https://youtu.be/VkcAXS9IKdc") .setMetadata("Niggerz Bop", "Mike David", "https://youtu.be/VkcAXS9IKdc")
.setNiggadata("hatethem", "585a286c042231244a73b19e") .setNiggadata("hatethem", "585a286c042231244a73b19e")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/kYKpgAelvgRjDOVHJYKIYwdS") .setURL("mxc://glowers.club/kYKpgAelvgRjDOVHJYKIYwdS")
.setThumbnailURL("mxc://glowers.club/IbShqtSWZksFbnOdFiVDFwqD")) .setThumbnailURL("mxc://glowers.club/IbShqtSWZksFbnOdFiVDFwqD", "image/jpg", "609x600"))
.addSource(RadioSource.new("audio/ogg") .addSource(RadioSource.new("audio/ogg")
.setURL("mxc://glowers.club/wdflEjUfqAkoyOyCDBXebDkw") .setURL("mxc://glowers.club/wdflEjUfqAkoyOyCDBXebDkw")
.setThumbnailURL("mxc://glowers.club/IbShqtSWZksFbnOdFiVDFwqD")), .setThumbnailURL("mxc://glowers.club/IbShqtSWZksFbnOdFiVDFwqD", "image/jpg", "609x600")),
RadioItem.new("wishmaster") RadioItem.new("wishmaster")
.setMetadata("Wishmaster", "Van Canto", "https://youtu.be/XCGQiGEYl4Y") .setMetadata("Wishmaster", "Van Canto", "https://youtu.be/XCGQiGEYl4Y")
.setNiggadata("wishmaster", "570550d318f3c6dc5677b9f6") .setNiggadata("wishmaster", "570550d318f3c6dc5677b9f6")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/TWmjcXRxqaVOfYnWPItiPAcd") .setURL("mxc://glowers.club/TWmjcXRxqaVOfYnWPItiPAcd")
.setThumbnailURL("mxc://glowers.club/OKTbfAlagYXulaeBmgwkNwii") .setThumbnailURL("mxc://glowers.club/OKTbfAlagYXulaeBmgwkNwii", "image/jpg", "352x288")
.setThumbnailType(EThumbnailType.STRETCH)) .setDisplayType(EDisplayType.STRETCH))
.addSource(RadioSource.new("audio/ogg") .addSource(RadioSource.new("audio/ogg")
.setURL("mxc://glowers.club/uaxDKxCUtRVXMWAJgoKeiNcJ") .setURL("mxc://glowers.club/uaxDKxCUtRVXMWAJgoKeiNcJ")
.setThumbnailURL("mxc://glowers.club/OKTbfAlagYXulaeBmgwkNwii") .setThumbnailURL("mxc://glowers.club/OKTbfAlagYXulaeBmgwkNwii", "image/jpg", "352x288")
.setThumbnailType(EThumbnailType.STRETCH)), .setDisplayType(EDisplayType.STRETCH)),
RadioItem.new("negromancy") RadioItem.new("negromancy")
.setMetadata(undefined, undefined, "https://youtu.be/PxjA-jq1e7E") .setMetadata(undefined, undefined, "https://youtu.be/PxjA-jq1e7E")
.setTags([ "misc" ]) .setTags([ "misc" ])
.addSource(RadioSource.new("video/webm") .addSource(RadioSource.new("video/webm")
.setURL("mxc://glowers.club/hRDjowdyaPRkdrRkHtCeqGug") .setURL("mxc://glowers.club/hRDjowdyaPRkdrRkHtCeqGug")
.setThumbnailURL("mxc://glowers.club/qAtvGoVERlYfFnNWeizoYiGP")), .setThumbnailURL("mxc://glowers.club/qAtvGoVERlYfFnNWeizoYiGP", "image/jpg", "640x360")),
RadioItem.new("crocodilechop") RadioItem.new("crocodilechop")
.setMetadata("Crocodile Chop", "Neil Cicierega", "https://soundcloud.com/neilcic/crocodile-chop") .setMetadata("Crocodile Chop", "Neil Cicierega", "https://soundcloud.com/neilcic/crocodile-chop")
.setNiggadata("crocodilechop", "570550d318f3c6dc5677b9d1") .setNiggadata("crocodilechop", "570550d318f3c6dc5677b9d1")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/CIwbaGcPmsbqvZtdILxJxdHN") .setURL("mxc://glowers.club/CIwbaGcPmsbqvZtdILxJxdHN")
.setThumbnailURL("mxc://glowers.club/ITHVCToEENFZhXGKaYuHplFV")), .setThumbnailURL("mxc://glowers.club/ITHVCToEENFZhXGKaYuHplFV", "image/jpg", "500x500")),
RadioItem.new("tapeworms") RadioItem.new("tapeworms")
.setMetadata("I Staple Tapeworms on my Penis", "SillyJenny9000", "https://www.youtube.com/watch?v=v21iDJeWfVE") .setMetadata("I Staple Tapeworms on my Penis", "SillyJenny9000", "https://www.youtube.com/watch?v=v21iDJeWfVE")
.setNiggadata("tapeworms", "570550d318f3c6dc5677b9b0") .setNiggadata("tapeworms", "570550d318f3c6dc5677b9b0")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/NnrVJeWXXzqEUDhDQazMDYrr") .setURL("mxc://glowers.club/NnrVJeWXXzqEUDhDQazMDYrr")
.setThumbnailURL("mxc://glowers.club/jKmUwOLJMGPAhdJGusuWCJgQ")), .setThumbnailURL("mxc://glowers.club/jKmUwOLJMGPAhdJGusuWCJgQ", "image/jpg", "652x619")),
RadioItem.new("withoutcosby") RadioItem.new("withoutcosby")
.setMetadata("without cosby", "bong iguana", "https://soundcloud.com/bong-iguana/without-cosby") .setMetadata("without cosby", "bong iguana", "https://soundcloud.com/bong-iguana/without-cosby")
.setNiggadata("withoutcosby", "570550d318f3c6dc5677b9e9") .setNiggadata("withoutcosby", "570550d318f3c6dc5677b9e9")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/ERjkVBvKLvTIBEhOsEkWHENM") .setURL("mxc://glowers.club/ERjkVBvKLvTIBEhOsEkWHENM")
.setThumbnailURL("mxc://glowers.club/xgoxdfvMRtmobnPMTrdqsQic")), .setThumbnailURL("mxc://glowers.club/xgoxdfvMRtmobnPMTrdqsQic", "image/jpg", "500x500")),
RadioItem.new("niggatorial") RadioItem.new("niggatorial")
.setMetadata("I'm The 2007 YouTube Tutorial", "▲A▲", "https://soundcloud.com/kraiqyttyj/im-the-2007-youtube-tutorial") .setMetadata("I'm The 2007 YouTube Tutorial", "▲A▲", "https://soundcloud.com/kraiqyttyj/im-the-2007-youtube-tutorial")
.setNiggadata("tutorial", "570550d318f3c6dc5677b9d7") .setNiggadata("tutorial", "570550d318f3c6dc5677b9d7")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/XZGliHHOkhcxCSUxKoIkgUlI") .setURL("mxc://glowers.club/XZGliHHOkhcxCSUxKoIkgUlI")
.setThumbnailURL("mxc://glowers.club/nAaKRXuNBjltAYJbsLnjGusH")), .setThumbnailURL("mxc://glowers.club/nAaKRXuNBjltAYJbsLnjGusH", "image/jpg", "899x715")),
RadioItem.new("imposterd") RadioItem.new("imposterd")
.setMetadata("Among Us Eurobeat Remix", "maki ligon", "https://soundcloud.com/maki-ligon-deez-nutz/among-us-drip-eurobeat-remix") .setMetadata("Among Us Eurobeat Remix", "maki ligon", "https://soundcloud.com/maki-ligon-deez-nutz/among-us-drip-eurobeat-remix")
.setTags([ "sus" ]) .setTags([ "sus" ])
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("x-gwm://include/imposterd.mp3") .setURL("x-gwm://include/imposterd.mp3")
.setThumbnailURL("x-gwm://include/crewmate.gif")), .setThumbnailURL("x-gwm://include/crewmate.gif", "image/gif", "128x108")),
RadioItem.new("dripmachine") RadioItem.new("dripmachine")
.setMetadata("Amogus Drip Machine", "maki ligon", "https://soundcloud.com/maki-ligon-deez-nutz/amogus-drip-machine") .setMetadata("Amogus Drip Machine", "maki ligon", "https://soundcloud.com/maki-ligon-deez-nutz/amogus-drip-machine")
.setTags([ "sus" ]) .setTags([ "sus" ])
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/DyboACFryZTCDeIgHtcRaBpL") .setURL("mxc://glowers.club/DyboACFryZTCDeIgHtcRaBpL")
.setThumbnailURL("mxc://glowers.club/VFehbVZaCVcNhQTYWuWRYTiM")), .setThumbnailURL("mxc://glowers.club/VFehbVZaCVcNhQTYWuWRYTiM", "image/jpg", "500x500")),
RadioItem.new("loneimposter") RadioItem.new("loneimposter")
.setMetadata("Lone Impostor", "maki ligon", "https://www.youtube.com/watch?v=QbIckU4sXBM") .setMetadata("Lone Impostor", "maki ligon", "https://www.youtube.com/watch?v=QbIckU4sXBM")
.setTags([ "sus" ]) .setTags([ "sus" ])
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/oswdiINtTUUbQYEMEKpVmsHN") .setURL("mxc://glowers.club/oswdiINtTUUbQYEMEKpVmsHN")
.setThumbnailURL("mxc://glowers.club/jYlptPwURJXVMBNivxlBFPuP")), .setThumbnailURL("mxc://glowers.club/jYlptPwURJXVMBNivxlBFPuP", "image/jpg", "1440x1440")),
RadioItem.new("amogusdrip") RadioItem.new("amogusdrip")
.setMetadata("Among Us Drip Theme Song", "Leonz", "https://youtu.be/grd-K33tOSM") .setMetadata("Among Us Drip Theme Song", "Leonz", "https://youtu.be/grd-K33tOSM")
.setTags([ "sus" ]) .setTags([ "sus" ])
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/xQHxUgpRUMtIkiBaszXiGAvh") .setURL("mxc://glowers.club/xQHxUgpRUMtIkiBaszXiGAvh")
.setThumbnailURL("mxc://glowers.club/erMHzidVOoqoWFXIxXAcozqW")), .setThumbnailURL("mxc://glowers.club/erMHzidVOoqoWFXIxXAcozqW", "image/jpg", "512x512")),
RadioItem.new("crewmate") RadioItem.new("crewmate")
.setMetadata("Among Us (Lofi Hip Hop Remix)", "Leonz", "https://youtu.be/gU39w8s54_Q") .setMetadata("Among Us (Lofi Hip Hop Remix)", "Leonz", "https://youtu.be/gU39w8s54_Q")
.setTags([ "sus" ]) .setTags([ "sus" ])
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/txMHzslGxRyDmNVsUCObJRzc") .setURL("mxc://glowers.club/txMHzslGxRyDmNVsUCObJRzc")
.setThumbnailURL("mxc://glowers.club/PfEBpatFHatQubohkgQThOor")), .setThumbnailURL("mxc://glowers.club/PfEBpatFHatQubohkgQThOor", "image/jpg", "632x632")),
RadioItem.new("GETOUTOFMYHEAD") RadioItem.new("GETOUTOFMYHEAD")
.setMetadata("GETOUTOFMYHEAD", "placeboing", "https://youtu.be/Xnv38FnLkbM") .setMetadata("GETOUTOFMYHEAD", "placeboing", "https://youtu.be/Xnv38FnLkbM")
.setTags([ "sus" ]) .setTags([ "sus" ])
.addSource(RadioSource.new("video/mp4") .addSource(RadioSource.new("video/mp4")
.setURL("mxc://glowers.club/sEtheeOyZlztUtQuHOzOJpOk") .setURL("mxc://glowers.club/sEtheeOyZlztUtQuHOzOJpOk")
.setThumbnailURL("mxc://glowers.club/bJveZSEIXFsnEKdjDvwmmENo")), .setThumbnailURL("mxc://glowers.club/bJveZSEIXFsnEKdjDvwmmENo", "image/jpg", "800x450")),
RadioItem.new("gay") RadioItem.new("gay")
.setMetadata("I Am Gay", "Holland Boys", "https://youtu.be/cZs_nP1WufE") .setMetadata("I Am Gay", "Holland Boys", "https://youtu.be/cZs_nP1WufE")
.setTags([ "gay" ]) .setTags([ "gay" ])
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/FAaatrvlEjJFljvNHhDhcNGl") .setURL("mxc://glowers.club/FAaatrvlEjJFljvNHhDhcNGl")
.setThumbnailURL("mxc://glowers.club/KrefLQCybeCNwLIFZwzWVolF")), .setThumbnailURL("mxc://glowers.club/KrefLQCybeCNwLIFZwzWVolF", "image/png", "489x512")),
RadioItem.new("floydtrix") RadioItem.new("floydtrix")
.setMetadata("Clubbed to Death", "Rob Dougan", "https://youtu.be/pFS4zYWxzNA") .setMetadata("Clubbed to Death", "Rob Dougan", "https://youtu.be/pFS4zYWxzNA")
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/YUqRzRddNWuXQaAlPPMpwvse") .setURL("mxc://glowers.club/YUqRzRddNWuXQaAlPPMpwvse")
.setThumbnailURL("mxc://glowers.club/mFyOeCDaBRhxZCXeeMxDmZhD")), .setThumbnailURL("mxc://glowers.club/mFyOeCDaBRhxZCXeeMxDmZhD", "image/jpg", "588x634")),
RadioItem.new("hotline") RadioItem.new("hotline")
.setMetadata("Gangster Party Line", "Brent Weinbach", "https://youtu.be/Cx1J2CzNnS8") .setMetadata("Gangster Party Line", "Brent Weinbach", "https://youtu.be/Cx1J2CzNnS8")
@ -387,35 +394,57 @@ const radioEntries = [
.addTags([ "misc" ]) .addTags([ "misc" ])
.addSource(RadioSource.new("video/mp4") .addSource(RadioSource.new("video/mp4")
.setURL("mxc://glowers.club/gnZElBwskTnBXkeZPiINVtSB") .setURL("mxc://glowers.club/gnZElBwskTnBXkeZPiINVtSB")
.setThumbnailURL("mxc://glowers.club/iPoGcvVbhmElZgaZuEdNQDBJ")), .setThumbnailURL("mxc://glowers.club/iPoGcvVbhmElZgaZuEdNQDBJ", "image/jpg", "480x356")),
RadioItem.new("bldm") RadioItem.new("bldm")
.setMetadata("Black Lives (Don't) Matter", "Moonman") .setMetadata("Black Lives (Don't) Matter", "Moonman")
.setTags([ "moonman" ]) .setTags([ "moonman" ])
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/OXoYKzSBuKWHXcHDzZIaMfja") .setURL("mxc://glowers.club/OXoYKzSBuKWHXcHDzZIaMfja")
.setThumbnailURL("mxc://glowers.club/SYLXjGHjuXzBnReqrfoRnuhg")), .setThumbnailURL("mxc://glowers.club/SYLXjGHjuXzBnReqrfoRnuhg", "image/jpg", "1024x966")),
RadioItem.new("amogusfloyd") RadioItem.new("amogusfloyd")
.setMetadata(undefined, undefined, "https://www.bitchute.com/video/PJXAu4xA4SUt/") .setMetadata(undefined, undefined, "https://www.bitchute.com/video/PJXAu4xA4SUt/")
.setTags([ "misc" ]) .setTags([ "misc" ])
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/SzqNmhQOxaReaTmOegUItcHY") .setURL("mxc://glowers.club/SzqNmhQOxaReaTmOegUItcHY")
.setThumbnailURL("mxc://glowers.club/aHWNIqMTUjXZRGZUqZCuOgbi") .setThumbnailURL("mxc://glowers.club/aHWNIqMTUjXZRGZUqZCuOgbi", "image/jpg", "898x480")
.setThumbnailType(EThumbnailType.LANDSCAPE)), .setDisplayType(EDisplayType.LANDSCAPE)),
RadioItem.new("whenblackissus") RadioItem.new("whenblackissus")
.setMetadata("Among Us theme song but it's in the style of Metallica's Black Album", "rex", "https://youtu.be/tA2Sr6GgbWo") .setMetadata("Among Us theme song but it's in the style of Metallica's Black Album", "rex", "https://youtu.be/tA2Sr6GgbWo")
.setTags([ "sus" ]) .setTags([ "sus" ])
.addSource(RadioSource.new("audio/mp3") .addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/VDXDeYltzQOhTChQtmsZaybu") .setURL("mxc://glowers.club/VDXDeYltzQOhTChQtmsZaybu")
.setThumbnailURL("mxc://glowers.club/JAWtHKTIefGJzYadLOUofaWl")), .setThumbnailURL("mxc://glowers.club/JAWtHKTIefGJzYadLOUofaWl", "image/jpg", "1080x1080")),
RadioItem.new("doot")
.setMetadata("Knee Deep in the Doot", "Nick Ino", "https://youtu.be/hzPpWInAiOg")
.addSource(RadioSource.new("audio/mp3")
.setURL("mxc://glowers.club/HvYByMgvFKONqIPmujCGaIIp")
.setThumbnailURL("mxc://glowers.club/dXELpQnsrrcwHuElSQHEPaRn", "image/jpg", "512x512")),
RadioItem.new("ywnbaw")
.setMetadata("Professor proves SICKS are the best weapons", "Shadiversity", "https://youtu.be/mPnscZFUuog")
.addTags([ "misc" ])
.addSource(RadioSource.new("video/mp4")
.setURL("mxc://glowers.club/mPnscZFUuog")
.setThumbnailURL("mxc://glowers.club/dDbuzhpAoewNQoKHCejeQqdk", "image/jpg", "800x450")),
].filter(Boolean).map(a => a.serialize()).sort((a,b) => a.id.localeCompare(b.id)) ].filter(Boolean).map(a => a.serialize()).sort((a,b) => a.id.localeCompare(b.id))
for (const item of mediaItems) {
for (const index in item.sources) {
if (!item.sources[index].thumbnail_type)
console.warn(`W: No thumbnail type set for source ${index} of ${item.id}`)
if (!item.sources[index].thumbnail_size)
console.warn(`W: No thumbnail size set for source ${index} of ${item.id}`)
}
}
const radioObj = { const radioObj = {
"version": 3, "version": 4,
"songs": radioEntries "songs": mediaItems
} }
fs.writeFileSync("./data/songs.json", JSON.stringify(radioObj)) fs.writeFileSync("./data/songs.json", JSON.stringify(radioObj))