Skip to content

Use pipewire-gobject for PipeWire integration#10

Merged
bhack merged 1 commit into
mainfrom
pwg-api-integration
May 9, 2026
Merged

Use pipewire-gobject for PipeWire integration#10
bhack merged 1 commit into
mainfrom
pwg-api-integration

Conversation

@bhack
Copy link
Copy Markdown
Owner

@bhack bhack commented May 8, 2026

Summary

  • replace Mini EQ JACK/WirePlumber GI runtime integration with pipewire-gobject-backed PipeWire access
  • use Pwg for registry discovery, metadata routing, node control params, module loading, and monitor capture
  • update PyPI, Flatpak, CI, docs, and tests for pipewire-gobject>=0.3.3,<0.4

Validation

  • .venv/bin/python -m ruff check .
  • .venv/bin/python -m ruff format --check .
  • PYTHONPATH=src .venv/bin/python tools/check_pipewire_gobject.py --expect-version 0.3.3
  • .venv/bin/python -m pytest -q
  • .venv/bin/python -m build
  • .venv/bin/python -m twine check dist/*
  • fresh venv install of Mini EQ wheel using the published pipewire-gobject 0.3.3 sdist; mini-eq --help and Pwg import passed
  • local app stress testing with real music is in progress and remains the draft gate before merge/release

Dependency

  • pipewire-gobject 0.3.3 is published on PyPI/TestPyPI and pinned in the Flatpak manifest from tag 0.3.3 at commit d7be87c57fae342443fe532b525e00bdfac83102.

@bhack
Copy link
Copy Markdown
Owner Author

bhack commented May 8, 2026

CI is being rerun now that pipewire-gobject 0.3.1 is published on PyPI. Keeping this PR draft-gated after CI: before merge or a Mini EQ release, we still need local app stress testing on this branch, including real music playback/routing/analyzer coverage.

@bhack
Copy link
Copy Markdown
Owner Author

bhack commented May 8, 2026

Status update after pipewire-gobject 0.3.2:

  • Updated Mini EQ to require pipewire-gobject>=0.3.2,<0.4.
  • Updated the Flatpak manifest to build pipewire-gobject from tag 0.3.2 at commit 399f770d1f76847f6ae4d24ac856eff3d2214748.
  • Adjusted CI to build the pipewire-gobject sdist in a plain build venv, then install that wheel into the system-site test/runtime venv so Ubuntu PyGObject packages remain available without breaking g-ir-scanner.
  • PR checks are green, including test and Flatpak.

Keeping this PR as draft until real music stress testing on the app branch is complete.

Comment thread tests/test_mini_eq_atspi_widgets.py Fixed
Comment thread tests/test_mini_eq_atspi_widgets.py Fixed
@bhack bhack force-pushed the pwg-api-integration branch 2 times, most recently from d6fed07 to eac9dbe Compare May 8, 2026 21:54
@bhack
Copy link
Copy Markdown
Owner Author

bhack commented May 8, 2026

Status after pipewire-gobject 0.3.3 release:

  • PR body updated to reference pipewire-gobject>=0.3.3,<0.4 and the published 0.3.3 tag.
  • Added a small GI cleanup commit declaring the GLibUnix namespace version before import.
  • Local validation passed:
    • .venv/bin/python -m ruff format --check .
    • .venv/bin/python -m ruff check .
    • .venv/bin/python -m pytest
    • tools/run_release_preflight_container.sh
  • Container preflight installed pipewire-gobject 0.3.3 from PyPI, built Mini EQ artifacts, ran twine checks, verified --check-deps, and confirmed the sibling Flathub manifest drift check passes.

Keeping the PR draft-gated for the remaining real-session checks: local Flatpak runtime smoke, clean-permission background portal smoke, and interactive real-music testing before merge/release.

@bhack bhack force-pushed the pwg-api-integration branch 2 times, most recently from ca03fbb to edd4f1b Compare May 9, 2026 00:53
Comment thread tools/check_live_ui_runtime.py Fixed
Comment thread tools/check_live_ui_runtime.py Fixed
Comment thread tools/check_live_ui_runtime.py Fixed
Comment thread tools/check_live_ui_runtime.py Fixed
Comment thread tools/check_live_ui_runtime.py Fixed
Comment thread tools/check_live_ui_runtime.py Fixed
Comment thread tools/check_live_ui_runtime.py Fixed
Comment thread tools/check_live_ui_runtime.py Fixed
Comment thread tools/check_live_ui_runtime.py Fixed
Comment thread tools/check_live_ui_runtime.py Fixed
@bhack bhack force-pushed the pwg-api-integration branch from edd4f1b to aee9d88 Compare May 9, 2026 00:59
Comment thread tools/check_live_ui_runtime.py Fixed
@bhack bhack force-pushed the pwg-api-integration branch from aee9d88 to a6d3c35 Compare May 9, 2026 01:02
Replace the JACK/WirePlumber GI integration path with pipewire-gobject-backed PipeWire registry, metadata, stream routing, and analyzer support.

Update package metadata, CI, Flatpak manifests, release preflight, and Flathub handoff checks for the new dependency.

Expand routing, shutdown, AT-SPI, and release-preflight coverage.
@bhack bhack force-pushed the pwg-api-integration branch from a6d3c35 to f539f62 Compare May 9, 2026 01:23
@bhack bhack marked this pull request as ready for review May 9, 2026 01:33
@bhack bhack merged commit 7951d41 into main May 9, 2026
10 checks passed
@bhack bhack deleted the pwg-api-integration branch May 9, 2026 01:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants