#
Search for
Did you mean? ·
Playlist
Clear recent searches
Press Delete to remove
Searching…
No quick matches. Press Enter to search the full catalog.
{ $dispatch('set-search-open', isSearchOpen) }); $event.preventDefault(); $event.stopPropagation();"
type="button"
hx-disable
class="absolute inset-e-0 inset-bs-0 cursor-pointer rounded-ss-none rounded-es-none rounded-se-hh-control rounded-ee-hh-control bg-hh-raised px-3 py-2.5 text-hh-text hover:bg-hh-hover focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-hh-focus"
:class="{ 'opacity-50!': isSearchOpen }"
@search-closed.window="isSearchOpen = false">
The mid to late 70s was a time when disco music ruled the nightlife with Studio 54, Saturday Night Fever, Bellbottoms and Disco Balls. Disco eventually transformed into the early days of house music and it’s influence can still be heard in both underground and popular music.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
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.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
No similar songs found.
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
Released
focusMenuItem($refs.downloadsMenu, 'first'))" :aria-expanded="menuOpen" aria-haspopup="menu"
@keydown.down.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'first'))"
@keydown.up.prevent="menuOpen = true; $nextTick(() => focusMenuItem($refs.downloadsMenu, 'last'))"
:aria-label="(crateOnly ? 'Add to crate: choose a version of ' : 'Downloads: choose a version of ') + row.title"
x-tooltip="{ content: () => crateOnly ? 'Add to crate' : (rowDownloaded(row) ? 'Downloads · some versions downloaded' : 'Downloads'), onShow: () => !menuOpen, hideOnClick: true }"
class="relative inline-flex h-9 w-14 items-center justify-center gap-1 rounded-lg text-xs font-medium text-zinc-600 transition-colors hover:bg-zinc-900/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-300 dark:hover:bg-white/10"
:class="menuOpen ? 'bg-zinc-900/10 dark:bg-white/10' : (rowDownloaded(row) ? 'border-[0.5px] border-zinc-900/15 opacity-50 dark:border-white/15' : (row._parent ? '' : 'bg-zinc-900/5 dark:bg-white/5'))">
focusMenuItem($refs.moreMenu, 'first'))" :aria-expanded="moreOpen" aria-haspopup="menu"
@keydown.down.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'first'))"
@keydown.up.prevent="moreOpen = true; $nextTick(() => focusMenuItem($refs.moreMenu, 'last'))" :aria-label="'More options for ' + row.title" x-tooltip="{ content: 'More options', onShow: () => !moreOpen }"
class="flex size-9 items-center justify-center rounded-full text-zinc-500 hover:bg-zinc-900/5 focus-visible:outline focus-visible:outline-2 focus-visible:outline-hh-focus dark:text-zinc-400 dark:hover:bg-white/10">
response.json())
.then(data => {
playlists = data.success && Array.isArray(data.data) ? data.data : [];
isLoading = false;
})
.catch(() => { isLoading = false; });
} else {
isLoading = false;
}"
id="release-playlists-panel"
class="release-playlists-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 p-0 md:p-4 shadow shadow-2xl shadow-zinc-900/10 dark:shadow-zinc-900/50">
This track isn't in any playlists yet.
Premium content is available to members only. Please upgrade to access this content.