aboutsummaryrefslogtreecommitdiff
path: root/player.js
diff options
context:
space:
mode:
authorIndrajith K L2025-06-30 01:15:19 +0530
committerIndrajith K L2025-06-30 01:15:19 +0530
commit35ea31700fcfa18a4704fc9148fdf3589b98dc4e (patch)
treed2af2486ffb7c084571730ef105e012b97efd25c /player.js
parent8929f68f754fa3eee783e42aa46abbe6dc3dcb56 (diff)
downloadretrowave-player-35ea31700fcfa18a4704fc9148fdf3589b98dc4e.tar.gz
retrowave-player-35ea31700fcfa18a4704fc9148fdf3589b98dc4e.tar.bz2
retrowave-player-35ea31700fcfa18a4704fc9148fdf3589b98dc4e.zip
New Features
* Adds Refresh button for changing music
Diffstat (limited to 'player.js')
-rw-r--r--player.js51
1 files changed, 35 insertions, 16 deletions
diff --git a/player.js b/player.js
index 214ef29..2e6ee02 100644
--- a/player.js
+++ b/player.js
@@ -6,6 +6,7 @@
const retroWaveRu = "https://retrowave.ru";
let titleEl = document.getElementById("track-name");
let coverArtEl = document.getElementsByClassName("music-player")[0];
+ let refreshBtn = document.querySelector(".refresh");
const modalEl = document.getElementById("intro-modal");
// const uploadInfoEl = document.getElementById("upload-info");
const fileUploadEl = document.getElementById("file-upload");
@@ -56,7 +57,7 @@
modalEl.classList.remove("open");
playMusic();
initHydra();
- // initCodef();
+ initControls();
});
document.getElementById("history").addEventListener("click", () => {
@@ -120,16 +121,15 @@
modalEl.classList.add("open");
}
- function getMusic() {
- fetch(`https://retrowave.ru/api/v1/tracks?limit=5&cursor=${cursor}`)
- .then((res) => res.json())
- .then((res) => {
- const {
- body: { tracks, cursor: currentCursor },
- } = res;
- cursor = currentCursor;
- currentTracks = tracks;
- });
+ async function getMusic() {
+ const res = await fetch(
+ `https://retrowave.ru/api/v1/tracks?limit=10&cursor=${cursor}`
+ ).then((res) => res.json());
+ const {
+ body: { tracks, cursor: currentCursor },
+ } = res;
+ cursor = currentCursor;
+ currentTracks = tracks;
}
function initPlayer() { }
@@ -142,11 +142,7 @@
src: [fullTrack],
html5: true,
onend: function () {
- currentTracks.shift();
- if (currentTracks.length <= 3) {
- getMusic();
- }
- playMusic();
+ playNextTrack();
},
});
setVolume();
@@ -233,6 +229,29 @@ https://retrowave.ru/${musicData.streamUrl}
document.body.removeChild(element);
}
+ function playNextTrack() {
+ currentTracks.shift();
+ if (currentTracks.length <= 3) {
+ getMusic();
+ }
+ playMusic();
+ }
+
+ function resetHowler(destroy = false) {
+ howlerInstance.stop();
+ if (destroy) {
+ howlerInstance.unload();
+ howlerInstance = null;
+ }
+ }
+
+ function initControls() {
+ refreshBtn.addEventListener("click", () => {
+ resetHowler();
+ playNextTrack();
+ });
+ }
+
// function initCodef() {
// const width = window.innerWidth;
// const height = window.innerHeight;