From cdcb05892a4dcbaf6d9a92c2a5c09223a8eff663 Mon Sep 17 00:00:00 2001 From: Broque Thomas <26755000+Nezreka@users.noreply.github.com> Date: Sat, 18 Apr 2026 20:32:49 -0700 Subject: [PATCH] Expand default genre whitelist from 223 to 272 genres Added Alternative, Indie, Dance (common Spotify umbrella genres), modern genres (Phonk, Hyperpop, Cloud Rap, Emo Rap), regional pop, additional rock/metal/electronic subgenres, world music traditions, and media genres (Video Game Music, Anime). Intentionally excluded mood/activity tags (Chill, Workout, Sleep) as non-genres. --- core/genre_filter.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/core/genre_filter.py b/core/genre_filter.py index 15bdfc81..1dc26707 100644 --- a/core/genre_filter.py +++ b/core/genre_filter.py @@ -66,10 +66,33 @@ DEFAULT_GENRES = [ # World / International "World", "Afrobeat", "Afropop", "Afrobeats", "Bhangra", "Celtic", "Flamenco", "Fado", "Klezmer", "Polka", "Zydeco", "Highlife", + # Alternative / Indie (broad umbrella genres Spotify uses heavily) + "Alternative", "Indie", "Alternative Metal", "Alternative R&B", + # Additional Rock + "New Wave", "Darkwave", "Post-Grunge", "Slowcore", "Sadcore", "Post-Punk Revival", + # Additional Metal + "Grindcore", "Crust Punk", "Crossover Thrash", "Trap Metal", + # Additional Hip Hop + "Emo Rap", "Cloud Rap", "Phonk", "Horrorcore", "Nerdcore", + # Additional Electronic + "Dark Ambient", "Drone", "Witch House", "Hyperpop", "Future Funk", + "Outrun", "Retrowave", "Chiptune", "Dance", + # Additional Pop + "German Pop", "French Pop", "Turkish Pop", + # Additional Latin + "Trap Latino", "Urbano Latino", "Tropicalia", "Mambo", "Bossa Nova", + # Additional Reggae + "Roots Reggae", "Lovers Rock", + # Additional Jazz + "Hard Bop", "Modal Jazz", "Gypsy Jazz", + # Additional World + "Qawwali", "Carnatic", "Hindustani", + # Media + "Video Game Music", "Anime", "Soundtrack", "Film Score", # Other "Experimental", "Avant-Garde", "Noise", "Spoken Word", "Comedy", "Instrumental", "A Cappella", "Worship", "Christian", "Christmas", "Holiday", "Easy Listening", - "Lounge", "Psychedelic", + "Lounge", "Psychedelic", "Progressive", ] # Normalized lookup set — built once, used for O(1) matching