From ca6e5247775f81f13848f018c09f8c74c3c45c31 Mon Sep 17 00:00:00 2001 From: axar7 Date: Mon, 9 Nov 2026 16:45:56 +0530 Subject: [PATCH 1/2] feat(ult): Bass Control (ULT mode + Clear Bass) for the ULT WEAR Adds Sound Connect's "Bass Control" for the WH-ULT900N: the ULT mode the headset's ULT button cycles (Off / ULT 1 / ULT 2) and the Clear Bass slider, in a new card above the Equalizer (macOS window, menu-bar panel, ImGui GUI). Protocol: EQ inquired type 0x03 (PRESET_EQ_AND_ULT_MODE, framing from mos9527/SonyHeadphonesClient's Sound Connect codegen): GET 56 03 -> RET 57 03 06 <400..16k> (+10 bias) SET 58 03 Verified on a ULT WEAR (fw 2.1.0). It also showed that this model's 56/58 00 equalizer slots are shifted by one: the slider labelled 400 drove Clear Bass, the Bass slider did nothing and 16k was unreachable. On the ULT WEAR the equalizer is now read and written through 56/58 03 instead. ULT WEAR only: _isUltWear() (v2 + model name, like _isWh1000Xm6()) gates the only sender of 56 03, every 58 03 write needs an answered 56 03 first, and the shared EQ functions just hand off to the ULT helpers. Other models never see the inquiry and keep the 56/58 00 equalizer unchanged (covered by tests). ULT and Clear Bass writes re-read 56 03 first and send the headset's own preset, ULT mode and bands back unchanged, so they never revert an EQ change made elsewhere. The 2 s poll follows the physical ULT button and Clear Bass changes made in the phone app. Copy diagnostics includes the raw 56 03 exchange. Co-Authored-By: Claude Opus 5.5 --- Client/Constants.h | 20 ++ Client/CrossPlatformGUI.cpp | 77 +++++++- Client/CrossPlatformGUI.h | 8 + Client/Headphones.cpp | 230 +++++++++++++++++++++-- Client/Headphones.h | 33 ++++ Client/macos/ContentView.swift | 79 +++++++- Client/macos/HeadphonesBridge.h | 9 + Client/macos/HeadphonesBridge.mm | 45 ++++- Client/macos/HeadphonesModel.swift | 73 ++++++- Client/macos/QuickControlsView.swift | 28 ++- Client/tests/HeadphonesProtocolTests.cpp | 202 +++++++++++++++++++- README.md | 3 +- 12 files changed, 783 insertions(+), 24 deletions(-) diff --git a/Client/Constants.h b/Client/Constants.h index 7a609e71..eff86d8e 100644 --- a/Client/Constants.h +++ b/Client/Constants.h @@ -113,6 +113,18 @@ namespace V2Command inline constexpr unsigned char NCASM_TYPE_XM6 = 0x19; // Ten-band equalizer inquired type (WH-1000XM6): 56/57/58 04, 10 raw bands 0..12, no clear bass. inline constexpr unsigned char EQ_TEN_BAND = 0x04; + // EQ + ULT mode inquired type (ULT WEAR / WH-ULT900N): the ULT button's bass mode lives next to the EQ. + // GET 56 03 -> RET 57 03 <400..16k +10> + // SET 58 03 + // Framing from Sound Connect's EqEbbInquiredType::PRESET_EQ_AND_ULT_MODE / EqParamUltMode, as generated in + // mos9527/SonyHeadphonesClient (libmdr ProtocolV2T1.hpp). Only sent after the device answered the GET. + // Verified on a ULT WEAR (fw 2.1.0): 56/58 03 use the usual clear-bass-first order, but this device's 00 + // form is one slot off. Its 57 00 reported <400> <1k> <2.5k> <6.3k> (57 03 read + // 57 03 a0 01 06 11 0c 08 0b 0d 0f while 57 00 decoded "400..16k" as +7 +2 -2 +1 +3), the 58 00 clear-bass + // slot changed nothing, and writing the sixth 58 03 byte moved the treble. So on ULT devices the EQ is + // read and written through 56/58 03 only (presets still use 58 00 00). + inline constexpr unsigned char EQ_ULT_MODE = 0x03; + inline constexpr unsigned char EQ_ULT_BAND_COUNT = 0x06; // five bands + clear bass // INIT_REPLY layout: 01 inline constexpr size_t INIT_REPLY_TABLE2_INDEX = 7; // General settings: up to four device-defined boolean/list settings in slots D1..D4. Which slot holds @@ -185,6 +197,14 @@ enum class EQ_PRESET : unsigned char MANUAL = 0xa0 }; +// ULT bass mode (EqUltModeStatus), the same three states the headset's ULT button cycles through. +enum class ULT_MODE : unsigned char +{ + OFF = 0x00, + ULT1 = 0x01, + ULT2 = 0x02 +}; + #define APP_NAME "SonyBridge " __HEADPHONES_APP_VERSION__ #define APP_NAME_W (L"" APP_NAME) diff --git a/Client/CrossPlatformGUI.cpp b/Client/CrossPlatformGUI.cpp index 7b52bda7..4128f12d 100644 --- a/Client/CrossPlatformGUI.cpp +++ b/Client/CrossPlatformGUI.cpp @@ -50,6 +50,7 @@ bool CrossPlatformGUI::performGUIPass() this->_drawASMControls(); if (this->_isV2()) { + this->_drawUltMode(); this->_drawEqualizer(); this->_drawDsee(); } @@ -228,6 +229,15 @@ void CrossPlatformGUI::_pumpConnectionState() this->_uiAutoPowerOff = this->_headphones.getAutoPowerOff(); this->_uiSpeakToChat = this->_headphones.getSpeakToChat(); this->_uiAdaptiveVolume = this->_headphones.getAdaptiveVolume(); + this->_uiUltMode = (int)this->_headphones.getUltMode(); + // On ULT devices the probe's 57 03 read is the first to carry the real clear bass (57 00 doesn't). + if (this->_headphones.hasUltMode() && !this->_featureCommandFuture.valid()) + { + this->_uiEqPreset = (int)(unsigned char)this->_headphones.getEqualizerPreset(); + for (int i = 0; i < 5; ++i) + this->_uiEqBands[i] = this->_headphones.getEqualizerBand(i); + this->_uiClearBass = this->_headphones.getClearBass(); + } } // Poll the button-changeable ASM state so the app reflects changes made on the headphone itself. @@ -242,6 +252,13 @@ void CrossPlatformGUI::_pumpConnectionState() if (lvl > 0) this->_uiAsmLevel = lvl; this->_uiFocusOnVoice = this->_headphones.getFocusOnVoice(); } + // The ULT button changes ULT mode on the headset; don't let a read that predates a pending write win. + if (!this->_featureCommandFuture.valid() && !this->_ultModeNeedsSync) + this->_uiUltMode = (int)this->_headphones.getUltMode(); + // The same read carries clear bass (e.g. changed in the phone app); leave it alone mid-drag or mid-write. + if (this->_headphones.hasUltClearBass() && !this->_featureCommandFuture.valid() && !this->_clearBassDirty + && !ImGui::IsAnyItemActive()) + this->_uiClearBass = this->_headphones.getClearBass(); } if (!this->_pollFuture.valid() && ++this->_pollCounter >= DYNAMIC_POLL_FRAMES) { @@ -260,6 +277,11 @@ void CrossPlatformGUI::_pumpConnectionState() this->_pollFuture.setFromAsync([this, withBattery]() { this->_headphones.requestAmbientState(); + // ULT devices only: the probe (phase 2) decides, so other headsets never see this inquiry. + if (this->_headphones.hasUltMode()) + { + try { this->_headphones.requestUltMode(); } catch (const std::exception&) {} + } // Best effort: a device that doesn't answer the battery inquiry must not kill the poll. if (withBattery) { @@ -282,6 +304,7 @@ void CrossPlatformGUI::_syncUIFromHeadphones() this->_uiEqBands[i] = this->_headphones.getEqualizerBand(i); this->_uiClearBass = this->_headphones.getClearBass(); this->_uiDsee = this->_headphones.getDsee(); + this->_uiUltMode = (int)this->_headphones.getUltMode(); this->_uiAutoPowerOff = this->_headphones.getAutoPowerOff(); this->_uiSpeakToChat = this->_headphones.getSpeakToChat(); @@ -464,6 +487,44 @@ void CrossPlatformGUI::_drawASMControls() this->_endCard(); } +void CrossPlatformGUI::_drawUltMode() +{ + // Only shown once probeCapabilities() saw the headset answer the ULT read (ULT WEAR). + if (!this->_headphones.hasUltMode()) return; + if (!this->_beginCard("##ult")) { this->_endCard(); return; } + // Sound Connect's "Bass Control" on the ULT WEAR: the ULT mode (same as the ULT button) plus Clear Bass. + this->_cardTitle("Bass Control"); + ImGui::TextDisabled("ULT mode, same as the ULT button"); + + static const struct { const char* name; int val; } modes[] = { { "Off", 0 }, { "ULT 1", 1 }, { "ULT 2", 2 } }; + const float spacing = ImGui::GetStyle().ItemSpacing.x; + const float cellW = (ImGui::GetContentRegionAvail().x - spacing * 2.f) / 3.f; + for (int i = 0; i < 3; ++i) + { + if (i) ImGui::SameLine(); + bool sel = this->_uiUltMode == modes[i].val; + if (sel) ImGui::PushStyleColor(ImGuiCol_Button, ImGui::GetStyle().Colors[ImGuiCol_ButtonActive]); + if (ImGui::Button(modes[i].name, ImVec2(cellW, 0)) && !sel) + { + this->_uiUltMode = modes[i].val; + this->_ultModeNeedsSync = true; + ULT_MODE mode = (ULT_MODE)modes[i].val; + this->_sendFeatureCommand([this, mode]() { this->_headphones.setUltMode(mode); }); + } + if (sel) ImGui::PopStyleColor(); + } + + if (this->_headphones.hasUltClearBass()) + { + ImGui::Spacing(); + ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); + if (ImGui::SliderInt("##clearbass", &this->_uiClearBass, -10, 10, "Clear Bass %+d")) + this->_clearBassDirty = true; + } + + this->_endCard(); +} + void CrossPlatformGUI::_drawEqualizer() { if (!this->_beginCard("##eq")) { this->_endCard(); return; } @@ -500,7 +561,8 @@ void CrossPlatformGUI::_drawEqualizer() int* values[] = { &this->_uiClearBass, &this->_uiEqBands[0], &this->_uiEqBands[1], &this->_uiEqBands[2], &this->_uiEqBands[3], &this->_uiEqBands[4] }; bool changed = false; - for (int i = 0; i < 6; ++i) + // On the ULT WEAR clear bass sits in the Bass Control card instead, as in Sony's app. + for (int i = this->_headphones.hasUltClearBass() ? 1 : 0; i < 6; ++i) { std::string id = "##eqband" + std::to_string(i); std::string fmt = std::string(bandNames[i]) + " %+d"; @@ -618,6 +680,19 @@ void CrossPlatformGUI::_sendPendingASMChanges() this->_uiClearBass = this->_headphones.getClearBass(); } } + // A ULT click is synced back once no feature write is in flight: on success the device's mode is the one + // clicked, on failure (or a click dropped while the worker was busy) it's what the headset really has. + if (this->_clearBassDirty && !this->_featureCommandFuture.valid()) + { + this->_clearBassDirty = false; + int cb = this->_uiClearBass; + this->_sendFeatureCommand([this, cb]() { this->_headphones.setClearBass(cb); }); + } + if (this->_ultModeNeedsSync && !this->_featureCommandFuture.valid()) + { + this->_ultModeNeedsSync = false; + this->_uiUltMode = (int)this->_headphones.getUltMode(); + } if (this->_sendCommandFuture.valid() && this->_sendCommandFuture.ready()) { diff --git a/Client/CrossPlatformGUI.h b/Client/CrossPlatformGUI.h index aceac4a0..bad98c4c 100644 --- a/Client/CrossPlatformGUI.h +++ b/Client/CrossPlatformGUI.h @@ -45,6 +45,7 @@ class CrossPlatformGUI void _drawDeviceDiscovery(); void _drawStatusHeader(); void _drawASMControls(); + void _drawUltMode(); void _drawEqualizer(); void _drawDsee(); void _drawOptionalFeatures(); @@ -98,6 +99,13 @@ class CrossPlatformGUI // that preset once it completes instead of keeping the previous preset's. bool _eqBandsNeedSync = false; bool _uiDsee = false; + int _uiUltMode = 0; // 0 = Off, 1 = ULT 1, 2 = ULT 2 + // Set when a ULT write was requested, so the control takes the device's value once the feature worker + // is done (or immediately falls back to it if the click was dropped because the worker was busy). + bool _ultModeNeedsSync = false; + // Set when the Clear Bass slider moved and the value hasn't been handed to the worker yet; the latest value + // is sent as soon as the worker is free, so the last position of a drag always reaches the headset. + bool _clearBassDirty = false; int _uiAutoPowerOff = 0; bool _uiSpeakToChat = false; bool _uiAdaptiveVolume = false; diff --git a/Client/Headphones.cpp b/Client/Headphones.cpp index 10b20c64..f1430ceb 100644 --- a/Client/Headphones.cpp +++ b/Client/Headphones.cpp @@ -7,6 +7,23 @@ #include #include +namespace +{ + std::string hexString(const Buffer& bytes) + { + static const char digits[] = "0123456789abcdef"; + std::string out; + for (size_t i = 0; i < bytes.size(); i++) + { + auto b = (unsigned char)bytes[i]; + if (i > 0) out += ' '; + out += digits[b >> 4]; + out += digits[b & 0x0f]; + } + return out; + } +} + Headphones::Headphones(BluetoothWrapper& conn) : _conn(conn) { } @@ -265,6 +282,8 @@ bool Headphones::isBatteryCaseCharging() { std::lock_guard guard(this->_property void Headphones::requestEqualizer() { auto isV1 = this->_conn.getProtocolVersion() == SonyProtocolVersion::V1; + // ULT WEAR: read through 56 03 instead (its 57 00 slots are shifted by one). + if (this->_isUltWear() && this->_requestUltEqualizer()) return; if (!isV1 && this->_isWh1000Xm6()) { // GET 56 04 -> RET 57 04 , raw device steps 0..12 with no bias and no @@ -352,6 +371,12 @@ void Headphones::setEqualizerCustom(int clearBass, const std::vector& bands { if (!this->hasEqualizer()) throw std::logic_error("Equalizer capability has not been confirmed"); auto isV1 = this->_conn.getProtocolVersion() == SonyProtocolVersion::V1; + // ULT WEAR: write through 58 03 instead (its 58 00 slots are shifted by one, and clear bass is ignored). + if (this->_isUltWear() && this->hasUltClearBass()) + { + this->_setUltEqualizerCustom(clearBass, bands); + return; + } if (!isV1 && this->_isWh1000Xm6()) { // SET 58 04 a0 , raw 0..12, no clear-bass slot. @@ -456,6 +481,173 @@ void Headphones::setDsee(bool enabled) this->_dsee = enabled; } +// --- ULT WEAR (WH-ULT900N) only: ULT mode, Clear Bass, and its equalizer path --- +// Nothing below runs for any other model: _readUltModeParam() is the only sender of 56 03 and bails out unless +// _isUltWear(), and every 58 03 write needs a confirmed 56 03 reply first. + +bool Headphones::_isUltWear() const +{ + if (this->_conn.getProtocolVersion() != SonyProtocolVersion::V2) return false; + std::string name; + for (char c : this->_deviceName) name.push_back((char)std::tolower((unsigned char)c)); + // Matches "Sony ULT WEAR", "ULT WEAR", "WH-ULT900N" (Gadgetbridge matches ^Sony ULT|ULT WEAR). + return name.rfind("sony ult", 0) == 0 || name.find("ult wear") != std::string::npos + || name.find("ult900") != std::string::npos; +} + +bool Headphones::_readUltModeParam(Buffer& replyOut, bool rethrow) +{ + if (!this->_isUltWear()) return false; + const Buffer request = { (char)V2Command::EQ_GET, (char)V2Command::EQ_ULT_MODE }; + Buffer resp; + try + { + resp = this->_conn.sendCommandAndReadResponse(request, V2Command::EQ_RET, V2Command::EQ_ULT_MODE); + } + catch (const std::exception& exc) + { + { + std::lock_guard guard(this->_propertyMtx); + this->_ultModeLog = this->_ultModeLastOk + "T1 " + hexString(request) + " -> (" + exc.what() + ")\n"; + } + if (rethrow) throw; + return false; + } + + std::lock_guard guard(this->_propertyMtx); + this->_ultModeLastOk = "T1 " + hexString(request) + " -> " + hexString(resp) + "\n"; + this->_ultModeLog = this->_ultModeLastOk; + // 57 03 [ ]. Only the first four bytes are needed to know the mode; + // anything past 02 is not a ULT status we know, so the reply isn't taken as one. + if (resp.size() < 4 || (unsigned char)resp[3] > (unsigned char)ULT_MODE::ULT2) return false; + this->_hasUltMode = true; + this->_ultMode = static_cast((unsigned char)resp[3]); + // With the full curve attached (count 06: clear bass then 400..16k, each +10), this reply is also the + // equalizer state - the one place a ULT WEAR reports it in the right slots. + if (resp.size() >= 5 + (size_t)V2Command::EQ_ULT_BAND_COUNT && (unsigned char)resp[4] == V2Command::EQ_ULT_BAND_COUNT) + { + this->_ultEqLayout = true; + this->_hasEqualizer = true; + this->_eqPreset = static_cast((unsigned char)resp[2]); + this->_eqClearBass = (unsigned char)resp[5] - 10; + this->_eqBands.assign(5, 0); + for (int i = 0; i < 5; i++) this->_eqBands[i] = (unsigned char)resp[6 + i] - 10; + } + replyOut = resp; + return true; +} + +bool Headphones::_requestUltEqualizer() +{ + bool layoutKnown; + { + std::lock_guard guard(this->_propertyMtx); + layoutKnown = this->_ultEqLayout; + } + Buffer reply; + if (layoutKnown) + { + // _readUltModeParam() refreshes the EQ cache; a transport failure propagates like the 56 00 read's. + this->_readUltModeParam(reply, true); + return true; + } + // First read, before probeCapabilities() has run: try 56 03 so the sliders never show the shifted 57 00 + // slots and a Manual write can't go out through 58 00. No band bytes -> the caller falls back to 56 00. + this->_readUltModeParam(reply); + std::lock_guard guard(this->_propertyMtx); + return this->_ultEqLayout; +} + +void Headphones::_setUltEqualizerCustom(int clearBass, const std::vector& bands) +{ + // SET 58 03 a0 06 <400..16k +10>. The SET carries the ULT mode too; the cached one is + // kept current by the 2 s poll, which is fresh enough for a slider drag (re-reading per write would halve its + // rate). + ULT_MODE ultMode; + { + std::lock_guard guard(this->_propertyMtx); + ultMode = this->_ultMode; + } + auto bias = [](int v) { return (char)(unsigned char)(std::clamp(v, -10, 10) + 10); }; + Buffer cmd = { (char)V2Command::EQ_SET, (char)V2Command::EQ_ULT_MODE, + (char)static_cast(EQ_PRESET::MANUAL), (char)(unsigned char)ultMode, + (char)V2Command::EQ_ULT_BAND_COUNT, bias(clearBass) }; + for (int i = 0; i < 5; i++) cmd.push_back(bias(i < (int)bands.size() ? bands[i] : 0)); + this->_conn.sendCommand(cmd); + + std::lock_guard guard(this->_propertyMtx); + this->_eqPreset = EQ_PRESET::MANUAL; + this->_eqClearBass = std::clamp(clearBass, -10, 10); + this->_eqBands.assign(5, 0); + for (int i = 0; i < 5; i++) this->_eqBands[i] = std::clamp(i < (int)bands.size() ? bands[i] : 0, -10, 10); +} + +void Headphones::requestUltMode() +{ + Buffer reply; + this->_readUltModeParam(reply); +} + +bool Headphones::hasUltMode() { std::lock_guard guard(this->_propertyMtx); return this->_hasUltMode; } +bool Headphones::hasUltClearBass() { std::lock_guard guard(this->_propertyMtx); return this->_ultEqLayout; } + +void Headphones::setClearBass(int clearBass) +{ + if (!this->hasUltClearBass()) throw std::logic_error("Clear bass capability has not been confirmed"); + + // Fresh read: the SET carries the preset, ULT mode and the other five bands, any of which may have changed + // since (ULT button, the phone app). Those go back byte for byte; only the clear-bass byte is ours. + Buffer current; + if (!this->_readUltModeParam(current, true)) + throw RecoverableException("The headset didn't report its current equalizer, so Clear Bass wasn't changed."); + const size_t count = V2Command::EQ_ULT_BAND_COUNT; + if (current.size() < 5 + count || (unsigned char)current[4] != count) + throw RecoverableException("Clear Bass can't be changed with the current equalizer preset."); + + Buffer cmd = { (char)V2Command::EQ_SET, (char)V2Command::EQ_ULT_MODE, current[2], current[3], current[4], + (char)(unsigned char)(std::clamp(clearBass, -10, 10) + 10) }; + cmd.insert(cmd.end(), current.begin() + 6, current.begin() + 5 + count); + this->_conn.sendCommand(cmd); + + std::lock_guard guard(this->_propertyMtx); + this->_eqClearBass = std::clamp(clearBass, -10, 10); +} +ULT_MODE Headphones::getUltMode() { std::lock_guard guard(this->_propertyMtx); return this->_ultMode; } + +void Headphones::setUltMode(ULT_MODE mode) +{ + if (!this->hasUltMode()) throw std::logic_error("ULT mode capability has not been confirmed"); + if ((unsigned char)mode > (unsigned char)ULT_MODE::ULT2) throw std::invalid_argument("Invalid ULT mode"); + + // The SET carries the EQ preset (and, for Manual, the custom curve) alongside the ULT byte. The EQ may + // have changed since the last read - through the 58 00 path, or on the phone - so re-read it right + // before writing; a stale copy would silently put the user's old EQ back. + // A dead link rethrows the transport's own exception, so callers still see its shouldDisconnect. + Buffer current; + if (!this->_readUltModeParam(current, true)) + throw RecoverableException("The headset didn't report its current equalizer, so ULT mode wasn't changed."); + + auto preset = (unsigned char)current[2]; + Buffer cmd = { (char)V2Command::EQ_SET, (char)V2Command::EQ_ULT_MODE, (char)preset, (char)(unsigned char)mode }; + if (preset == (unsigned char)EQ_PRESET::MANUAL) + { + // Echo the stored custom curve back byte for byte (count + bands), never a re-encoded copy. + size_t count = current.size() > 4 ? (unsigned char)current[4] : 0; + if (current.size() < 5 || current.size() < 5 + count) + throw RecoverableException("The headset's equalizer reply was incomplete, so ULT mode wasn't changed."); + cmd.insert(cmd.end(), current.begin() + 4, current.begin() + 5 + count); + } + else + { + // Presets carry no bands, as in the 58 00 00 form. + cmd.push_back(0x00); + } + this->_conn.sendCommand(cmd); + + std::lock_guard guard(this->_propertyMtx); + this->_ultMode = mode; +} + void Headphones::requestAmbientState() { // The NCASM inquired-type differs by protocol generation (v2=0x17, v1=0x02), and so does the reply @@ -602,6 +794,12 @@ void Headphones::probeCapabilities() auto r = this->_conn.sendCommandAndReadResponse({ (char)V2Command::BTNMODE_GET, (char)V2Command::SUB_SPEAK_TO_CHAT }, V2Command::BTNMODE_RET, V2Command::SUB_SPEAK_TO_CHAT); if (r.size() >= 3) { std::lock_guard g(this->_propertyMtx); this->_speakToChat = (r[2] == 0); this->_hasSpeakToChat = true; } } catch (...) {} + + // ULT mode + Clear Bass: ULT WEAR only (read-only, and never sent to any other model). + if (this->_isUltWear()) + { + try { this->requestUltMode(); } catch (...) {} + } } bool Headphones::hasAutoPowerOff() { std::lock_guard guard(this->_propertyMtx); return this->_hasAutoPowerOff; } @@ -661,20 +859,6 @@ void Headphones::setAdaptiveVolume(bool enabled) namespace { - std::string hexString(const Buffer& bytes) - { - static const char digits[] = "0123456789abcdef"; - std::string out; - for (size_t i = 0; i < bytes.size(); i++) - { - auto b = (unsigned char)bytes[i]; - if (i > 0) out += ' '; - out += digits[b >> 4]; - out += digits[b & 0x0f]; - } - return out; - } - // 37 { [] } x count // Returns false (and leaves `out` untouched) on any length mismatch, so a misread never reaches the UI. bool parsePairedDevices(const Buffer& resp, bool withClassOfDevice, std::vector& out) @@ -936,7 +1120,23 @@ bool Headphones::hasPlaybackPinState() { std::lock_guard g(this->_propertyMtx); bool Headphones::isPlaybackPinned() { std::lock_guard g(this->_propertyMtx); return this->_playbackPinned; } bool Headphones::hasMultipointSetting() { std::lock_guard g(this->_propertyMtx); return this->_hasMultipointSetting; } bool Headphones::getMultipointEnabled() { std::lock_guard g(this->_propertyMtx); return this->_multipointEnabled; } -std::string Headphones::getMultipointDiagnostics() { std::lock_guard g(this->_propertyMtx); return this->_multipointDiagnostics; } +std::string Headphones::getMultipointDiagnostics() +{ + std::lock_guard g(this->_propertyMtx); + // Stays empty until the first multipoint read has finished (the UI treats empty as "still loading"); after + // that it also carries the ULT-mode exchanges, which is useful when bringing ULT up on a new model. + if (this->_multipointDiagnostics.empty()) return this->_multipointDiagnostics; + std::string ult; + size_t start = 0; + while (start < this->_ultModeLog.size()) + { + size_t end = this->_ultModeLog.find('\n', start); + if (end == std::string::npos) end = this->_ultModeLog.size(); + ult += "ult " + this->_ultModeLog.substr(start, end - start) + "\n"; + start = end + 1; + } + return this->_multipointDiagnostics + ult; +} void Headphones::setMultipoint(bool enabled) { diff --git a/Client/Headphones.h b/Client/Headphones.h index fa69c279..ff302385 100644 --- a/Client/Headphones.h +++ b/Client/Headphones.h @@ -80,6 +80,21 @@ class Headphones { int getEqualizerBandCount(); bool isTenBandEqualizer(); + // ULT bass mode (v2, ULT WEAR). requestUltMode() is the read-only probe (run from probeCapabilities()) and + // the poll; hasUltMode() is true only once the device answered it. setUltMode() re-reads the EQ preset first + // (the SET carries it) and throws without sending unless the probe succeeded. + // Once a 57 03 reply has carried the six band bytes, the equalizer is read and its custom curve written + // through 56/58 03 as well: on the ULT WEAR that's the only path that reaches clear bass. + void requestUltMode(); + bool hasUltMode(); + ULT_MODE getUltMode(); + void setUltMode(ULT_MODE mode); + // Clear bass on its own - Sound Connect's "Bass Control" slider on the ULT WEAR (-10..10). Needs the 56/58 03 + // layout. Re-reads 56 03 and sends back the headset's own preset, ULT mode and bands, changing only clear + // bass; throws without sending if that reply carries no band bytes (getClearBass() is the source of truth). + bool hasUltClearBass(); + void setClearBass(int clearBass); + // DSEE / audio upsampling. void requestDsee(); bool hasDsee(); @@ -175,6 +190,24 @@ class Headphones { bool _dsee = false; bool _hasDsee = false; + // --- ULT WEAR (WH-ULT900N) only. Every 56/58 03 frame goes through these, and _readUltModeParam() refuses + // to send unless _isUltWear(), so no other model ever sees the ULT inquiry. --- + // v2 and a ULT WEAR name ("Sony ULT WEAR", "ULT WEAR", "WH-ULT900N"), like _isWh1000Xm6() for the XM6. + bool _isUltWear() const; + // Reads 56 03. Returns false (state untouched) on any other model or if the reply isn't a ULT reply. A + // transport failure returns false too, unless rethrow is set - writes need the original exception (it + // carries shouldDisconnect). + bool _readUltModeParam(Buffer& replyOut, bool rethrow = false); + // requestEqualizer() / setEqualizerCustom() on the ULT WEAR, whose 56/58 00 slots are shifted by one. + // _requestUltEqualizer() returns false if the 03 layout isn't confirmed (caller falls back to 56 00). + bool _requestUltEqualizer(); + void _setUltEqualizerCustom(int clearBass, const std::vector& bands); + bool _hasUltMode = false; + ULT_MODE _ultMode = ULT_MODE::OFF; + bool _ultEqLayout = false; // a 57 03 reply carried + six band bytes (EQ goes through 56/58 03) + std::string _ultModeLastOk; // hex of the last answered 56 03, kept so a later timeout doesn't hide it + std::string _ultModeLog; // what the diagnostics show: last answered exchange + the latest failure, if any + bool _hasAutoPowerOff = false; int _autoPowerOff = 0; bool _hasFirmware = false; std::string _firmware; bool _hasCodec = false; std::string _codec; diff --git a/Client/macos/ContentView.swift b/Client/macos/ContentView.swift index 22773ca5..bc1b9226 100644 --- a/Client/macos/ContentView.swift +++ b/Client/macos/ContentView.swift @@ -98,6 +98,9 @@ struct ContentView: View { if model.multipointLoading || model.hasPairedDevices || model.hasPlaybackPinState { devicesCard } + if model.supportsUltMode { + ultCard + } if model.supportsEqualizer { equalizerCard } @@ -189,6 +192,36 @@ struct ContentView: View { .themedCard() } + // Sound Connect's "Bass Control" on the ULT WEAR: the ULT mode (same as the ULT button) plus Clear Bass. + private var ultCard: some View { + VStack(alignment: .leading, spacing: 14) { + VStack(alignment: .leading, spacing: 2) { + cardTitle("Bass Control") + Text("ULT mode, same as the ULT button") + .font(.system(size: 11)) + .foregroundColor(palette.secondary) + } + UltModeControl(model: model) + if model.supportsClearBassControl { + HStack(spacing: 10) { + Text("Clear Bass") + .font(.system(size: 11, weight: .medium)) + .foregroundColor(palette.accentText) + .frame(width: 64, alignment: .leading) + Slider(value: Binding( + get: { Double(model.clearBass) }, + set: { model.setClearBass(Int($0.rounded())) } + ), in: -10...10, step: 1).accentColor(palette.accent) + Text("\(model.clearBass > 0 ? "+" : "")\(model.clearBass)") + .font(.system(size: 11, weight: .semibold, design: .monospaced)) + .foregroundColor(palette.primary) + .frame(width: 26, alignment: .trailing) + } + } + } + .themedCard() + } + private let eqBandLabels = ["400", "1k", "2.5k", "6.3k", "16k"] private let tenBandEqLabels = ["31", "63", "125", "250", "500", "1k", "2k", "4k", "8k", "16k"] @@ -210,7 +243,8 @@ struct ContentView: View { set: { model.eqBands[i] = Int($0.rounded()); model.applyCustomEq() } ), display: model.eqBands[i], raw: model.tenBandEqualizer) } - if !model.tenBandEqualizer { + // On the ULT WEAR clear bass sits in the Bass Control card instead, as in Sony's app. + if !model.tenBandEqualizer && !model.supportsClearBassControl { eqBandRow("Bass", value: Binding( get: { Double(model.clearBass) }, set: { model.clearBass = Int($0.rounded()); model.applyCustomEq() } @@ -554,6 +588,11 @@ enum EQPresets { static func list(tenBand: Bool) -> [(String, Int)] { tenBand ? Self.tenBand : fiveBand } } +// ULT bass mode values (EqUltModeStatus), in the order the headset's ULT button cycles them. +enum ULTModes { + static let list: [(String, Int)] = [("Off", 0), ("ULT 1", 1), ("ULT 2", 2)] +} + extension SHCAmbientMode { var displayName: String { switch self { @@ -704,6 +743,44 @@ struct AmbientModeControl: View { } } +// ULT bass mode Off / ULT 1 / ULT 2, styled like AmbientModeControl. +struct UltModeControl: View { + @ObservedObject var model: HeadphonesModel + + @Environment(\.appTheme) private var theme + @Environment(\.colorScheme) private var colorScheme + + private var palette: Palette { theme.palette(colorScheme) } + + var body: some View { + let track = RoundedRectangle(cornerRadius: 11, style: .continuous) + HStack(spacing: theme.isSignature ? 6 : 0) { + ForEach(ULTModes.list, id: \.1) { option in + modeButton(option.0, option.1) + } + } + .padding(theme.isSignature ? 0 : 3) + .background(palette.track, in: track) + .overlay(track.strokeBorder(theme.isSignature ? .clear : palette.cardStroke, lineWidth: 1)) + } + + private func modeButton(_ name: String, _ value: Int) -> some View { + let selected = model.ultMode == value + return Button(action: { model.setUltMode(value) }) { + Text(name) + .font(.system(size: 11.5, weight: .semibold)) + .lineLimit(1) + .minimumScaleFactor(0.8) + .padding(.horizontal, 8) + .frame(maxWidth: .infinity) + .padding(.vertical, 8) + .selectable(selected) + .shadow(color: selected ? palette.selectedShadow : .clear, radius: 8) + } + .buttonStyle(.plain) + } +} + struct AmbientLevelSlider: View { @ObservedObject var model: HeadphonesModel diff --git a/Client/macos/HeadphonesBridge.h b/Client/macos/HeadphonesBridge.h index 76ac43ac..efed32c8 100644 --- a/Client/macos/HeadphonesBridge.h +++ b/Client/macos/HeadphonesBridge.h @@ -57,6 +57,9 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { @property (nonatomic, readonly) BOOL tenBandEqualizer; // WH-1000XM6: raw 0..12 bands, no clear bass @property (nonatomic, readonly) BOOL supportsDsee; // true after a successful read-only probe @property (nonatomic, readonly) BOOL dsee; // DSEE / audio upsampling +@property (nonatomic, readonly) BOOL supportsUltMode; // ULT WEAR: true once the device answered the ULT read +@property (nonatomic, readonly) NSInteger ultMode; // 0 = Off, 1 = ULT 1, 2 = ULT 2 +@property (nonatomic, readonly) BOOL supportsClearBassControl; // ULT WEAR: clear bass settable on its own (-10..10) // Optional features (present only if the device answered the capability probe on connect). @property (nonatomic, readonly) BOOL hasAutoPowerOff; @@ -106,6 +109,12 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { // Toggles DSEE / audio upsampling. - (void)setDsee:(BOOL)enabled completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; +// Sets the ULT bass mode (0 = Off, 1 = ULT 1, 2 = ULT 2), the same setting the headset's ULT button cycles. +- (void)setUltMode:(NSInteger)mode completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; + +// Sets clear bass (-10..10) alone, keeping the headset's preset, ULT mode and bands. Read back via clearBass. +- (void)setClearBass:(NSInteger)value completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; + - (void)setAutoPowerOff:(NSInteger)index completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; - (void)setSpeakToChat:(BOOL)enabled completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; - (void)setAdaptiveVolume:(BOOL)enabled completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; diff --git a/Client/macos/HeadphonesBridge.mm b/Client/macos/HeadphonesBridge.mm index 90678d39..2b35de22 100644 --- a/Client/macos/HeadphonesBridge.mm +++ b/Client/macos/HeadphonesBridge.mm @@ -140,6 +140,10 @@ - (BOOL)supportsDsee { return _hp && _hp->hasDsee(); } +- (BOOL)supportsUltMode { return _hp && _hp->hasUltMode(); } +- (NSInteger)ultMode { return _hp ? (NSInteger)_hp->getUltMode() : 0; } +- (BOOL)supportsClearBassControl { return _hp && _hp->hasUltClearBass(); } + - (NSInteger)equalizerBandCount { return _hp ? _hp->getEqualizerBandCount() : 5; } @@ -395,9 +399,13 @@ - (void)refreshDynamicWithCompletion:(void (^)(void))completion { auto hp = _hp; BOOL isV2 = _bt->getProtocolVersion() == SonyProtocolVersion::V2; dispatch_async(_cmdQueue, ^{ - // The headphone's physical button only changes ambient/NC, so that's all we poll (keeps traffic low). + // Only button-changeable state is polled (keeps traffic low): ambient/NC, plus ULT mode below. // requestAmbientState() is protocol-aware (v2 uses 66 17, v1 uses 66 02), so this is safe on both. try { hp->requestAmbientState(); } catch (std::exception &exc) {} + // The ULT button changes the ULT mode on the headset itself, so follow it too (ULT devices only). + if (hp->hasUltMode()) { + try { hp->requestUltMode(); } catch (std::exception &exc) {} + } // Battery drains, earbuds get docked and the case charges them, so re-read it too - but only // every Nth poll, since it costs up to three inquiries on TWS. v2 only: 0x22 is POWER_OFF on v1. if (isV2 && self->_dynamicTick++ % kBatteryPollEveryNTicks == 0) { @@ -465,6 +473,41 @@ - (void)setDsee:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))c }); } +- (void)setUltMode:(NSInteger)mode completion:(void (^)(BOOL, NSString * _Nullable))completion { + if (!_hp || !self.connected || !_hp->hasUltMode()) { + completion(NO, @"ULT mode isn't supported on this device."); + return; + } + if (mode < 0 || mode > 2) { + completion(NO, @"Invalid ULT mode."); + return; + } + auto hp = _hp; + dispatch_async(_cmdQueue, ^{ + NSString *error = nil; BOOL ok = YES; + try { + hp->setUltMode(static_cast((unsigned char)mode)); + } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } + dispatch_async(dispatch_get_main_queue(), ^{ completion(ok, error); }); + }); +} + +- (void)setClearBass:(NSInteger)value completion:(void (^)(BOOL, NSString * _Nullable))completion { + if (!_hp || !self.connected || !_hp->hasUltClearBass()) { + completion(NO, @"Clear Bass isn't adjustable on this device."); + return; + } + int cvalue = (int)MAX(-10, MIN(10, value)); + auto hp = _hp; + dispatch_async(_cmdQueue, ^{ + NSString *error = nil; BOOL ok = YES; + try { + hp->setClearBass(cvalue); + } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } + dispatch_async(dispatch_get_main_queue(), ^{ completion(ok, error); }); + }); +} + - (void)applyMode:(SHCAmbientMode)mode level:(NSInteger)level focusVoice:(BOOL)focusVoice diff --git a/Client/macos/HeadphonesModel.swift b/Client/macos/HeadphonesModel.swift index add153d0..016579dd 100644 --- a/Client/macos/HeadphonesModel.swift +++ b/Client/macos/HeadphonesModel.swift @@ -53,6 +53,10 @@ final class HeadphonesModel: ObservableObject { @Published var clearBass = 0 @Published var supportsDsee = false @Published var dsee = false + @Published var supportsUltMode = false + @Published var ultMode = 0 // 0 = Off, 1 = ULT 1, 2 = ULT 2 + // ULT WEAR: clear bass lives in the Bass Control card (next to ULT) and is set on its own, any preset. + @Published var supportsClearBassControl = false @Published var hasAutoPowerOff = false @Published var autoPowerOff = 0 @@ -101,6 +105,13 @@ final class HeadphonesModel: ObservableObject { private var pendingPush: (mode: SHCAmbientMode, level: Int, focusVoice: Bool)? private var eqInFlight = false private var pendingEq: (bass: Int, bands: [Int])? + // While ULT writes are queued, the poll's read-back could predate them and flip the control back. + // A count, not a flag: two quick taps each queue a write, and the first completion mustn't reopen the gate. + private var ultWritesInFlight = 0 + private var ultInFlight: Bool { ultWritesInFlight > 0 } + // Clear Bass slider drags coalesce like the EQ sliders: one write in flight, then the latest value. + private var clearBassInFlight = false + private var pendingClearBass: Int? // Armed on each successful connect; consumed once Speak-to-Chat capability is // confirmed, so the off-on-connect enforcement fires at most once per connection. @@ -131,9 +142,12 @@ final class HeadphonesModel: ObservableObject { self.syncBatteryFromBridge() self.eqPreset = self.bridge.eqPreset self.supportsEqualizer = self.bridge.supportsEqualizer - self.clearBass = self.bridge.clearBass + self.supportsClearBassControl = self.bridge.supportsClearBassControl + if !self.clearBassInFlight { self.clearBass = self.bridge.clearBass } self.supportsDsee = self.bridge.supportsDsee self.dsee = self.bridge.dsee + self.supportsUltMode = self.bridge.supportsUltMode + if !self.ultInFlight { self.ultMode = self.bridge.ultMode } self.tenBandEqualizer = self.bridge.tenBandEqualizer self.eqBands = self.readEqBands() self.hasAutoPowerOff = self.bridge.hasAutoPowerOff @@ -260,12 +274,20 @@ final class HeadphonesModel: ObservableObject { self.bridge.refreshMultipoint { self.syncMultipointFromBridge() } } self.bridge.refreshDynamic { - // Only publish what refreshDynamic actually re-read: ambient/NC state and the battery. + // Only publish what refreshDynamic actually re-read: ambient/NC state, ULT mode and the battery. // EQ and DSEE aren't re-read on this path - they'd come straight back from the C++ cache, // so a failed write would snap back two seconds later and an EQ drag would fight the timer. self.assignIfChanged(\.mode, self.bridge.mode) let level = self.bridge.ambientLevel if level > 0 { self.assignIfChanged(\.ambientLevel, level) } + if self.supportsUltMode && !self.ultInFlight { + self.assignIfChanged(\.ultMode, self.bridge.ultMode) + } + // The ULT read also carries clear bass, so follow it (e.g. changed in the phone app), unless one + // of our own clear-bass or EQ writes is still queued - the read could predate it. + if self.supportsClearBassControl && !self.clearBassInFlight && self.pendingClearBass == nil && !self.eqInFlight { + self.assignIfChanged(\.clearBass, self.bridge.clearBass) + } self.syncBatteryFromBridge() } } @@ -337,11 +359,58 @@ final class HeadphonesModel: ObservableObject { } } + func setUltMode(_ newMode: Int) { + ultMode = newMode + errorMessage = nil + ultWritesInFlight += 1 + bridge.setUltMode(newMode) { ok, error in + self.ultWritesInFlight = max(0, self.ultWritesInFlight - 1) + if !ok, let error = error { self.errorMessage = error } + // Once the last queued write has landed, show what the headset has: the last tap on success, + // the real state on failure (the bridge re-reads the headset before every write). + if !self.ultInFlight { self.ultMode = self.bridge.ultMode } + } + } + + func setClearBass(_ value: Int) { + guard value != clearBass || clearBassInFlight else { return } + clearBass = value + errorMessage = nil + if clearBassInFlight { + pendingClearBass = value + return + } + sendClearBass(value) + } + + private func sendClearBass(_ sent: Int) { + clearBassInFlight = true + bridge.setClearBass(sent) { ok, error in + self.clearBassInFlight = false + if let pending = self.pendingClearBass { + self.pendingClearBass = nil + if pending != sent { + self.sendClearBass(pending) + return + } + } + if !ok { + // The bridge re-read the headset before writing, so this is what it really has. + self.clearBass = self.bridge.clearBass + if let error = error { self.errorMessage = error } + } + } + } + func disconnect() { stopWatchingConnection() stopDynamicPolling() pendingPush = nil pendingEq = nil + pendingClearBass = nil + ultWritesInFlight = 0 + supportsUltMode = false + supportsClearBassControl = false s2cAutoDisablePending = false bridge.disconnect() connected = false diff --git a/Client/macos/QuickControlsView.swift b/Client/macos/QuickControlsView.swift index 98f6c0c6..55eb06ac 100644 --- a/Client/macos/QuickControlsView.swift +++ b/Client/macos/QuickControlsView.swift @@ -79,12 +79,15 @@ struct QuickControlsView: View { } } - if model.supportsEqualizer || model.hasPlaybackPinState { + if model.supportsUltMode || model.supportsEqualizer || model.hasPlaybackPinState { VStack(alignment: .leading, spacing: 12) { + if model.supportsUltMode { + ultRow + } if model.supportsEqualizer { equalizerRow } - if model.supportsEqualizer && model.hasPlaybackPinState { + if (model.supportsUltMode || model.supportsEqualizer) && model.hasPlaybackPinState { Divider().background(palette.cardStroke) } if model.hasPlaybackPinState { @@ -97,6 +100,27 @@ struct QuickControlsView: View { errorText } + private var ultRow: some View { + HStack { + Text("ULT") + .font(.system(size: 13, weight: .medium)) + .foregroundColor(palette.primary) + Spacer() + Picker("ULT", selection: Binding( + get: { model.ultMode }, + set: { model.setUltMode($0) } + )) { + ForEach(ULTModes.list, id: \.1) { option in + Text(option.0).tag(option.1) + } + } + .pickerStyle(MenuPickerStyle()) + .labelsHidden() + .frame(width: 120) + .accentColor(palette.accent) + } + } + private var equalizerRow: some View { HStack { Text("Equalizer") diff --git a/Client/tests/HeadphonesProtocolTests.cpp b/Client/tests/HeadphonesProtocolTests.cpp index 1517a049..0cc7d973 100644 --- a/Client/tests/HeadphonesProtocolTests.cpp +++ b/Client/tests/HeadphonesProtocolTests.cpp @@ -268,6 +268,10 @@ int main() try { headphones.setMultipoint(true); } catch (const std::exception&) { multipointRejected = true; } require(multipointRejected, "setMultipoint on v1 must throw instead of sending"); + // ULT mode is a v2-only inquiry; the v1 probe pass must never send it. + require(!headphones.hasUltMode() && std::none_of(observed->sentPayloads.begin(), observed->sentPayloads.end(), + [](const Buffer& p) { return p.size() >= 2 && (unsigned char)p[0] == 0x56 && p[1] == 0x03; }), + "v1 probe must not send the 56 03 ULT inquiry"); // --- v2 multipoint ("Connect to 2 devices"), byte layout proven by GadgetBridge on the WH-ULT900N // (SonyProtocolImplV2 commits 8cbc309346, e8520865f3, 5d7b37d1b7) --- @@ -361,6 +365,202 @@ int main() zeros.requestAmbientState(); require(zeros.getAmbientSoundControl() && zeros.getAsmLevel() == 7, "a zeroed 67 17 reply overwrote the state"); + // --- ULT mode (ULT WEAR), EQ inquired type 03: 57 03 --- + // Layout from Sound Connect's PRESET_EQ_AND_ULT_MODE (mos9527/SonyHeadphonesClient ProtocolV2T1.hpp). + { + Buffer ultReply = bytes({ 0x57, 0x03, 0xa0, 0x01, 0x06, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }); + auto fakeUlt = std::make_unique(); + auto* observedUlt = fakeUlt.get(); + observedUlt->reply = [&ultReply](const Buffer& request) -> Buffer { + if (request == bytes({ 0x56, 0x03 })) return ultReply; + return {}; + }; + BluetoothWrapper bluetoothUlt(std::move(fakeUlt)); + Headphones ult(bluetoothUlt); + ult.setDeviceName("Sony ULT WEAR"); + ult.probeCapabilities(); + require(ult.hasUltMode() && ult.getUltMode() == ULT_MODE::ULT1, "57 03 a0 01 ... must parse as ULT 1"); + + // Diagnostics stay empty until the first multipoint read (macOS shows "loading" while empty), then + // carry the raw ULT exchange. + require(ult.getMultipointDiagnostics().empty(), "the ULT probe must not make the diagnostics non-empty"); + ult.requestMultipoint(); + require(ult.getMultipointDiagnostics().find("ult T1 56 03 -> 57 03 a0 01 06") != std::string::npos, + "the diagnostics must include the raw 56 03 exchange"); + + // The 57 03 reply is also the EQ state: clear bass first, then 400..16k. + require(ult.hasEqualizer() && ult.getEqualizerPreset() == EQ_PRESET::MANUAL + && ult.getClearBass() == 0 && ult.getEqualizerBand(0) == 1 && ult.getEqualizerBand(4) == 5, + "57 03 a0 01 06 0a 0b 0c 0d 0e 0f must decode as clear bass 0, bands +1..+5"); + observedUlt->sentPayloads.clear(); + ult.requestEqualizer(); + require(observedUlt->sent(bytes({ 0x56, 0x03 })) && !observedUlt->sent(bytes({ 0x56, 0x00 })), + "a ULT device's equalizer must be read through 56 03"); + ult.setEqualizerCustom(3, { -2, -1, 0, 1, 2 }); + require(observedUlt->sentPayloads.back() == bytes({ 0x58, 0x03, 0xa0, 0x01, 0x06, 0x0d, 0x08, 0x09, 0x0a, 0x0b, 0x0c }), + "ULT custom EQ must be 58 03 a0 06 <400..16k +10>"); + require(ult.getClearBass() == 3 && ult.getEqualizerBand(0) == -2, "ULT custom EQ cache was not updated"); + + // Manual EQ: the custom curve is echoed back verbatim (count + bands), after a fresh read. + observedUlt->sentPayloads.clear(); + ult.setUltMode(ULT_MODE::ULT2); + require(observedUlt->sentPayloads.size() == 2 && observedUlt->sentPayloads[0] == bytes({ 0x56, 0x03 }), + "setUltMode must re-read 56 03 right before writing"); + require(observedUlt->sentPayloads[1] == bytes({ 0x58, 0x03, 0xa0, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }), + "ULT 2 on Manual EQ must be 58 03 a0 02 "); + require(ult.getUltMode() == ULT_MODE::ULT2, "ULT mode cache was not updated after the write"); + + // The EQ changed elsewhere (now the Bright preset): the fresh read wins, and a preset carries no bands. + ultReply = bytes({ 0x57, 0x03, 0x10, 0x02, 0x06, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a }); + ult.setUltMode(ULT_MODE::OFF); + require(observedUlt->sentPayloads.back() == bytes({ 0x58, 0x03, 0x10, 0x00, 0x00 }), + "ULT off on a preset must be 58 03 00 00"); + + // The poll follows the physical button. + ultReply = bytes({ 0x57, 0x03, 0x10, 0x01, 0x00 }); + ult.requestUltMode(); + require(ult.getUltMode() == ULT_MODE::ULT1, "a ULT button change was not picked up by requestUltMode"); + + // Manual EQ but the reply lacks its bands: refuse rather than wipe the custom curve. + ultReply = bytes({ 0x57, 0x03, 0xa0, 0x01 }); + size_t sentBefore = observedUlt->sentPayloads.size(); + bool truncatedRejected = false; + try { ult.setUltMode(ULT_MODE::ULT2); } catch (const RecoverableException&) { truncatedRejected = true; } + require(truncatedRejected && observedUlt->sentPayloads.size() == sentBefore + 1 + && observedUlt->sentPayloads.back() == bytes({ 0x56, 0x03 }), + "setUltMode must not write when the Manual EQ reply has no bands"); + + // The link dies before the write: the transport's own exception (with shouldDisconnect) reaches the + // caller so the GUI drops the dead connection, nothing is written, and the diagnostics keep the last + // answered exchange next to the failure. + ultReply = {}; + sentBefore = observedUlt->sentPayloads.size(); + // (The fake's own timeout is a plain runtime_error; on a real link it is RecoverableException(..., true).) + std::string writeError; + try { ult.setUltMode(ULT_MODE::OFF); } catch (const std::exception& exc) { writeError = exc.what(); } + require(writeError == "fake connector has no queued response" && observedUlt->sentPayloads.size() == sentBefore + 1, + "a failed re-read must rethrow the transport's exception (not a fresh one) and send no 58 03"); + auto diagnostics = ult.getMultipointDiagnostics(); + require(diagnostics.find("ult T1 56 03 -> 57 03") != std::string::npos + && diagnostics.find("ult T1 56 03 -> (") != std::string::npos, + "a ULT timeout must not hide the last answered exchange in the diagnostics"); + + // Captured from a ULT WEAR (fw 2.1.0). Its 57 00 showed the first five of these values one slot late, and + // writing the sixth byte here moved the treble, so: clear bass +7, then 400..16k. + // The device name alone makes the first equalizer read use 56 03 (never 56 00) on this model. + auto fakeCaptured = std::make_unique(); + fakeCaptured->reply = [](const Buffer& request) -> Buffer { + if (request == bytes({ 0x56, 0x03 })) return bytes({ 0x57, 0x03, 0xa0, 0x01, 0x06, 0x11, 0x0c, 0x08, 0x0b, 0x0d, 0x0f }); + return {}; + }; + auto* observedCaptured = fakeCaptured.get(); + BluetoothWrapper bluetoothCaptured(std::move(fakeCaptured)); + Headphones captured(bluetoothCaptured); + captured.setDeviceName("Sony ULT WEAR"); + captured.requestEqualizer(); + require(observedCaptured->sent(bytes({ 0x56, 0x03 })) && !observedCaptured->sent(bytes({ 0x56, 0x00 })), + "a ULT WEAR's first equalizer read must use 56 03, not the shifted 56 00"); + require(captured.hasEqualizer() && captured.getClearBass() == 7 && captured.getEqualizerBand(0) == 2 + && captured.getEqualizerBand(1) == -2 && captured.getEqualizerBand(2) == 1 && captured.getEqualizerBand(3) == 3 + && captured.getEqualizerBand(4) == 5, + "captured ULT WEAR reply must decode as clear bass +7, then +2 -2 +1 +3 +5"); + + // Clear Bass on its own (Bass Control slider): fresh read, then the headset's own preset, ULT mode and + // five bands go back byte for byte with only the clear-bass byte replaced. + require(captured.hasUltClearBass(), "a 57 03 reply with six band bytes must enable Clear Bass control"); + observedCaptured->sentPayloads.clear(); + captured.setClearBass(-3); + require(observedCaptured->sentPayloads.size() == 2 && observedCaptured->sentPayloads[0] == bytes({ 0x56, 0x03 }) + && observedCaptured->sentPayloads[1] == bytes({ 0x58, 0x03, 0xa0, 0x01, 0x06, 0x07, 0x0c, 0x08, 0x0b, 0x0d, 0x0f }), + "Clear Bass -3 must be 58 03 a0 01 06 07 <400..16k echoed>"); + require(captured.getClearBass() == -3, "Clear Bass cache was not updated"); + + // On a preset whose reply carries its curve, the preset byte goes back unchanged. + auto fakePreset = std::make_unique(); + auto* observedPreset = fakePreset.get(); + Buffer presetReply = bytes({ 0x57, 0x03, 0x10, 0x02, 0x06, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }); + fakePreset->reply = [&presetReply](const Buffer& request) -> Buffer { + if (request == bytes({ 0x56, 0x03 })) return presetReply; + return {}; + }; + BluetoothWrapper bluetoothPreset(std::move(fakePreset)); + Headphones preset(bluetoothPreset); + preset.setDeviceName("Sony ULT WEAR"); + preset.requestUltMode(); + preset.setClearBass(25); + require(observedPreset->sentPayloads.back() == bytes({ 0x58, 0x03, 0x10, 0x02, 0x06, 0x14, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }), + "Clear Bass on a preset must keep the preset and ULT bytes, clamp to +10"); + + // A reply without band bytes: refuse rather than guess the curve. + presetReply = bytes({ 0x57, 0x03, 0x10, 0x02, 0x00 }); + size_t presetSent = observedPreset->sentPayloads.size(); + bool noBandsRejected = false; + try { preset.setClearBass(1); } catch (const RecoverableException&) { noBandsRejected = true; } + require(noBandsRejected && observedPreset->sentPayloads.size() == presetSent + 1, + "Clear Bass must not write when the reply carries no band bytes"); + + // An unknown ULT status byte is not a ULT reply. + auto fakeOdd = std::make_unique(); + fakeOdd->reply = [](const Buffer& request) -> Buffer { + if (request == bytes({ 0x56, 0x03 })) return bytes({ 0x57, 0x03, 0x00, 0x07, 0x00 }); + return {}; + }; + BluetoothWrapper bluetoothOdd(std::move(fakeOdd)); + Headphones odd(bluetoothOdd); + odd.setDeviceName("Sony ULT WEAR"); + odd.requestUltMode(); + require(!odd.hasUltMode(), "a ULT status past 02 must not be taken as ULT support"); + bool oddCbRejected = false; + try { odd.setClearBass(1); } catch (const std::logic_error&) { oddCbRejected = true; } + require(!odd.hasUltClearBass() && oddCbRejected, "setClearBass must throw without the six-band ULT layout"); + + // A ULT WEAR that doesn't answer 56 03 never gets a 58 03. + auto fakeNoUlt = std::make_unique(); + auto* observedNoUlt = fakeNoUlt.get(); + BluetoothWrapper bluetoothNoUlt(std::move(fakeNoUlt)); + Headphones noUlt(bluetoothNoUlt); + noUlt.setDeviceName("Sony ULT WEAR"); + noUlt.probeCapabilities(); + bool ultRejected = false; + try { noUlt.setUltMode(ULT_MODE::ULT1); } catch (const std::logic_error&) { ultRejected = true; } + require(!noUlt.hasUltMode() && ultRejected && std::none_of(observedNoUlt->sentPayloads.begin(), + observedNoUlt->sentPayloads.end(), [](const Buffer& p) { return p.size() >= 2 && (unsigned char)p[0] == 0x58; }), + "setUltMode must throw without sending on a device that never answered 56 03"); + } + + // --- ULT code is ULT WEAR only: other v2 models never see 56 03 / 58 03, even if they'd answer --- + for (const char* otherModel : { "WH-1000XM5", "WH-CH720N", "WF-1000XM5", "" }) + { + auto fakeOther = std::make_unique(); + auto* observedOther = fakeOther.get(); + fakeOther->reply = [](const Buffer& request) -> Buffer { + if (request == bytes({ 0x56, 0x03 })) return bytes({ 0x57, 0x03, 0xa0, 0x01, 0x06, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }); + if (request == bytes({ 0x56, 0x00 })) return bytes({ 0x57, 0x00, 0xa0, 0x06, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }); + return {}; + }; + BluetoothWrapper bluetoothOther(std::move(fakeOther)); + Headphones other(bluetoothOther); + other.setDeviceName(otherModel); + other.requestEqualizer(); + require(other.getClearBass() == 0 && other.getEqualizerBand(0) == 1, + "a non-ULT model must keep decoding 57 00 as clear bass first"); + other.probeCapabilities(); + other.requestUltMode(); + other.setEqualizerCustom(3, { -2, -1, 0, 1, 2 }); + bool ultWriteRejected = false, clearBassRejected = false; + try { other.setUltMode(ULT_MODE::ULT1); } catch (const std::logic_error&) { ultWriteRejected = true; } + try { other.setClearBass(1); } catch (const std::logic_error&) { clearBassRejected = true; } + bool sentUlt = std::any_of(observedOther->sentPayloads.begin(), observedOther->sentPayloads.end(), + [](const Buffer& p) { return p.size() >= 2 && ((unsigned char)p[0] == 0x56 || (unsigned char)p[0] == 0x58) && p[1] == 0x03; }); + require(!sentUlt && !other.hasUltMode() && !other.hasUltClearBass() && ultWriteRejected && clearBassRejected, + "a non-ULT model must never be sent 56 03 / 58 03 or offer ULT / Clear Bass control"); + require(std::find(observedOther->sentPayloads.begin(), observedOther->sentPayloads.end(), + bytes({ 0x58, 0x00, 0xa0, 0x06, 0x0d, 0x08, 0x09, 0x0a, 0x0b, 0x0c })) != observedOther->sentPayloads.end(), + "a non-ULT model must keep writing custom EQ as 58 00 a0 06 "); + require(other.getMultipointDiagnostics().empty() || other.getMultipointDiagnostics().find("ult ") == std::string::npos, + "a non-ULT model's diagnostics must not mention ULT"); + } + // Malformed inbound frames on the untrusted parser path must throw the recoverable type. // 61 (0x3D) is the escape sentry; a lone one at buffer end and one followed by a // non-escapable byte are the two unescape rejection paths. @@ -372,6 +572,6 @@ int main() expectRecoverable([] { CommandSerializer::unpackBtMessage(Buffer{ 0x00, 0x00, 0x00 }); }, "under-minimum-size frame did not throw RecoverableException"); - std::cout << "XM4 / multipoint / XM6 protocol tests passed\n"; + std::cout << "XM4 / multipoint / XM6 / ULT mode protocol tests passed\n"; return 0; } diff --git a/README.md b/README.md index a541272c..b1b71460 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ on macOS, and a matching modern UI on Windows/Linux. - ๐ŸŽš๏ธ **Ambient Sound Control** โ€” Noise Cancelling ยท Ambient Sound (0โ€“20 levels) ยท Off - ๐Ÿ—ฃ๏ธ **Focus on Voice** passthrough - ๐ŸŽ›๏ธ **Equalizer** โ€” presets *and* a full **Manual mode** with 5 bands + Clear Bass (10 bands on the WH-1000XM6), with a live curve preview +- ๐Ÿ”Š **Bass Control** (ULT WEAR) โ€” ULT mode (Off ยท ULT 1 ยท ULT 2, the same bass boost the ULT button cycles, kept in sync when you press it) and the Clear Bass slider, as in Sony's app - โœจ **DSEE** โ€” Sony's audio upscaling for compressed sources - ๐Ÿ”‹ **Battery level** โ€” live percentage, including **per-earbud + case** for TWS models - ๐ŸŽง **Codec & firmware** readout @@ -59,7 +60,7 @@ on macOS, and a matching modern UI on Windows/Linux. - ๐Ÿ–ผ๏ธ **Device hero image** โ€” your headphones' official Sony product render - ๐Ÿ”„ **Live button sync** โ€” changes made on the headset reflect in the app - ๐Ÿ”Œ **Auto-connect** to your already-paired Sony headset -- ๐Ÿซ **Menu-bar quick controls** โ€” click the menu-bar icon for mode, ambient level, Focus on Voice, EQ preset, battery and playback pinning without opening the window (right-click for the menu) +- ๐Ÿซ **Menu-bar quick controls** โ€” click the menu-bar icon for mode, ambient level, Focus on Voice, ULT mode, EQ preset, battery and playback pinning without opening the window (right-click for the menu) - โ†”๏ธ **Resizable window** โ€” a tall single column by default; widen it past 720pt for a two-column layout - ๐Ÿ“ฑ **Multipoint** โ€” see which devices are connected, switch playback between them, pin playback to this Mac, and turn "Connect to 2 devices" on or off - ๐Ÿงฌ **Dual-protocol** โ€” auto-detects and speaks either protocol generation From c254da9997761a3425841ce5f6877c4379ce37b4 Mon Sep 17 00:00:00 2001 From: axar7 Date: Mon, 9 Nov 2026 16:45:56 +0530 Subject: [PATCH 2/2] feat(ult): official ULT WEAR product image Adds Sony's official Off White ULT WEAR render (from the sony.co.uk product page's scene7 asset Product-Intro-white_standard_M1, transparent PNG), trimmed to its content and scaled to 285x435 to match the other renders. The headset advertises itself as "Sony ULT WEAR", not by model number, so both GUIs map names containing "ULT WEAR" or "ULT900" to wh-ult900n. Co-Authored-By: Claude Opus 5.5 --- Client/CrossPlatformGUI.cpp | 3 +++ .../wh-ult900n.imageset/Contents.json | 12 ++++++++++++ .../wh-ult900n.imageset/wh-ult900n.png | Bin 0 -> 105855 bytes Client/macos/ContentView.swift | 11 ++++++++++- Client/resources/devices/wh-ult900n.png | Bin 0 -> 105855 bytes 5 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 Client/macos/Assets.xcassets/wh-ult900n.imageset/Contents.json create mode 100644 Client/macos/Assets.xcassets/wh-ult900n.imageset/wh-ult900n.png create mode 100644 Client/resources/devices/wh-ult900n.png diff --git a/Client/CrossPlatformGUI.cpp b/Client/CrossPlatformGUI.cpp index 4128f12d..dd3c2095 100644 --- a/Client/CrossPlatformGUI.cpp +++ b/Client/CrossPlatformGUI.cpp @@ -337,6 +337,9 @@ const CrossPlatformGUI::DeviceTexture& CrossPlatformGUI::_deviceTexture(const st std::string slug = name; std::transform(slug.begin(), slug.end(), slug.begin(), [](unsigned char ch) { return (char)std::tolower(ch); }); std::replace(slug.begin(), slug.end(), ' ', '-'); + // The ULT WEAR (WH-ULT900N) advertises itself as "Sony ULT WEAR", not by model number. + if (slug.find("ult-wear") != std::string::npos || slug.find("ult900") != std::string::npos) + slug = "wh-ult900n"; auto it = this->_deviceTextures.find(slug); if (it != this->_deviceTextures.end()) diff --git a/Client/macos/Assets.xcassets/wh-ult900n.imageset/Contents.json b/Client/macos/Assets.xcassets/wh-ult900n.imageset/Contents.json new file mode 100644 index 00000000..c353192a --- /dev/null +++ b/Client/macos/Assets.xcassets/wh-ult900n.imageset/Contents.json @@ -0,0 +1,12 @@ +{ + "images": [ + { + "idiom": "universal", + "filename": "wh-ult900n.png" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wh-ult900n.imageset/wh-ult900n.png b/Client/macos/Assets.xcassets/wh-ult900n.imageset/wh-ult900n.png new file mode 100644 index 0000000000000000000000000000000000000000..709bba46e967257fe9d6f5421b5004301c23c410 GIT binary patch literal 105855 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 UUjvXQNdN!<07*qoM6N<$f-Knj3IG5A literal 0 HcmV?d00001 diff --git a/Client/macos/ContentView.swift b/Client/macos/ContentView.swift index bc1b9226..de0d8fb3 100644 --- a/Client/macos/ContentView.swift +++ b/Client/macos/ContentView.swift @@ -612,8 +612,17 @@ struct ProductImage: View { @Environment(\.appTheme) private var theme @Environment(\.colorScheme) private var colorScheme + // Image name for a Bluetooth device name: the lowercased name with dashes ("WH-CH720N" -> "wh-ch720n"), + // except for models whose Bluetooth name isn't the model number. + static func assetName(for deviceName: String) -> String { + let slug = deviceName.lowercased().replacingOccurrences(of: " ", with: "-") + // The ULT WEAR (WH-ULT900N) advertises itself as "Sony ULT WEAR". + if slug.contains("ult-wear") || slug.contains("ult900") { return "wh-ult900n" } + return slug + } + var body: some View { - if let image = NSImage(named: deviceName.lowercased().replacingOccurrences(of: " ", with: "-")) { + if let image = NSImage(named: Self.assetName(for: deviceName)) { Image(nsImage: image) .resizable() .aspectRatio(contentMode: .fit) diff --git a/Client/resources/devices/wh-ult900n.png b/Client/resources/devices/wh-ult900n.png new file mode 100644 index 0000000000000000000000000000000000000000..709bba46e967257fe9d6f5421b5004301c23c410 GIT binary patch literal 105855 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 UUjvXQNdN!<07*qoM6N<$f-Knj3IG5A literal 0 HcmV?d00001