genregenerator/genregen.js

201 lines
2.7 KiB
JavaScript

var genres = [
'Aggrotech',
'Ambient',
'Beat',
'Bluegrass',
'Blues',
'Chiptune',
'Core',
'Country',
'Cumbia',
'Dance',
'Dancehall',
'Drum and Bass',
'Dub',
'Dubstep',
'EBM',
'Flamenco',
'Grunge',
'Goa',
'Gospel',
'Hardstyle',
'Hip-hop',
'House',
'Humppa',
'Industrial',
'Jazz',
'Metal',
'Oi!',
'Polka',
'Pop',
'Punk',
'Rap',
'Rave',
'Reggae',
'Rockabilly',
'Samba',
'Schranz',
'Ska',
'Soul',
'Techhouse',
'Techno',
'Tekkno',
'Trance',
'Triphop',
'Twostep',
'Western',
];
var subgenres = [
'30s',
'40s',
'50s',
'60s',
'70s',
'80s',
'Acid',
'Alternative',
'Ambient',
'Anatolian',
'Arena',
'Art',
'Australian',
'Australian',
'Avantgarde',
'Balearic',
'Balkan',
'Battle',
'Black',
'Body',
'Bossa nova',
'Brit',
'Celtic',
'Chinese',
'Christian',
'Comedy',
'Conscious',
'Cow',
'Crust',
'Dark',
'Death',
'Dirty',
'Doom',
'Drone',
'Dream',
'East Coast',
'Electroclash',
'Electronic',
'Emo',
'Euro',
'Experimental',
'Extreme',
'Flower',
'Folk',
'Free',
'Freestyle',
'Fucking',
'Fun',
'Funk',
'Fusion',
'Future',
'Gangsta',
'Garage',
'Ghetto',
'Glam',
'Gospel',
'Gothic',
'Grind',
'Groove',
'Happy',
'Hard',
'Hardcore',
'Harmonica',
'Handsup',
'Heavy',
'Horror',
'Indian',
'Indie',
'Independent',
'Industrial',
'Instrumental',
'Latin',
'Lounge',
'Mainstream',
'Medieval',
'Melodic',
'Minimal',
'Neo',
'New age',
'Ninja',
'Nintendo',
'Noise',
'Nu',
'Pagan',
'Pirate',
'Post',
'Power',
'Progressive',
'Psychedelic',
'Skate',
'Sludge',
'Southern',
'Space',
'Speed',
'Stoner',
'Street',
'Sunshine',
'Surf',
'Swedish',
'Swing',
'Symphonic',
'Synth',
'Teutonic',
'Traditional',
'Trash',
'Viking',
'Vocal',
'Wave',
'West Coast',
'World',
];
var cities = [
'Berlin',
'Bakersfield',
'Detroit',
'Frankfurt',
'Gothenburg',
'Ibiza',
'London',
'New Orleans',
'Rio',
'Rotterdam',
'San Francisco',
];
function rand_choose(array) {
return array[Math.floor(Math.random() * array.length)];
}
function chance(percent) {
return Math.floor(Math.random() * 100) < percent;
}
function generate_genre() {
var parts = [];
if (chance(20)) parts.push(rand_choose(cities));
if (chance(70)) parts.push(rand_choose(subgenres));
parts.push(rand_choose(subgenres));
parts.push(rand_choose(genres));
var genre = parts.join(' ');
$('#genre a').text(genre);
return $('title').text('Listen to ' + genre);
}
$(document).ready(function() {
$('#genre a').click(generate_genre);
generate_genre();
});