Commit d4385397 authored by Andreas Heimann's avatar Andreas Heimann

fixed a desync of the song detail preview

parent 1242a555
......@@ -209,10 +209,10 @@
<!-- Scripts -->
<script src="./assets/js/init.js"></script>
<script src="./assets/js/system.js"></script>
<script src="./assets/js/navigation.js"></script>
<script src="./assets/js/section.startup.js"></script>
<script src="./assets/js/section.songdetail.js"></script>
<script src="./assets/js/download.js"></script>
<script src="./assets/js/navigation.js"></script>
<!-- <script src="./assets/js/app.js"></script> -->
</body>
</html>
\ No newline at end of file
......@@ -6,4 +6,6 @@ const fs = require('fs');
const rimraf = require('rimraf');
const ncp = require('ncp');
const http = require('http');
const unzipper = require('unzipper');
\ No newline at end of file
const unzipper = require('unzipper');
let api = new SHAPI();
\ No newline at end of file
let api = new SHAPI();
let DOMNavigationItems = document.querySelectorAll("aside .item");
let DOMSections = document.querySelectorAll("section");
......@@ -13,8 +11,7 @@ let currentPreviewAudio;
function NavigateToSection(sectionIndex) {
// Stop audio if playing
if(currentPreviewAudio)
currentPreviewAudio.pause();
SongDetailStopPreview();
// Navigation
DOMNavigationItems.forEach(function(DOMNavigation) {
......@@ -35,8 +32,7 @@ NavigateToSection(0);
function NavigateToSongDetail(songId) {
// Stop audio if playing
if(currentPreviewAudio)
currentPreviewAudio.pause();
SongDetailStopPreview();
// Navigation
DOMNavigationItems.forEach(function(DOMNavigation) {
......
......@@ -3,6 +3,7 @@ const DOMSongDetailActions = document.querySelector(".song-detail-actions");
const DOMSongDetail = document.querySelector(".section-song-detail .song-detail");
const DOMSongDetailCover = document.querySelector(".section-song-detail .song-cover");
let isPlayingPreview = false;
const DOMButtonPreview = DOMSongDetailActions.querySelector(".button-preview");
......@@ -48,19 +49,29 @@ function SongDetailLoad(songId) {
}
function SongDetailTogglePreview() {
if(currentPreviewAudio != undefined || currentPreviewAudio != null) {
if(isPlayingPreview) {
SongDetailStopPreview();
} else {
SongDetailStartPreview();
}
}
function SongDetailStartPreview() {
currentPreviewAudio = new Audio(currentSongData.paths.ogg);
currentPreviewAudio.play();
isPlayingPreview = true;
DOMButtonPreview.innerText = "PAUSE PREVIEW";
DOMButtonPreview.classList.add("button-primary");
}
function SongDetailStopPreview() {
if(currentPreviewAudio) {
currentPreviewAudio.pause();
currentPreviewAudio.currentTime = 0;
currentPreviewAudio = null;
DOMButtonPreview.innerText = "PLAY PREVIEW";
DOMButtonPreview.classList.remove("button-primary");
} else {
currentPreviewAudio = new Audio(currentSongData.paths.ogg);
currentPreviewAudio.play();
DOMButtonPreview.innerText = "PAUSE PREVIEW";
DOMButtonPreview.classList.add("button-primary");
}
currentPreviewAudio = null;
isPlayingPreview = false;
DOMButtonPreview.innerText = "PLAY PREVIEW";
DOMButtonPreview.classList.remove("button-primary");
}
function SongDetailDownload() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment