If you thought melancholy couldn’t shimmer, Collective Soul is here to prove you wrong. “Bluer Than So Blue” hits like a velvet punch — polished riffs, layered vocals, and a
The Doobie Brothers aren’t just back — they never really left. “Angels and Mercy” finds them dialing in that golden blend of grit and grace, sounding like they’ve been bottling
Look, naming your song “Today’s Song” is a bold move. It’s like calling your dog “Dog” or your band “Band.” But leave it to the Foo Fighters to make it
We just updated the Masters Radio stream for August, and it might be our loudest, strangest, most unapologetically alive lineup yet. This month features 30+ brand new tracks from artists
If you thought Three Days Grace had mellowed out — think again. “Dominate” is a full-throttle throwdown of fists, riffs, and zero apologies. It’s raw, relentless, and every bit as
“Bloom” is what happens when Train’s signature hooks collide with Cheat Codes’ electro-pop polish — and the result is a track that’s pure sunshine. It’s bright, bouncy, and engineered to
Scroll Up
document.addEventListener('DOMContentLoaded', function () {
var shuffleBtn = document.getElementById('shuffle-playlist');
if (!shuffleBtn) return;
shuffleBtn.addEventListener('click', function () {
// Find the playlist container
var playlist = document.querySelector('.wp-playlist-tracks');
if (!playlist) {
alert('Playlist not found. Please check the selector.');
return;
}
// Get all tracks as an array
var tracks = Array.from(playlist.querySelectorAll('.wp-playlist-item'));
// Fisher-Yates shuffle
for (let i = tracks.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[tracks[i], tracks[j]] = [tracks[j], tracks[i]];
}
// Remove all tracks and re-append in shuffled order
tracks.forEach(track => playlist.appendChild(track));
// Optionally, play the first song after shuffling:
// Try simulating a click on the first song's link
setTimeout(function () {
var firstTrack = playlist.querySelector('.wp-playlist-item a.wp-playlist-caption');
if (firstTrack) firstTrack.click();
}, 300);
});
});
Scroll Up