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 )