zzz
git.idk.i2p/i2p-hackers/i2p.i2p/-/merge_requests/204 <-- snark js audio playlist as discussed a few weeks back
zzz
WIP if anybody wants to play with it
zzz
iirc dr|z3d was rather negative on the concept, I hacked it up anyway, take a look if you like
dr|z3d
that's not quite correct, zzz.
dr|z3d
the concept itself was curious, the implementation I wasn't so enthused about, iirc. :)
zzz
ok, not sure how you could have judged the impl without seeing it, but now you have a chance to know for sure ))
zzz
I'm not even sure if _I_ like it...
dr|z3d
you explain it is how. you're triggering play on each of the audio players sequentially, no?
dr|z3d
*explained
dr|z3d
iirc you were equally unenthused about my alternative proposal. *chuckle*
dr|z3d
wrestling with javascript here, usual story.
dr|z3d
I think I got it beat, but it doesn't submit easily.
dr|z3d
not exactly at the top of my list of priorities, but svg identicons and qr codes would be interesting.
dr|z3d
one size fits all.
zzz
I briefly tried svg on stats.i2p (rrdtool supports svg). It was horrific, very slow and > 1 MB svg files.
zzz
I glanced at 12monkeys again, but they don't expose a Graphics2D object like jfreesvg does, so it's not immediately apparent to me how to glue it to rrd4j
dr|z3d
12monkeys is middleware.
dr|z3d
you need apache batik to handle svgs. a subset of it.
dr|z3d
1MB svg for basic graphs is fail++
dr|z3d
surprised they take much time to render, not much doing there, but filesize is probably something you can handle with mimimal effort.
dr|z3d
filesize, automating this once you've determined optimal configs would probably bring the size right down: github.com/svg/svgo
dr|z3d
random factoid: mozilla use that on all their in-browser firefox assets.
dr|z3d
~300x100 svg graph, combined bandwidth, 2880m period, with legend. 12.8KB here.
zzz
right but nowhere did a see a Graphics2D to hand to rrd4j like we do now
zzz
re: rrdtool, I don't know how it's supporting svgs and I'm certainly not going to go in and try to fix it for them
zzz
you're presuming they offer some svg configuration? I certainly don't see any in the man page
dr|z3d
who? 12monkeys or batik?
zzz
adding a postprocessing step ofc would slow things down even more
zzz
rrdtool
dr|z3d
I was talking about svgo and the various knobs you can tweak to bring the size down.
zzz
ok
dr|z3d
you can get a good idea of how much smaller you can take things here, just upload an rrdtool svg and see what it shrinks to: jakearchibald.github.io/svgomg (same backend as svgo)
zzz
sadly that would only help big, not slow
dr|z3d
yup
dr|z3d
but if you're not banging out the graphs too often, then scripting svgo to post-process them is doable, just depends how much you care.
dr|z3d
re batik, batik-svggen looks like the likely module you'll want.
dr|z3d
import java.awt.BasicStroke;
dr|z3d
import java.awt.Color;
dr|z3d
import java.awt.Dimension;
dr|z3d
import java.awt.Font;
dr|z3d
import java.awt.FontMetrics;
dr|z3d
import java.awt.Graphics;
dr|z3d
import java.awt.Graphics2D;
dr|z3d
import java.awt.GraphicsConfiguration;
dr|z3d
import java.awt.Image;
dr|z3d
import java.awt.Paint;
dr|z3d
import java.awt.Shape;
dr|z3d
import java.awt.Stroke;
dr|z3d
import java.awt.font.GlyphVector;
dr|z3d
import java.awt.font.TextAttribute;
dr|z3d
import java.awt.font.TextLayout;
dr|z3d
import java.awt.geom.AffineTransform;
dr|z3d
etc.
dr|z3d
that's from the SVGGraphics2D class.
zzz
as I said there's no obvious Graphics2D object to grab
zzz
at least not from 12monkeys
zzz
or perhaps 12monkeys just gets in the way
zzz
is 12monkeys just wrapping things up into ImageWorkers?
dr|z3d
I took one look at it when I was researching Graphics2B -> SVG and though, nah, bloated as funk.
zzz
*ImageWriters
dr|z3d
I couldn't tell you, I didn't spend much time looking at it when I saw how large batik was.
zzz
because I bypassed all the ImageIO stuff. If 12Monkeys' job is providing the ImageIO layer, and hiding the Graphics2D layer, then it's not helping
dr|z3d
but I likely overestimated the size of the required batik bits, there's a lot of stuff that's not required for svg rendering.
dr|z3d
if rrdtool is a pig, you might be better to bypass it altogether and see if you can find a native svg handler for the xml files or whatever they provide.
zzz
it's fine for png, so I'm leaving it alone