mirror of
https://github.com/9001/copyparty.git
synced 2025-11-05 06:13:20 +00:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
161d57bdda | ||
|
|
bae0d440bf | ||
|
|
fff052dde1 | ||
|
|
73b06eaa02 | ||
|
|
08a8ebed17 | ||
|
|
74d07426b3 | ||
|
|
69a2bba99a |
@@ -1,8 +1,8 @@
|
|||||||
# coding: utf-8
|
# coding: utf-8
|
||||||
|
|
||||||
VERSION = (0, 13, 7)
|
VERSION = (0, 13, 8)
|
||||||
CODENAME = "future-proof"
|
CODENAME = "future-proof"
|
||||||
BUILD_DT = (2021, 8, 28)
|
BUILD_DT = (2021, 8, 29)
|
||||||
|
|
||||||
S_VERSION = ".".join(map(str, VERSION))
|
S_VERSION = ".".join(map(str, VERSION))
|
||||||
S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT)
|
S_BUILD_DT = "{0:04d}-{1:02d}-{2:02d}".format(*BUILD_DT)
|
||||||
|
|||||||
@@ -317,7 +317,7 @@ html.light #ggrid>a.sel {
|
|||||||
}
|
}
|
||||||
#widget {
|
#widget {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
font-size: 1.5em;
|
font-size: 1.4em;
|
||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: -6em;
|
bottom: -6em;
|
||||||
@@ -343,10 +343,11 @@ html.light #ggrid>a.sel {
|
|||||||
cursor: url(/.cpr/dd/4.png), pointer;
|
cursor: url(/.cpr/dd/4.png), pointer;
|
||||||
animation: cursor 500ms;
|
animation: cursor 500ms;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -.06em;
|
font-size: .9em;
|
||||||
|
top: -.04em;
|
||||||
}
|
}
|
||||||
#wtgrid {
|
#wtgrid {
|
||||||
font-size: .8em;
|
font-size: .75em;
|
||||||
top: -.12em;
|
top: -.12em;
|
||||||
}
|
}
|
||||||
#wtgrid:hover,
|
#wtgrid:hover,
|
||||||
@@ -366,7 +367,8 @@ html.light #ggrid>a.sel {
|
|||||||
#wtoggle {
|
#wtoggle {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
top: -1.2em;
|
font-size: .8em;
|
||||||
|
top: -1em;
|
||||||
right: 0;
|
right: 0;
|
||||||
height: 1em;
|
height: 1em;
|
||||||
font-size: 2em;
|
font-size: 2em;
|
||||||
@@ -376,7 +378,7 @@ html.light #ggrid>a.sel {
|
|||||||
background: #3c3c3c;
|
background: #3c3c3c;
|
||||||
box-shadow: 0 0 .5em #222;
|
box-shadow: 0 0 .5em #222;
|
||||||
border-radius: .3em 0 0 0;
|
border-radius: .3em 0 0 0;
|
||||||
padding: .2em .2em;
|
padding: 0;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
#wzip, #wnp {
|
#wzip, #wnp {
|
||||||
@@ -409,7 +411,7 @@ html.light #ggrid>a.sel {
|
|||||||
#wzip a {
|
#wzip a {
|
||||||
font-size: .5em;
|
font-size: .5em;
|
||||||
padding: 0 .3em;
|
padding: 0 .3em;
|
||||||
margin: -.3em .2em;
|
margin: -.3em .1em;
|
||||||
position: relative;
|
position: relative;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
@@ -433,7 +435,7 @@ html.light #wfm a:not(.en) {
|
|||||||
}
|
}
|
||||||
#wzip a {
|
#wzip a {
|
||||||
font-size: .4em;
|
font-size: .4em;
|
||||||
margin: -.3em .3em;
|
margin: -.3em .1em;
|
||||||
}
|
}
|
||||||
#wtoggle.sel #wzip #selzip {
|
#wtoggle.sel #wzip #selzip {
|
||||||
top: -.6em;
|
top: -.6em;
|
||||||
@@ -1659,6 +1661,7 @@ html.light #bbox-overlay figcaption a {
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
min-width: 24em;
|
||||||
}
|
}
|
||||||
#u2cards.w {
|
#u2cards.w {
|
||||||
width: 44em;
|
width: 44em;
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ ebi('widget').innerHTML = (
|
|||||||
'<div id="wtoggle">' +
|
'<div id="wtoggle">' +
|
||||||
'<span id="wfm"><a' +
|
'<span id="wfm"><a' +
|
||||||
' href="#" id="fren" tt="rename selected item$NHotkey: F2">✎<span>name</span></a><a' +
|
' href="#" id="fren" tt="rename selected item$NHotkey: F2">✎<span>name</span></a><a' +
|
||||||
' href="#" id="fdel" tt="delete selected items$NHotkey: ctrl-K">⌫<span>delete</span></a><a' +
|
' href="#" id="fdel" tt="delete selected items$NHotkey: ctrl-K">⌫<span>del.</span></a><a' +
|
||||||
' href="#" id="fcut" tt="cut selected items <small>(then paste somewhere else)</small>$NHotkey: ctrl-X">✂<span>cut</span></a><a' +
|
' href="#" id="fcut" tt="cut selected items <small>(then paste somewhere else)</small>$NHotkey: ctrl-X">✂<span>cut</span></a><a' +
|
||||||
' href="#" id="fpst" tt="paste a previously cut/copied selection$NHotkey: ctrl-V">📋<span>paste</span></a>' +
|
' href="#" id="fpst" tt="paste a previously cut/copied selection$NHotkey: ctrl-V">📋<span>paste</span></a>' +
|
||||||
'</span><span id="wzip"><a' +
|
'</span><span id="wzip"><a' +
|
||||||
@@ -399,6 +399,7 @@ function MPlayer() {
|
|||||||
r.au_native2 = null;
|
r.au_native2 = null;
|
||||||
r.au_ogvjs = null;
|
r.au_ogvjs = null;
|
||||||
r.au_ogvjs2 = null;
|
r.au_ogvjs2 = null;
|
||||||
|
r.loading = false;
|
||||||
r.tracks = {};
|
r.tracks = {};
|
||||||
r.order = [];
|
r.order = [];
|
||||||
|
|
||||||
@@ -422,18 +423,14 @@ function MPlayer() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
r.vol = sread('vol');
|
r.vol = clamp(fcfg_get('vol', 0.5), 0, 1);
|
||||||
if (r.vol !== null)
|
|
||||||
r.vol = parseFloat(r.vol);
|
|
||||||
else
|
|
||||||
r.vol = 0.5;
|
|
||||||
|
|
||||||
r.expvol = function (v) {
|
r.expvol = function (v) {
|
||||||
return 0.5 * v + 0.5 * v * v;
|
return 0.5 * v + 0.5 * v * v;
|
||||||
};
|
};
|
||||||
|
|
||||||
r.setvol = function (vol) {
|
r.setvol = function (vol) {
|
||||||
r.vol = Math.max(Math.min(vol, 1), 0);
|
r.vol = clamp(vol, 0, 1);
|
||||||
swrite('vol', vol);
|
swrite('vol', vol);
|
||||||
r.stopfade(true);
|
r.stopfade(true);
|
||||||
|
|
||||||
@@ -680,7 +677,7 @@ var pbar = (function () {
|
|||||||
|
|
||||||
bctx.clearRect(0, 0, bc.w, bc.h);
|
bctx.clearRect(0, 0, bc.w, bc.h);
|
||||||
|
|
||||||
if (!mp.au)
|
if (!mp.au || mp.loading)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var sm = bc.w * 1.0 / mp.au.duration,
|
var sm = bc.w * 1.0 / mp.au.duration,
|
||||||
@@ -702,25 +699,26 @@ var pbar = (function () {
|
|||||||
r.drawpos = function () {
|
r.drawpos = function () {
|
||||||
var bc = r.buf,
|
var bc = r.buf,
|
||||||
pc = r.pos,
|
pc = r.pos,
|
||||||
pctx = pc.ctx;
|
pctx = pc.ctx,
|
||||||
|
apos, adur;
|
||||||
|
|
||||||
pctx.clearRect(0, 0, pc.w, pc.h);
|
pctx.clearRect(0, 0, pc.w, pc.h);
|
||||||
|
|
||||||
if (!mp.au || isNaN(mp.au.duration) || isNaN(mp.au.currentTime))
|
if (!mp.au || mp.loading || isNaN(adur = mp.au.duration) || isNaN(apos = mp.au.currentTime))
|
||||||
return; // not-init || unsupp-codec
|
return; // not-init || unsupp-codec
|
||||||
|
|
||||||
var sm = bc.w * 1.0 / mp.au.duration;
|
var sm = bc.w * 1.0 / adur;
|
||||||
|
|
||||||
pctx.fillStyle = light ? 'rgba(0,64,0,0.15)' : 'rgba(204,255,128,0.15)';
|
pctx.fillStyle = light ? 'rgba(0,64,0,0.15)' : 'rgba(204,255,128,0.15)';
|
||||||
for (var p = 1, mins = mp.au.duration / 10; p <= mins; p++)
|
for (var p = 1, mins = adur / 10; p <= mins; p++)
|
||||||
pctx.fillRect(Math.floor(sm * p * 10), 0, 2, pc.h);
|
pctx.fillRect(Math.floor(sm * p * 10), 0, 2, pc.h);
|
||||||
|
|
||||||
pctx.fillStyle = light ? 'rgba(0,64,0,0.5)' : 'rgba(192,255,96,0.5)';
|
pctx.fillStyle = light ? 'rgba(0,64,0,0.5)' : 'rgba(192,255,96,0.5)';
|
||||||
for (var p = 1, mins = mp.au.duration / 60; p <= mins; p++)
|
for (var p = 1, mins = adur / 60; p <= mins; p++)
|
||||||
pctx.fillRect(Math.floor(sm * p * 60), 0, 2, pc.h);
|
pctx.fillRect(Math.floor(sm * p * 60), 0, 2, pc.h);
|
||||||
|
|
||||||
var w = 8,
|
var w = 8,
|
||||||
x = sm * mp.au.currentTime;
|
x = sm * apos;
|
||||||
|
|
||||||
pctx.fillStyle = '#573'; pctx.fillRect((x - w / 2) - 1, 0, w + 2, pc.h);
|
pctx.fillStyle = '#573'; pctx.fillRect((x - w / 2) - 1, 0, w + 2, pc.h);
|
||||||
pctx.fillStyle = '#dfc'; pctx.fillRect((x - w / 2), 0, 8, pc.h);
|
pctx.fillStyle = '#dfc'; pctx.fillRect((x - w / 2), 0, 8, pc.h);
|
||||||
@@ -731,8 +729,8 @@ var pbar = (function () {
|
|||||||
pctx.font = '1em sans-serif';
|
pctx.font = '1em sans-serif';
|
||||||
|
|
||||||
var m = pctx.measureText.bind(pctx),
|
var m = pctx.measureText.bind(pctx),
|
||||||
t1 = s2ms(mp.au.duration),
|
t1 = s2ms(adur),
|
||||||
t2 = s2ms(mp.au.currentTime),
|
t2 = s2ms(apos),
|
||||||
yt = pc.h / 3 * 2.1,
|
yt = pc.h / 3 * 2.1,
|
||||||
xt1 = pc.w - (m(t1).width + 12),
|
xt1 = pc.w - (m(t1).width + 12),
|
||||||
xt2 = x < pc.w / 2 ? (x + 12) : (Math.min(pc.w - m(t1 + ":88").width, x - 12) - m(t2).width);
|
xt2 = x < pc.w / 2 ? (x + 12) : (Math.min(pc.w - m(t1 + ":88").width, x - 12) - m(t2).width);
|
||||||
@@ -965,7 +963,7 @@ var mpui = (function () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// preload next song
|
// preload next song
|
||||||
if (mpl.preload && preloaded != mp.au.src) {
|
if (mpl.preload && !mp.loading && preloaded != mp.au.src) {
|
||||||
var pos = mp.au.currentTime,
|
var pos = mp.au.currentTime,
|
||||||
len = mp.au.duration;
|
len = mp.au.duration;
|
||||||
|
|
||||||
@@ -1021,6 +1019,21 @@ function need_ogv_for(url) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function start_sinegen() {
|
||||||
|
var af = 'data:audio/wav;base64,UklGRlaxAgBXQVZFZm10IBAAAAABAAEARKwAAIhYAQACABAATElTVBoAAABJTkZPSVNGVA4AAABMYXZmNTguNzYuMTAwAGRhdGEQsQIAAAB',
|
||||||
|
body = 'iArcE8AYCCeEKggzaDeQOmA/0D/QPmQ/kDtsNggzhCgMJ8Qa4BGMCAQCe/Un7EPn+9h/1fvMm8hzxaPAM8AzwZ/Ac8SXyfvMf9f32D/lI+539//9';
|
||||||
|
|
||||||
|
while (af.length < 235304)
|
||||||
|
af += body;
|
||||||
|
|
||||||
|
var au = new Audio(af.slice(0, 235304));
|
||||||
|
au.onplay = au.pause.bind(au);
|
||||||
|
au.volume = 0.5;
|
||||||
|
au.play();
|
||||||
|
return au;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
var audio_eq = (function () {
|
var audio_eq = (function () {
|
||||||
var r = {
|
var r = {
|
||||||
"en": false,
|
"en": false,
|
||||||
@@ -1284,11 +1297,15 @@ function play(tid, is_ev, seek, call_depth) {
|
|||||||
mp.au = mp.au_ogvjs;
|
mp.au = mp.au_ogvjs;
|
||||||
}
|
}
|
||||||
else if (window['OGVPlayer']) {
|
else if (window['OGVPlayer']) {
|
||||||
|
mp.loading = true;
|
||||||
mp.au = mp.au_ogvjs = new OGVPlayer();
|
mp.au = mp.au_ogvjs = new OGVPlayer();
|
||||||
attempt_play = is_ev;
|
attempt_play = is_ev;
|
||||||
mp.au.addEventListener('error', evau_error, true);
|
mp.au.onerror = evau_error;
|
||||||
mp.au.addEventListener('progress', pbar.drawpos);
|
mp.au.onprogress = pbar.drawpos;
|
||||||
mp.au.addEventListener('ended', next_song);
|
mp.au.onended = next_song;
|
||||||
|
mp.au.onloadedmetadata = mp.au.onloadeddata = function () {
|
||||||
|
mp.loading = false;
|
||||||
|
};
|
||||||
widget.open();
|
widget.open();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -1300,6 +1317,10 @@ function play(tid, is_ev, seek, call_depth) {
|
|||||||
import_js('/.cpr/deps/ogv.js', function () {
|
import_js('/.cpr/deps/ogv.js', function () {
|
||||||
toast.hide();
|
toast.hide();
|
||||||
play(tid, false, seek, 1);
|
play(tid, false, seek, 1);
|
||||||
|
|
||||||
|
var m = /.* Version\/([0-9]+)\.[0-9\.]+ Mobile\/[^ ]+ Safari\/[0-9\.]+$/.exec(navigator.userAgent);
|
||||||
|
if (m && parseInt(m[1]) < 14)
|
||||||
|
toast.err(0, 'because this is an apple device,\nsafari 14 or newer is required\n\nyou are using safari version ' + m[1] + ', so playback of ogg/vorbis/opus files will be buggy\n\nnote: every iOS browser is safari');
|
||||||
});
|
});
|
||||||
|
|
||||||
return;
|
return;
|
||||||
@@ -1308,18 +1329,26 @@ function play(tid, is_ev, seek, call_depth) {
|
|||||||
else {
|
else {
|
||||||
if (!mp.au_native) {
|
if (!mp.au_native) {
|
||||||
mp.au = mp.au_native = new Audio();
|
mp.au = mp.au_native = new Audio();
|
||||||
mp.au.addEventListener('error', evau_error, true);
|
mp.au.onerror = evau_error;
|
||||||
mp.au.addEventListener('progress', pbar.drawpos);
|
mp.au.onprogress = pbar.drawpos;
|
||||||
mp.au.addEventListener('ended', next_song);
|
mp.au.onended = next_song;
|
||||||
widget.open();
|
widget.open();
|
||||||
}
|
}
|
||||||
mp.au = mp.au_native;
|
mp.au = mp.au_native;
|
||||||
|
mp.loading = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
audio_eq.apply();
|
audio_eq.apply();
|
||||||
|
|
||||||
|
url += (url.indexOf('?') < 0 ? '?cache' : '&cache');
|
||||||
|
if (mp.au.src == url)
|
||||||
|
mp.au.currentTime = 0;
|
||||||
|
else {
|
||||||
|
mp.loading = mp.au == mp.au_ogvjs;
|
||||||
|
mp.au.src = url;
|
||||||
|
}
|
||||||
|
|
||||||
mp.au.tid = tid;
|
mp.au.tid = tid;
|
||||||
mp.au.src = url + (url.indexOf('?') < 0 ? '?cache' : '&cache');
|
|
||||||
mp.au.volume = mp.expvol(mp.vol);
|
mp.au.volume = mp.expvol(mp.vol);
|
||||||
var oid = 'a' + tid;
|
var oid = 'a' + tid;
|
||||||
setclass(oid, 'play act');
|
setclass(oid, 'play act');
|
||||||
@@ -1435,9 +1464,16 @@ function autoplay_blocked(seek) {
|
|||||||
go.textContent = 'Play "' + fn + '"';
|
go.textContent = 'Play "' + fn + '"';
|
||||||
go.onclick = function (e) {
|
go.onclick = function (e) {
|
||||||
unblocked(e);
|
unblocked(e);
|
||||||
|
if (mp.au !== mp.au_ogvjs)
|
||||||
// chrome 91 may permanently taint on a failed play()
|
// chrome 91 may permanently taint on a failed play()
|
||||||
// depending on win10 settings or something? idk
|
// depending on win10 settings or something? idk
|
||||||
mp.au_native = mp.au_ogvjs = null;
|
mp.au_native = null;
|
||||||
|
else
|
||||||
|
// iOS browsers allow playing ogg/vorbis/opus in the background
|
||||||
|
// if there is an <audio> tag which at some point played audio
|
||||||
|
if (!mp.sinegen)
|
||||||
|
mp.sinegen = start_sinegen();
|
||||||
|
|
||||||
play(tid, true, seek);
|
play(tid, true, seek);
|
||||||
mp.fade_in();
|
mp.fade_in();
|
||||||
};
|
};
|
||||||
@@ -2939,9 +2975,7 @@ var treectl = (function () {
|
|||||||
prev_winh = null,
|
prev_winh = null,
|
||||||
dyn = bcfg_get('dyntree', true),
|
dyn = bcfg_get('dyntree', true),
|
||||||
dots = bcfg_get('dotfiles', false),
|
dots = bcfg_get('dotfiles', false),
|
||||||
treesz = icfg_get('treesz', 16);
|
treesz = clamp(icfg_get('treesz', 16), 4, 50);
|
||||||
|
|
||||||
treesz = Math.min(Math.max(treesz, 4), 50);
|
|
||||||
|
|
||||||
treectl.entree = function (e) {
|
treectl.entree = function (e) {
|
||||||
ev(e);
|
ev(e);
|
||||||
|
|||||||
@@ -126,6 +126,10 @@ e=6; s=10; d=~/dev/copyparty/srv/aus; n=1; p=0; e=$((e*60)); rm -rf $d; mkdir $d
|
|||||||
-v srv/aus:aus:r:ce2dsa:ce2ts:cmtp=fgsfds=bin/mtag/sleep.py
|
-v srv/aus:aus:r:ce2dsa:ce2ts:cmtp=fgsfds=bin/mtag/sleep.py
|
||||||
sqlite3 .hist/up2k.db 'select * from mt where k="fgsfds" or k="t:mtp"' | tee /dev/stderr | wc -l
|
sqlite3 .hist/up2k.db 'select * from mt where k="fgsfds" or k="t:mtp"' | tee /dev/stderr | wc -l
|
||||||
|
|
||||||
|
# generate the sine meme
|
||||||
|
for ((f=420;f<1200;f++)); do sz=$(ffmpeg -y -f lavfi -i sine=frequency=$f:duration=2 -vf volume=0.1 -ac 1 -ar 44100 -f s16le /dev/shm/a.wav 2>/dev/null; base64 -w0 </dev/shm/a.wav | gzip -c | wc -c); printf '%d %d\n' $f $sz; done | tee /dev/stderr | sort -nrk2,2
|
||||||
|
ffmpeg -y -f lavfi -i sine=frequency=1050:duration=2 -vf volume=0.1 -ac 1 -ar 44100 /dev/shm/a.wav
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## vscode
|
## vscode
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ WORKDIR /z
|
|||||||
ENV ver_asmcrypto=5b994303a9d3e27e0915f72a10b6c2c51535a4dc \
|
ENV ver_asmcrypto=5b994303a9d3e27e0915f72a10b6c2c51535a4dc \
|
||||||
ver_hashwasm=4.7.0 \
|
ver_hashwasm=4.7.0 \
|
||||||
ver_marked=1.1.0 \
|
ver_marked=1.1.0 \
|
||||||
ver_ogvjs=1.8.0 \
|
ver_ogvjs=1.8.4 \
|
||||||
ver_mde=2.14.0 \
|
ver_mde=2.14.0 \
|
||||||
ver_codemirror=5.59.3 \
|
ver_codemirror=5.59.3 \
|
||||||
ver_fontawesome=5.13.0 \
|
ver_fontawesome=5.13.0 \
|
||||||
@@ -74,23 +74,16 @@ RUN cd hash-wasm \
|
|||||||
# build ogvjs
|
# build ogvjs
|
||||||
RUN cd ogvjs-$ver_ogvjs \
|
RUN cd ogvjs-$ver_ogvjs \
|
||||||
&& cp -pv \
|
&& cp -pv \
|
||||||
ogv.js \
|
|
||||||
ogv-worker-audio.js \
|
ogv-worker-audio.js \
|
||||||
ogv-demuxer-ogg-wasm.js \
|
ogv-demuxer-ogg-wasm.js \
|
||||||
ogv-demuxer-ogg-wasm.wasm \
|
ogv-demuxer-ogg-wasm.wasm \
|
||||||
ogv-demuxer-webm-wasm.js \
|
|
||||||
ogv-demuxer-webm-wasm.wasm \
|
|
||||||
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-wasm.js \
|
ogv-decoder-audio-vorbis-wasm.js \
|
||||||
ogv-decoder-audio-vorbis-wasm.wasm \
|
ogv-decoder-audio-vorbis-wasm.wasm \
|
||||||
/z/dist
|
/z/dist \
|
||||||
|
&& cp -pv \
|
||||||
# ogv-demuxer-ogg.js \
|
ogv-es2017.js /z/dist/ogv.js
|
||||||
# ogv-demuxer-webm.js \
|
|
||||||
# ogv-decoder-audio-opus.js \
|
|
||||||
# ogv-decoder-audio-vorbis.js \
|
|
||||||
# dynamicaudio.swf \
|
|
||||||
|
|
||||||
|
|
||||||
# build marked
|
# build marked
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ all: $(addsuffix .gz, $(wildcard *.*))
|
|||||||
|
|
||||||
%.gz: %
|
%.gz: %
|
||||||
#brotli -q 11 $<
|
#brotli -q 11 $<
|
||||||
pigz -11 -J 34 -I 573 $<
|
pigz -11 -I 573 $<
|
||||||
|
|
||||||
# pigz -11 -J 34 -I 100 -F < $< > $@.first
|
# pigz -11 -J 34 -I 100 -F < $< > $@.first
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user