arimelody.me/api/v1/music/music.go
ari melody cddd5656f2 some cleanup, attempting to fix htmx bug
Signed-off-by: ari melody <ari@arimelody.me>
2024-08-31 01:52:27 +01:00

639 lines
19 KiB
Go

package music
import (
"fmt"
"time"
)
var ari = Artist{
Id: "arimelody",
Name: "ari melody",
Website: "https://arimelody.me",
}
var mellodoot = Artist{
Id: "mellodoot",
Name: "mellodoot",
Website: "https://mellodoot.com",
}
var zaire = Artist{
Id: "zaire",
Name: "zaire",
Website: "https://supitszaire.com",
}
var mae = Artist{
Id: "maetaylor",
Name: "mae taylor",
Website: "https://mae.wtf",
}
var loudar = Artist{
Id: "loudar",
Name: "Loudar",
Website: "https://alex.targoninc.com",
}
var red = Artist {
Id: "smoljorb",
Name: "smoljorb",
}
func make_date_work(date string) time.Time {
res, err := time.Parse("2-Jan-2006", date)
if err != nil {
fmt.Printf("somehow we failed to parse %s! falling back to epoch :]\n", date)
return time.Unix(0, 0)
}
return res
}
var placeholders = []MusicRelease{
{
Id: "test",
Title: "test album",
// Type: "album",
ReleaseDate: make_date_work("18-Mar-2024"),
Buyname: "go get it!!",
Buylink: "https://arimelody.me/",
Links: []MusicLink{
{
Name: "youtube",
Url: "https://youtu.be/dQw4w9WgXcQ",
},
},
Description:
`Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas viverra ligula interdum, tempor metus venenatis, tempus est. Praesent semper vulputate nulla, a venenatis libero elementum id. Proin maximus aliquet accumsan. Integer eu orci congue, ultrices leo sed, maximus risus. Integer laoreet non urna non accumsan. Cras ut sollicitudin justo. Vivamus eu orci tempus, aliquet est rhoncus, tempus neque. Aliquam tempor sit amet nibh sed tempus. Nulla vitae bibendum purus. Sed in mi enim. Nam pharetra enim lorem, vel tristique diam malesuada a. Duis dignissim nunc mi, id semper ex tincidunt a. Sed laoreet consequat lacus a consectetur. Nulla est diam, tempus eget lacus ullamcorper, tincidunt faucibus ex. Duis consectetur felis sit amet ante fermentum interdum. Sed pulvinar laoreet tellus.`,
Credits: []MusicCredit{
{
Artist: &ari,
Role: "having the swag",
},
{
Artist: &zaire,
Role: "having the swag",
},
{
Artist: &mae,
Role: "having the swag",
},
{
Artist: &loudar,
Role: "having the swag",
},
},
Lyrics:
`(call me when you fall asleep)
(all in, let me ride the wave)
(okay!)
call me
when you fall asleep
(fall asleep, call on me)
(oh babe, why don'cha)
yeah, it's how you feel
when the stars come out
(you're never gonna get it)
(while you've lost yourself in a rut)
all in
let me ride the wave
(i'm so stressed)
(i need to fly out of this place)
yeah, 'cause we can drift
'til the break of dawn
(i think i'll be okay)
(if i can sleep today)
(switch it up!)
slumber party at 2AM
could think of nothing more perfect
than a moonlight jam
yeah, i've got no sleep
but I'm free today
yeah you could even say
that i'm free2play
you ain't here by my side
and i try to get by
with my head out the window
get a listen of this
the whispers of the trees
the crickets do be chirpin'
i guess that's how it goes
(call me when you fall asleep)
(all in, let me ride the wave)
(let's go!)
call me
when you fall asleep
(fall asleep, call on me)
(oh babe, why don'cha)
yeah, it's how you feel
when the stars come out
(you're never gonna get it)
(while you've lost yourself in a rut)
all in
let me ride the wave
(i'm so stressed)
(i need to fly out of this place)
yeah, 'cause we can drift
'til the break of dawn
(i think i'll be okay)
(if i can sleep today)
yeah... woo!
(BASS)
oh man...
i'm just sitting here
feeling the breeze
hanging out
listening to the crickets
and the trees in the breeze
living my best life`,
},
// {
// Id: "free2play",
// Title: "free2play",
// Type: "upcoming",
// ReleaseDate: make_date_work("17-Mar-2024"),
// Buyname: "pre-order",
// Buylink: "https://arimelody.me/",
// Description: "hello from your local SPACEGIRL! 💫",
// Credits: []AlbumCredit{
// AlbumCredit{
// Artist: &ari,
// Role: "vocals",
// },
// AlbumCredit{
// Artist: &ari,
// Role: "production",
// },
// AlbumCredit{
// Artist: &ari,
// Role: "artwork",
// },
// },
// },
{
Id: "dream",
Title: "Dream",
Type: "single",
ReleaseDate: make_date_work("11-Nov-2022"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_Dream.webp",
Buylink: "https://arimelody.bandcamp.com/track/dream",
Links: []MusicLink{
{
Name: "spotify",
Url: "https://open.spotify.com/album/5talRpqzjExP1w6j5LFIAh",
},
{
Name: "apple music",
Url: "https://music.apple.com/ie/album/dream-single/1650037132",
},
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/dream2022",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=nfFgtMuYAx8",
},
},
Description: "living the dream 🌌 ✨",
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "vocals",
},
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &mellodoot,
Role: "artwork",
},
},
Lyrics:
`the truth is what you make of it
in the end, what you spend, is the end of it
when you're lost in the life
the life that you created on your own
i'm becoming one
with the soul that i see in the mirror
blending one and whole
this time, i'm real
i'm living the dream
i'm living my best life
running out of time
i gotta make this right
whenever you rise
whenever you come down
fall away from the light
and then fall into our arms
the truth is what you make of it
in the end, what you spend, is the end of it
when you're lost in the life
the life that you created on your own
i'm becoming one
with the soul that i see in the mirror
blending one and whole
this time, i'm real`,
},
{
Id: "gomyway",
Title: "Go My Way",
Type: "single",
ReleaseDate: make_date_work("24-Jan-2021"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_Go_My_Way.webp",
Buylink: "https://arimelody.bandcamp.com/track/go-my-way",
Links: []MusicLink{
{
Name: "spotify",
Url: "https://open.spotify.com/album/35WNtxK12IDHCUoXHDePGE",
},
{
Name: "apple music",
Url: "https://music.apple.com/ie/album/go-my-way-single/1547145699",
},
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/go-my-way",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=CNptNQdLkl0",
},
},
Description: "hey! go my way! 💥 ✨",
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "vocals",
},
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &mellodoot,
Role: "artwork",
},
},
},
{
Id: "rowboat",
Title: "Rowboat",
Type: "single",
ReleaseDate: make_date_work("12-Mar-2020"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_Rowboat.webp",
Buylink: "https://arimelody.bandcamp.com/track/rowboat",
Links: []MusicLink{
{
Name: "spotify",
Url: "https://open.spotify.com/album/7jyqJFVKaENCPm58v5O44Y",
},
{
Name: "apple music",
Url: "https://music.apple.com/ie/album/rowboat-single/1502608714",
},
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/rowboat",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=uOQyILDTzME",
},
},
Description: "let's take a trip. i've got a goddamn boat ⛵️",
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "vocals",
},
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &mellodoot,
Role: "artwork",
},
},
},
{
Id: "helloworld",
Title: "Hello World",
Type: "single",
ReleaseDate: make_date_work("25-Dec-2019"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_Hello_World.webp",
Buylink: "https://arimelody.bandcamp.com/track/hello-world",
Links: []MusicLink{
{
Name: "spotify",
Url: "https://open.spotify.com/album/3LbElPXD4dsDumttGBuYxx",
},
{
Name: "apple music",
Url: "https://music.apple.com/ie/album/hello-world-single/1491880155",
},
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/helloworld",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=CQhlRsl0Mjk",
},
},
Description: "we'll dawn a new frontier! 👾",
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "vocals",
},
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &mellodoot,
Role: "artwork",
},
},
},
{
Id: "sine",
Title: "Sine",
Type: "single",
ReleaseDate: make_date_work("07-Dec-2019"),
Artwork: "https://mellodoot.com/img/music_artwork/zaire_-_Sine_ft._mellodoot.webp",
Links: []MusicLink{
{
Name: "spotify",
Url: "https://open.spotify.com/album/4WPuaJtTV7z86KubD9Rnmk",
},
{
Name: "apple music",
Url: "https://music.apple.com/us/album/sine-feat-mellodoot/1489163020",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=z1H1s6VRnyY",
},
},
Credits: []MusicCredit{
{
Artist: &zaire,
Role: "production",
},
{
Artist: &mellodoot,
Role: "production",
},
},
},
{
Id: "10",
Title: "10",
Type: "single",
ReleaseDate: make_date_work("29-Sep-2019"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_10.webp",
Buylink: "https://arimelody.bandcamp.com/track/10",
Links: []MusicLink{
{
Name: "spotify",
Url: "https://open.spotify.com/album/2x4gbACfDm99unaXpLXyj0",
},
{
Name: "apple music",
Url: "https://music.apple.com/ie/album/ten-single/1483193041",
},
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/ten",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=C7WP5L2BK4U",
},
},
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &mellodoot,
Role: "artwork",
},
},
},
{
Id: "mad",
Title: "MAD",
Type: "single",
ReleaseDate: make_date_work("03-Nov-2018"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_MAD.webp",
Buylink: "https://arimelody.bandcamp.com/track/mad",
Links: []MusicLink{
{
Name: "spotify",
Url: "https://open.spotify.com/album/59nFXw1WNoRhXou7lXqBZd",
},
{
Name: "apple music",
Url: "https://music.apple.com/ie/album/mad/1441233120",
},
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/mad",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=OB-Pk6p6mfQ",
},
},
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "vocals",
},
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &mellodoot,
Role: "artwork",
},
},
},
{
Id: "welcomingparty",
Title: "Welcoming Party",
Type: "album",
ReleaseDate: make_date_work("01-Nov-2018"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_Welcoming_Party.webp",
Buylink: "https://arimelody.bandcamp.com/album/welcoming-party",
Links: []MusicLink{
{
Name: "spotify",
Url: "https://open.spotify.com/album/3EPa4HZpkISQVRAks64LfR",
},
{
Name: "apple music",
Url: "https://music.apple.com/ie/album/welcoming-party-ep/1441161424",
},
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/sets/welcoming-party",
},
{
Name: "youtube",
Url: "https://www.youtube.com/playlist?list=PLBG_QJeOHrB5EeniiXBIlHpoQbD6CUJca",
},
},
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &mellodoot,
Role: "artwork",
},
},
// "tracks": [
// {
// "title": "Paradigm"
// },
// {
// "title": "Mitrio"
// },
// {
// "title": "Level One"
// },
// {
// "title": "Cubes"
// },
// {
// "title": "Aria"
// }
// ]
},
{
Id: "howtheyknow2018",
Title: "How They Know (2018)",
Type: "single",
ReleaseDate: make_date_work("27-Feb-2018"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_How_They_Know_2018.webp",
Buyname: "free download",
Buylink: "https://arimelody.bandcamp.com/track/how-they-know-2018-remastered",
Links: []MusicLink{
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/how-they-know-2018",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=mbAgSwCzyMw",
},
},
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &red,
Role: "artwork",
Meta: true,
},
},
},
{
Id: "howtheyknow",
Title: "How They Know",
Type: "single",
ReleaseDate: make_date_work("29-Nov-2017"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_How_They_Know.webp",
Buyname: "free download",
Buylink: "https://arimelody.bandcamp.com/track/how-they-know",
Links: []MusicLink{
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/how-they-know",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=q6lzKuG1Emo",
},
},
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &red,
Role: "artwork",
Meta: true,
},
},
},
{
Id: "traveller",
Title: "Traveller",
Type: "single",
ReleaseDate: make_date_work("24-Sep-2017"),
Artwork: "https://mellodoot.com/img/music_artwork/mellodoot_-_Traveller.webp",
Buyname: "free download",
Buylink: "https://arimelody.bandcamp.com/track/traveller",
Links: []MusicLink{
{
Name: "soundcloud",
Url: "https://soundcloud.com/arimelody/traveller",
},
{
Name: "youtube",
Url: "https://www.youtube.com/watch?v=ZTO7IQZ-yXA",
},
},
Description: "an 8-bit expedition! ⚔️🛡️",
Credits: []MusicCredit{
{
Artist: &mellodoot,
Role: "production",
},
{
Artist: &mellodoot,
Role: "artwork",
},
},
},
}
func GetRelease(id string) (MusicRelease, bool) {
for _, album := range placeholders {
if album.Id == id {
return album, true
}
}
return MusicRelease{}, false
}
func QueryAllMusic() ([]MusicRelease) {
return placeholders
}
func QueryAllArtists() ([]Artist) {
return []Artist{ ari, mellodoot, zaire, mae, loudar, red }
}