generate.js: adds 9; misc metadata updates

This commit is contained in:
Jon 2022-12-30 10:25:13 +00:00
parent 18ae6653d7
commit 8e5d2943d0

View File

@ -27,10 +27,11 @@ const notNullElse = (a, fallback) => a != null && a != undefined ? a : fallback
* @params {string} id * @params {string} id
* @returns {RadioItem} * @returns {RadioItem}
*/ */
const RadioItem = function (id) { const RadioItem = function (id, miscInfo) {
this.id = id this.id = id
this.metadata = undefined this.metadata = undefined
this.info = undefined this.info = undefined
this.misc = miscInfo || undefined
this.tags = undefined this.tags = undefined
this.sources = [] this.sources = []
return this return this
@ -63,13 +64,23 @@ RadioItem.prototype.setMetadata = function (title, artist, href, extra) {
* @params {RadioMetadata} metadata * @params {RadioMetadata} metadata
* @returns {RadioItem} * @returns {RadioItem}
*/ */
RadioItem.prototype.addTrackInfo = function (metadata) { RadioItem.prototype.addItemInfo = function (metadata) {
if (!this.info) if (!this.info)
this.info = [] this.info = []
this.info.push(metadata) this.info.push(metadata)
return this return this
} }
/**
* @public
* @params {RadioMiscInfo} miscInfo
* @returns {RadioItem}
*/
RadioItem.prototype.setMiscInfo = function (miscInfo) {
this.misc = miscInfo
return this
}
/** /**
* @public * @public
* @params {string[]} tags * @params {string[]} tags
@ -121,6 +132,7 @@ RadioItem.prototype.serialize = function (index) {
], obj => ({ ], obj => ({
index, index,
...obj, ...obj,
"misc": self.misc ? self.misc.serialize() : undefined,
"info": self.info?.length ? self.info.map(info => info.serialize()) : undefined, "info": self.info?.length ? self.info.map(info => info.serialize()) : undefined,
"sources": self.sources.map(source => source.serialize()) "sources": self.sources.map(source => source.serialize())
})) }))
@ -405,7 +417,10 @@ const BMetadataType = {
"VIDEO": 0b10, "VIDEO": 0b10,
"ORIGINAL": 0b100, "ORIGINAL": 0b100,
"ALT": 0b1000, "ALT": 0b1000,
"OFFICIAL": 0b10000 "OFFICIAL": 0b10000,
"EXPLICIT": 0b100000,
"PREFERED": 0b1000000,
"PSEUDONYM": 0b10000000
} }
for (const key in BMetadataType) { for (const key in BMetadataType) {
@ -486,6 +501,50 @@ RadioMetadata.prototype.serialize = function () {
]) ])
} }
/**
* @public
* @constructor
* @params {string|undefined} title
* @params {string|undefined} artist
* @params {URL|string|undefined} [href] href
* @params {string} [extra] extra Playback effects. i.e: Pitch, speed
* @returns {RadioMetadata}
*/
const RadioMiscInfo = function (value) {
this.miscInfo = value || 0
return this
}
/**
* @public
* @params {number|undefined} value
* @returns {RadioPlaybackInfo}
*/
RadioMiscInfo.new = value => new RadioMiscInfo(value)
/**
* @public
* @readonly
*/
const BMiscInfo = {
"EXPLICIT": 0b1
}
for (const key in BMiscInfo) {
RadioMiscInfo.prototype[`b${key[0]}${key.slice(1).toLowerCase()}`] = function () {
this.miscInfo = (this.info || 0) | BMiscInfo[key]
return this
}
}
/**
* @public
* @returns {number|undefined}
*/
RadioMiscInfo.prototype.serialize = function () { return this.miscInfo || undefined; }
/** /**
* @public * @public
* @constructor * @constructor
@ -522,78 +581,78 @@ RadioPlaybackInfo.prototype.serialize = function () {
const mediaItems = [ const mediaItems = [
RadioItem.new("nightinjunitaki") RadioItem.new("nightinjunitaki")
.setMetadata("Night In Junitaki", "Wünsche", "https://soundcloud.com/samuelwunsche/night-in-junitaki") .addItemInfo(RadioMetadata.newLA("Night In Junitaki", "Wünsche", RadioMetadata.createSoundcloudURI("night-in-junitaki", "samuelwunsche")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/night_in_junitaki_-_waves.mp3") .setURI("x-gwm://wiki/night_in_junitaki_-_waves.mp3")
.addPreview("mxc://glowers.club/HCiiIVMOekjPZtiEaexDdUsD", "image/jpg", "400x400")), .addPreview("mxc://glowers.club/HCiiIVMOekjPZtiEaexDdUsD", "image/jpg", "400x400")),
RadioItem.new("goodbyeautumn") RadioItem.new("goodbyeautumn")
.setMetadata("Goodbye Autumn", "Tomppabeats", "https://tomppabeats.bandcamp.com/track/goodbye-autumn") .addItemInfo(RadioMetadata.newLA("Goodbye Autumn", "Tomppabeats", RadioMetadata.createBandcampURI("goodbye-autumn", "tomppabeats")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/goodbye_autumn.mp3") .setURI("x-gwm://wiki/goodbye_autumn.mp3")
.addPreview("mxc://glowers.club/JslhZSsDpgtrnmWhSqYMEUDL", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/JslhZSsDpgtrnmWhSqYMEUDL", "image/jpg", "500x500")),
RadioItem.new("balmy") RadioItem.new("balmy")
.setMetadata("Balmy", "90sFlav", "https://90sflav.bandcamp.com/track/balmy") .addItemInfo(RadioMetadata.newLA("Balmy", "90sFlav", RadioMetadata.createBandcampURI("balmy", "90sflav")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/balmy90sblav.mp3") .setURI("x-gwm://wiki/balmy90sblav.mp3")
.addPreview("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov", "image/jpg", "999x999")), .addPreview("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov", "image/jpg", "999x999")),
RadioItem.new("springletter") RadioItem.new("springletter")
.setMetadata("Spring Letter", "90sFlav", "https://90sflav.bandcamp.com/track/spring-letter") .addItemInfo(RadioMetadata.newLA("Spring Letter", "90sFlav", RadioMetadata.createBandcampURI("spring-letter", "90sflav")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/spring_letter.mp3") .setURI("x-gwm://wiki/spring_letter.mp3")
.addPreview("mxc://glowers.club/wTLwzrymoDeNGdJLEpDoEBtZ", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/wTLwzrymoDeNGdJLEpDoEBtZ", "image/jpg", "500x500")),
RadioItem.new("weep") RadioItem.new("weep")
.setMetadata("Weep", "90sFlav", "https://90sflav.bandcamp.com/track/weep") .addItemInfo(RadioMetadata.newLA("Weep", "90sFlav", RadioMetadata.createBandcampURI("weep", "90sflav")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/weep.mp3") .setURI("x-gwm://wiki/weep.mp3")
.addPreview("mxc://glowers.club/jIkXGOSECsPPyJTvgrxPhRoq", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/jIkXGOSECsPPyJTvgrxPhRoq", "image/jpg", "500x500")),
RadioItem.new("whenimetyou") RadioItem.new("whenimetyou")
.setMetadata("When I Met You", "90sFlav", "https://90sflav.bandcamp.com/track/when-i-met-you") .addItemInfo(RadioMetadata.newLA("When I Met You", "90sFlav", RadioMetadata.createBandcampURI("when-i-met-you", "90sflav")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/when_i_met_you.mp3") .setURI("x-gwm://wiki/when_i_met_you.mp3")
.addPreview("mxc://glowers.club/ntDKDFtqeQCmIVoRtzRQdvEC", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/ntDKDFtqeQCmIVoRtzRQdvEC", "image/jpg", "500x500")),
RadioItem.new("sevenofnine") RadioItem.new("sevenofnine")
.setMetadata("Seven of Nine", "90sFlav", "https://90sflav.bandcamp.com/track/seven-of-nine") .addItemInfo(RadioMetadata.newLA("Seven of Nine", "90sFlav", RadioMetadata.createBandcampURI("seven-of-nine", "90sflav")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/seven_of_nine.mp3") .setURI("x-gwm://wiki/seven_of_nine.mp3")
.addPreview("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov", "image/jpg", "999x999")), .addPreview("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov", "image/jpg", "999x999")),
RadioItem.new("callme") RadioItem.new("callme")
.setMetadata("Call Me", "90sFlav", "https://90sflav.bandcamp.com/track/call-me") .addItemInfo(RadioMetadata.newLA("Call Me", "90sFlav", RadioMetadata.createBandcampURI("call-me", "90sflav")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/call_me.mp3") .setURI("x-gwm://wiki/call_me.mp3")
.addPreview("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov", "image/jpg", "999x999")), .addPreview("mxc://glowers.club/kDNCBjvQxfPvtJVmfEMmcdov", "image/jpg", "999x999")),
RadioItem.new("midnightsession") RadioItem.new("midnightsession")
.setMetadata("Midnight Session", "90sFlav", "https://90sflav.bandcamp.com/track/-") .addItemInfo(RadioMetadata.newLA("Midnight Session", "90sFlav", RadioMetadata.createBandcampURI("-", "90sflav")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/полуночная_сессия.mp3") .setURI("x-gwm://wiki/полуночная_сессия.mp3")
.addPreview("mxc://glowers.club/pLexnITqTOhJUXBOKtDAiZzv", "image/jpg", "288x288")), .addPreview("mxc://glowers.club/pLexnITqTOhJUXBOKtDAiZzv", "image/jpg", "288x288")),
RadioItem.new("southdakota") RadioItem.new("southdakota")
.setMetadata("South Dakota", "Keeloh", "https://soundcloud.com/keelohproducer/southdakota") .addItemInfo(RadioMetadata.newLA("South Dakota", "Keeloh", RadioMetadata.createSoundcloudURI("southdakota", "keelohproducer")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("x-gwm://wiki/southdakota.mp3") .setURI("x-gwm://wiki/southdakota.mp3")
.addPreview("mxc://glowers.club/FJfFhscJavurBvoEuRbykpmM", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/FJfFhscJavurBvoEuRbykpmM", "image/jpg", "500x500")),
RadioItem.new("dobson") RadioItem.new("dobson")
.addTrackInfo(RadioMetadata.newLA("Without Me", "Eminem", RadioMetadata.createYouTubeURI("YVkUvmDQ3HY")).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Without Me", "Eminem", RadioMetadata.createYouTubeURI("YVkUvmDQ3HY")).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(15477279)).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(15477279)).bOriginal().bOfficial().bAlt())
.addSource(RadioSource.new("video/mp4", [ "avc1.64000D", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.64000D", "mp4a.40.2" ])
.setURI("mxc://glowers.club/mRtnfcoHYkyAOXSkYvrnbZgX") .setURI("mxc://glowers.club/mRtnfcoHYkyAOXSkYvrnbZgX")
.addPreview("mxc://glowers.club/eHKVfIITgdRKERhVOPSTDQAc", "image/jpg", "432x426")), .addPreview("mxc://glowers.club/eHKVfIITgdRKERhVOPSTDQAc", "image/jpg", "432x426")),
@ -601,9 +660,9 @@ const mediaItems = [
// FIXME: Original audio source found, not remix source or video source // FIXME: Original audio source found, not remix source or video source
RadioItem.new("poljacked") RadioItem.new("poljacked")
//.setMetadata("BLACK BLADE", "Seyit Akbas", "https://youtu.be/6RnNXLZ2rfw", "1.15%, pitched up") //.setMetadata("BLACK BLADE", "Seyit Akbas", "https://youtu.be/6RnNXLZ2rfw", "1.15%, pitched up")
.addTrackInfo(RadioMetadata.newLV(null, null, RadioMetadata.createBooruSoyURI(23224))) .addItemInfo(RadioMetadata.newLV(null, null, RadioMetadata.createBooruSoyURI(23224)))
.addTrackInfo(RadioMetadata.newLA("NEON BLADE", "MoonDeity", RadioMetadata.createYouTubeURI("Mu965dWgMMQ"), "1.315%, pitched up, bass boosted").bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("NEON BLADE", "MoonDeity", RadioMetadata.createYouTubeURI("Mu965dWgMMQ"), "1.315%, pitched up, bass boosted").bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1627535463)).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1627535463)).bOriginal().bOfficial().bAlt())
.addSource(RadioSource.new("video/mp4", [ "avc1.64001E", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.64001E", "mp4a.40.2" ])
.setURI("mxc://glowers.club/stlNnyEIUVGluyhpPSGhtjJg") .setURI("mxc://glowers.club/stlNnyEIUVGluyhpPSGhtjJg")
.addPreview("mxc://glowers.club/BczfFtojBhwMxTNjoZfhemam", "image/jpg", "638x360") .addPreview("mxc://glowers.club/BczfFtojBhwMxTNjoZfhemam", "image/jpg", "638x360")
@ -634,9 +693,9 @@ const mediaItems = [
.addPreview("mxc://glowers.club/esDPBgpoTvTtqekHAQJRwqtK", "image/jpg", "480x272")), .addPreview("mxc://glowers.club/esDPBgpoTvTtqekHAQJRwqtK", "image/jpg", "480x272")),
RadioItem.new("ifuckinglovescience") RadioItem.new("ifuckinglovescience")
.addTrackInfo(RadioMetadata.newLV(null, null, RadioMetadata.createBooruSoyURI(20571))) .addItemInfo(RadioMetadata.newLV(null, null, RadioMetadata.createBooruSoyURI(20571)))
.addTrackInfo(RadioMetadata.newLA("I FUCKING LOVE SCIENCE", "Hank Green", RadioMetadata.createYouTubeURI("RECuQaaGGfA")).bOfficial()) .addItemInfo(RadioMetadata.newLA("I FUCKING LOVE SCIENCE", "Hank Green", RadioMetadata.createYouTubeURI("RECuQaaGGfA")).bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(868150396)).bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(868150396)).bOfficial().bAlt())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/tLnDwRvJDckOIopncgUfodAn") .setURI("mxc://glowers.club/tLnDwRvJDckOIopncgUfodAn")
.addPreview("mxc://glowers.club/burAaUYSveyoVMHrijAsAxlL", "image/jpg", "768x432")) .addPreview("mxc://glowers.club/burAaUYSveyoVMHrijAsAxlL", "image/jpg", "768x432"))
@ -649,19 +708,23 @@ const mediaItems = [
.addPreview("mxc://glowers.club/aAYxVtwfHuIqXzYkrVwHZDjl", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/aAYxVtwfHuIqXzYkrVwHZDjl", "image/jpg", "500x500")),
RadioItem.new("dootnukem") RadioItem.new("dootnukem")
.addItemInfo(RadioMetadata.newLA("Doot Nukem", "Sylva", RadioMetadata.createYouTubeURI("cHJQ6LqZ4ks")).bOfficial())
.addItemInfo(RadioMetadata.newLA("Grabbag (Duke Nukem 3D Main Menu Theme)", "Lee Jackson", RadioMetadata.createYouTubeURI("GGt5PgednCo")).bOriginal())
.setMetadata("Doot Nukem", "Sylva", "https://youtu.be/cHJQ6LqZ4ks") .setMetadata("Doot Nukem", "Sylva", "https://youtu.be/cHJQ6LqZ4ks")
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/xsuBJwyAUwuDoASbmqjZWrLO") .setURI("mxc://glowers.club/xsuBJwyAUwuDoASbmqjZWrLO")
.addPreview("mxc://glowers.club/ymWgXucYRzhsgdiecjBkFvmz", "image/jpg", "1600x1800", EDisplayType.STRETCH)), .addPreview("mxc://glowers.club/BDcGZnyBusBBpfbMkeoSAHWf", "image/jpg", "400x400")),
// TODO: No video attribution
RadioItem.new("hyperborea") RadioItem.new("hyperborea")
.setMetadata("Somebody That I Used to Know", "VelvetCasca") .addItemInfo(RadioMetadata.newLA("Gotye - WokeUpLikeThis", "BLACCMASS", RadioMetadata.createYouTubeURI("TLsLd22mhOA")).bOriginal().bOfficial())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D401F", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.4D401F", "mp4a.40.2" ])
.setURI("mxc://glowers.club/egAyPBuGNFPYyvnMWMxySLiX") .setURI("mxc://glowers.club/egAyPBuGNFPYyvnMWMxySLiX")
.addPreview("mxc://glowers.club/dOxJvUWRlGqRRxJdpDRZyeko", "image/jpg", "640x360")), .addPreview("mxc://glowers.club/dOxJvUWRlGqRRxJdpDRZyeko", "image/jpg", "640x360")),
RadioItem.new("feizhou") RadioItem.new("feizhou")
.setMetadata("Without the Communist Party, There Would Be No New China", "Brother Hao", "https://youtu.be/5tCMI0uKbBE") .addItemInfo(RadioMetadata.newLAV("没有共产党就没有新中国", "郝歌", RadioMetadata.createYouTubeURI("5tCMI0uKbBE")))
.addItemInfo(RadioMetadata.newLA("没有共产党就没有新中国", "曹火星", RadioMetadata.createYouTubeURI("72tiPR12fLA")).bOriginal())
.addSource(RadioSource.new("video/mp4", [ "avc1.42C015", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.42C015", "mp4a.40.2" ])
.setURI("mxc://glowers.club/fVKJZgWpIHRmilhZLboFXOIK") .setURI("mxc://glowers.club/fVKJZgWpIHRmilhZLboFXOIK")
.addPreview("mxc://glowers.club/EuYQZnqLjRGPMocgqGqtKFpJ", "image/jpg", "366x240")) .addPreview("mxc://glowers.club/EuYQZnqLjRGPMocgqGqtKFpJ", "image/jpg", "366x240"))
@ -1085,9 +1148,9 @@ const mediaItems = [
.addPreview("mxc://glowers.club/qnAjqhGYzBLrEmlhzbxreoUC", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/qnAjqhGYzBLrEmlhzbxreoUC", "image/jpg", "500x500")),
RadioItem.new("piebotnik") RadioItem.new("piebotnik")
.addTrackInfo(RadioMetadata.newLAV("dr robotnik bakes a pie", "KnightOfGames", RadioMetadata.createYouTubeURI("jqKVLZ9wA24")).bOfficial()) .addItemInfo(RadioMetadata.newLAV("dr robotnik bakes a pie", "KnightOfGames", RadioMetadata.createYouTubeURI("jqKVLZ9wA24")).bOfficial())
.addTrackInfo(RadioMetadata.newLAV("In HoNoR oF oUr MoSt FuNnY tIkToK", "jaydencroes", RadioMetadata.createTikTokURI("6803451075920776454", "jaydencroes")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLAV("In HoNoR oF oUr MoSt FuNnY tIkToK", "jaydencroes", RadioMetadata.createTikTokURI("6803451075920776454", "jaydencroes")).setFor(0).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA("Dr. Robotnik's Theme", "中村正人", RadioMetadata.createYouTubeURI("KbhX7XKgkDU")).setFor(1).bOriginal()) .addItemInfo(RadioMetadata.newLA("Dr. Robotnik's Theme", "中村正人", RadioMetadata.createYouTubeURI("KbhX7XKgkDU")).setFor(1).bOriginal())
.addTags([ "ylyl" ]) .addTags([ "ylyl" ])
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4028", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.4D4028", "mp4a.40.2" ])
.setURI("mxc://glowers.club/YUjleEpsnUnjnQPscgAzVPzX") .setURI("mxc://glowers.club/YUjleEpsnUnjnQPscgAzVPzX")
@ -1158,7 +1221,7 @@ const mediaItems = [
.addPreview("mxc://glowers.club/gGvSqctfUJWHEYxYfbZEwQpn", "image/jpg", "416x416")), .addPreview("mxc://glowers.club/gGvSqctfUJWHEYxYfbZEwQpn", "image/jpg", "416x416")),
RadioItem.new("wiphop") RadioItem.new("wiphop")
.addTrackInfo(RadioMetadata.newLA("[SP] WIP HOP", "CodeZombie", RadioMetadata.createSoundcloudURI("wip-hop", "codezombie")).bOfficial()) .addItemInfo(RadioMetadata.newLA("[SP] WIP HOP", "CodeZombie", RadioMetadata.createSoundcloudURI("wip-hop", "codezombie")).bOfficial())
.addTags([ "splash-song" ]) .addTags([ "splash-song" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/CCsidQsdYksctdyCnlvfTDxx") .setURI("mxc://glowers.club/CCsidQsdYksctdyCnlvfTDxx")
@ -1193,60 +1256,60 @@ const mediaItems = [
// TODO: album art edit sucks lol // TODO: album art edit sucks lol
RadioItem.new("partyrockapple") RadioItem.new("partyrockapple")
.addTrackInfo(RadioMetadata.newLA("Party Rock Apple!!", "Triple-Q", RadioMetadata.createBandcampURI("party-rock-apple", "triple-q")).bOfficial()) .addItemInfo(RadioMetadata.newLA("Party Rock Apple!!", "Triple-Q", RadioMetadata.createBandcampURI("party-rock-apple", "triple-q")).bOfficial())
.addTrackInfo(RadioMetadata.newLA("Party Rock Anthem", "LMFAO", RadioMetadata.createYouTubeURI("KQ6zr6kCPj8")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Party Rock Anthem", "LMFAO", RadioMetadata.createYouTubeURI("KQ6zr6kCPj8")).setFor(0).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1440636627)).setFor(0).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1440636627)).setFor(0).bOriginal().bOfficial().bAlt())
.addTrackInfo(RadioMetadata.newLA("Bad Apple!!", "nomico", RadioMetadata.createNicoNicoURI("sm8628149")).setFor(1).bOriginal()) .addItemInfo(RadioMetadata.newLA("Bad Apple!!", "nomico", RadioMetadata.createNicoNicoURI("sm8628149")).setFor(1).bOriginal())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1440636627)).setFor(1).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1440636627)).setFor(1).bOriginal().bOfficial().bAlt())
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/ngNYSFAkLNDIMwlGsnVmwDpS") .setURI("mxc://glowers.club/ngNYSFAkLNDIMwlGsnVmwDpS")
.addPreview("mxc://glowers.club/QemTpdTrUYfKEoaWgrkUChIz", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/QemTpdTrUYfKEoaWgrkUChIz", "image/jpg", "500x500")),
RadioItem.new("fnaf") RadioItem.new("fnaf")
.setMetadata("gangnam style joke", "Kirino Kōsaka", "https://soundcloud.com/kirinokosaka/gangnam-style-joke-1") .setMetadata("gangnam style joke", "Kirino Kōsaka", "https://soundcloud.com/kirinokosaka/gangnam-style-joke-1")
.addTrackInfo(RadioMetadata.newLA("gangnam style joke", "Kirino Kōsaka", RadioMetadata.createSoundcloudURI("gangnam-style-joke-1", "kirinokosaka")).bOfficial()) .addItemInfo(RadioMetadata.newLA("gangnam style joke", "Kirino Kōsaka", RadioMetadata.createSoundcloudURI("gangnam-style-joke-1", "kirinokosaka")).bOfficial())
.addTrackInfo(RadioMetadata.newLA("Les Toreadors Carmen", "Scott Cawthon", RadioMetadata.createYouTubeURI("GZOOx40rE3k")).setFor(0).bOriginal()) .addItemInfo(RadioMetadata.newLA("Les Toreadors Carmen", "Scott Cawthon", RadioMetadata.createYouTubeURI("GZOOx40rE3k")).setFor(0).bOriginal())
.addTrackInfo(RadioMetadata.newLA("Gas Pedal (feat. Iamsu!)", "Sage The Gemini", RadioMetadata.createYouTubeURI("X8LUd51IuiA")).setFor(1).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Gas Pedal (feat. Iamsu!)", "Sage The Gemini", RadioMetadata.createYouTubeURI("X8LUd51IuiA")).setFor(1).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1434900852)).setFor(1).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1434900852)).setFor(1).bOriginal().bOfficial().bAlt())
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/bmzxkzwFHChruYIjszvDrdRj") .setURI("mxc://glowers.club/bmzxkzwFHChruYIjszvDrdRj")
.addPreview("mxc://glowers.club/TkvoCbwQQQAwOzKwaFARDmRH", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/TkvoCbwQQQAwOzKwaFARDmRH", "image/jpg", "500x500")),
RadioItem.new("mail") RadioItem.new("mail")
.addTrackInfo(RadioMetadata.newLA("AOLNATION - Mail", "Personal Pong", RadioMetadata.createSoundcloudURI("aolnation-mail", "personalpong")).bOfficial()) .addItemInfo(RadioMetadata.newLA("AOLNATION - Mail", "Personal Pong", RadioMetadata.createSoundcloudURI("aolnation-mail", "personalpong")).bOfficial())
.addTrackInfo(RadioMetadata.newLA("Sail", "AWOLNATION", RadioMetadata.createYouTubeURI("tgIqecROs5M")).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Sail", "AWOLNATION", RadioMetadata.createYouTubeURI("tgIqecROs5M")).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(422478211)).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(422478211)).bOriginal().bOfficial().bAlt())
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/HEDaNdMsVFzIgYDkymkxnhob") .setURI("mxc://glowers.club/HEDaNdMsVFzIgYDkymkxnhob")
.setPlaybackInfo(RadioPlaybackInfo.new().setPlaybackVolume(.4)) .setPlaybackInfo(RadioPlaybackInfo.new().setPlaybackVolume(.4))
.addPreview("mxc://glowers.club/vBvnVioYcHeIGtvHRAaWWCab", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/vBvnVioYcHeIGtvHRAaWWCab", "image/jpg", "500x500")),
RadioItem.new("thisislazytown") RadioItem.new("thisislazytown")
.addTrackInfo(RadioMetadata.newLA("This Is Lazy Town", "Soundclown Crimes Against Humanity", RadioMetadata.createSoundcloudURI("this-is-lazy-town", "thesoundclowncriminal"))) .addItemInfo(RadioMetadata.newLA("This Is Lazy Town", "Soundclown Crimes Against Humanity", RadioMetadata.createSoundcloudURI("this-is-lazy-town", "thesoundclowncriminal")))
.addTrackInfo(RadioMetadata.newLA("We Are Number One", "Stefán Karl Stefánsson", RadioMetadata.createYouTubeURI("PfYnvDL0Qcw")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("We Are Number One", "Stefán Karl Stefánsson", RadioMetadata.createYouTubeURI("PfYnvDL0Qcw")).setFor(0).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1650060971)).setFor(0).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1650060971)).setFor(0).bOriginal().bOfficial().bAlt())
.addTrackInfo(RadioMetadata.newLA("This Is America", "Childish Gambino", RadioMetadata.createYouTubeURI("VYOjWnS4cMY")).setFor(1).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("This Is America", "Childish Gambino", RadioMetadata.createYouTubeURI("VYOjWnS4cMY")).setFor(1).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1379046390)).setFor(1).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1379046390)).setFor(1).bOriginal().bOfficial().bAlt())
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/XKaBjJLglqeAgkkPgEclMBIS") .setURI("mxc://glowers.club/XKaBjJLglqeAgkkPgEclMBIS")
.addPreview("mxc://glowers.club/KcFqpISqthZSOFhntXAhkWIr", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/KcFqpISqthZSOFhntXAhkWIr", "image/jpg", "500x500")),
// FIXME: No official source for Al-Sawarim. Artist listed on Apple Music but songs are unavailable in Europe // FIXME: No official source for Al-Sawarim. Artist listed on Apple Music but songs are unavailable in Europe
RadioItem.new("isisman") RadioItem.new("isisman")
.addTrackInfo(RadioMetadata.newLA("ISISman", "Triple-Q", RadioMetadata.createBandcampURI("isisman", "triple-q")).bOfficial()) .addItemInfo(RadioMetadata.newLA("ISISman", "Triple-Q", RadioMetadata.createBandcampURI("isisman", "triple-q")).bOfficial())
.addTrackInfo(RadioMetadata.newLA("Gentleman", "PSY", RadioMetadata.createYouTubeURI("ASO_zypdnsQ")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Gentleman", "PSY", RadioMetadata.createYouTubeURI("ASO_zypdnsQ")).setFor(0).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1452841625)).setFor(0).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1452841625)).setFor(0).bOriginal().bOfficial().bAlt())
.addTrackInfo(RadioMetadata.newLA("Saleel al-Sawarim", "Abu Yasir", RadioMetadata.createInternetArchiveURI("saleel_al-sawarim")).setFor(1).bOriginal()) .addItemInfo(RadioMetadata.newLA("Saleel al-Sawarim", "Abu Yasir", RadioMetadata.createInternetArchiveURI("saleel_al-sawarim")).setFor(1).bOriginal())
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/pvVRMPsnBzCadKCSaZdMmluy") .setURI("mxc://glowers.club/pvVRMPsnBzCadKCSaZdMmluy")
.addPreview("mxc://glowers.club/zYqsUaZgAmqNDWymTPhdGJRi", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/zYqsUaZgAmqNDWymTPhdGJRi", "image/jpg", "500x500")),
RadioItem.new("takyonmachine") RadioItem.new("takyonmachine")
.addTrackInfo(RadioMetadata.newLAV("Wintergrips - Takyon Machine (music instrument using a very angry man)", "Uncle Ned", RadioMetadata.createYouTubeURI("gSQyPdYz4f4")).bOfficial()) .addItemInfo(RadioMetadata.newLAV("Wintergrips - Takyon Machine (music instrument using a very angry man)", "Uncle Ned", RadioMetadata.createYouTubeURI("gSQyPdYz4f4")).bOfficial())
.addTrackInfo(RadioMetadata.newLA("Marble Machine", "Wintergatan", RadioMetadata.createYouTubeURI("IvUU8joBb1Q")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Marble Machine", "Wintergatan", RadioMetadata.createYouTubeURI("IvUU8joBb1Q")).setFor(0).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1319433713)).setFor(0).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1319433713)).setFor(0).bOriginal().bOfficial().bAlt())
.addTrackInfo(RadioMetadata.newLA("Takyon (Death Yon)", "Death Grips", RadioMetadata.createYouTubeURI("Htl3XWUhUOM")).setFor(1).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Takyon (Death Yon)", "Death Grips", RadioMetadata.createYouTubeURI("Htl3XWUhUOM")).setFor(1).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createInternetArchiveURI("DeathGrips-ExMilitaryMixtape")).setFor(1).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createInternetArchiveURI("DeathGrips-ExMilitaryMixtape")).setFor(1).bOriginal().bOfficial().bAlt())
.addTags([ "metadata-prefer-id" ]) .addTags([ "metadata-prefer-id" ])
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/khtMKBJAxrJgOQclpdzHDTzp") .setURI("mxc://glowers.club/khtMKBJAxrJgOQclpdzHDTzp")
@ -1256,10 +1319,10 @@ const mediaItems = [
.addPreview("mxc://glowers.club/VcwimKRasxlYLJMqYtJpOJGi", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/VcwimKRasxlYLJMqYtJpOJGi", "image/jpg", "500x500")),
RadioItem.new("ghostpieght") RadioItem.new("ghostpieght")
.addTrackInfo(RadioMetadata.newLAV("Ghost Pieght", "uncrumpled", RadioMetadata.createYouTubeURI("SDQ-Vvdqa3s")).bOfficial()) .addItemInfo(RadioMetadata.newLAV("Ghost Pieght", "uncrumpled", RadioMetadata.createYouTubeURI("SDQ-Vvdqa3s")).bOfficial())
.addTrackInfo(RadioMetadata.newLAV("In HoNoR oF oUr MoSt FuNnY tIkToK", "jaydencroes", RadioMetadata.createTikTokURI("6803451075920776454", "jaydencroes")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLAV("In HoNoR oF oUr MoSt FuNnY tIkToK", "jaydencroes", RadioMetadata.createTikTokURI("6803451075920776454", "jaydencroes")).setFor(0).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA("Ghost Fight", "Toby Fox", RadioMetadata.createBandcampURI("ghost-fight-2", "tobyfox")).setFor(1).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Ghost Fight", "Toby Fox", RadioMetadata.createBandcampURI("ghost-fight-2", "tobyfox")).setFor(1).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1119807147)).setFor(1).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1119807147)).setFor(1).bOriginal().bOfficial().bAlt())
.addTags([ "ylyl" ]) .addTags([ "ylyl" ])
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/bVJrnYxFEUzZnebnClncWYxK") .setURI("mxc://glowers.club/bVJrnYxFEUzZnebnClncWYxK")
@ -1269,43 +1332,46 @@ const mediaItems = [
.addPreview("mxc://glowers.club/OcyarqkcuWucgkXOGtcgpJAa", "image/jpg", "250x250")), .addPreview("mxc://glowers.club/OcyarqkcuWucgkXOGtcgpJAa", "image/jpg", "250x250")),
RadioItem.new("moonbase") RadioItem.new("moonbase")
.addTrackInfo(RadioMetadata.newLA("MOONBASE BABY (ft. Hatsune Miku)", "KnightOfGames", RadioMetadata.createYouTubeURI("MIxowl5YuaQ")).bOfficial()) .setMiscInfo(RadioMiscInfo.new().bExplicit())
.addTrackInfo(RadioMetadata.newLA("INDUSTRY BABY", "Lil Nas X", RadioMetadata.createYouTubeURI("UTHLKHL_whs")).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("MOONBASE BABY (ft. Hatsune Miku)", "KnightOfGames", RadioMetadata.createYouTubeURI("MIxowl5YuaQ")).bOfficial().bExplicit())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1576552565)).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA("INDUSTRY BABY", "Lil Nas X", RadioMetadata.createYouTubeURI("UTHLKHL_whs")).bOriginal().bOfficial().bExplicit())
.addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1576552565)).bOriginal().bOfficial().bExplicit().bAlt())
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/AybVVfwhrAOCWTkGtMeIxkdB") .setURI("mxc://glowers.club/AybVVfwhrAOCWTkGtMeIxkdB")
.addPreview("mxc://glowers.club/NuOKRVCYsxywWAsmRdoSVJfX", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/NuOKRVCYsxywWAsmRdoSVJfX", "image/jpg", "500x500")),
RadioItem.new("blsdm") RadioItem.new("blsdm")
.addTrackInfo(RadioMetadata.newLA("Black Lives (Still Don't) Matter", "Moonman")) .setMiscInfo(RadioMiscInfo.new().bExplicit())
.addItemInfo(RadioMetadata.newLA("Black Lives (Still Don't) Matter", "Moonman").bExplicit().bPseudonym())
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/GfcCntGLSZsYkkzzkaoJrUWx") .setURI("mxc://glowers.club/GfcCntGLSZsYkkzzkaoJrUWx")
.addPreview("mxc://glowers.club/yyWJVkClXhWIFqgayFFtZZDJ", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/yyWJVkClXhWIFqgayFFtZZDJ", "image/jpg", "500x500")),
RadioItem.new("stronger") RadioItem.new("stronger")
.addTrackInfo(RadioMetadata.newLA("♂ Stonebank - How strong you are ♂", "duyui", RadioMetadata.createYouTubeURI("MIxowl5YuaQ")).bOfficial()) .addItemInfo(RadioMetadata.newLA("♂ Stonebank - How strong you are ♂", "duyui", RadioMetadata.createYouTubeURI("MIxowl5YuaQ")).bOfficial())
.addTrackInfo(RadioMetadata.newLA("Stronger", "Stonebank", RadioMetadata.createYouTubeURI("I1NuCWfYeYc")).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Stronger", "Stonebank", RadioMetadata.createYouTubeURI("I1NuCWfYeYc")).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(951790852)).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(951790852)).bOriginal().bOfficial().bAlt())
.addTags([ "gachi" ]) .addTags([ "gachi" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/COBFDSucwknvESlGcXQthuMN") .setURI("mxc://glowers.club/COBFDSucwknvESlGcXQthuMN")
.addPreview("mxc://glowers.club/QnxgSLfTrHUJLeqreUVmCQhO", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/QnxgSLfTrHUJLeqreUVmCQhO", "image/jpg", "500x500")),
RadioItem.new("cbt") RadioItem.new("cbt")
.addTrackInfo(RadioMetadata.newLA("unfinished/abandoned ytpmv projects 2 (feb 2020 - dec 2022)", "KnightOfGames", RadioMetadata.createYouTubeURI("d8FT7CpYMgQ"), "0:00 to 1:59").bOfficial()) .setMiscInfo(RadioMiscInfo.new().bExplicit())
.addTrackInfo(RadioMetadata.newLA("One-Winged Angel (Final Fantasy VII)", "Nobuo Uematsu", RadioMetadata.createYouTubeURI("zkZGFNCS6iQ")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("unfinished/abandoned ytpmv projects 2 (feb 2020 - dec 2022)", "KnightOfGames", RadioMetadata.createYouTubeURI("d8FT7CpYMgQ"), "0:00 to 1:59").bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1439125559)).setFor(0).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA("One-Winged Angel (Final Fantasy VII)", "Nobuo Uematsu", RadioMetadata.createYouTubeURI("zkZGFNCS6iQ")).setFor(0).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA("CocknBallTorture.ogg", "Alabaster Constantine III", RadioMetadata.createWikipediaURI("File:CocknBallTorture.ogg")).setFor(1).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1439125559)).setFor(0).bOriginal().bOfficial().bAlt())
.addItemInfo(RadioMetadata.newLA("CocknBallTorture.ogg", "Alabaster Constantine III", RadioMetadata.createWikipediaURI("File:CocknBallTorture.ogg")).setFor(1).bOriginal().bOfficial())
.addTags([ "metadata-prefer-id" ]) .addTags([ "metadata-prefer-id" ])
.addSource(RadioSource.new("audio/mp3", [ "mp3" ]) .addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/wkZaRVKkHqBCHpjYVQzKvsZs") .setURI("mxc://glowers.club/wkZaRVKkHqBCHpjYVQzKvsZs")
.addPreview("mxc://glowers.club/KgrZIZJKvEnWPWnDukTKaRqR", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/KgrZIZJKvEnWPWnDukTKaRqR", "image/jpg", "500x500")),
RadioItem.new("fu") RadioItem.new("fu")
.addTrackInfo(RadioMetadata.newLAV("unfinished/abandoned ytpmv projects 2 (feb 2020 - dec 2022)", "KnightOfGames", RadioMetadata.createYouTubeURI("d8FT7CpYMgQ"), "3:07 to 3:27").bOfficial()) .addItemInfo(RadioMetadata.newLAV("unfinished/abandoned ytpmv projects 2 (feb 2020 - dec 2022)", "KnightOfGames", RadioMetadata.createYouTubeURI("d8FT7CpYMgQ"), "3:07 to 3:27").bOfficial())
.addTrackInfo(RadioMetadata.newLAV("Darkwing Duck (Turbografx 16) - Angry Video Game Nerd (AVGN)", "Cinemassacre", RadioMetadata.createYouTubeURI("x3cewR_sMYI"), "10:40 to 10:54").setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLAV("Darkwing Duck (Turbografx 16) - Angry Video Game Nerd (AVGN)", "Cinemassacre", RadioMetadata.createYouTubeURI("x3cewR_sMYI"), "10:40 to 10:54").setFor(0).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA("Mtc", "S3RL", RadioMetadata.createYouTubeURI("bO-NaEj2dQ0")).setFor(1).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLA("Mtc", "S3RL", RadioMetadata.createYouTubeURI("bO-NaEj2dQ0")).setFor(1).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(500173662)).setFor(1).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(500173662)).setFor(1).bOriginal().bOfficial().bAlt())
.addTags([ "metadata-prefer-id" ]) .addTags([ "metadata-prefer-id" ])
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/BAGYQxmJGQdjKYnUfufHnvDc") .setURI("mxc://glowers.club/BAGYQxmJGQdjKYnUfufHnvDc")
@ -1315,10 +1381,10 @@ const mediaItems = [
.addPreview("mxc://glowers.club/skHzOJjiHKtFrzeBeVUZnsfh", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/skHzOJjiHKtFrzeBeVUZnsfh", "image/jpg", "500x500")),
RadioItem.new("diamondsword") RadioItem.new("diamondsword")
.addTrackInfo(RadioMetadata.newLAV("unfinished/abandoned ytpmv projects 2 (feb 2020 - dec 2022)", "KnightOfGames", RadioMetadata.createYouTubeURI("d8FT7CpYMgQ"), "3:30 to 3:57").bOfficial()) .addItemInfo(RadioMetadata.newLAV("unfinished/abandoned ytpmv projects 2 (feb 2020 - dec 2022)", "KnightOfGames", RadioMetadata.createYouTubeURI("d8FT7CpYMgQ"), "3:30 to 3:57").bOfficial())
.addTrackInfo(RadioMetadata.newLAV("I Can Swing My Sword! (feat. Terabrite)", "Tobuscus", RadioMetadata.createYouTubeURI("eN7dYDYfvVg")).setFor(0).bOriginal().bOfficial()) .addItemInfo(RadioMetadata.newLAV("I Can Swing My Sword! (feat. Terabrite)", "Tobuscus", RadioMetadata.createYouTubeURI("eN7dYDYfvVg")).setFor(0).bOriginal().bOfficial())
.addTrackInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(518379277)).setFor(0).bOriginal().bOfficial().bAlt()) .addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(518379277)).setFor(0).bOriginal().bOfficial().bAlt())
.addTrackInfo(RadioMetadata.newLA("Track 26 (Plantation)", "天谷大輔", RadioMetadata.createYouTubeURI("aHtWKbR_P-c")).setFor(1).bOriginal()) .addItemInfo(RadioMetadata.newLA("Track 26 (Plantation)", "天谷大輔", RadioMetadata.createYouTubeURI("aHtWKbR_P-c")).setFor(1).bOriginal())
.addTags([ "metadata-prefer-id" ]) .addTags([ "metadata-prefer-id" ])
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ]) .addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/LpzkeoSVxfFBPYCcVIRawREk") .setURI("mxc://glowers.club/LpzkeoSVxfFBPYCcVIRawREk")
@ -1327,6 +1393,108 @@ const mediaItems = [
.setURI("mxc://glowers.club/qsxMSogWbxDJOTpWetgcyqfs") .setURI("mxc://glowers.club/qsxMSogWbxDJOTpWetgcyqfs")
.addPreview("mxc://glowers.club/vmwNdqdALTzZlcZgpgXzoBmN", "image/jpg", "500x500")), .addPreview("mxc://glowers.club/vmwNdqdALTzZlcZgpgXzoBmN", "image/jpg", "500x500")),
RadioItem.new("NIGGER")
.setMiscInfo(RadioMiscInfo.new().bExplicit())
.addItemInfo(RadioMetadata.newLAV("offensive 音mad", "KrazedDonut", RadioMetadata.createYouTubeURI("glDecH2ALUo")).bOfficial())
.addItemInfo(RadioMetadata.newLAV("With Apologies to Jesse Jackson (S11E1)", "South Park", RadioMetadata.createYouTubeURI("3YC1_RUuzWg")).setFor(0).bOriginal().bExplicit())
.addItemInfo(RadioMetadata.newLA("【疾走アレンジ】砕月~ぺったんファイヤー☆", "さわわ@疾走の人", RadioMetadata.createNicoNicoURI("sm19473562")).setFor(1).bOriginal().bOfficial())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/kZgNCAbaJycuebFjrGjWRTEX")
.addPreview("mxc://glowers.club/SBNLmftPiqAThhqYEosbQBzH", "image/jpg", "800x450"))
.addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/BifXjxnFEpJqoPBlEIUeJebD")
.addPreview("mxc://glowers.club/ZCOzqccZAuiEaYpUnkWMmDti", "image/jpg", "450x450")),
RadioItem.new("shutupkyle")
.addItemInfo(RadioMetadata.newLA("Peter Beats Up Kyle Vocoded to Crab Rave", "Amplify", RadioMetadata.createYouTubeURI("6RXNzSbCZ5U")).bOfficial())
.addItemInfo(RadioMetadata.newLV(null, "Family Guy", RadioMetadata.createYouTubeURI("0TBlyr7gUBc")).setFor(0).bOriginal())
.addTags([ "misc" ])
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/oJHYSoVkcvwfbRzuEOsjkzfN")
.addPreview("mxc://glowers.club/dlCqoJJRzhlSBBYuYhyCkTKP", "image/jpg", "480x360"))
.addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/NTyheUZmvVEEumjfAAWSMNPp")
.addPreview("mxc://glowers.club/JirPlcPtkKUKAgxFfxzUYkhQ", "image/jpg", "259x259")),
RadioItem.new("emergencypie")
.addItemInfo(RadioMetadata.newLAV("funny pie ytpmv 2", "KrazedDonut", RadioMetadata.createYouTubeURI("IpW1lHLN-SQ")).bOfficial())
.addItemInfo(RadioMetadata.newLAV("In HoNoR oF oUr MoSt FuNnY tIkToK", "jaydencroes", RadioMetadata.createTikTokURI("6803451075920776454", "jaydencroes")).setFor(0).bOriginal().bOfficial())
.addItemInfo(RadioMetadata.newLA("Stage 4-2 (Emergency Avoidance)", "増子司", RadioMetadata.createYouTubeURI("CFdW4abh69U")).setFor(1).bOriginal())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/VFwITHQRDUeHeqWShuSQvVOR")
.addPreview("mxc://glowers.club/OwnYCvMWJOZVmNbBZRPjcRtY", "image/jpg", "800x450"))
.addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/OAchunTPIXjGSJMeAwJUYJlx")
.addPreview("mxc://glowers.club/VlLkWDBhkHwtdzyihjssmHoL", "image/jpg", "350x350")),
RadioItem.new("sexed")
.addItemInfo(RadioMetadata.newLAV("sex ed ytpmv", "KrazedDonut", RadioMetadata.createYouTubeURI("XM4VcOKvg1U")).bOfficial())
.addItemInfo(RadioMetadata.newLAV("No Laughing Part 2 (S2E19)", "Beavis and Butt-Head", RadioMetadata.createYouTubeURI("7hfKrBd34bE")).setFor(0).bOriginal())
.addItemInfo(RadioMetadata.newLA("Treasure Trove Cove", "Grant Kirkhope", RadioMetadata.createYouTubeURI("5DQfnj33-QU")).setFor(1).bOriginal())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/RteFUtxPuMscWlROFgwTuHSM")
.addPreview("mxc://glowers.club/HXFwEJIBzhvTscjXjeqKOHBR", "image/jpg", "793x600"))
.addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/XdiNyKBZgMFnhTsYBscroXWQ")
.addPreview("mxc://glowers.club/RPkayZSiHWFIFgslxZDtACij", "image/jpg", "500x500")),
RadioItem.new("eternalsummer")
.addItemInfo(RadioMetadata.newLAV("Goodbye Vine, Hello TikTok", "NoahThePro", RadioMetadata.createYouTubeURI("lxIp370KaWw")).bOfficial())
.addItemInfo(RadioMetadata.newLAV("In HoNoR oF oUr MoSt FuNnY tIkToK", "jaydencroes", RadioMetadata.createTikTokURI("6803451075920776454", "jaydencroes")).setFor(0).bOriginal().bOfficial())
.addItemInfo(RadioMetadata.newLA("Goodbye Summer, Hello Winter", "FantoMenK", RadioMetadata.createYouTubeURI("6pKDsdzODv0")).setFor(1).bOriginal().bOfficial())
.addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(426984905)).setFor(1).bOriginal().bOfficial().bAlt())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/BbQvjOiIVsLGmuhPadpWJccr")
.addPreview("mxc://glowers.club/MtgDrXUhQNnoZFRlHbfJrtCO", "image/jpg", "800x450"))
.addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/ErRgdlBDaOLxSBblNCoGNboe")
.addPreview("mxc://glowers.club/QvSUtxdTfIgogJJNfNrSTgVw", "image/jpg", "500x500")),
RadioItem.new("stereopie")
.addItemInfo(RadioMetadata.newLAV("TikToks that I committed tax fraud with (TRY NOT TO LAUGH!)", "LNG", RadioMetadata.createYouTubeURI("kpPzCEpN3No")).bOfficial())
.addItemInfo(RadioMetadata.newLAV("In HoNoR oF oUr MoSt FuNnY tIkToK", "jaydencroes", RadioMetadata.createTikTokURI("6803451075920776454", "jaydencroes")).setFor(0).bOriginal().bOfficial())
.addItemInfo(RadioMetadata.newLA("Stereo Love", "Edward Maya", RadioMetadata.createYouTubeURI("p-Z3YrHJ1sU")).setFor(1).bOriginal().bOfficial())
.addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(351996354)).setFor(1).bOriginal().bOfficial().bAlt())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/HiBIQpUfmijfOylsPdSrkdlj")
.addPreview("mxc://glowers.club/RHReavQybpDlkAhZBEYqZPkF", "image/jpg", "800x450"))
.addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/DGCmxthQsYFXdDfcXMbwwlkf")
.addPreview("mxc://glowers.club/KlymZPPhXopZXmmoFrnBUxHp", "image/jpg", "500x500")),
RadioItem.new("echtermination")
.addItemInfo(RadioMetadata.newLAV("Jontober 19th: echTERMINATION", "KrazedDonut", RadioMetadata.createYouTubeURI("sgdJLXUeaIM")).bOfficial())
.addItemInfo(RadioMetadata.newLAV("Area 26A (Extermination)", "安井洋介", RadioMetadata.createYouTubeURI("w_j2u9A_1P0")).bOriginal())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/ZQqbMlxGMElwFcspNRQEMPlk")
.addPreview("mxc://glowers.club/hugzqYBVrLCiuuzRsuJUbfMn", "image/jpg", "800x450"))
.addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/qdQhnOJlyrwVrACNaKFQmBAb")
.addPreview("mxc://glowers.club/UwhhKcIhyuKTUXGqECMvpUpF", "image/jpg", "500x500")),
RadioItem.new("jonumiru")
.addItemInfo(RadioMetadata.newLAV("Jontober 30th - JONUMIRU", "JoeCrapsArt", RadioMetadata.createYouTubeURI("o_cdvj8z8AY")).bOfficial())
.addItemInfo(RadioMetadata.newLAV("チルミルチルノ", "Conagusuri", RadioMetadata.createInternetArchiveURI("chirumiru-cirno")).bOriginal())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/LQzEXCCYoQrpZxnlHliWAyJG")
.addPreview("mxc://glowers.club/rFxzkmcazQFzIuTiwZOWlVOP", "image/jpg", "800x600"))
.addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/drGNuFgYuOLGFOcTdGbplHjg")
.addPreview("mxc://glowers.club/WAMOSUPXcaBvgAmlpWbBQleO", "image/jpg", "500x500")),
RadioItem.new("rickbuster")
.addItemInfo(RadioMetadata.newLAV("rick buster", "KrazedDonut", RadioMetadata.createYouTubeURI("JsZw5aNZoas")).bOfficial())
.addItemInfo(RadioMetadata.newLAV("Never Gonna Give You Up", "Rick Astley", RadioMetadata.createYouTubeURI("dQw4w9WgXcQ")).setFor(0).bOriginal().bOfficial())
.addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1558534271)).setFor(0).bOriginal().bOfficial().bAlt())
.addItemInfo(RadioMetadata.newLA("Rude Buster", "Toby Fox", RadioMetadata.createYouTubeURI("GPL5Hkl11IQ")).setFor(1).bOriginal().bOfficial())
.addItemInfo(RadioMetadata.newLA(null, null, RadioMetadata.createAppleMusicURI(1443475721)).setFor(1).bOriginal().bOfficial().bAlt())
.addSource(RadioSource.new("video/mp4", [ "avc1.4D4029", "mp4a.40.2" ])
.setURI("mxc://glowers.club/QvTUdwqkAhCkyUKmawmeyulU")
.addPreview("mxc://glowers.club/WQnVFfEGtkPPZfHQnceGewvH", "image/jpg", "800x600"))
.addSource(RadioSource.new("audio/mp3", [ "mp3" ])
.setURI("mxc://glowers.club/FgYLPZllWHGsjXOafXTKZEWl")
.addPreview("mxc://glowers.club/pzlFVETfNbFvCvpoafFZJZPv", "image/jpg", "250x250")),
].filter(Boolean).map((a,i) => a.serialize(i)).sort((a,b) => a.id.localeCompare(b.id)) ].filter(Boolean).map((a,i) => a.serialize(i)).sort((a,b) => a.id.localeCompare(b.id))
const lintCodecWarnings = { const lintCodecWarnings = {