/hydrus/ - Hydrus Network

Bug reports, feature requests, and other discussion for the hydrus network.

Posting mode: Reply

Check to confirm you're not a robot
Name
Email
Subject
Comment
Password
Drawing x size canvas
File(s)

Board Rules

Max file size: 350.00 MB

Max files: 5

Max message length: 4096

Manage Board | Moderate Thread

Return | Magrathea | Catalog | Bottom

Expand All Images


Version 496 Anonymous Board owner 08/17/2022 (Wed) 21:55 Id: ebed25 [Preview] No. 1343
https://youtube.com/watch?v=2jzugX2NMnk [Embed]
windows
Qt5 zip: https://github.com/hydrusnetwork/hydrus/releases/download/v496/Hydrus.Network.496.-.Windows.Qt5.-.Extract.only.zip
Qt6 zip: https://github.com/hydrusnetwork/hydrus/releases/download/v496/Hydrus.Network.496.-.Windows.Qt6.-.Extract.only.zip
Qt5 exe: https://github.com/hydrusnetwork/hydrus/releases/download/v496/Hydrus.Network.496.-.Windows.Qt5.-.Installer.exe
macOS
Qt5 app: https://github.com/hydrusnetwork/hydrus/releases/download/v496/Hydrus.Network.496.-.macOS.Qt5.-.App.dmg
Qt6 app: https://github.com/hydrusnetwork/hydrus/releases/download/v496/Hydrus.Network.496.-.macOS.Qt6.-.App.dmg
linux
Qt5 tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v496/Hydrus.Network.496.-.Linux.Qt5.-.Executable.tar.gz
Qt6 tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v496/Hydrus.Network.496.-.Linux.Qt6.-.Executable.tar.gz

I had a great week. There's more Qt6 work, and the first version of note parsing is finished.

UI Scaling and Qt6

The media viewer now understands UI scale and will draw images with all available pixels and state the current zoom correctly. Previously, if you were on 150% UI scale, it would draw at the smaller 100% size and then nearest-neighbour scale up. Now it compensates for the UI scale completely, drawing at that size, so if you look at a 4k image on a 4k screen, it'll look the same no matter what your UI scale is.

Some funny math went into this, particularly as I stitched the image tiles together through several different coordinate spaces, so if you are >100% UI scale and see a grey or white line flickering anywhere as you pan an image around, let me know your details.

After last week's nicer thumbnails at >100%, a user let me know that the thumbnail banner text was actually looking pretty bad at 100%. Looking at screenshots of the two situations made it obvious. I chased down what was going on, which turned out to be an annoying technical problem with no easy solutions, and figured out an ok solution. If all your monitors are 100% UI scale, the thumbnail banner text should now be antialiased. It isn't perfect (and even looks blurry with some semi-transparent background colours), so I may revisit this, and it may be the underlying Qt issue causing the ugly font gets fixed one day anyway.

The rating shapes (circles, squares, stars) are now antialiased too, and I re-did the star shape to look better.


Anonymous Board owner 08/17/2022 (Wed) 21:56 Id: ebed25 [Preview] No.1344 del
note parsing

This is still for advanced users, but if you know the downloader system, feel free to try it out!

Note parsing works now! All the downloaders have note import options, there's a defaults system, and it is all wired into the parsing system. The main remaining limitation is the parsing system still can't handle multi-line text, but if you make a note parser and download, it now gets added to the file. If you are a downloader maker, please try it out and let me know where it falls short. I intend to get multi-line parsing working in the coming weeks, and then I will update the default parsers for hydrus to grab artist notes.

For the defaults, I updated the 'manage default tag import options' dialog to also do note import options, so you can grab and rename notes from specific sites in different ways. The initial defaults I set are fairly simple 'get everything' options. I would like to see how these new systems shake out in the real world, especially as we deploy new downloaders to many users, and maybe I will revisit them.

full list

