add button to bust music player cache,

useful on phones when the server was OOM'ing and
butchering the responses (foreshadowing...)
This commit is contained in:
ed 2024-01-13 04:08:40 +00:00
parent 2fd2c6b948
commit a55e0d6eb8
2 changed files with 26 additions and 10 deletions

View file

@ -230,6 +230,7 @@ var Ls = {
"tt_hover": "reveal overflowing lines on hover$N( breaks scrolling unless mouse $N  cursor is in the left gutter )", "tt_hover": "reveal overflowing lines on hover$N( breaks scrolling unless mouse $N  cursor is in the left gutter )",
"ml_pmode": "playback mode", "ml_pmode": "playback mode",
"ml_btns": "cmds",
"ml_tcode": "transcode", "ml_tcode": "transcode",
"ml_tint": "tint", "ml_tint": "tint",
"ml_eq": "audio equalizer", "ml_eq": "audio equalizer",
@ -244,6 +245,7 @@ var Ls = {
"mt_oscv": "show album cover in osd\">art", "mt_oscv": "show album cover in osd\">art",
"mt_follow": "keep the playing track scrolled into view\">🎯", "mt_follow": "keep the playing track scrolled into view\">🎯",
"mt_compact": "compact controls\">⟎", "mt_compact": "compact controls\">⟎",
"mt_uncache": "clear cache  (try this if your browser cached$Na broken copy of a song so it refuses to play)\">uncache",
"mt_mloop": "loop the open folder\">🔁 loop", "mt_mloop": "loop the open folder\">🔁 loop",
"mt_mnext": "load the next folder and continue\">📂 next", "mt_mnext": "load the next folder and continue\">📂 next",
"mt_cflac": "convert flac / wav to opus\">flac", "mt_cflac": "convert flac / wav to opus\">flac",
@ -267,6 +269,7 @@ var Ls = {
"mm_e403": "Could not play audio; error 403: Access denied.\n\nTry pressing F5 to reload, maybe you got logged out", "mm_e403": "Could not play audio; error 403: Access denied.\n\nTry pressing F5 to reload, maybe you got logged out",
"mm_e5xx": "Could not play audio; server error ", "mm_e5xx": "Could not play audio; server error ",
"mm_nof": "not finding any more audio files nearby", "mm_nof": "not finding any more audio files nearby",
"mm_uncache": "cache cleared; all songs will redownload on next playback",
"mm_pwrsv": "<p>it looks like playback is being interrupted by your phone's power-saving settings!</p>" + '<p>please go to <a target="_blank" href="https://user-images.githubusercontent.com/241032/235262121-2ffc51ae-7821-4310-a322-c3b7a507890c.png">the app settings of your browser</a> and then <a target="_blank" href="https://user-images.githubusercontent.com/241032/235262123-c328cca9-3930-4948-bd18-3949b9fd3fcf.png">allow unrestricted battery usage</a> to fix it.</p><p><em>however,</em> it could also be due to the browser\'s autoplay settings;</p><p>Firefox: tap the icon on the left side of the address bar, then select "autoplay" and "allow audio"</p><p>Chrome: the problem will gradually dissipate as you play more music on this site</p>', "mm_pwrsv": "<p>it looks like playback is being interrupted by your phone's power-saving settings!</p>" + '<p>please go to <a target="_blank" href="https://user-images.githubusercontent.com/241032/235262121-2ffc51ae-7821-4310-a322-c3b7a507890c.png">the app settings of your browser</a> and then <a target="_blank" href="https://user-images.githubusercontent.com/241032/235262123-c328cca9-3930-4948-bd18-3949b9fd3fcf.png">allow unrestricted battery usage</a> to fix it.</p><p><em>however,</em> it could also be due to the browser\'s autoplay settings;</p><p>Firefox: tap the icon on the left side of the address bar, then select "autoplay" and "allow audio"</p><p>Chrome: the problem will gradually dissipate as you play more music on this site</p>',
"mm_iosblk": "<p>your web browser thinks the audio playback is unwanted, and it decided to block playback until you start another track manually... unfortunately we are both powerless in telling it otherwise</p><p>supposedly this will get better as you continue playing music on this site, but I'm unfamiliar with apple devices so idk if that's true</p><p>you could try another browser, maybe firefox or chrome?</p>", "mm_iosblk": "<p>your web browser thinks the audio playback is unwanted, and it decided to block playback until you start another track manually... unfortunately we are both powerless in telling it otherwise</p><p>supposedly this will get better as you continue playing music on this site, but I'm unfamiliar with apple devices so idk if that's true</p><p>you could try another browser, maybe firefox or chrome?</p>",
"mm_hnf": "that song no longer exists", "mm_hnf": "that song no longer exists",
@ -710,6 +713,7 @@ var Ls = {
"tt_hover": "vis hele mappenavnet når musepekeren treffer mappen$N( gjør dessverre at scrollhjulet fusker dersom musepekeren ikke befinner seg i grøfta )", "tt_hover": "vis hele mappenavnet når musepekeren treffer mappen$N( gjør dessverre at scrollhjulet fusker dersom musepekeren ikke befinner seg i grøfta )",
"ml_pmode": "spillemodus", "ml_pmode": "spillemodus",
"ml_btns": "knapper",
"ml_tcode": "konvertering", "ml_tcode": "konvertering",
"ml_tint": "tint", "ml_tint": "tint",
"ml_eq": "audio equalizer (tonejustering)", "ml_eq": "audio equalizer (tonejustering)",
@ -724,6 +728,7 @@ var Ls = {
"mt_oscv": "vis album-cover på infoskjermen\">bilde", "mt_oscv": "vis album-cover på infoskjermen\">bilde",
"mt_follow": "bla slik at sangen som spilles alltid er synlig\">🎯", "mt_follow": "bla slik at sangen som spilles alltid er synlig\">🎯",
"mt_compact": "tettpakket avspillerpanel\">⟎", "mt_compact": "tettpakket avspillerpanel\">⟎",
"mt_uncache": "prøv denne hvis en sang ikke spiller riktig\">uncache",
"mt_mloop": "repeter hele mappen\">🔁 gjenta", "mt_mloop": "repeter hele mappen\">🔁 gjenta",
"mt_mnext": "hopp til neste mappe og fortsett\">📂 neste", "mt_mnext": "hopp til neste mappe og fortsett\">📂 neste",
"mt_cflac": "konverter flac / wav-filer til opus\">flac", "mt_cflac": "konverter flac / wav-filer til opus\">flac",
@ -747,6 +752,7 @@ var Ls = {
"mm_e403": "Avspilling feilet: Tilgang nektet.\n\nKanskje du ble logget ut?\nPrøv å trykk F5 for å laste siden på nytt.", "mm_e403": "Avspilling feilet: Tilgang nektet.\n\nKanskje du ble logget ut?\nPrøv å trykk F5 for å laste siden på nytt.",
"mm_e5xx": "Avspilling feilet: ", "mm_e5xx": "Avspilling feilet: ",
"mm_nof": "finner ikke flere sanger i nærheten", "mm_nof": "finner ikke flere sanger i nærheten",
"mm_uncache": "alle sanger vil lastes på nytt ved neste avspilling",
"mm_pwrsv": "<p>det ser ut som musikken ble avbrutt av telefonen sine strømsparings-innstillinger!</p>" + '<p>ta en tur innom <a target="_blank" href="https://user-images.githubusercontent.com/241032/235262121-2ffc51ae-7821-4310-a322-c3b7a507890c.png">app-innstillingene til nettleseren din</a> og så <a target="_blank" href="https://user-images.githubusercontent.com/241032/235262123-c328cca9-3930-4948-bd18-3949b9fd3fcf.png">tillat ubegrenset batteriforbruk</a></p><p>NB: det kan også være pga. autoplay-innstillingene, så prøv dette:</p><p>Firefox: klikk på ikonet i venstre side av addressefeltet, velg "autoplay" og "tillat lyd"</p><p>Chrome: problemet vil minske gradvis jo mer musikk du spiller på denne siden</p>', "mm_pwrsv": "<p>det ser ut som musikken ble avbrutt av telefonen sine strømsparings-innstillinger!</p>" + '<p>ta en tur innom <a target="_blank" href="https://user-images.githubusercontent.com/241032/235262121-2ffc51ae-7821-4310-a322-c3b7a507890c.png">app-innstillingene til nettleseren din</a> og så <a target="_blank" href="https://user-images.githubusercontent.com/241032/235262123-c328cca9-3930-4948-bd18-3949b9fd3fcf.png">tillat ubegrenset batteriforbruk</a></p><p>NB: det kan også være pga. autoplay-innstillingene, så prøv dette:</p><p>Firefox: klikk på ikonet i venstre side av addressefeltet, velg "autoplay" og "tillat lyd"</p><p>Chrome: problemet vil minske gradvis jo mer musikk du spiller på denne siden</p>',
"mm_iosblk": "<p>nettleseren din tror at musikken er uønsket, og den bestemte seg for å stoppe avspillingen slik at du manuelt må velge en ny sang... dessverre er både du og jeg maktesløse når den har bestemt seg.</p><p>det ryktes at problemet vil minske jo mer musikk du spiller på denne siden, men jeg er ikke godt kjent med apple-dingser så jeg er ikke sikker.</p><p>kanskje firefox eller chrome fungerer bedre?</p>", "mm_iosblk": "<p>nettleseren din tror at musikken er uønsket, og den bestemte seg for å stoppe avspillingen slik at du manuelt må velge en ny sang... dessverre er både du og jeg maktesløse når den har bestemt seg.</p><p>det ryktes at problemet vil minske jo mer musikk du spiller på denne siden, men jeg er ikke godt kjent med apple-dingser så jeg er ikke sikker.</p><p>kanskje firefox eller chrome fungerer bedre?</p>",
"mm_hnf": "sangen finnes ikke lenger", "mm_hnf": "sangen finnes ikke lenger",
@ -1353,6 +1359,7 @@ function set_files_html(html) {
// actx breaks background album playback on ios // actx breaks background album playback on ios
var ACtx = !IPHONE && (window.AudioContext || window.webkitAudioContext), var ACtx = !IPHONE && (window.AudioContext || window.webkitAudioContext),
ACB = sread('au_cbv') || 1,
noih = /[?&]v\b/.exec('' + location), noih = /[?&]v\b/.exec('' + location),
hash0 = location.hash, hash0 = location.hash,
mp; mp;
@ -1374,6 +1381,10 @@ var mpl = (function () {
'<a href="#" class="tgl btn" id="au_compact" tt="' + L.mt_compact + '</a>' + '<a href="#" class="tgl btn" id="au_compact" tt="' + L.mt_compact + '</a>' +
'</div></div>' + '</div></div>' +
'<div><h3>' + L.ml_btns + '</h3><div>' +
'<a href="#" class="btn" id="au_uncache" tt="' + L.mt_uncache + '</a>' +
'</div></div>' +
'<div><h3>' + L.ml_pmode + '</h3><div id="pb_mode">' + '<div><h3>' + L.ml_pmode + '</h3><div id="pb_mode">' +
'<a href="#" class="tgl btn" m="loop" tt="' + L.mt_mloop + '</a>' + '<a href="#" class="tgl btn" m="loop" tt="' + L.mt_mloop + '</a>' +
'<a href="#" class="tgl btn" m="next" tt="' + L.mt_mnext + '</a>' + '<a href="#" class="tgl btn" m="next" tt="' + L.mt_mnext + '</a>' +
@ -1422,6 +1433,14 @@ var mpl = (function () {
r.fullpre = false; r.fullpre = false;
} }
ebi('au_uncache').onclick = function (e) {
ev(e);
ACB = (Date.now() % 46656).toString(36);
swrite('au_cbv', ACB);
reload_mp();
toast.inf(5, L.mm_uncache);
};
ebi('au_os_ctl').onclick = function (e) { ebi('au_os_ctl').onclick = function (e) {
ev(e); ev(e);
r.os_ctl = !r.os_ctl && have_mctl; r.os_ctl = !r.os_ctl && have_mctl;
@ -1712,7 +1731,7 @@ function MPlayer() {
r.preload = function (url, full) { r.preload = function (url, full) {
url = mpl.acode(url); url = mpl.acode(url);
url += (url.indexOf('?') < 0 ? '?' : '&') + 'cache=987'; url += (url.indexOf('?') < 0 ? '?' : '&') + 'cache=987&_=' + ACB;
mpl.preload_url = full ? url : null; mpl.preload_url = full ? url : null;
var t0 = Date.now(); var t0 = Date.now();
@ -2303,7 +2322,7 @@ function dl_song() {
} }
var url = mp.tracks[mp.au.tid]; var url = mp.tracks[mp.au.tid];
url += (url.indexOf('?') < 0 ? '?' : '&') + 'cache=987'; url += (url.indexOf('?') < 0 ? '?' : '&') + 'cache=987&_=' + ACB;
dl_file(url); dl_file(url);
} }
@ -2953,7 +2972,7 @@ function play(tid, is_ev, seek) {
} }
var url = mpl.acode(mp.tracks[tid]); var url = mpl.acode(mp.tracks[tid]);
url += (url.indexOf('?') < 0 ? '?' : '&') + 'cache=987'; url += (url.indexOf('?') < 0 ? '?' : '&') + 'cache=987&_=' + ACB;
if (mp.au.rsrc == url) if (mp.au.rsrc == url)
mp.au.currentTime = 0; mp.au.currentTime = 0;
@ -4706,7 +4725,7 @@ var thegrid = (function () {
} }
ihref = SR + '/.cpr/ico/' + ext; ihref = SR + '/.cpr/ico/' + ext;
} }
ihref += (ihref.indexOf('?') > 0 ? '&' : '?') + 'cache=i'; ihref += (ihref.indexOf('?') > 0 ? '&' : '?') + 'cache=i&_=' + ACB;
html.push('<a href="' + ohref + '" ref="' + ref + html.push('<a href="' + ohref + '" ref="' + ref +
'"' + ac + ' ttt="' + esc(name) + '"><img style="height:' + '"' + ac + ' ttt="' + esc(name) + '"><img style="height:' +

View file

@ -14,7 +14,8 @@ if (window.CGV)
var wah = '', var wah = '',
NOAC = 'autocorrect="off" autocapitalize="off"', NOAC = 'autocorrect="off" autocapitalize="off"',
L, tt, treectl, thegrid, up2k, asmCrypto, hashwasm, vbar, marked, L, tt, treectl, thegrid, up2k, asmCrypto, hashwasm, vbar, marked,
CB = '?_=' + Date.now(), T0 = Date.now(),
CB = '?_=' + Math.floor(T0 / 1000).toString(36),
R = SR.slice(1), R = SR.slice(1),
RS = R ? "/" + R : "", RS = R ? "/" + R : "",
HALFMAX = 8192 * 8192 * 8192 * 8192, HALFMAX = 8192 * 8192 * 8192 * 8192,
@ -1062,7 +1063,7 @@ function dl_file(url) {
function cliptxt(txt, ok) { function cliptxt(txt, ok) {
var fb = function () { var fb = function () {
console.log('fb'); console.log('clip-fb');
var o = mknod('input'); var o = mknod('input');
o.value = txt; o.value = txt;
document.body.appendChild(o); document.body.appendChild(o);
@ -1859,21 +1860,17 @@ var favico = (function () {
var b64; var b64;
try { try {
b64 = btoa(svg ? svg_decl + svg : gx(r.txt)); b64 = btoa(svg ? svg_decl + svg : gx(r.txt));
//console.log('f1');
} }
catch (e1) { catch (e1) {
try { try {
b64 = btoa(gx(encodeURIComponent(r.txt).replace(/%([0-9A-F]{2})/g, b64 = btoa(gx(encodeURIComponent(r.txt).replace(/%([0-9A-F]{2})/g,
function x(m, v) { return String.fromCharCode('0x' + v); }))); function x(m, v) { return String.fromCharCode('0x' + v); })));
//console.log('f2');
} }
catch (e2) { catch (e2) {
try { try {
b64 = btoa(gx(unescape(encodeURIComponent(r.txt)))); b64 = btoa(gx(unescape(encodeURIComponent(r.txt))));
//console.log('f3');
} }
catch (e3) { catch (e3) {
//console.log('fe');
return; return;
} }
} }