AirPods desktop user experience enhancement program

Icon
AirPodsDesktop

AirPods desktop user experience enhancement program

🌎 English | 🌏 įŽ€äŊ“中文

🔍 Preview

Preview Image

✨ Features

  • 🔋 Battery information display.
  • 👂 Automatic ear detection.
  • 🔉 Reduce loud sounds.
  • 🚀 Low audio latency mode.
  • 🌈 Beautiful animation.

🛠ī¸ Build

See the Build Instructions.

🤝 Contribute

AirPodsDesktop is an open source project, here are some ways you can contribute:

  • Open an issue to report bugs or suggest new features.
  • Submit a PR to fix a known bug or try something from the TODO list.

💎 ThirdParty

đŸē Credits

Owner
Sprite
C/C++ Windows desktop & kernel driver developer, reverse engineer.
Sprite
Comments
  • [Bug Report] High CPU usage

    [Bug Report] High CPU usage

    :bug: Describe the bug

    The program continuously takes up a lot of CPU usage, even when the Air pods are not connected.

    :scroll: Screenshot

    T_XBML)@KU2IT`42J}XF3O3

    :gear: Environments:

    • OS: Windows 10 Pro Version 21H1 19043.1266
    • Version: v0.3.1
    • CPU: Intel Core i7-7700
    AirPodsDesktop.log

    All the logs contain same line:

    [2021-12-21 08:53:50.558] [Main] [warning] [LowAudioLatency.cpp:53] LowAudioLatency::Controller error: 1
    
    StackTrace.log
    Not Found.
    
  • [Bug Report] Airpods detection is not stable which sometimes pauses the music playback when

    [Bug Report] Airpods detection is not stable which sometimes pauses the music playback when "ear detection" is enabled

    :bug: Describe the bug

    Airpods detection is not stable which sometimes pauses the music playback when "ear detection" is enabled

    :scroll: To Reproduce

    Steps to reproduce the behavior:

    1. Pair AirPods pro
    2. Start AirPodsDesktop
    3. Start NeteaseCloudMusic and play some music
    4. Listen to the music
    5. Music pauses sometimes
    6. Check the AirPodsDesktop immediately, the following status will show randomly:
    • AirPods2 with incorrect battery status
    • AirPods Pro but the battery status is incorrect(Such as Left:100%, right:30% but actually it's 30% 30%)
    • Disconnected

    :rocket: Expected behavior

    Music should continue playing and AirPodsDesktop should show the right status of AirPods pro

    :framed_picture: Screenshots

    image image image

    :gear: Environments:

    • OS: Windows 10 21H1 build 19043
    • Version: 0.1.0

    :star2: Additional context

  • [Bug Report] Program crashes when trying to open it for the first time

    [Bug Report] Program crashes when trying to open it for the first time

    :bug: Describe the bug

    I wanted to try out this program, but it always crashes while it displays the "Hello, welcome to AirPodsDesktop!" message for about a second.

    :scroll: To Reproduce

    Steps to reproduce the behavior:

    1. Install the program on a copy of Windows where this program was never installed on
    2. Try to open the program for the first time

    :rocket: Expected behavior

    The program crashes after a second or two, without an error message.

    edit: I forgot a word between "crashes" and "a second or two"

    :framed_picture: Screenshots

    Not a screenshot, but a screen recording of the crash: https://user-images.githubusercontent.com/45924578/129070327-f94594f7-c86a-4fea-b938-35ddda674019.mp4

    :gear: Environments:

    • OS: Windows 10 21H1 (Build 19043.1151)
    • Version: 0.2.0

    :star2: Additional context

    I don't think this needs any additional context. If so, please reply with the things that would be important as well to fix this issue.

  • [Bug Report] Does not work with non-English system username

    [Bug Report] Does not work with non-English system username

    I have already download and install the AirPodsDesktop-0.3.0-win32.exe, then I try to run it, but it doesn't work on my computer. It seems like that this application can't work on computer which Users folder's name in non-English languages. The window notice:

    AirPodsDesktop fatal error

    An error has occurred! Please help us fix this problem. spdlog initialize failed. Failed opening file C:/Users/į’‹é„§įš†é“? AppData/Local/AirPodsDesktop/AirPodsDesktop.log for writing: legal byte sequence

    Click "Yes" will pop up GitHub issue tracker page. You can submit this information to us there. Thank you very much.

  • [Bug Report] Does not work for AirPods 3

    [Bug Report] Does not work for AirPods 3

    :bug: Describe the bug

    App cant receive any info from airpods (gen 3)

    :scroll: To Reproduce

    1. Connect airpods through windows settings
    2. Just open app and nothing happens

    :framed_picture: Screenshots

    image

    :gear: Environments:

    • OS: Windows 10 21H1
    • Version: 19043.1288

    :star2: Additional context

    [2021-11-01 09:35:49.279] [Main] [info] [InfoWindow.cpp:324] CheckUpdate: Fetch release info successfully.
    [2021-11-01 09:35:52.289] [Main] [info] [InfoWindow.cpp:559] User clicked 'Bind'
    [2021-11-01 09:35:52.289] [Main] [info] [InfoWindow.cpp:455] BindDevice
    [2021-11-01 09:35:52.326] [Main] [info] [InfoWindow.cpp:460] Devices count: 1
    [2021-11-01 09:35:52.328] [Main] [info] [InfoWindow.cpp:481] AirPods devices count: 0 (filtered)
    [2021-11-01 09:35:52.506] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:35:54.753] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:36:20.294] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:36:26.252] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:36:38.232] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:36:42.905] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:36:46.082] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:36:47.563] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:36:55.409] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:37:00.073] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:37:14.995] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:37:25.254] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:37:27.315] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:37:34.829] [Main] [info] [InfoWindow.cpp:559] User clicked 'Bind'
    [2021-11-01 09:37:34.829] [Main] [info] [InfoWindow.cpp:455] BindDevice
    [2021-11-01 09:37:34.858] [Main] [info] [InfoWindow.cpp:460] Devices count: 1
    [2021-11-01 09:37:34.860] [Main] [info] [InfoWindow.cpp:481] AirPods devices count: 0 (filtered)
    [2021-11-01 09:37:37.223] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:37:38.161] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:37:39.471] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    [2021-11-01 09:37:40.768] [Main] [info] [AirPods.cpp:557] AirPods advertisement received, but device disconnected.
    
  • [Bug Report] Unable to build project

    [Bug Report] Unable to build project

    :bug: Describe the bug

    I downloaded the project followed the Build guide how to build it, only difference in my case is that I was using VS 2022, and got the following build errors.

    :scroll: To Reproduce

    Inapplicable

    :rocket: Expected behavior

    The project to build :)

    :framed_picture: Screenshots

    image

    :gear: Environments:

    • OS: Windows 11 22H2

    :star2: Logs

    PowerShell.txt

    I'd like to dig around the project since it's quite interesting for me and see if i'm able to help out with something.

  • [Feature Request] Add anti-aliasing to the corners of the pop-up window

    [Feature Request] Add anti-aliasing to the corners of the pop-up window

    I would like to suggest a very minor improvement that'd give some polish if you notice the pop-up that comes up, it has corners that are kind of pixelated and not perfectly curved it seems like i'm nitpicking but i think it's the thing that we all see every now and then and polishing it would make your tool much nicer to use image

  • Korean translation

    Korean translation

    You've been waiting a long time. I'm really, really sorry for being late. I'm late because of a git pull request issue.

    1. Spell Correction
    2. Some improvements in Korean translation..
  • [Bug Report] Can't re-start AirPodsDesktop after quit it from tray

    [Bug Report] Can't re-start AirPodsDesktop after quit it from tray

    :bug: Describe the bug

    After quitting AirPodsDesktop from the system tray, it's not able to start again.

    :scroll: To Reproduce

    Steps to reproduce the behavior:

    1. Install AirPodsDesktop
    2. Start AirPodsDesktop
    3. Right-click the tray icon and select "Quit"
    4. Wait for AirPodsDesktop to quit
    5. Click AirPodsDesktop from the start menu
    6. Error dialog shows

    :rocket: Expected behavior

    AirPodsDesktop starts normally

    :framed_picture: Screenshots

    image

    :gear: Environments:

    • OS: Windows 10 21H1 build 19043
    • Version: 0.1.0

    :star2: Additional context

    additional information:

    1. It starts normally after killed "AppleMobileDeviceService.exe" and select "Run as Admin" to start AirPodsDesktop

    2. If starts AirPodsDesktop with Admin when"AppleMobileDeviceService.exe" is running in the background, the following message shows: image

  • Russian [ru_RU] translation request

    Russian [ru_RU] translation request

    Hi, I have created a translation of the program for the Russian language. Translation file: https://gist.github.com/osk115/18dccec3901529ebeebde1be34cedfc1

  • [Bug Report] Main window displays incorrect device name

    [Bug Report] Main window displays incorrect device name

    :bug: Describe the bug

    Main window displays incorrect device name. It may be a Bluetooth address or not the expected custom name.

    :scroll: Explain

    This is actually a Windows or AirPods bug. For unknown reasons Windows didn't successfully get the name of the AirPods device when pairing, so it defaults to the Bluetooth address, and AirPodsDesktop displays the incorrect name as a result.

    I'll commit a mitigation later. If a possibly incorrect device name is detected, it will fallback to displaying the AirPods model name instead of the Bluetooth address.

    As a solution, you can remove your AirPods device from the Windows Bluetooth settings and then pair it again.

  • i cant bind my airpods

    i cant bind my airpods

    when i try to open the program it dosent detect my air pods i tried to unpair it and i still have the same problem

    i have air pods pro gen 2

    image

    AirPodsDesktop.log

  • German Translation

    German Translation

    In German there are a few words that aren't translated, like "Restore defaults" or "Close" or "Translation Contributors". I can help translate it.

  • [Feature Request] Compare MagicPods to AirPodsDesktop?

    [Feature Request] Compare MagicPods to AirPodsDesktop?

    Anyone have experience specifically with AirPods Pro 2?

    Features:

    • I would be interested in is the ability to toggle Adaptive Transparency.
    • Battery level

    https://apps.microsoft.com/store/detail/magicpods/9P6SKKFKSHKM?hl=en-us&gl=us

  • [Bug Report] Total failure: create instance mutex failed. error code:5

    [Bug Report] Total failure: create instance mutex failed. error code:5

    :bug: *I dont what happened, but when i open app it closes with error 5

    OS: WIN 10 airpods: 3rd gen

    :scroll: To Reproduce

    Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    :rocket: Expected behavior

    An app which can control my AP

    :framed_picture: Screenshots

    right there: image

    :gear: Environments:

    • OS: [e.g. Windows 10 20H2]
    • Version: [e.g. 0.1.0]
    AirPodsDesktop.log
    Launch AirPodsDesktop with "--trace" parameter.
    Then after the bug occurred, insert the contents of "AirPodsDesktop.log" here.
    
    StackTrace.log
    Insert the contents of "StackTrace.log" here, if any.
    
DeskGap is a framework for building cross-platform desktop apps with web technologies (JavaScript, HTML and CSS).
DeskGap is a framework for building cross-platform desktop apps with web technologies (JavaScript, HTML and CSS).

A cross-platform desktop app framework based on Node.js and the system webview

Jan 4, 2023
Modern Window Sitter for X11 based Desktop Environments
Modern Window Sitter for X11 based Desktop Environments

Modern Window Sitter for X11 based Desktop Environments (Coming to Wayland, Windows and Mac soon-ish). But using with a terminal emulator is recommended.

Nov 30, 2022
Lagrange is a desktop GUI client for browsing Geminispace.
Lagrange is a desktop GUI client for browsing Geminispace.

Lagrange is a desktop GUI client for browsing Geminispace. It offers modern conveniences familiar from web browsers, such as smooth scrolling, inline image viewing, multiple tabs, visual themes, Unicode fonts, bookmarks, history, and page outlines.

Jan 1, 2023
Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS.
Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS.

?? Available Translations: ???? ???? ???? ???? ???? ???? ???? ???? . View these docs in other languages at electron/i18n. The Electron framework lets

Jan 3, 2023
Build performant, native and cross-platform desktop applications with Node.js and CSS like styling. 🚀
Build performant, native and cross-platform desktop applications with Node.js and CSS like styling. 🚀

NodeGui Build performant, native and cross-platform desktop applications with Node.js and CSS like styling. ?? NodeGUI is powered by Qt5 ?? which make

Dec 30, 2022
Neutralinojs is a lightweight and portable desktop application development framework
Neutralinojs is a lightweight and portable desktop application development framework

Neutralinojs is a lightweight and portable desktop application development framework. It lets you develop lightweight cross-platform desktop applications using JavaScript, HTML and CSS.

Dec 30, 2022
Radio.Garden desktop app and game overlay
Radio.Garden desktop app and game overlay

Radio.Garten A radio.garden desktop client and overlay written with SDL2 and ImGui Overlay Example Overlay Compatibility Please check the compatibilit

Dec 8, 2022
GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features.

GacUI GPU Accelerated C++ User Interface, with WYSIWYG developing tools, XML supports, built-in data binding and MVVM features. Read the LICENSE first

Jan 7, 2023
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

Dear ImGui (This library is available under a free and permissive license, but needs financial support to sustain its continued improvements. In addit

Jan 7, 2023
RmlUi - The HTML/CSS User Interface library evolved
RmlUi - The HTML/CSS User Interface library evolved

RmlUi - The HTML/CSS User Interface Library Evolved RmlUi - now with added boosters taking control of the rocket, targeting your games and application

Jan 7, 2023
ROS_Melodic_Qt_GUI_Template is a Graphical User Interface programmed with Qt framework.
ROS_Melodic_Qt_GUI_Template is a Graphical User Interface programmed with Qt framework.

This is a GUI template for ros to control your robot and read data from sensors.

Nov 15, 2022
Library for writing text-based user interfaces
Library for writing text-based user interfaces

Termbox for RT-Thread ä¸­æ–‡č¯´æ˜Žæ–‡æĄŖ This repository forks from nullgemm/termbox_next Getting started Termbox's interface only consists of 12 functions: tb_in

May 25, 2022
AnUI is a powerful Graphical User Interface framework made for people that actually care about design!

What's AuUI ** Project is not finished ** AuUI, an abbreviation for "Actual Understandable User Interface" is a graphical user interface framework to

Jun 17, 2022
ImTui: Immediate Mode Text-based User Interface C++ Library
ImTui: Immediate Mode Text-based User Interface C++ Library

ImTui is an immediate mode text-based user interface library. Supports 256 ANSI colors and mouse/keyboard input.

Jan 1, 2023
Arcan is a powerful development framework for creating virtually anything from user interfaces

Arcan is a powerful development framework for creating virtually anything from user interfaces for specialized embedded applications all the way to full-blown standalone desktop environments.

Dec 26, 2022
GTK is a multi-platform toolkit for creating graphical user interfaces.

GTK — The GTK toolkit General information GTK is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets,

Dec 31, 2022
This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain
This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain

This is a minimal state immediate mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed as a simple embeddable user interface for application and does not have any dependencies, a default render backend or OS window and input handling but instead provides a very modular library approach by using simple input state for input and draw commands describing primitive shapes as output.

Jan 8, 2023
A simple/fast stacking box layout library. It's useful for calculating layouts for things like 2D user interfaces.

A simple/fast stacking box layout library. It's useful for calculating layouts for things like 2D user interfaces. It compiles as C99 or C++. It's tested with gcc (mingw64), VS2015, and clang/LLVM. You only need one file to use it in your own project: layout.h.

Dec 28, 2022
A small C library for building user interfaces with C, XML and CSS
A small C library for building user interfaces with C, XML and CSS

LCUI A small C library for building user interfaces with C, XML and CSS. Table of contents Table of contents Introduction Features Screenshots Related

Dec 27, 2022