Conversation
91f5884 to
5e5b428
Compare
should probably have an indication when not connected
tbh, I did not want to get results right away; batching would have been fine. But, BlueR seems to give the first scan result only after 10s if I set sampling period.
|
Comparing this version and the Qt version only downside I see is that the Qt version looks native while the Rust version looks alien. Qt for the Gui would work with Rust too. |
That depends on your desktop environment; in COSMIC Iced looks native while Qt looks alien. |
|
I accidentally added my AirPods under “Nothing,” so the panel only shows a noise control mode. Is there a way to remove the device so I can add it correctly? |
delete |
|
I wonder if this could be added as a button, which would simply delete Thanks, Chris |
I'll remove the |
* build: 👷 add nix flake * chore: 🙈 add nix's result to gitignore
|
Thanks for the great work here! I was just missing a couple features that I needed:
So I added those here in this fork https://github.com/Chrisbattarbee/librepods with some instructions on how to set it up with nixOS Just leaving this here incase some others had the same needs |
Wrap set_card_profile_sync call in std::panic::catch_unwind to handle panics in libpulse-binding when deactivating A2DP profile.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
|
@YuseiRun you are running the old version, not this rewrite. Please limit the comments here to the rewrite. |
…ort (#469) * feat: add stem press track control and headless mode support - Parse STEM_PRESS packets and emit AACPEvent::StemPress with press type and bud side - Enable double/triple tap detection on init via StemConfig control command (0x06) - Double press → next track, triple press → previous track via MPRIS D-Bus - Add next_track() and previous_track() to MediaController - Add --no-tray flag for headless operation without a GUI - Replace unwrap() on ui_tx.send() calls with graceful warn! logging (vibecoded) * Update main.rs * feat: make stem press track control optional with GUI toggle Add a --no-stem-control CLI flag and a toggle in the Settings tab for environments that handle AirPods AVRCP commands natively (e.g. via BlueZ/PipeWire). The feature remains enabled by default. - Load stem_control from app settings JSON on startup; --no-stem-control overrides it to false regardless of the saved value - Share an Arc<AtomicBool> between the async backend and the GUI thread; AirPodsDevice holds the Arc directly so the event loop reads the live value on every stem press — toggle takes effect immediately without reconnecting - Persist stem_control to settings JSON alongside theme and tray_text_mode - Add a "Controls" section to the Settings tab with a toggler labelled "Stem press track control", with a subtitle explaining the AVRCP conflict scenario - Fix StemConfig bitmask comment to clarify it uses a separate numbering scheme from the StemPressType event enum values (0x05–0x08)
|
thanks so much for the continued work on this! one minor issue I'd like to report is missing the case battery percentage, using AirPods Pro 3.
More importantly, in my opinion, is that conversation awareness doesn't take into account when you're in a call, so when the microphone is in use. This causes for the conversation awareness to trigger and lower the volume of the call. I think if there's a way to check an ongoing microphone use, conversation awareness shouldn't lower the volume. The workaround is manually disabling this feature and re-enabling it as needed. I'm using latest artifact from 2f1208c. |
|
@randshell the battery is only shown when one of the AirPods are in the case. From your screenshot, I believe none of the AirPods are charging. Thanks for the suggestion about the conversational awareness. I'll implement it when get the time. |


not sure if this is gonna stay in this repo (reason below)
So, the current Qt app wasn’t really as updated as the Android app- the maintainer didn’t have time, and it was too different from the Android implementation for me to easily port new stuff.
This new app is built in Rust, using the iced library, and borrowing the AACP and ATT implementation from the Android app. This app also has a much better UI, and now isn’t just limited to AirPods! The AirPods basic implementation like ear detection and conversational awareness is already in place, along with battery and changing ANC mode.
To-Do List
UI message channel closed)Nothingwill work on this after airpods so it can be merged firstParse notificationsRead battery status from bluez (or something else- it's not sent over ATT)