use once_cell::sync::Lazy; use std::collections::HashMap; use musichoard::collection::{ album::{Album, AlbumId, AlbumMeta, AlbumPrimaryType, AlbumSecondaryType, AlbumSeq}, artist::{Artist, ArtistId, ArtistInfo, ArtistMeta}, musicbrainz::{MbArtistRef, MbRefOption}, track::{Track, TrackFormat, TrackId, TrackNum, TrackQuality}, Collection, }; pub static COLLECTION: Lazy> = Lazy::new(|| -> Collection { vec![ Artist { meta: ArtistMeta { id: ArtistId { name: String::from("Аркона"), }, sort: Some(String::from("Arkona")), info: ArtistInfo { musicbrainz: MbRefOption::Some(MbArtistRef::from_url_str( "https://musicbrainz.org/artist/baad262d-55ef-427a-83c7-f7530964f212" ).unwrap()), properties: HashMap::from([ (String::from("MusicButler"), vec![ String::from("https://www.musicbutler.io/artist-page/283448581"), ]), (String::from("Bandcamp"), vec![ String::from("https://arkonamoscow.bandcamp.com/"), ]), (String::from("Qobuz"), vec![String::from( "https://www.qobuz.com/nl-nl/interpreter/arkona/download-streaming-albums", )]), ]), }, }, albums: vec![Album { meta: AlbumMeta { id: AlbumId { title: String::from("Slovo"), }, date: 2011.into(), seq: AlbumSeq(0), musicbrainz: MbRefOption::None, primary_type: Some(AlbumPrimaryType::Album), secondary_types: vec![], }, tracks: vec![ Track { id: TrackId { title: String::from("Az’"), }, number: TrackNum(1), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 992, }, }, Track { id: TrackId { title: String::from("Arkaim"), }, number: TrackNum(2), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1061, }, }, Track { id: TrackId { title: String::from("Bol’no mne"), }, number: TrackNum(3), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1004, }, }, Track { id: TrackId { title: String::from("Leshiy"), }, number: TrackNum(4), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1077, }, }, Track { id: TrackId { title: String::from("Zakliatie"), }, number: TrackNum(5), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1041, }, }, Track { id: TrackId { title: String::from("Predok"), }, number: TrackNum(6), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 756, }, }, Track { id: TrackId { title: String::from("Nikogda"), }, number: TrackNum(7), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1059, }, }, Track { id: TrackId { title: String::from("Tam za tumanami"), }, number: TrackNum(8), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1023, }, }, Track { id: TrackId { title: String::from("Potomok"), }, number: TrackNum(9), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 838, }, }, Track { id: TrackId { title: String::from("Slovo"), }, number: TrackNum(10), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1028, }, }, Track { id: TrackId { title: String::from("Odna"), }, number: TrackNum(11), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 991, }, }, Track { id: TrackId { title: String::from("Vo moiom sadochke…"), }, number: TrackNum(12), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 919, }, }, Track { id: TrackId { title: String::from("Stenka na stenku"), }, number: TrackNum(13), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1039, }, }, Track { id: TrackId { title: String::from("Zimushka"), }, number: TrackNum(14), artist: vec![String::from("Аркона")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 974, }, }, ], }], }, Artist { meta: ArtistMeta { id: ArtistId { name: String::from("Eluveitie"), }, sort: None, info: ArtistInfo { musicbrainz: MbRefOption::Some(MbArtistRef::from_url_str( "https://musicbrainz.org/artist/8000598a-5edb-401c-8e6d-36b167feaf38" ).unwrap()), properties: HashMap::from([ (String::from("MusicButler"), vec![ String::from("https://www.musicbutler.io/artist-page/269358403"), ]), (String::from("Qobuz"), vec![String::from( "https://www.qobuz.com/nl-nl/interpreter/eluveitie/download-streaming-albums", )]), ]), }, }, albums: vec![ Album { meta: AlbumMeta { id: AlbumId { title: String::from("Vên [re‐recorded]"), }, date: 2004.into(), seq: AlbumSeq(0), musicbrainz: MbRefOption::None, primary_type: Some(AlbumPrimaryType::Ep), secondary_types: vec![], }, tracks: vec![ Track { id: TrackId { title: String::from("Verja Urit an Bitus"), }, number: TrackNum(1), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 961, }, }, Track { id: TrackId { title: String::from("Uis Elveti"), }, number: TrackNum(2), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1067, }, }, Track { id: TrackId { title: String::from("Ôrô"), }, number: TrackNum(3), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 933, }, }, Track { id: TrackId { title: String::from("Lament"), }, number: TrackNum(4), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1083, }, }, Track { id: TrackId { title: String::from("Druid"), }, number: TrackNum(5), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1073, }, }, Track { id: TrackId { title: String::from("Jêzaïg"), }, number: TrackNum(6), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1002, }, }, ], }, Album { meta: AlbumMeta { id: AlbumId { title: String::from("Slania"), }, date: 2008.into(), seq: AlbumSeq(0), musicbrainz: MbRefOption::None, primary_type: Some(AlbumPrimaryType::Album), secondary_types: vec![], }, tracks: vec![ Track { id: TrackId { title: String::from("Samon"), }, number: TrackNum(1), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 953, }, }, Track { id: TrackId { title: String::from("Primordial Breath"), }, number: TrackNum(2), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1103, }, }, Track { id: TrackId { title: String::from("Inis Mona"), }, number: TrackNum(3), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1117, }, }, Track { id: TrackId { title: String::from("Gray Sublime Archon"), }, number: TrackNum(4), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1092, }, }, Track { id: TrackId { title: String::from("Anagantios"), }, number: TrackNum(5), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 923, }, }, Track { id: TrackId { title: String::from("Bloodstained Ground"), }, number: TrackNum(6), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1098, }, }, Track { id: TrackId { title: String::from("The Somber Lay"), }, number: TrackNum(7), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1068, }, }, Track { id: TrackId { title: String::from("Slanias Song"), }, number: TrackNum(8), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1098, }, }, Track { id: TrackId { title: String::from("Giamonios"), }, number: TrackNum(9), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 825, }, }, Track { id: TrackId { title: String::from("Tarvos"), }, number: TrackNum(10), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1115, }, }, Track { id: TrackId { title: String::from("Calling the Rain"), }, number: TrackNum(11), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1096, }, }, Track { id: TrackId { title: String::from("Elembivos"), }, number: TrackNum(12), artist: vec![String::from("Eluveitie")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1059, }, }, ], }, ], }, Artist { meta: ArtistMeta { id: ArtistId { name: String::from("Frontside"), }, sort: None, info: ArtistInfo { musicbrainz: MbRefOption::Some(MbArtistRef::from_url_str( "https://musicbrainz.org/artist/3a901353-fccd-4afd-ad01-9c03f451b490" ).unwrap()), properties: HashMap::from([ (String::from("MusicButler"), vec![ String::from("https://www.musicbutler.io/artist-page/826588800"), ]), (String::from("Qobuz"), vec![String::from( "https://www.qobuz.com/nl-nl/interpreter/frontside/download-streaming-albums", )]), ]), }, }, albums: vec![Album { meta: AlbumMeta { id: AlbumId { title: String::from("…nasze jest królestwo, potęga i chwała na wieki…"), }, date: 2001.into(), seq: AlbumSeq(0), musicbrainz: MbRefOption::None, primary_type: Some(AlbumPrimaryType::Album), secondary_types: vec![], }, tracks: vec![ Track { id: TrackId { title: String::from("Intro = Chaos"), }, number: TrackNum(1), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1024, }, }, Track { id: TrackId { title: String::from("Modlitwa"), }, number: TrackNum(2), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1073, }, }, Track { id: TrackId { title: String::from("Długa droga z piekła"), }, number: TrackNum(3), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1058, }, }, Track { id: TrackId { title: String::from("Synowie ognia"), }, number: TrackNum(4), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1066, }, }, Track { id: TrackId { title: String::from("1902"), }, number: TrackNum(5), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1074, }, }, Track { id: TrackId { title: String::from("Krew za krew"), }, number: TrackNum(6), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1080, }, }, Track { id: TrackId { title: String::from("Kulminacja"), }, number: TrackNum(7), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 992, }, }, Track { id: TrackId { title: String::from("Judasz"), }, number: TrackNum(8), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1018, }, }, Track { id: TrackId { title: String::from("Więzy"), }, number: TrackNum(9), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1077, }, }, Track { id: TrackId { title: String::from("Zagubione dusze"), }, number: TrackNum(10), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1033, }, }, Track { id: TrackId { title: String::from("Linia życia"), }, number: TrackNum(11), artist: vec![String::from("Frontside")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 987, }, }, ], }], }, Artist { meta: ArtistMeta { id: ArtistId { name: String::from("Heaven’s Basement"), }, sort: Some(String::from("Heaven’s Basement")), info: ArtistInfo { musicbrainz: MbRefOption::Some(MbArtistRef::from_url_str( "https://musicbrainz.org/artist/c2c4d56a-d599-4a18-bd2f-ae644e2198cc" ).unwrap()), properties: HashMap::from([ (String::from("MusicButler"), vec![ String::from("https://www.musicbutler.io/artist-page/291158685"), ]), (String::from("Qobuz"), vec![String::from( "https://www.qobuz.com/nl-nl/interpreter/heaven-s-basement/download-streaming-albums", )]), ]), }, }, albums: vec![Album { meta: AlbumMeta { id: AlbumId { title: String::from("Paper Plague"), }, date: 2011.into(), seq: AlbumSeq(0), musicbrainz: MbRefOption::None, primary_type: None, secondary_types: vec![], }, tracks: vec![ Track { id: TrackId { title: String::from("Paper Plague"), }, number: TrackNum(0), artist: vec![String::from("Heaven’s Basement")], quality: TrackQuality { format: TrackFormat::Mp3, bitrate: 320, }, }, ], }, Album { meta: AlbumMeta { id: AlbumId { title: String::from("Unbreakable"), }, date: 2011.into(), seq: AlbumSeq(0), musicbrainz: MbRefOption::None, primary_type: Some(AlbumPrimaryType::Album), secondary_types: vec![], }, tracks: vec![ Track { id: TrackId { title: String::from("Unbreakable"), }, number: TrackNum(1), artist: vec![String::from("Heaven’s Basement")], quality: TrackQuality { format: TrackFormat::Mp3, bitrate: 208, }, }, Track { id: TrackId { title: String::from("Guilt Trips and Sins"), }, number: TrackNum(2), artist: vec![String::from("Heaven’s Basement")], quality: TrackQuality { format: TrackFormat::Mp3, bitrate: 205, }, }, Track { id: TrackId { title: String::from("The Long Goodbye"), }, number: TrackNum(3), artist: vec![String::from("Heaven’s Basement")], quality: TrackQuality { format: TrackFormat::Mp3, bitrate: 227, }, }, Track { id: TrackId { title: String::from("Close Encounters"), }, number: TrackNum(4), artist: vec![String::from("Heaven’s Basement")], quality: TrackQuality { format: TrackFormat::Mp3, bitrate: 213, }, }, Track { id: TrackId { title: String::from("Paranoia"), }, number: TrackNum(5), artist: vec![String::from("Heaven’s Basement")], quality: TrackQuality { format: TrackFormat::Mp3, bitrate: 218, }, }, Track { id: TrackId { title: String::from("Let Me Out of Here"), }, number: TrackNum(6), artist: vec![String::from("Heaven’s Basement")], quality: TrackQuality { format: TrackFormat::Mp3, bitrate: 207, }, }, Track { id: TrackId { title: String::from("Leeches"), }, number: TrackNum(7), artist: vec![String::from("Heaven’s Basement")], quality: TrackQuality { format: TrackFormat::Mp3, bitrate: 225, }, }, ], }], }, Artist { meta: ArtistMeta { id: ArtistId { name: String::from("Metallica"), }, sort: None, info: ArtistInfo { musicbrainz: MbRefOption::Some(MbArtistRef::from_url_str( "https://musicbrainz.org/artist/65f4f0c5-ef9e-490c-aee3-909e7ae6b2ab" ).unwrap()), properties: HashMap::from([ (String::from("MusicButler"), vec![ String::from("https://www.musicbutler.io/artist-page/3996865"), ]), (String::from("Qobuz"), vec![String::from( "https://www.qobuz.com/nl-nl/interpreter/metallica/download-streaming-albums", )]), ]), }, }, albums: vec![ Album { meta: AlbumMeta { id: AlbumId { title: String::from("Ride the Lightning"), }, date: 1984.into(), seq: AlbumSeq(0), musicbrainz: MbRefOption::None, primary_type: Some(AlbumPrimaryType::Album), secondary_types: vec![], }, tracks: vec![ Track { id: TrackId { title: String::from("Fight Fire with Fire"), }, number: TrackNum(1), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 954, }, }, Track { id: TrackId { title: String::from("Ride the Lightning"), }, number: TrackNum(2), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 951, }, }, Track { id: TrackId { title: String::from("For Whom the Bell Tolls"), }, number: TrackNum(3), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 889, }, }, Track { id: TrackId { title: String::from("Fade to Black"), }, number: TrackNum(4), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 939, }, }, Track { id: TrackId { title: String::from("Trapped under Ice"), }, number: TrackNum(5), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 955, }, }, Track { id: TrackId { title: String::from("Escape"), }, number: TrackNum(6), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 941, }, }, Track { id: TrackId { title: String::from("Creeping Death"), }, number: TrackNum(7), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 958, }, }, Track { id: TrackId { title: String::from("The Call of Ktulu"), }, number: TrackNum(8), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 888, }, }, ], }, Album { meta: AlbumMeta { id: AlbumId { title: String::from("S&M"), }, date: 1999.into(), seq: AlbumSeq(0), musicbrainz: MbRefOption::None, primary_type: Some(AlbumPrimaryType::Album), secondary_types: vec![AlbumSecondaryType::Live], }, tracks: vec![ Track { id: TrackId { title: String::from("The Ecstasy of Gold"), }, number: TrackNum(1), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 875, }, }, Track { id: TrackId { title: String::from("The Call of Ktulu"), }, number: TrackNum(2), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1030, }, }, Track { id: TrackId { title: String::from("Master of Puppets"), }, number: TrackNum(3), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1082, }, }, Track { id: TrackId { title: String::from("Of Wolf and Man"), }, number: TrackNum(4), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1115, }, }, Track { id: TrackId { title: String::from("The Thing That Should Not Be"), }, number: TrackNum(5), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1029, }, }, Track { id: TrackId { title: String::from("Fuel"), }, number: TrackNum(6), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1057, }, }, Track { id: TrackId { title: String::from("The Memory Remains"), }, number: TrackNum(7), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1080, }, }, Track { id: TrackId { title: String::from("No Leaf Clover"), }, number: TrackNum(8), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1004, }, }, Track { id: TrackId { title: String::from("Hero of the Day"), }, number: TrackNum(9), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 962, }, }, Track { id: TrackId { title: String::from("Devil’s Dance"), }, number: TrackNum(10), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1076, }, }, Track { id: TrackId { title: String::from("Bleeding Me"), }, number: TrackNum(11), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 993, }, }, Track { id: TrackId { title: String::from("Nothing Else Matters"), }, number: TrackNum(12), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 875, }, }, Track { id: TrackId { title: String::from("Until It Sleeps"), }, number: TrackNum(13), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1038, }, }, Track { id: TrackId { title: String::from("For Whom the Bell Tolls"), }, number: TrackNum(14), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1072, }, }, Track { id: TrackId { title: String::from("−Human"), }, number: TrackNum(15), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1029, }, }, Track { id: TrackId { title: String::from("Wherever I May Roam"), }, number: TrackNum(16), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1035, }, }, Track { id: TrackId { title: String::from("Outlaw Torn"), }, number: TrackNum(17), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1042, }, }, Track { id: TrackId { title: String::from("Sad but True"), }, number: TrackNum(18), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1082, }, }, Track { id: TrackId { title: String::from("One"), }, number: TrackNum(19), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 1017, }, }, Track { id: TrackId { title: String::from("Enter Sandman"), }, number: TrackNum(20), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 993, }, }, Track { id: TrackId { title: String::from("Battery"), }, number: TrackNum(21), artist: vec![String::from("Metallica")], quality: TrackQuality { format: TrackFormat::Flac, bitrate: 967, }, }, ], }, ], }, ] });