From ec1065bcf410a17c7e7f65c5e8f2519a3f343896 Mon Sep 17 00:00:00 2001 From: Hydrus Network Developer Date: Wed, 3 Nov 2021 15:49:56 -0500 Subject: [PATCH] Version 460 closes #996 --- ... mpv crashes with WASAPI or ASIO audio.txt | 4 + help/changelog.html | 25 ++ help/client_api.html | 58 +++- hydrus/client/ClientCaches.py | 1 - hydrus/client/db/ClientDB.py | 29 ++ hydrus/client/gui/canvas/ClientGUICanvas.py | 4 + hydrus/client/gui/lists/ClientGUIListBoxes.py | 19 +- hydrus/client/gui/pages/ClientGUIResults.py | 4 +- hydrus/client/media/ClientMedia.py | 25 +- .../networking/ClientLocalServerResources.py | 305 ++++++++++++------ .../client/networking/ClientNetworkingJobs.py | 19 +- hydrus/core/HydrusClipHandling.py | 106 ++++++ hydrus/core/HydrusConstants.py | 6 +- hydrus/core/HydrusFileHandling.py | 128 +++++--- hydrus/core/HydrusVideoHandling.py | 181 ++++++++--- hydrus/test/TestClientAPI.py | 109 ++++++- requirements_macos.txt | 2 +- requirements_ubuntu.txt | 2 +- requirements_windows.txt | 2 +- 19 files changed, 788 insertions(+), 241 deletions(-) create mode 100644 db/help my mpv crashes with WASAPI or ASIO audio.txt create mode 100644 hydrus/core/HydrusClipHandling.py diff --git a/db/help my mpv crashes with WASAPI or ASIO audio.txt b/db/help my mpv crashes with WASAPI or ASIO audio.txt new file mode 100644 index 00000000..724c8869 --- /dev/null +++ b/db/help my mpv crashes with WASAPI or ASIO audio.txt @@ -0,0 +1,4 @@ +If your hydrus crashes as soon as you load a video in mpv, and your audio drver is ASIO or WASAPI, please add these lines to your mpv.conf: + +ao=wasapi +audio-fallback-to-null=yes \ No newline at end of file diff --git a/help/changelog.html b/help/changelog.html index dbd0e229..ee05f6e3 100755 --- a/help/changelog.html +++ b/help/changelog.html @@ -8,6 +8,31 @@

changelog

GET /add_tags/get_tag_services

-

This is now legacy! Use /get_services instead!

+

This is becoming obsolete and will be removed! Use /get_services instead!

Ask the client about its tag services.

Size is in bytes. Duration is in milliseconds, and may be an int or a float.

-

The service_names_to_statuses_to_tags structures are similar to the /add_tags/add_tags scheme, excepting that the status numbers are:

+

The service_names_to_statuses_to_tags and service_keys_to_statuses_to_tags structures are similar to the /add_tags/add_tags scheme, excepting that the status numbers are:

+

The tag structure is duplicated for both 'name' and 'key'. The use of 'name' is an increasingly legacy issue--a hack when the Client API was young--and 'service_names_to...' lookups are likely to be deleted in future in favour of service_key. I recommend you move to service key when you can. To learn more about service names and keys on a client, use the /get_services call (and cache the response--it doesn't change much!).

Note that since JSON Object keys must be strings, these status numbers are strings, not ints.

-

While service_names_to_statuses_to_tags represents the actual tags stored on the database for a file, the service_names_to_statuses_to_display_tags structure reflects how tags appear in the UI, after siblings are collapsed and parents are added. If you want to edit a file's tags, use service_names_to_statuses_to_tags. If you want to render to the user, use service_names_to_statuses_to_displayed_tags.

+

While service_XXX_to_statuses_to_tags represent the actual tags stored on the database for a file, the service_XXX_to_statuses_to_display_tags structures reflect how tags appear in the UI, after siblings are collapsed and parents are added. If you want to edit a file's tags, start with service_keys_to_statuses_to_tags. If you want to render to the user, use service_keys_to_statuses_to_displayed_tags.

If you add detailed_url_information=true, a new entry, 'detailed_known_urls', will be added for each file, with a list of the same structure as /add_urls/get_url_info. This may be an expensive request if you are querying thousands of files at once.

For example: