2021 was a big year in pop with Justin Bieber, Lizzo, Ed Sheeran and more dominating the charts. Get the crates in order with our best of and be sure to check our our mid-year “2021 So Far – Pop/Top 40 ” playlist for even more of the year’s bangers:
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.
The biggest electronic tunes from 2021 featuring Joel Corry, Major Lazer and Purple Disco Machine… and for more of the years biggest hits check out our mid year playlist “2021 So Far – Electronic/Dance ” playlist to keep the crates up to date:
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.
Make sure your latin crates have all the top tracks from 2021 with the top tunes of the year featuring J Balvin, Daddy Yankee and more. And be sure to peep the top songs from mid year in our “2021 So Far – Latin ” that featured the top tunes from the first half of 2021:
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.
Get the crates up to date with the best dancehall and reggae tunes of 2021 featuring top tunes by Spice, Sean Paul, Shenseea and many more and be sure to check out our mid-year “2021 So Far – Reggae/Dancehall ” playlist for the rest of the top tracks from the year.
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.
Get the crates up to date with the best international tunes of 2021 featuring Afrobeats, FrenchRap, AussieRap, UK Dancehall and many more. For more of the top international tunes of 2021 check out our mid-year “2021 So Far – International ” Playlist:
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.
Two of our top producers go head to head in a battle of the edits featuring the Philly’s OG pineapple lover: Isaac Jordan vs one of Europe’s fastest rising phenoms: Germany’s DJ Mighty . Check the vibes and cop all of these HH exclusives spanning through hip hop, pop, international and beyond from two of our hardest working team members:
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.
Reggaeton and Latin R&B sensation Sech has been lighting up the scene since 2015. The Panama native’s career went to the next level with his massive hit “Otro Trago” and since then he hasn’t looked back. DJ Ronald dug into the crates to get you up to date on all his most essential tracks:
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.
Part 6 in our 6 part series as we present the “2021 So Far” playlists. These are the top songs from our 6 main categories of music that you may have missed out on during the first half of the year. For the hip hop crate we called in HOT97 resident and top curator DJ Stacks to catch you up on all the Hip Hop and R&B fire that you may have missed from 2021:
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.
Part 5 in our 6 part series as we present the “2021 So Far” playlists. These are the top songs from our 6 main categories of music that you may have missed out on during the first half of the year. Our long time editor and intro specialist John Lee has curated a deep list of bangers touching upon a range of genres including House, Future Beats, ElectroPop, UK Garage, Jackin House and more:
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.
Part 4 in our 6 part series as we present the “2021 So Far” playlists. These are the top songs from our 6 main categories of music that you may have missed out on during the first half of the year. We called upon Peru’s young phenom DJ Ronald to get us all caught up on the best of Reggaeton, Dembow, Latin Pop and beyond:
Select a Spotify Playlist
ARTIST
::
TITLE
BPM
KEY
YEAR
DOWNLOADS
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Loading remixes & edits...
No remixes/edits found.
Add to queue
Remove from queue
View Details
Copy Link
Mixable/Similar Tracks
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
Danceability
0.86
Energy
0.86
Popularity
0.86
Valence
0.86
response.json())
.then(data => {
similarSongs = data.success ? data.data : [];
isLoadingSimilarSongs = false;
});
// Load recommendations
if (currentTrack?.artist && currentTrack?.title) {
const formData = new FormData();
formData.append('action', 'get_spotify_recommendations');
formData.append('artist', currentTrack.artist);
formData.append('title', currentTrack.title);
fetch(hhMusicData.ajaxurl, {
method: 'POST',
body: formData
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
recommendations = data.success ? data.data.results : [];
isLoadingRecommendations = false;
})
.catch(() => {
isLoadingRecommendations = false;
});
} else {
isLoadingRecommendations = false;
}
} else {
isLoadingSimilarSongs = false;
isLoadingRecommendations = false;
}"
x-bind:id="'menu-' + currentTrack?.id"
:style="`position-anchor1: --result-${currentTrack?.id}`"
class="similar-popover w-full max-w-2xl bg-white/95 dark:bg-[#131522]/70 backdrop-blur-md text-zinc-900 dark:text-zinc-100 pb-0 mt-0 mx-auto md:m-auto popover-similar p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
No mixable songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
No similar songs found.
Similar
= 1024 && (leaveTimeout = setTimeout(() => isOpen = false, 100))"
@mouseenter="window.innerWidth >= 1024 && leaveTimeout && clearTimeout(leaveTimeout)"
@keydown.esc.prevent="isOpen = false; openedWithKeyboard = false"
@click.outside="isOpen = false; openedWithKeyboard = false"
class="relative toggle-downloads lg:w-56">
= 1024 && (isOpen = true)"
@keydown.space.prevent="openedWithKeyboard = true"
@keydown.enter.prevent="openedWithKeyboard = true"
@keydown.down.prevent="openedWithKeyboard = true"
class="border-button inline-flex justify-center z-50 cursor-pointer items-center gap-2 whitespace-nowrap rounded-sm bg-zinc-100 px-2 min-w-8 min-h-8 lg:px-4 py-2 font-medium tracking-wide transition hover:opacity-80 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-zinc-700 dark:bg-zinc-700/30 transition-opacity duration-300 ease-in-out dark:focus-visible:outline-zinc-300"
:class="isOpen || openedWithKeyboard ? 'text-zinc-900 dark:text-zinc-100' : 'text-zinc-700 dark:text-zinc-300'"
:aria-expanded="isOpen || openedWithKeyboard"
aria-haspopup="true">
Downloads
= 2) ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : downloadRelease(release.id)"
>
= 2 ? $dispatch('notify', {content: 'Max downloads have been reached', type: 'error'}) : addToZipCrate(release)"
>
Premium content is available to members only. Please upgrade to access this content.