Skip to content

ongsalt/SonyHeadphonesClient

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

473 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sony Headphones Client

IMPORTANT: All current maintenance effort happens in the rewrite Branch - Issues/Pull Requests on the master branch will NOT be processed until the rewrite branch is merged.

You may enjoy the latest additions and conformance update in the rewrite branch right away In Your Browser - support status and more information are available here.


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.

Build Nightly Builds Github all releases

image

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.

Nightly builds (builds up-to-date as of the latest commit in master branch) for all platforms are also available. You can download them here.

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++23 compliant compiler is also required.
  • glfw will always be built and statically linked with the application. Please follow the guide in https://www.glfw.org/docs/3.3/compile.html#compile_deps to ensure its dependencies.
  • On non-macOS platforms, OpenGL is used for GUI rendering. Make sure your system has the requisite GL libs intalled.

Windows

You can build, and debug the app with Visual Studio's CMake intergration, or any C++ IDE with CMake support of your choosing.

No extra dependency other than the Windows SDK is required. MSVC (Visual Studio) is the recommended compiler for Windows platform.

You can use the following commands to build the binary:

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

Linux

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

  • 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 use the following commands to build the binary:

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

macOS

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

To build a universal binary (by specifying -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"), 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

Third-party

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

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 98.5%
  • Other 1.5%