win32
zip: https://github.com/hydrusnetwork/hydrus/releases/download/v161/Hydrus.Network.161.-.Win32.-.Extract.only.zip
exe: https://github.com/hydrusnetwork/hydrus/releases/download/v161/Hydrus.Network.161.-.Win32.-.Installer.exe
os x
app: https://github.com/hydrusnetwork/hydrus/releases/download/v161/Hydrus.Network.161.-.OS.X.-.App.dmg
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v161/Hydrus.Network.161.-.OS.X.-.Extract.only.tar.gz
linux
tar.gz: https://github.com/hydrusnetwork/hydrus/releases/download/v161/Hydrus.Network.161.-.Linux.-.Executable.tar.gz
source
tar.gz: https://github.com/hydrusnetwork/hydrus/archive/v161.tar.gz
I had a great week. I have increased video support for all platforms and fixed a lot of bugs.
animation
I have, for the most part, fixed animation on Linux and OS X. I could not get all gif transparency working, so some gifs with unusual palettes will render strangely, but otherwise, Linux and OS X should render animations and videos just like Windows. In my testing, they generally seem to work great, and I am very pleased. I have updated the static FFMPEG build that comes with the releases, and I added it for the Linux executable release (I think this was missing, before–it certainly wasn't working correctly, even if the user put it in themselves).
I also simplified my video rendering pipeline. It now uses less memory, has less latency, and, it feels to me, renders a little faster.
Furthermore, I have added mp4, wmv, and mkv support to my native rendering system. They now render just like webms, and in the same way do not have audio yet. I plan to add audio in the future.
I would like to know your experiences running these new video types in the client. If you experience crashes, memory errors, slowdown, or anything else, please let me know. There is room to improve my own system, and I would also like to add options for 'always launch mp4s in the default external program' and so on for those people who would prefer to default to MPC or VLC or whatever.
more processing improvements
I have switched the database to a slightly faster transaction mode that should speed things up a bit for all clients and possibly a lot for those with high latency hard drive connections, like laptops or encrypted drives. The drawback is that if your client crashes, there is a very small chance the database will forget the most recent writes to it. Let me know if you experience any significant changes in speed.
I also worked more on the processing code–it should accelerate/decelerate processing speed more quickly as needed and report rows/s more accurately.
BTW: In my testing these past weeks with rows/s, I have found that the easiest way to speed things up is just to keep my drive defragged. The database files can easily split into hundreds of pieces after a big operation, and leaving it like that just slows everything down. I use O&O Defrag and now have it automatically do a quick stealth defrag every twelve hours on all drives, which seems to keep things fairly smooth. It is another one of those things where five minutes a day causes less headache than an hour a month.
a/c dropdown and hover window fixes
I have fixed several bugs with the autocomplete dropdown–it should position and show/hide itself more accurately in Linux and OS X, and the bug that was stopping selecting system predicates with the enter key is fixed.
I cannot get the arrow keys (for selecting tag results) to fire on OS X because of an OS X-specific shortcut-binding behaviour I never knew about before. My long-term plan to improve shortcuts client-wide should eventually fix this, but for now, using ctrl+ or alt+arrow keys seems to work.
Also hover windows should position themselves a bit better for Linux and OS X. I still get some buggy behaviour in Linux, where the windows will sometimes not layout correctly or just decide to reposition in the top-left of the screen, but it happens less now. I will keep working on this.
full list
- updated windows python, sqlite and ffmpeg
- added linux ffmpeg binary to the executable build
- updated os x ffmpeg binary
- animation is generally working for linux and os x
- fixed some linux/os x ffmpeg calls
- fixed webm import for linux/os x
- webms work great
- moved to rendering gifs with PIL by default on linux and os x, which has bad palette support but renders more reliably
- the animation scanbar position caret is now visible on linux and os x
- fixed some timing/resume issues the animation scanbar on os x
- the old mediactrl video embed is removed
- mp4, wmv, mkv are added to native rendering control, no audio yet (just like webm)
- flv and flash will now have a little vertical padding on max zoom to make vertical hover windows easier to access
- changed database to a faster synchronisation mode
- tuned update processing daemon for more accurate time calculations and faster baseline speed, even if that knocks gui latency a bit
- fixed rows/s being thrown wildly off by long pauses
- made update processing daemon more reactive
- improved some of the flow and generally cleaned the update processing daemon
- added processing phase option to regular delay to processing of updates (this is useful if you run multiple clients and don't want them to process at the same time)
- fixed e621 tag parsing
- completely rewrote the focus engine behind the autocomplete dropdown
- fixed a bunch of autocomplete dropdown's generally buggy behaviour for linux and os x
- fixed autocomplete dropdown's display, sizing, and positioning for linux and os x
- fixed autocomplete dropdown selecting system predicates with the keyboard
- fixed autocomplete dropdown show status in linux with multiple pages open
- improved all subprocess calls, removing interim shell step and parameterising passed arguments
- improved how files and directories are launched in windows
- upnp is fixed for linux
- fixed hover window archive/inbox/delete icon buttons, which were spamming their commands to all open media viewers, not just their own
- added a simple raised border to hover windows to better delineate them from the canvas background
- updated the hover window size and position code to be a bit more reliable (still seems to bug out a bit on linux)
- tags hover window should now expand sideways more reliably
- it is now not possible to create nested export folders
- searching for numtags < x will now include files with no tags
- fixed manage boorus dialog OK in linux
- fixed booru selection mini-dialog in linux
- generally improved restoring database code
- fixed restoring a database when you have tag archives in existing database
- fixed a unicode encoding error when converting certain jobs to text (this was throwing errors in deviant art downloads/subscriptions–we'll see what was actually going on now, whether this is an error not being formatted right or something else)
- started some great rewrite of management panel gui code
- rearranged the download panel gui hierarchy slightly
- improved collapsible panel collapse/expand layout code
- removed code and database table for the old numerical ratings filter
- some general code refactoring and cleanup
- improved client upnp daemon timing
- harmonised how the client and server check requests for bandwidth-tracking eligibility
next week
I am on the cusp of committing myself to a severe and sorely needed overhaul of how the client's pages work behind the scenes, so I will start that first thing to maximise the chance that I will finish it in time for next Wednesday. I want to eventually have 100% accurate session support so that import pages will be resumable, and thumbnails will remember if they were selected, and so on, which means revamping some some integral stuff.
If I have time after that is done, I have some pixiv and danbooru parsing to look at and potentially adding native ugoira support.
I started reorganising my to-do list this week from a bunch of overloaded colour-coded Zhorn Software Stickies to a richer AbstractSpoon ToDoList Tasklist, and I am really pleased with the shift. I felt that some feature requests and bug reports were getting lost in the pile, so as I process my old lists of thoughts into proper actionable jobs, I hope I will be decreasingly able to lose track of them. If I have forgotten something you asked for a while ago and it is important to you, please tell me again and I will bump it up my priority list.