Overlay control for your camera
Find a file
Vasiliy Doylov 38f2fb8eb6
All checks were successful
Alpine build / Prepare (push) Successful in 10s
Alpine build / Build for armv7 (push) Successful in 5m48s
Alpine build / Build for aarch64 (push) Successful in 5m51s
Alpine build / Build for x86 (push) Successful in 3m22s
Alpine build / Build for x86_64 (push) Successful in 2m38s
Alpine build / Build for riscv64 (push) Successful in 6m7s
Alpine build / Upload (push) Successful in 1m2s
CI: forgejo/build-alpine: upload nightly build only on master
Signed-off-by: Vasiliy Doylov <nekocwd@mainlining.org>
2025-10-05 15:47:10 +03:00
.forgejo/workflows CI: forgejo/build-alpine: upload nightly build only on master 2025-10-05 15:47:10 +03:00
assets
data
package/alpine
po
src Add AutoFocus trigger 2025-07-09 19:46:30 +03:00
subprojects
.gitignore
COPYING
io.gitlab.nekocwd.pipetap.json
meson.build
README.md

PipeTap

Gtk4 + Vala PipeWire camera control overlay.

This thing is very WIP, report any bugs you found

THERE ARE A LOT OF HARDCODED VALUES! PLEASE USE MY LIBCAMERA FORK

PostmarketOS nightly testing:

  1. Add my nightly repo
  2. Install pipetap and libcamera
sudo apk add libcamera@nightly libcamera-ipa@nightly libcamera-tools@nightly pipetap@nightly
  1. Reboot
  2. Start PipeTap (tap to icon in app launcher)
  3. Start camera app (Snapshot/any other pipewire camera app)

How does it works?

I've modified libcamera to export brightness/focus controls.

Pipewire plugin for libcamera exporting this controls as camera node params.

PipeTap use generated bindings for WirePlumber GObject api to communicate with pipewire.

It listening to camera node state changes and opens overlay if cameta in active state.

It controls camera node parameters. It can't control v4l2 devices directly!!

Screenshots

Demo