Skip to content

Latest commit

 

History

History
120 lines (86 loc) · 6.47 KB

README.md

File metadata and controls

120 lines (86 loc) · 6.47 KB

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.

NOTE: : Supported, ❌: Unsupported, ?: Untested, ~: Supported offically, pending implementation.

Feature WF-1000XM5 (Earbuds) WH-1000XM5 (Over-ear) WF-LS900N/BC (LinkBuds S)
Current Playing (req. host support) ? ?
Sound Pressure ? ?
Battery Life ? ?
Volume ? ?
NC/AMB Settings ? ?
Voice Guidance Volume ? ?
Track controls (play/pause, prev/next) ? ?
Multipoint Control (device change) ? ?
Speak to Chat ? ?
Equalizer ? ?
Touch Sensor Gesture ? ?
Power Off ? ?
Capture Voice During a Phone Call ? ❌ (#1)
Mapping headphone gestures to Shell Commands ? ?

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 used for Windows, macOS and Linux builds. You can build this project just like any other cmake ones.

Windows (DirectX 11/Win32 APIs)

No extra dependency is required besides the Windows SDK.

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

From within Visual Studio Run the Tools --> Command Line --> Developer Command Prompt ,and then:

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

Linux (GLEW(OpenGL)/GLFW)

You'll need DBus and libbluetooth/bluez support for BT and glfw,glew for building the GUI on your distro.

  • Debian / Ubuntu:
sudo apt install libbluetooth-dev libglew-dev libglfw3-dev libdbus-1-dev
  • Fedora:
sudo dnf install bluez-libs-devel glew-devel glfw-devel dbus-devel
  • Arch Linux:
sudo pacman -S bluez glew dbus glfw

The build commands are the same as Windows.

macOS (Metal/GLFW)

No extra dependency is required (as glfw is built with the app itself). The resultant binary should be universal (x86_64 and arm64).

# Install cmake
brew install cmake

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.

Contributors

License

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