windows
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v262/Hydrus.Network.262.-.Windows.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v262/Hydrus.Network.262.-.Windows.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v262/Hydrus.Network.262.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v262/Hydrus.Network.262.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v262/Hydrus.Network.262.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v262.tar.gz
I had a great week. I fixed and improved some things, and I added apng support!
apngs
The apng format is animated-PNG:
https://en.wikipedia.org/wiki/APNG
It is pretty neat! It isn't useful for messy lossy IRL video, but for pixel-perfect animations (usually anime, pixel-art or digital renders with large smooth surfaces and sharp edges), it is excellent. Roughly speaking, apng is to webm/mp4 as png is to jpeg.
There aren't a lot of apngs out there, but when they are done correctly, they are great. Here are some neat examples:
http://apng.onevcat.com/demo/
http://www.littlesvr.ca/apng/samples.html
I am now in a good position to add pixel-perfect and rich-colour ugoira support (ugoiras are just a series of pngs shown in a slideshow by javascript). When the new downloader engine is done, I will see about writing an ugoira->apng converter and hook it into the new pixiv downloader (and any other sites that do the same!).
To programs that don't understand apng (including old hydrus), they look and render like static pngs. I will in future schedule all existing pngs for a rescan to see if they are truly apngs.
network engine overhaul
I spent a lot of time on the new network engine this week. The critical parts are mostly ready, and I am now writing tests to make sure it all works correctly. I had a couple of breakthroughs this week that simplified a lot of what I want to do, so I am feeling very optimistic about it.
None of this is active in the program yet, but I expect to start phasing it in next week. I will start with better bandwidth management.
full list
- added apng support!
- sessions will now append from the default insertion index (e.g. right of current page)
- sessions will now load in the correct order if the default insertion index is to the left of the current page!
- fixed an issue with custom 'favorites' gelbooru parsers
- manage parents/siblings dialogs now load their larger datasets on a thread, after initialising
- sped up how some default thumbnails are generated on client boot
- sped up how resized thumbnails are generated
- refactored ffmpeg video parsing to be simpler and easier to maintain
- improved some ffmpeg parsing to be much faster
- ffmpeg can now parse video that reports no duration
- fixed some more bad video framerate parsing
- the 4chan/8chan thread watcher will now always generate https urls (even if you enter an http thread url)
- pixiv will now produce https urls
- the known url file status system will now check both http and https versions of an url it is given
- refactored some core elements to simplify common controller requests
- started on some database migration help and ui–should be finished next week
- flushed out network engine a little
- more refactoring and simplification of new network engine object coupling
- flushed out bandwidth manager
- misc logic tweaks in bandwidth management
- wrote a network session manager
- wrote a new class for identifying all future 'network contexts'
- employed NetworkContext everywhere in the new engine, massively simplifying several things
- wrote the first batch of tests for my new network engine and its network jobs
- wrote tests for the bandwidth rules object, including covering the new short time delta support
- improved reliability and speed of bandwidth unit tests
- wrote tests for the new domain-based bandwidth manager
- misc improvements
- more misc improvements
next week
Network engine stuff is top priority, but I would also like to finish off a neat gui 'database migration' tool I started this week that'll let you move your database and files around without it being a giant headache.