plac

Roon remote in GTK4

Commits at e239e707373471cbfe6d35b9df11a81c5f99a5de

  1. e239e707 Update Zig toolchain to v0.15 Shota FUJI authored at Shota FUJI comitted at
  2. f7e177db v1.0.0 Shota FUJI authored at Shota FUJI comitted at
  3. f964dda1 Update screenshot Shota FUJI authored at Shota FUJI comitted at
  4. 303b0aa6 Add libxml2 to build time dependencies It's used by "glib-compile-resouces" for stripping spaces in XML. That command produces a warning to stderr if the "xmllint" command is not available (for example, on NixOS.) Shota FUJI authored at Shota FUJI comitted at
  5. d24ded32 Do not disable category list during loading Even an instant, if the list goes "sensitive = false", it loses focus thus user have to manually re-focus to the list. This change enables users to rapidly send API requests, but I believe that's not an issue as requests are identified by "Request-Id" header. Shota FUJI authored at Shota FUJI comitted at
  6. 692a4071 Fix pressing Tab key on category list changes category This is unintuitive and inaccessible, as it was virtually impossible to "select a category then select an item" only via keyboard. <https://codeberg.org/pocka/plac-for-gtk4/issues/23> Shota FUJI authored at Shota FUJI comitted at
  7. 7e2ca927 Fix loading spinner is shown even when no artwork image is available Upon opening Plac when there is no playback queue, artwork section shows loading spinner even though nothing to show there. That spin animation consumes CPU resource. It also has been visually annoying. <https://codeberg.org/pocka/plac-for-gtk4/issues/22> Shota FUJI authored at Shota FUJI comitted at
  8. 2772a246 Home Manager module Convenience for Nix users. Shota FUJI authored at Shota FUJI comitted at
  9. 3378919d Allow setting fixed discovery UDP port number For firewalled environment. https://codeberg.org/pocka/plac-for-gtk4/issues/21 Shota FUJI authored at Shota FUJI comitted at
  10. 8ef35b20 Use treefmt for formatting dprint-plugin-exec doesn't work inside non-FHS environment. I'm not a fan of treefmt's overall design: file paths rather than stdin/stdout, noisy CLI outputs, over-complicated mechanism, etc. Shota FUJI authored at Shota FUJI comitted at
  11. 139b96a3 Do not use flake-utils Dependency just for just several lines is ridiculous. Shota FUJI authored at Shota FUJI comitted at
  12. 03aef5b8 Use unstable nixpkgs `nix flake update` I'm not seeing benefits of using stable channel. When using this flake from other flake, 99.9% of the time the caller sets `nixpkgs.follows` so using stable is rather problematic. Shota FUJI authored at Shota FUJI comitted at
  13. 0dbeec9d nix: Remove unused package from args Shota FUJI authored at Shota FUJI comitted at
  14. 7dc7622b v0.2.0 Shota FUJI authored at Shota FUJI comitted at
  15. e16bdad7 Fix error banner does not go away on successful reconnection Shota FUJI authored at Shota FUJI comitted at
  16. 94fb3354 Handle connection close Shota FUJI authored at Shota FUJI comitted at
  17. 36a122b8 Simplify connection process This patch refactors and simplifies connection process, which has been messy as it was designed for C API. This refactor also removed the unnecessary short-lived WebSocket connection on startup. That unorganized `try_listen` / `start` methods have been pain point for me. It was unclear how the class calls methods one by another, by looking at class. Elimination of startup short-lived WebSocket connection reduces startup time. It was not a bothering one, but there is no technical reason to close the established connection so this is good. Shota FUJI authored at Shota FUJI comitted at
  18. 413b89ae v0.1.0 Shota FUJI authored at Shota FUJI comitted at
  19. b42254f9 Use C Macro for embedding application ID Shota FUJI authored at Shota FUJI comitted at
  20. 74b16223 Embed version string from "build.zig.zon" Shota FUJI authored at Shota FUJI comitted at
  21. 42bdb450 Remove third-party copyright notice Plac for GTK4 no longer statically links to libraries. Shota FUJI authored at Shota FUJI comitted at
  22. 8ca06f40 Fix extension registration errors in short time Request handler at registration does not ignore ping request from Roon server and tried to parse it as register response. Shota FUJI authored at Shota FUJI comitted at
  23. 417fbfc7 Use SOOD parsing written in Vala For faster compilation in Nix build (no downloading) and pure-Vala challenge. Shota FUJI authored at Shota FUJI comitted at
  24. 9cbd39e2 Cleanup build script Removed legacy crufts. Shota FUJI authored at Shota FUJI comitted at
  25. 0d19d03e Fix debug log not describing what the number is Shota FUJI authored at Shota FUJI comitted at
  26. d1962e17 Fix seekbar behavior being flaky Sometimes the seekbar remains disabled (`sensitive = false`) and sometime it keeps previous tracks seek location after track changed. These are due to mishandling of `seek_position`'s nullability. Shota FUJI authored at Shota FUJI comitted at
  27. 61dd1427 Use Zone class directly for view model `Zone` class became GObject. Shota FUJI authored at Shota FUJI comitted at
  28. 28bbf5cf Use json-glib instead of Zig module To integrate to GLib ecosystem more. I rejected json-glib before due to poor API, but the lure of "Vala only codebase" was too attractive. While the new codebase is quite verbose, overall line counts are lower than the before. Due to C API deserializing and serializing code is not readable and error-prone. I created `JsonHelper` module to mitigate the shitty API but it's nowhere near perfect. These code seriously need unit tests, but that would take a while. For now, this is good enough. Shota FUJI authored at Shota FUJI comitted at
  29. 1550d119 Remove unused dependencies (Zig packages) Shota FUJI authored at Shota FUJI comitted at
  30. 7ad3f9fe Put space after type parameter's close angle It was so ugly and stupid but I had no idea which uncrustify property is the culprit. Shota FUJI authored at Shota FUJI comitted at