App-MHFS
view release on metacpan or search on metacpan
share/public_html/static/music_worklet_inprogress/music_inc_module.js view on Meta::CPAN
SetCurtimeText(DRAWUPDATE.curtime || 0);
if(!DRAWUPDATE.curtime) SetSeekbarValue(0);
}
else if(DRAWUPDATE.trackstate === 'ended') {
SetCurtimeText(0);
SetSeekbarValue(0);
}
DRAWUPDATE = undefined;
}
if(SBAR_UPDATING) {
}
// display the tracktime
else if(MHFSPLAYER.isplaying()) {
const curTime = MHFSPLAYER.tracktime();
SetCurtimeText(curTime);
SetSeekbarValue(curTime);
if ('mediaSession' in navigator) {
if(GuiCurrentTrack?.md.duration) {
if(curTime <= GuiCurrentTrack.md.duration) {
navigator.mediaSession.setPositionState( {
duration : GuiCurrentTrack.md.duration,
playbackRate : 1,
position : curTime
});
}
}
}
}
window.requestAnimationFrame(GraphicsLoop);
};
window.requestAnimationFrame(GraphicsLoop);
const params = (new URL(document.location)).searchParams;
const tracks = params.getAll('ptrack');
if(tracks.length) {
MHFSPLAYER.queuetracks(tracks);
}
})();
/*
let PTrackUrlParams;
const _BuildPTrack = function() {
PTrackUrlParams = new URLSearchParams();
if (MAX_SAMPLE_RATE) PTrackUrlParams.append('max_sample_rate', MAX_SAMPLE_RATE);
if (BITDEPTH) PTrackUrlParams.append('bitdepth', BITDEPTH);
if (USESEGMENTS) PTrackUrlParams.append('segments', USESEGMENTS);
if (USEINCREMENTAL) PTrackUrlParams.append('inc', USEINCREMENTAL);
Tracks.forEach(function (track) {
PTrackUrlParams.append('ptrack', track.md.trackname);
});
for(let track = MHFSPLAYER.Tracks_HEAD; track; track = track.next) {
PTrackUrlParams.append('ptrack', track.md.trackname);
}
}
const BuildPTrack = function() {
// window.history.replaceState is slow :(
setTimeout(function() {
_BuildPTrack();
var urlstring = PTrackUrlParams.toString();
if (urlstring != '') {
console.log('replace state begin');
//window.history hangs the page
//window.history.replaceState('playlist', 'Title', '?' + urlstring);
console.log('replace state end');
}
}, 5000);
}
*/
( run in 1.299 second using v1.01-cache-2.11-cpan-39bf76dae61 )