mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
drop opus audio support on old iOS versions
This commit is contained in:
parent
5958ee4439
commit
9e5627d805
|
@ -33,7 +33,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th></th>
|
<th></th>
|
||||||
<th>File Name</th>
|
<th>File Name</th>
|
||||||
<th>File Size</th>
|
<th sort="int">File Size</th>
|
||||||
<th>Date</th>
|
<th>Date</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
|
@ -106,7 +106,9 @@ function makeSortable(table) {
|
||||||
if (th) i = th.length;
|
if (th) i = th.length;
|
||||||
else return; // if no `<thead>` then do nothing
|
else return; // if no `<thead>` then do nothing
|
||||||
while (--i >= 0) (function (i) {
|
while (--i >= 0) (function (i) {
|
||||||
th[i].addEventListener('click', function () { sortTable(table, i) });
|
th[i].onclick = function () {
|
||||||
|
sortTable(table, i);
|
||||||
|
};
|
||||||
}(i));
|
}(i));
|
||||||
}
|
}
|
||||||
makeSortable(o('files'));
|
makeSortable(o('files'));
|
||||||
|
@ -123,7 +125,6 @@ var mp = (function () {
|
||||||
'cover_url': ''
|
'cover_url': ''
|
||||||
};
|
};
|
||||||
var re_audio = new RegExp('\.(opus|ogg|m4a|aac|mp3|wav|flac)$', 'i');
|
var re_audio = new RegExp('\.(opus|ogg|m4a|aac|mp3|wav|flac)$', 'i');
|
||||||
var re_cover = new RegExp('^(cover|folder|cd|front|back)\.(jpe?g|png|gif)$', 'i');
|
|
||||||
|
|
||||||
var trs = document.getElementById('files').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
|
var trs = document.getElementById('files').getElementsByTagName('tbody')[0].getElementsByTagName('tr');
|
||||||
for (var a = 0, aa = trs.length; a < aa; a++) {
|
for (var a = 0, aa = trs.length; a < aa; a++) {
|
||||||
|
@ -414,15 +415,6 @@ var vbar = (function () {
|
||||||
var x = e.clientX - rect.left;
|
var x = e.clientX - rect.left;
|
||||||
var mul = x * 1.0 / rect.width;
|
var mul = x * 1.0 / rect.width;
|
||||||
|
|
||||||
/*
|
|
||||||
dbg(//Math.round(rect.width) + 'x' + Math.round(rect.height) + '+' +
|
|
||||||
//Math.round(rect.left) + '+' + Math.round(rect.top) + ', ' +
|
|
||||||
//Math.round(e.clientX) + 'x' + Math.round(e.clientY) + ', ' +
|
|
||||||
Math.round(mp.au.currentTime * 10) / 10 + ', ' +
|
|
||||||
Math.round(mp.au.duration * 10) / 10 + '*' +
|
|
||||||
Math.round(mul * 1000) / 1000);
|
|
||||||
*/
|
|
||||||
|
|
||||||
mp.au.currentTime = mp.au.duration * mul;
|
mp.au.currentTime = mp.au.duration * mul;
|
||||||
|
|
||||||
if (mp.au === mp.au_native)
|
if (mp.au === mp.au_native)
|
||||||
|
@ -483,8 +475,14 @@ function setclass(id, clas) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var iOS = !!navigator.platform &&
|
var need_ogv = true;
|
||||||
/iPad|iPhone|iPod/.test(navigator.platform);
|
try {
|
||||||
|
need_ogv = new Audio().canPlayType('audio/ogg; codecs=opus') !== 'probably';
|
||||||
|
|
||||||
|
if (/ Edge\//.exec(navigator.userAgent + ''))
|
||||||
|
need_ogv = true;
|
||||||
|
}
|
||||||
|
catch (ex) { }
|
||||||
|
|
||||||
|
|
||||||
// plays the tid'th audio file on the page
|
// plays the tid'th audio file on the page
|
||||||
|
@ -507,7 +505,7 @@ function play(tid, call_depth) {
|
||||||
var hack_attempt_play = true;
|
var hack_attempt_play = true;
|
||||||
|
|
||||||
var url = mp.tracks[tid];
|
var url = mp.tracks[tid];
|
||||||
if (iOS && /\.(ogg|opus)$/i.test(url)) {
|
if (need_ogv && /\.(ogg|opus)$/i.test(url)) {
|
||||||
if (mp.au_ogvjs) {
|
if (mp.au_ogvjs) {
|
||||||
mp.au = mp.au_ogvjs;
|
mp.au = mp.au_ogvjs;
|
||||||
}
|
}
|
||||||
|
@ -594,7 +592,6 @@ function evau_error(e) {
|
||||||
err += '\n\nFile: «' + decodeURIComponent(eplaya.src.split('/').slice(-1)[0]) + '»';
|
err += '\n\nFile: «' + decodeURIComponent(eplaya.src.split('/').slice(-1)[0]) + '»';
|
||||||
|
|
||||||
alert(err);
|
alert(err);
|
||||||
play(eplaya.tid + 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -613,7 +610,7 @@ function show_modal(html) {
|
||||||
function unblocked() {
|
function unblocked() {
|
||||||
var dom = o('blocked');
|
var dom = o('blocked');
|
||||||
if (dom)
|
if (dom)
|
||||||
dom.remove();
|
dom.parentNode.removeChild(dom);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,6 @@ var lightswitch = (function () {
|
||||||
})();
|
})();
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<script src="/.cpr/deps/easymde.full.js"></script>
|
<script src="/.cpr/deps/easymde.js"></script>
|
||||||
<script src="/.cpr/mde.js"></script>
|
<script src="/.cpr/mde.js"></script>
|
||||||
</body></html>
|
</body></html>
|
||||||
|
|
|
@ -42,21 +42,6 @@ RUN mkdir -p /z/dist/no-pk \
|
||||||
&& tar -xf zopfli.tgz
|
&& tar -xf zopfli.tgz
|
||||||
|
|
||||||
|
|
||||||
# uncomment if you wanna test the abandoned markdown converters
|
|
||||||
#ENV build_abandoned=1
|
|
||||||
|
|
||||||
|
|
||||||
RUN [ $build_abandoned ] || exit 0; \
|
|
||||||
git clone --depth 1 --branch $ver_showdown https://github.com/showdownjs/showdown/ \
|
|
||||||
&& wget https://github.com/markdown-it/markdown-it/archive/$ver_markdownit.tar.gz -O markdownit.tgz \
|
|
||||||
&& (cd showdown \
|
|
||||||
&& npm install \
|
|
||||||
&& npm i grunt -g ) \
|
|
||||||
&& (tar -xf markdownit.tgz \
|
|
||||||
&& cd markdown-it-$ver_markdownit \
|
|
||||||
&& npm install )
|
|
||||||
|
|
||||||
|
|
||||||
# build fonttools (which needs zopfli)
|
# build fonttools (which needs zopfli)
|
||||||
RUN tar -xf zopfli.tgz \
|
RUN tar -xf zopfli.tgz \
|
||||||
&& cd zopfli* \
|
&& cd zopfli* \
|
||||||
|
@ -82,21 +67,22 @@ RUN cd ogvjs-$ver_ogvjs \
|
||||||
&& cp -pv \
|
&& cp -pv \
|
||||||
ogv.js \
|
ogv.js \
|
||||||
ogv-worker-audio.js \
|
ogv-worker-audio.js \
|
||||||
ogv-demuxer-ogg.js \
|
|
||||||
ogv-demuxer-ogg-wasm.js \
|
ogv-demuxer-ogg-wasm.js \
|
||||||
ogv-demuxer-ogg-wasm.wasm \
|
ogv-demuxer-ogg-wasm.wasm \
|
||||||
ogv-demuxer-webm.js \
|
|
||||||
ogv-demuxer-webm-wasm.js \
|
ogv-demuxer-webm-wasm.js \
|
||||||
ogv-demuxer-webm-wasm.wasm \
|
ogv-demuxer-webm-wasm.wasm \
|
||||||
ogv-decoder-audio-opus.js \
|
|
||||||
ogv-decoder-audio-opus-wasm.js \
|
ogv-decoder-audio-opus-wasm.js \
|
||||||
ogv-decoder-audio-opus-wasm.wasm \
|
ogv-decoder-audio-opus-wasm.wasm \
|
||||||
ogv-decoder-audio-vorbis.js \
|
|
||||||
ogv-decoder-audio-vorbis-wasm.js \
|
ogv-decoder-audio-vorbis-wasm.js \
|
||||||
ogv-decoder-audio-vorbis-wasm.wasm \
|
ogv-decoder-audio-vorbis-wasm.wasm \
|
||||||
dynamicaudio.swf \
|
|
||||||
/z/dist
|
/z/dist
|
||||||
|
|
||||||
|
# ogv-demuxer-ogg.js \
|
||||||
|
# ogv-demuxer-webm.js \
|
||||||
|
# ogv-decoder-audio-opus.js \
|
||||||
|
# ogv-decoder-audio-vorbis.js \
|
||||||
|
# dynamicaudio.swf \
|
||||||
|
|
||||||
|
|
||||||
# build marked
|
# build marked
|
||||||
COPY marked.patch /z/
|
COPY marked.patch /z/
|
||||||
|
@ -135,54 +121,7 @@ RUN cd easy-markdown-editor-$ver_mde \
|
||||||
&& patch -p1 < /z/easymde-ln.patch \
|
&& patch -p1 < /z/easymde-ln.patch \
|
||||||
&& gulp \
|
&& gulp \
|
||||||
&& cp -pv dist/easymde.min.css /z/dist/easymde.css \
|
&& cp -pv dist/easymde.min.css /z/dist/easymde.css \
|
||||||
&& cp -pv dist/easymde.min.js /z/dist/easymde.js \
|
&& cp -pv dist/easymde.min.js /z/dist/easymde.js
|
||||||
&& sed -ri '/pipe.terser/d; /cleanCSS/d' gulpfile.js \
|
|
||||||
&& gulp \
|
|
||||||
&& cp -pv dist/easymde.min.css /z/dist/easymde.full.css \
|
|
||||||
&& cp -pv dist/easymde.min.js /z/dist/easymde.full.js
|
|
||||||
|
|
||||||
|
|
||||||
# build showdown (abandoned; disabled by default)
|
|
||||||
COPY showdown.patch /z/
|
|
||||||
RUN [ $build_abandoned ] || exit 0; \
|
|
||||||
cd showdown \
|
|
||||||
&& rm -rf bin dist \
|
|
||||||
# # remove ellipsis plugin \
|
|
||||||
&& rm \
|
|
||||||
src/subParsers/ellipsis.js \
|
|
||||||
test/cases/ellipsis* \
|
|
||||||
# # remove html-to-md converter \
|
|
||||||
&& rm \
|
|
||||||
test/node/testsuite.makemd.js \
|
|
||||||
test/node/showdown.Converter.makeMarkdown.js \
|
|
||||||
# # remove emojis \
|
|
||||||
&& rm src/subParsers/emoji.js \
|
|
||||||
&& awk '/^showdown.helper.emojis/ {o=1} !o; /^\}/ {o=0}' \
|
|
||||||
>f <src/helpers.js \
|
|
||||||
&& mv f src/helpers.js \
|
|
||||||
&& rm -rf test/features/emojis \
|
|
||||||
# # remove ghmentions \
|
|
||||||
&& rm test/features/ghMentions.* \
|
|
||||||
# # remove option descriptions \
|
|
||||||
&& sed -ri '/descri(ption|be): /d' src/options.js \
|
|
||||||
&& patch -p1 < /z/showdown.patch
|
|
||||||
|
|
||||||
RUN [ $build_abandoned ] || exit 0; \
|
|
||||||
cd showdown \
|
|
||||||
&& grunt build \
|
|
||||||
&& sed -ri '/sourceMappingURL=showdown.min.js.map/d' dist/showdown.min.js \
|
|
||||||
&& mv dist/showdown.min.js /z/dist/showdown.js \
|
|
||||||
&& ls -al /z/dist/showdown.js
|
|
||||||
|
|
||||||
|
|
||||||
# build markdownit (abandoned; disabled by default)
|
|
||||||
COPY markdown-it.patch /z/
|
|
||||||
RUN [ $build_abandoned ] || exit 0; \
|
|
||||||
cd markdown-it-$ver_markdownit \
|
|
||||||
&& patch -p1 < /z/markdown-it.patch \
|
|
||||||
&& make browserify \
|
|
||||||
&& cp -pv dist/markdown-it.min.js /z/dist/markdown-it.js \
|
|
||||||
&& cp -pv dist/markdown-it.js /z/dist/markdown-it-full.js
|
|
||||||
|
|
||||||
|
|
||||||
# build fontawesome and scp
|
# build fontawesome and scp
|
||||||
|
|
Loading…
Reference in a new issue