- note import options:
- the client now has a system to set default note import options. it works exactly the same as default tag import options and shares the same UI, now named _network->downloaders->manage default import options_. you now set tag and/or note import options for a particular domain. I don't think you'll have to touch the note defaults until this system is really going and we learn more about what we want. I have made the initial defaults get all notes with some simple conflict resolution that won't discard any data
- all url pages, watchers, watcher pages, gallery queries, gallery downloader pages, and subscriptions now have a note import options. by default, they are 'default'
- the edit subscription dialog now has a button to set note import options _en masse_
- all the behind the scenes stuff that connects and powers these systems is done. note parsing now works! advanced users, especially downloader makers, are encouraged to play around with this for real. the remaining hurdle is still multiline parsing support
- notes now have a cleaning system before they are saved. to start with this week, they are now trimmed of leading or trailing whitespace or newlines
- .
- Qt6:
- the media viewer now draws correctly on UI scaled displays. If you are at >100% UI scale, it will now render images beautifully, using all available pixels, and state the correct zoom percentage. you look at a 4k image on a 4k screen, you now see 4k, no matter the UI scale. previously it was rendering at 100% UI scale coordinates and being nearest-neighbour scaled up
- after several sad hours banging my head against font metrics, I finally discovered the magic flag needed and have improved the font quality of the thumbnail banners when you boot the client with only 100% UI scale monitors. should be anti-aliased now, although if you have a semi-transparent banner colour it may look slightly jank for reasons I still need to investigate.
- I fixed the 'don't process the click that activates a media viewer into the shortcuts system' hook for Qt6 (and still working on Qt5). it is a little smarter now, too


Anonymous Board owner 08/17/2022 (Wed) 21:57 Id: ebed25 [Preview] No.1345 del
- misc:
- the new import options button is now an arrow-menu button. the secret right-click menu is no longer hidden. I also did some behind the scenes stuff to make it so all these arrow buttons spawn their menus on your cursor when you click, rather than hanging off the bottom-left corner of the button proper
- rating stars of all shapes are now anti-aliased
- greatly improved the shape of the 'star' rating star
- moved the 'checker options' button on watcher highlight panels down a bit. maybe it'll get integrated into other import options one day--I am still thinking about it
- archive/delete filters will not present 'delete from hard disk' as a final choice if the current domain is 'all local files'. I thought I fixed this a couple weeks ago, but there was a legacy issue
- fixed some real jank logic when setting the tag domain in autocomplete dropdown widgets. this got messed up a little with recent updates to file and tag domain searching. I reworked the signal path and fixed some weird update bugs and situations where you could seemingly set 'all known files'/'all known tags'
- .
- boring code cleanup:
- refactored all zoom code from the media viewer canvas to the media viewer container. the canvas no longer manages zoom numbers or container size
- refactored all container-position-tracking code from the media viewer canvas to the media viewer container and cleaned it
- updated the media viewer container to recognise UI scaling and adapt the stated zoom to reflect the raw pixels on screen, not the device independent coordinate system
- updated the native animation widget to recognise UI scaling, adapt its underlying renderer resolution appropriately, and draw that super-resolution frame to the canvas
- updated the static image widget to recognise UI scaling, adapt its tile coordinate system and resolution appropriately, and scatter the ethereal powder of the cleansed ancients across the QPainter in order to stitch the arbitrarily zoomed super-resolution tiles together on a sub-pixel canvas with no visible seams
- the animation and static image widgets also recognise changes in the current UI scale--if the current monitor changes or you move across monitors with differing UI scale
- updated some old pubsub update calls in the canvas code to Qt signals
- cleaned up some old const definitions in canvas code
- refactored and simplified some test methods related to the canvas container and media show actions
- cleaned up some old painter code and hacks to simpler alternatives
- cleaned a tangle of file/tag domain update code in the autocomplete dropdowns
- cleaned up some options getting/setting methods in the downloaders

next week

After three weeks at this, I am now super behind on other work. I would like to just kick out some normal bug fixes and so on, keep multiline text parsing in mind, and also turn to some long-delayed serverside admin workflow improvements. I would also like to switch the installer exe over to Qt6 next week.


Release Tomorrow! Anonymous Board owner 08/24/2022 (Wed) 01:24 Id: 337856 [Preview] No.1346 del
I had a good week doing a variety of different work. I cleared out a bunch of little improvements and bug fixes, moved the Windows installer to Qt6, and rounded out the new note parsing system with multi-line parsing support.

The release should be as normal tomorrow.



Top | Catalog | Post a reply | Magrathea | Return