Commit Graph
67 Commits
Author SHA1 Message Date
vicrodh e109e88ec2 merge: integrate qbzd event hooks from PR #700
cx
2026-08-27 19:26:13 -06:00
vicrodh b2d3656eb4 docs(contributors): credit adopted external fixes
cx
2026-08-26 21:28:56 -06:00
vicrodh a4ddf64d7f docs(macos): recommend notarized downloads
cx
2026-08-26 21:15:14 -06:00
vicrodh 3b0fea51e1 docs(macos): integrate community signed install option (#705)
Keep official upstream releases and Gatekeeper guidance as the primary route. Present Afonso’s notarized Homebrew cask and DMGs as an independent community alternative with explicit provenance and endorsement boundaries.

cx
2026-08-26 20:53:19 -06:00
vicrodh 08d924e1b8 docs: rewrite the README for the Qt frontend
The previous README described the Slint build: the memory wall, the
slint-*.sh dev loops, nightly + mold, a Debian dependency list without
Qt, seven locales, the wgpu/femtovg renderer table. All of it is
replaced with the Qt reality: cxx-qt, Qt 6.8 floor with private
headers, scripts/qt-run.sh, the measured build times, the real
QBZ_RENDERER semantics. Adds what shipped since: Jellyfin, Subsonic,
CD/SACD playback and ripping, the metadata editor, the playlist
manager. Adds a table of contents, a "Reporting a problem" section
(Settings > Share logs), the LLM/AI tools statement, the multichannel
DSD known issue, and corrects the Flatpak bit-perfect note (it works;
one device-reservation grant, shown in Settings > Flatpak).

cc
2026-08-26 19:11:01 -06:00
Afonso Jorge Ramos cd0dd4dc0d docs: simplify macOS installation guidance 2026-08-20 23:19:48 +02:00
Afonso Jorge Ramos 977f5eefac docs(macos): document signed builds and Homebrew cask 2026-08-20 19:55:34 +02:00
Filippo VicentiniandClaude Fable 5 ee1bbf9b76 feat(qbzd): run a user hook script on daemon events (hooks.script)
Adds an event-hook facility for headless integrators (moOde, Volumio,
DIY audio boxes): 'qbzd settings set hooks.script /path/to/script' (or
the QBZD_HOOK env var) names an executable the daemon forks once per
daemon event with the event described in QBZ_* environment variables --
the same push-integration contract pleezer (--hook) and shairport-sync
(run_this_...) established, so a box can stop its local player when a
Qobuz Connect session starts and restore state when it ends, without
keeping a poller or SSE client alive.

Getting there required closing a gap on the CoreEvent bus: the playback
variants (TrackStarted, PlaybackStateChanged, PositionUpdated,
VolumeChanged) were defined and consumed -- mpris.rs keeps its widget
fresh from them, scrobble_engine.rs times scrobbles by them -- but
nothing ever emitted them, so those consumer arms were dead and
/api/events (SSE) / 'qbzd watch' carried no playback traffic. A new
events_bridge task wakes on the driver's existing ReportEdge pulse
(plus a 2 s poll fallback for track-id-clearing stops), dedups against
what it last published, and sends the deltas to the bus. This revives
live MPRIS updates and scrobble timing as a side effect.

Also emitted now: QconnectSessionChanged (new CoreEvent variant) from
the qconnect lifecycle latches -- off/connecting/connected/retrying/
exhausted -- and PlaybackError from the driver's stream-error latch, so
integrators can react to a busy audio device at play time.

The hook dispatcher never waits for the script inside the recv loop
(each event forks detached, a reaper task collects the exit status) and
the LoggedIn session payload (auth token) is never forwarded to child
environments. hooks.script validates as absolute-or-empty; the setting
lives in daemon_prefs.json and is deliberately NOT part of the settings
bundle (a machine-local path).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 01:57:56 +02:00
vicrodh 6fff4aae31 docs(readme): note QBZ has no built-in EQ/DSP by design (use EasyEffects/JACK)
cc
2026-07-24 01:14:19 -06:00
vicrodh 70aca326fd docs(readme): add the "what QBZ is and isn't" statement to Why QBZ
Aligns the README with the wiki and website: QBZ exists to give Linux users the
Qobuz client they deserve, and is explicitly not a web wrapper and not a
download tool. Keeps the technical native-pipeline explanation below it.
2026-07-23 23:42:48 -06:00
vicrodh 0328a38b2f docs(readme): count Dutch among the bundled languages
cc
2026-07-23 13:09:47 -06:00
vicrodh d8f43cc4a3 docs(readme): qbzd and kiosk sections, drop diagram and star history
Promote the headless daemon to its own section with a screenshot and the
wiki link, add a Kiosk Mode section for Raspberry screens and handheld
consoles, remove the mermaid architecture diagram and the star-history
chart.

cc
2026-07-23 13:07:06 -06:00
vicrodh 5ae5d8e651 docs(readme): add Headless Daemon (qbzd) feature section linking the wiki manual
cc
2026-07-15 15:51:40 -06:00
Ronjar 9696c93a3d Changed apt format to deb822 (#530) 2026-07-13 00:40:16 -06:00
vicrodh 92fbf8e8ca docs: correct the glibc floor to 2.39 for the 2.0 binaries
Verified empirically against the pre-flight artifact (objdump shows
GLIBC_2.39 as the highest versioned symbol — the ubuntu-24.04 runner's
libc). Fedora needs 40+ accordingly; the Ubuntu/Debian guidance was
already right.

cc
2026-07-04 08:22:47 -06:00
vicrodh 6f82ad9b30 docs: warn Gentoo users that the source ebuild build is heavy and slow
Points at the memory-wall section and recommends qbz-bin; every
version bump recompiles the generated UI module.

cc
2026-07-03 21:48:44 -06:00
vicrodh 89fb714cad docs: macOS first-launch instructions for un-notarized builds
Recent macOS (Sequoia+) dropped the right-click Open bypass for
un-notarized apps, so the section now walks both unlock paths: the
Privacy & Security 'Open Anyway' route and the xattr quarantine
removal command, with a plain explanation of what each does.

cc
2026-07-03 21:41:30 -06:00
vicrodh a3d7c9be02 docs: overhaul the build-from-source section of the README
Documents the Slint memory wall properly: the per-knob guard table,
a CI-proven low-RAM recipe for machines under 32 GB, the auto-tiering
scripts/slint-run.sh (FAST/SAFE/MIN) and the two development loops
(release-perf slint-dev.sh vs fast-debug slint-dev-fast.sh, plus the
macOS counterpart). Fixes the toolchain claim (scripts need nightly
for -Z threads; plain stable cargo build works), adds macOS build
prerequisites, and records the DSD direct-mode seek/volume limitation
under known issues.

cc
2026-07-03 21:39:43 -06:00
vicrodh 47db92ff92 chore: remove qbzd headless daemon and its client integration
qbzd was a premature daemon experiment that never shipped (gated off
behind QBZD_ENABLED, no user access). Its ratatui 0.29 dependency pinned
unicode-width =0.2.0, which conflicts with slint's annotate-snippets in a
shared workspace. Remove it entirely; it will be reimplemented from
scratch later on the clean, UI-agnostic shell.

- Delete crates/qbzd daemon crate + workspace member (drops ratatui,
  crossterm and the other qbzd-only deps from the lock).
- Delete src-tauri qbzd_discovery (mDNS) + its commands/state wiring in
  lib.rs; drop the direct mdns-sd dep (Chromecast keeps its own via
  qbz-cast).
- Delete remoteApi/remoteEvents/playbackTargetStore; neutralize
  commandRouter to local-only dispatch (isRemote/skipIfRemote are now
  always-false no-ops so the ~100 guard call-sites keep compiling).
- Strip qbzd branches from playbackService and the remote banner from
  NowPlayingBar; excise qbzd from CastPicker (Chromecast/DLNA kept).
- Remove qbzd i18n keys (5 locales), README daemon node, gitignore note.

cargo check (crates + src-tauri) and svelte-check all green.

cc
2026-05-25 15:08:14 -06:00
vicrodh c747c72e9d chore(release): bump version to 1.2.13 "400+ stars"
Version bumped across Cargo.toml, tauri.conf.json, package.json, snapcraft.yaml (version + source-tag), flake.nix, and the lockfiles. metainfo.xml gains a 1.2.13 release entry, the About modal codename becomes "400+ stars", and the README contributors list adds @Vudgekek and @DoubleGate.

cc
2026-05-16 14:40:09 -06:00
vicrodh 1a4aa26b8b docs(api-keys): reflect proxy-based architecture, remove .env instructions
.env.example is now a placeholder pointing to the hosted Cloudflare
Workers proxy. README updates the API Proxy section accordingly and
.gitignore adds CLAUDE.md and AGENTS.md.

cc
2026-04-24 10:23:57 -06:00
vicrodh edededcf8c chore(cast): remove AirPlay subsystem (dead code)
AirPlay was scaffolded in both crates/qbz-cast/src/airplay and
src-tauri/src/cast/airplay but never worked at runtime: the RAOP
sender required an Apple MFi-licensed stack with no free/open
alternative, and the backend state was already disabled via the
commented `.manage(airplay_state)` line in src-tauri/src/lib.rs.
The CastPicker UI already hid the AirPlay tab pending streaming
support that was never going to ship.

Delete:
- crates/qbz-cast/src/airplay/        (entire directory)
- src-tauri/src/cast/airplay/         (entire directory)
- 10x v2_airplay_* commands from commands_v2/library.rs + their
  tauri::generate_handler entries
- AirPlayError from qbz-cast errors
- 'airplay' from CastProtocol + every case arm in castStore.ts,
  CastPicker.svelte, AudioOutputBadges.svelte
- Corresponding i18n keys if present

Zero behavior change for Chromecast / DLNA / QConnect / MPRIS. If
AirPlay ever becomes feasible we'll revisit from scratch with a
real streaming backend.

cc
2026-04-16 19:04:56 -06:00
Victor RH 210587bfe8 Add architecture diagram and remove dark theme chart
Added a diagram to illustrate the architecture of the application and removed the dark theme star history chart.
2026-04-16 00:29:13 -06:00
Victor RH ad17aa2274 Update star history chart links to vicrodh/qbz 2026-04-16 00:24:37 -06:00
Victor RH ede01473b9 Add Fancy charts section to README
Added sections for Fancy charts with responsive images.
2026-04-16 00:22:34 -06:00
vicrodh fb7c2a440a docs: add NixOS installation instructions, update snap note
Add NixOS/Nix flake install instructions (system-wide + Home Manager).
Update snap note since MPRIS was approved.

cc
2026-04-07 21:46:52 -06:00
vicrodh c86fe7de9e docs: add release 1.2.3 notes and update contributors
Add AdamArstall to README and About modal (scroll restoration fixes).
Release docs for 1.2.3 - Hardening playback.

cc
2026-04-06 17:18:54 -06:00
Afonso Jorge Ramos 84b1f1a542 docs: remove Apple Silicon only note from macOS section 2026-04-01 14:51:26 +02:00
victorrhgap 1c51eac578 docs: add contributors section to README, remove inline credits
List all contributors from AboutModal in Contributing section.
Remove individual credits from installation sections.

cc
2026-03-26 08:45:42 -06:00
victorrhgap e34212a5ab docs: add macOS experimental section to README
cc
2026-03-26 08:30:02 -06:00
vicrodh 72b794a81c docs: add Gentoo overlay installation to README
cc
2026-03-22 22:49:30 -06:00
vicrodh af23efb3c1 chore: bump version to 1.2.0
Updated:
- src-tauri/Cargo.toml
- src-tauri/tauri.conf.json
- package.json + package-lock.json
- snapcraft.yaml (root + packaging/)
- flake.nix
- Cargo.lock
- metainfo.xml (new release entry)
- README: Snap MPRIS limitation note with forum link

cc
2026-03-19 17:12:31 -06:00
vicrodh 3fcecd80b1 docs: clarify offline cache vs local library in README
cc
2026-03-19 15:54:17 -06:00
vicrodh 9d54a19439 docs: move QConnect below Audio, add wiki link
cc
2026-03-19 15:41:05 -06:00
vicrodh 989eb3faf5 docs: rewrite README for 1.2.0
Major rewrite reflecting current state of the project:
- Qobuz Connect as headline feature
- No API keys needed (proxy-based architecture)
- API proxy self-hosting instructions for source builds
- Updated tech stack (rodio 0.22, MuPDF 0.6, ashpd, 5 locales)
- 13 crates including 4 QConnect crates
- Removed outdated sections (KWin title bar, vendored rodio, data migration)
- Streamlined installation and known issues

cc
2026-03-19 15:30:35 -06:00
vicrodh 2ec36934cf fix APT install instructions: add gpg --dearmor for Ubuntu/Mint compat
Fixes #153 - GPG key needs dearmoring on Ubuntu-based distros like
Linux Mint where apt doesn't handle armored keys directly.
2026-03-10 02:47:09 -06:00
vicrodh 6b67594842 docs: add APT repository install instructions to README 2026-03-06 16:25:54 -06:00
vicrodh 976fa201d5 docs: update README and link resolver comment for Spotify embed scraping
Remove Spotify API credential setup from README since playlist import
now uses embed scraping. Update resolve_via_odesli_and_search doc
comment to reflect the new Spotify data path.
2026-03-06 13:33:36 -06:00
vicrodh c9db211bd0 update README and metainfo for Flathub and expanded description
- Add Flathub badge and install command to README
- Rename Flatpak section to include both Flathub and GitHub Release
- Remove mpris from snap connect instructions (interface not available)
- Apply Flathub quality guidelines: developer id block, drop categories/keywords
- Expand feature list: local library, Plex, immersive/miniplayer modes,
  artist blacklist, ListenBrainz, smart cache, customization
2026-03-04 08:29:20 -06:00
vicrodh c643511f1f add StandWithPalestine banner to README 2026-02-23 17:04:42 -06:00
vicrodh 6d38e8f6a1 docs: rewrite README to reflect current feature set and architecture
Major updates:
- Replace outdated 1.1.8 highlights with comprehensive feature list
- Add all 4 audio backends, loudness normalization, cache sizes
- Document immersive player with 14 visualization panels
- Add 26 themes, auto-theme, native KDE title bar
- Document multi-crate architecture and all 9 crates
- Add system dependencies per distro (Debian, Fedora, Arch)
- Update project structure to reflect current codebase
- Add 4-language i18n, custom artist images, recommendations
- Update tech stack table with all major dependencies
- Remove stale "Coming soon" screenshots placeholder
2026-02-23 05:30:11 -06:00
vicrodh 5b76530a4d docs: add glibc 2.38+ requirement for DEB/RPM packages
Ubuntu 24.04 build target (required for Snap Store) means native
packages need glibc 2.38+. Older distros should use Flatpak, Snap,
or AppImage instead.
2026-02-18 16:52:30 -06:00
vicrodh e03c823bfd feat: add --reset-graphics CLI flag for full composition reset
Resets all graphics/composition settings to defaults:
- force_x11: false
- gdk_scale: auto
- gdk_dpi_scale: auto
- force_dmabuf: false

Use when QBZ crashes on startup due to bad graphics config.

cc
2026-02-12 11:40:53 -06:00
vicrodh 9f574fce4a docs: add graphics troubleshooting section to README
Documents composition settings, environment variables, and common
scenarios for GPU/rendering issues (NVIDIA Wayland, Intel Arc, VMs).

cc
2026-02-12 11:23:59 -06:00
vicrodh 4829236c29 fix(readme): change all badges to flat-square style 2026-02-05 17:47:00 -06:00
vicrodh 2cac902d81 fix(readme): replace Snapcraft badge with shields.io inline badge
Remove the large standalone Snapcraft badge and add a shields.io
badge matching the style of the other badges in the header row.
2026-02-05 17:45:08 -06:00
vicrodh 614cd5cfbc docs: drop macos section from README
cx
2026-02-05 04:16:08 -06:00
vicrodh 9266ec7e1a docs: add 1.1.8 highlights to README
cx
2026-02-05 04:15:23 -06:00
vicrodh 617721a1c7 docs: update audio notes and include 1.1.8 release docs
cx
2026-02-05 04:12:56 -06:00
vicrodh b1afa5f40b docs: add snap badge and post-install steps
cx
2026-02-05 04:09:08 -06:00