Skip to content

mos9527/SonyHeadphonesClient

 
 

Repository files navigation

Sony Headphones Client

A fork of Plutoberth's original SonyHeadphonesClient, now updated with support for Sony's newer Bluetooth/TWS devices (specifically for the earbunds (i.e. WF-1000XM5), see feature compatibility matrix for details.) and additional functionalities.

Linux & Windows

Github all releases

DISCLAIMER

THIS PROGRAM IS NOT AFFILIATED WITH SONY. YOU ARE RESPONSIBLE FOR ANY DAMAGE THAT MAY OCCUR WHILE USING THIS PROGRAM.

Features

Only the device-specific functions are listed here. If unspecified, the functionalities would be generally available.

If the feature support status for your own device is missing/incorrect/untested here, feel free to submit an Issue or a Pull Request so this table can be kept up-to-date!

ATTENTION: Older devices (e.g. XM3s) will not work with this fork due to updated BT protocols and are therefore discarded. Use Plutoberth's original SonyHeadphonesClient instead.

Check the Device Support folder for more details on confirmed per-device function availability.

Downloads

Windows, macOS and most flavors of Linux are supported OOTB. You can find the latest binaries in the Releases page.

For Developers

Cloning the repo

git clone --recurse-submodules https://github.com/mos9527/SonyHeadphonesClient.git

Building

cmake is required for Windows, macOS and Linux builds. A C++20 compliant compiler is also required.

Windows (OpenGL/GLFW)

Install cmake (3.29.3 works) and install Visual Studio Community 2022 the C++ components:

  • MSVC - VS 2022 C++ x64/x86 build tools
  • Windows SDK

You can build, and debug the app with Visual Studio's CMake intergration.

You can also do this from the command line. In Visual Studio Run Tools --> Command Line --> Developer Command Prompt ,and then:

cd Client
mkdir build
cd build
cmake ..
cmake --build .

Linux (OpenGL/GLFW)

DBus and libbluetooth(bluez) are required for Bluetooth support.

glfw will be built alongside the application. Please follow the guide in https://www.glfw.org/docs/3.3/compile.html#compile_deps to ensure its dependencies.

  • Debian / Ubuntu:
sudo apt install libbluetooth-dev libdbus-1-dev
# For GLFW
sudo apt-get install xorg-dev
  • Fedora:
sudo dnf install bluez-libs-devel dbus-devel
  • Arch Linux:
sudo pacman -S bluez dbus

You can then build the app with CMake, with a C++20 compliant compiler installed.

cd Client
mkdir build
cd build
cmake ..
cmake --build .

macOS (Metal/GLFW)

You need to have XCode and CMake installed to build the application.

To build a universal binary, you can use the following commands:

cd Client
mkdir build
cd build
cmake -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" ..
cmake --build .

An app bundle will be created in the build directory named SonyHeadphonesClient.app.

Contributing

Capturing Bluetooth Packets

See Packet Capture doc for more info.

Contributors

License

Distributed under the MIT License. See LICENSE for more information.

About

[XM5+] A {Windows, macOS, Linux} client recreating the functionality of the Sony Headphones app

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 96.5%
  • CMake 1.8%
  • Objective-C++ 1.7%