document.addEventListener('DOMContentLoaded', function() { var artistSelect = document.getElementById('artistSelect'); var songInputs = document.getElementById('songInputs'); // Update song inputs based on selected artist artistSelect.addEventListener('change', function() { var artist = artistSelect.value; updateSongInputs(artist); }); // Generate initial song inputs var initialArtist = artistSelect.value; updateSongInputs(initialArtist); }); document.getElementById('generateBtn').addEventListener('click', function() { var artist = document.getElementById('artistSelect').value; var songs = []; // Collect selected songs from dropdown menus for (var i = 0; i < 12; i++) { var select = document.getElementById('songSelect' + i); var selectedSong = select.options[select.selectedIndex].text; songs.push(selectedSong); } // Create image with artist name and song names overlayed generateImage(artist, songs); }); function updateSongInputs(artist) { var songInputs = document.getElementById('songInputs'); songInputs.innerHTML = ''; // Create dropdown menus for song selection for (var i = 0; i < 12; i++) { var select = document.createElement('select'); select.id = 'songSelect' + i; var defaultOption = document.createElement('option'); defaultOption.text = 'Select Song'; defaultOption.disabled = true; defaultOption.selected = true; select.appendChild(defaultOption); // Populate dropdown menu with songs for the selected artist var artistSongs = getArtistSongs(artist); for (var j = 0; j < artistSongs.length; j++) { var option = document.createElement('option'); option.text = artistSongs[j]; select.appendChild(option); } songInputs.appendChild(select); } } function generateImage(artist, songs) { // Your existing code for generating the image // Show download button var downloadBtn = document.getElementById('downloadBtn'); downloadBtn.style.display = 'block'; downloadBtn.addEventListener('click', function() { downloadImage(); }); } function downloadImage() { var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); var img = document.getElementById('resultImg'); canvas.width = img.width; canvas.height = img.height; ctx.drawImage(img, 0, 0); // Convert canvas to image and download var link = document.createElement('a'); link.download = 'dream_concert_set_list.png'; link.href = canvas.toDataURL('image/png'); link.click(); } function getArtistSongs(artist) { // Define songs for each artist var songsByArtist = { 'Mayday Parade': ['Jamie All Over', 'Black Cat', 'Stay', 'Anywhere But Here', 'Miserable At Best', 'Terrible Things'], 'The Maine': ['Into Your Arms', 'Everything I Ask For', 'Misery', 'Some Days', 'Don\'t Stop Now', 'Am I Pretty?'], 'The Wonder Years': ['Passing Through A Screen Door', 'Came Out Swinging', 'Dismantling Summer', 'The Devil in My Bloodstream', 'I Just Want to Sell Out My Funeral'], 'We The Kings': ['Check Yes Juliet', 'Secret Valentine', 'Skyway Avenue', 'Sad Song', 'Say You Like Me', 'Just Keep Breathing'], 'Real Friends': ['Mess', 'I Don\'t Love You Anymore', 'Late Nights in My Car', 'Summer', 'From the Outside', 'Maybe This Place Is the Same and We\'re Just Changing'], 'Knuckle Puck': ['No Good', 'Evergreen', 'Gone', 'Pretense', 'Double Helix', 'Want Me Around'], 'The Summer Set': ['Chelsea', 'Boomerang', 'Lightning in a Bottle', 'Maybe Tonight', 'Missin\' You', 'Figure Me Out'], 'Hot Milk': ['Wide Awake', 'Candy Coated Lie$', 'California\'s Burning', 'I just Wanna Know What Happens When I\'m Dead'], 'Daisy Grenade': ['Cherry Red', 'Tragic', 'Spit You Out', 'Dead Men Tell No Tales'], 'Diva Bleach': ['Bleach', 'Queen Bee', 'Shattered', 'Pretty Poison'], 'Like Roses': ['Thorns', 'Dead Leaves', 'Fading Petals', 'Wilting Beauty'] }; return songsByArtist[artist] || []; }

2024 TOUR DATES

Sign up for first access to tickets!

VIP FUNHOUSE TICKETS
(VIP offerings vary city to city. Please check ticketing page for more info)

learn more

GENERAL ADMISSION TICKETS
(GA Tickets go on sale 1/27 at 10 AM Local Time)

Dream Concert Set List

Select an Artist:

Enter Your Dream Concert Set List: