Browse Source

Nitpick code

tags/v0.1.0
Gerben 5 years ago
parent
commit
3dc85cfd5b
1 changed files with 12 additions and 17 deletions
  1. +12
    -17
      app/audio-player/contentscript.js

+ 12
- 17
app/audio-player/contentscript.js View File

@@ -35,11 +35,14 @@ async function init() {
e => eventEmitter.emit("mastervolumechange", e.target.value)
);

// Load the file
await playlist.load([{
src: document.URL,
}]);

// Read target fragment from URL
let start, end;

async function setFragmentToSelection() {
function syncFragmentToSelection() {
// Read target fragment from URL
let start, end;

const fragmentIdentifier = window.location.hash;
if (fragmentIdentifier) {
@@ -56,30 +59,22 @@ async function init() {

// Emit event to update selection in player
eventEmitter.emit('select', start, end);

}


// Bind window hash change to update player
window.addEventListener('hashchange', async function() {
window.addEventListener('hashchange', async function() {
if(playlist.isPlaying()) {
eventEmitter.emit('stop')
// pause needs a small delay, coz the lib doesn't
// update player view (drawRequest) when isPlaying() = true.
await delay(10);
}
await setFragmentToSelection();
eventEmitter.emit('play');
await syncFragmentToSelection();
eventEmitter.emit('play');
});

// Load Playlist
await playlist.load([{
src: document.URL
}]);

// update start & end for initial load
setFragmentToSelection();
// Read start & end from window location.
syncFragmentToSelection();

// Start playing. A tiny delay seems needed in Firefox to show the cursor at the right place.
requestAnimationFrame(() => eventEmitter.emit('play'));


Loading…
Cancel
Save