libmdr 0.1.0__py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- libmdr/__init__.py +18 -0
- libmdr/_api.py +10 -0
- libmdr/_dll.py +92 -0
- libmdr/_generated_api.py +428 -0
- libmdr/_generated_constants.py +342 -0
- libmdr/_generated_result.py +25 -0
- libmdr/_native/mdr-shared.dll +0 -0
- libmdr/connection.py +73 -0
- libmdr/constants.py +526 -0
- libmdr/headphones.py +620 -0
- libmdr/result.py +29 -0
- libmdr-0.1.0.dist-info/METADATA +17 -0
- libmdr-0.1.0.dist-info/RECORD +16 -0
- libmdr-0.1.0.dist-info/WHEEL +5 -0
- libmdr-0.1.0.dist-info/licenses/LICENSE +21 -0
- libmdr-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
"""Generated from SonyHeadphonesClient
|
|
2
|
+
|
|
3
|
+
Do not edit this file directly; run ``python tooling/generate_bindings.py``.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
PROPERTY_CURRENT = 0
|
|
9
|
+
PROPERTY_DESIRED = 1
|
|
10
|
+
PROTOCOL_V1 = 1
|
|
11
|
+
PROTOCOL_V2 = 2
|
|
12
|
+
FALSE = 0
|
|
13
|
+
TRUE = 1
|
|
14
|
+
AVAILABILITY_UNKNOWN = 0
|
|
15
|
+
AVAILABILITY_UNAVAILABLE = 1
|
|
16
|
+
AVAILABILITY_AVAILABLE = 2
|
|
17
|
+
TIMEOUT_DEFAULT = 0
|
|
18
|
+
TIMEOUT_ACK = 1
|
|
19
|
+
TIMEOUT_ACK_RETRIES = 2
|
|
20
|
+
HEADPHONES_INIT_NONE = 0
|
|
21
|
+
HEADPHONES_INIT_IDENTITY = 1
|
|
22
|
+
HEADPHONES_INIT_SUPPORT_FUNCTIONS = 2
|
|
23
|
+
HEADPHONES_INIT_GENERAL_SETTINGS = 4
|
|
24
|
+
HEADPHONES_INIT_EQUALIZER = 8
|
|
25
|
+
HEADPHONES_INIT_DSEE = 16
|
|
26
|
+
HEADPHONES_INIT_PLAYBACK = 32
|
|
27
|
+
HEADPHONES_INIT_NOISE_CONTROL = 64
|
|
28
|
+
HEADPHONES_INIT_ASSIGNABLE_CONTROLS = 128
|
|
29
|
+
HEADPHONES_INIT_PERIPHERALS = 256
|
|
30
|
+
HEADPHONES_INIT_SPEAK_TO_CHAT = 512
|
|
31
|
+
HEADPHONES_INIT_LISTENING_MODE = 1024
|
|
32
|
+
HEADPHONES_INIT_POWER = 2048
|
|
33
|
+
HEADPHONES_INIT_WEARING_STATUS = 4096
|
|
34
|
+
HEADPHONES_INIT_VOICE_GUIDANCE = 8192
|
|
35
|
+
HEADPHONES_INIT_CONNECTION = 16384
|
|
36
|
+
HEADPHONES_INIT_BATTERY = 32768
|
|
37
|
+
HEADPHONES_INIT_FIRMWARE_UPDATE = 65536
|
|
38
|
+
HEADPHONES_INIT_ALERT = 131072
|
|
39
|
+
HEADPHONES_INIT_LOG = 262144
|
|
40
|
+
HEADPHONES_INIT_VOICE_ASSISTANT = 524288
|
|
41
|
+
HEADPHONES_INIT_DISCOVERY = 3
|
|
42
|
+
HEADPHONES_INIT_DEFAULT = 1048575
|
|
43
|
+
HEADPHONES_SYNC_NONE = 0
|
|
44
|
+
HEADPHONES_SYNC_BATTERY = 1
|
|
45
|
+
HEADPHONES_SYNC_SAFE_LISTENING = 2
|
|
46
|
+
HEADPHONES_SYNC_PLAYBACK = 4
|
|
47
|
+
HEADPHONES_SYNC_WEARING_STATUS = 8
|
|
48
|
+
HEADPHONES_SYNC_DEFAULT = 15
|
|
49
|
+
FEATURE_IDENTITY = 1
|
|
50
|
+
FEATURE_BATTERY_SINGLE = 2
|
|
51
|
+
FEATURE_BATTERY_LEFT_RIGHT = 3
|
|
52
|
+
FEATURE_BATTERY_CASE = 4
|
|
53
|
+
FEATURE_PLAYBACK_METADATA = 5
|
|
54
|
+
FEATURE_PLAYBACK_CONTROL = 6
|
|
55
|
+
FEATURE_PLAYBACK_VOLUME = 7
|
|
56
|
+
FEATURE_NOISE_CANCELLING = 8
|
|
57
|
+
FEATURE_AMBIENT_SOUND = 9
|
|
58
|
+
FEATURE_ADAPTIVE_AMBIENT_SOUND = 10
|
|
59
|
+
FEATURE_SPEAK_TO_CHAT = 11
|
|
60
|
+
FEATURE_LISTENING_MODE = 12
|
|
61
|
+
FEATURE_EQUALIZER = 13
|
|
62
|
+
FEATURE_DSEE = 14
|
|
63
|
+
FEATURE_PAIRED_DEVICE_MANAGEMENT = 15
|
|
64
|
+
FEATURE_PAIRING_MODE = 16
|
|
65
|
+
FEATURE_GENERAL_SETTINGS = 17
|
|
66
|
+
FEATURE_ASSIGNABLE_CONTROLS = 18
|
|
67
|
+
FEATURE_NOISE_CONTROL_BUTTON = 19
|
|
68
|
+
FEATURE_AUTO_POWER_OFF = 20
|
|
69
|
+
FEATURE_WEARING_DETECTION = 21
|
|
70
|
+
FEATURE_AUTO_PAUSE = 22
|
|
71
|
+
FEATURE_HEAD_GESTURE = 23
|
|
72
|
+
FEATURE_VOICE_GUIDANCE = 24
|
|
73
|
+
FEATURE_VOICE_GUIDANCE_VOLUME = 25
|
|
74
|
+
FEATURE_SHUTDOWN = 26
|
|
75
|
+
FEATURE_CONNECTION_MODE = 27
|
|
76
|
+
FEATURE_SAFE_LISTENING = 28
|
|
77
|
+
FEATURE_SOURCE_SWITCH_CONTROL = 29
|
|
78
|
+
FEATURE_LISTENING_BACKGROUND_MUSIC = 30
|
|
79
|
+
FEATURE_LISTENING_CINEMA = 31
|
|
80
|
+
FEATURE_LISTENING_VOICE_BOOST = 32
|
|
81
|
+
FEATURE_LISTENING_SOUND_LEAKAGE_REDUCTION = 33
|
|
82
|
+
FEATURE_WEARING_STATUS = 34
|
|
83
|
+
FEATURE_VOICE_ASSISTANT = 35
|
|
84
|
+
FEATURE_MAX_VALUE = 35
|
|
85
|
+
EVENT_NONE = 0
|
|
86
|
+
EVENT_IDENTITY_CHANGED = 1
|
|
87
|
+
EVENT_BATTERY_CHANGED = 2
|
|
88
|
+
EVENT_PLAYBACK_CHANGED = 3
|
|
89
|
+
EVENT_NOISE_CONTROL_CHANGED = 4
|
|
90
|
+
EVENT_SPEAK_TO_CHAT_CHANGED = 5
|
|
91
|
+
EVENT_LISTENING_MODE_CHANGED = 6
|
|
92
|
+
EVENT_EQUALIZER_CHANGED = 7
|
|
93
|
+
EVENT_PAIRED_DEVICES_CHANGED = 8
|
|
94
|
+
EVENT_PAIRING_CHANGED = 9
|
|
95
|
+
EVENT_GENERAL_SETTINGS_CHANGED = 10
|
|
96
|
+
EVENT_ASSIGNABLE_CONTROLS_CHANGED = 11
|
|
97
|
+
EVENT_POWER_CHANGED = 12
|
|
98
|
+
EVENT_VOICE_GUIDANCE_CHANGED = 13
|
|
99
|
+
EVENT_CONNECTION_MODE_CHANGED = 14
|
|
100
|
+
EVENT_SAFE_LISTENING_CHANGED = 15
|
|
101
|
+
EVENT_INITIALIZE_COMPLETE = 16
|
|
102
|
+
EVENT_SYNC_COMPLETE = 17
|
|
103
|
+
EVENT_APPLY_COMPLETE = 18
|
|
104
|
+
EVENT_ALERT = 19
|
|
105
|
+
EVENT_INTERACTION = 20
|
|
106
|
+
EVENT_DEVICE_MESSAGE = 21
|
|
107
|
+
EVENT_NEED_SYNC = 22
|
|
108
|
+
EVENT_UNHANDLED = 23
|
|
109
|
+
EVENT_WEARING_STATUS_CHANGED = 24
|
|
110
|
+
EVENT_VOICE_ASSISTANT_CHANGED = 25
|
|
111
|
+
PACKET_DIRECTION_RX = 0
|
|
112
|
+
PACKET_DIRECTION_TX = 1
|
|
113
|
+
TEXT_MODEL_NAME = 1
|
|
114
|
+
TEXT_UNIQUE_ID = 2
|
|
115
|
+
TEXT_FIRMWARE_VERSION = 3
|
|
116
|
+
TEXT_MODEL_SERIES = 4
|
|
117
|
+
TEXT_MODEL_COLOR = 5
|
|
118
|
+
TEXT_TRACK_TITLE = 6
|
|
119
|
+
TEXT_TRACK_ALBUM = 7
|
|
120
|
+
TEXT_TRACK_ARTIST = 8
|
|
121
|
+
TEXT_PAIRED_DEVICE_ID = 9
|
|
122
|
+
TEXT_PAIRED_DEVICE_NAME = 10
|
|
123
|
+
TEXT_GENERAL_SETTING_SUBJECT = 11
|
|
124
|
+
TEXT_GENERAL_SETTING_SUMMARY = 12
|
|
125
|
+
TEXT_LAST_ERROR = 13
|
|
126
|
+
TEXT_LAST_ALERT = 14
|
|
127
|
+
TEXT_LAST_INTERACTION = 15
|
|
128
|
+
TEXT_LAST_DEVICE_MESSAGE = 16
|
|
129
|
+
TEXT_EQUALIZER_PRESET_NAME = 17
|
|
130
|
+
AUDIO_CODEC_UNKNOWN = 0
|
|
131
|
+
AUDIO_CODEC_SBC = 1
|
|
132
|
+
AUDIO_CODEC_AAC = 2
|
|
133
|
+
AUDIO_CODEC_LDAC = 3
|
|
134
|
+
AUDIO_CODEC_APTX = 4
|
|
135
|
+
AUDIO_CODEC_APTX_HD = 5
|
|
136
|
+
AUDIO_CODEC_LC3 = 6
|
|
137
|
+
AUDIO_CODEC_OTHER = 255
|
|
138
|
+
BATTERY_MAIN = 0
|
|
139
|
+
BATTERY_LEFT = 1
|
|
140
|
+
BATTERY_RIGHT = 2
|
|
141
|
+
BATTERY_CASE = 3
|
|
142
|
+
CHARGING_UNKNOWN = 0
|
|
143
|
+
CHARGING_NO = 1
|
|
144
|
+
CHARGING_YES = 2
|
|
145
|
+
CHARGING_COMPLETE = 3
|
|
146
|
+
PLAYBACK_UNKNOWN = 0
|
|
147
|
+
PLAYBACK_STOPPED = 1
|
|
148
|
+
PLAYBACK_PLAYING = 2
|
|
149
|
+
PLAYBACK_PAUSED = 3
|
|
150
|
+
PLAYBACK_PLAY = 1
|
|
151
|
+
PLAYBACK_PAUSE = 2
|
|
152
|
+
PLAYBACK_NEXT = 3
|
|
153
|
+
PLAYBACK_PREVIOUS = 4
|
|
154
|
+
SOURCE_SWITCH_CONTROL_SUCCESS = 0
|
|
155
|
+
SOURCE_SWITCH_CONTROL_FAILED = 1
|
|
156
|
+
SOURCE_SWITCH_CONTROL_FAILED_ON_CALL = 2
|
|
157
|
+
SOURCE_SWITCH_CONTROL_FAILED_NOT_CONNECTED = 3
|
|
158
|
+
SOURCE_SWITCH_CONTROL_FAILED_VOICE_ASSISTANT = 4
|
|
159
|
+
NOISE_MODE_OFF = 0
|
|
160
|
+
NOISE_MODE_CANCELLING = 1
|
|
161
|
+
NOISE_MODE_V1_ON = 1
|
|
162
|
+
NOISE_MODE_AMBIENT = 2
|
|
163
|
+
NOISE_AMBIENT_LEVEL_V1_NOISE_CANCELLING = 255
|
|
164
|
+
ADAPTIVE_SENSITIVITY_UNKNOWN = 0
|
|
165
|
+
ADAPTIVE_SENSITIVITY_LOW = 1
|
|
166
|
+
ADAPTIVE_SENSITIVITY_STANDARD = 2
|
|
167
|
+
ADAPTIVE_SENSITIVITY_HIGH = 3
|
|
168
|
+
NOISE_BUTTON_NONE = 0
|
|
169
|
+
NOISE_BUTTON_NOISE_AMBIENT_OFF = 1
|
|
170
|
+
NOISE_BUTTON_NOISE_AMBIENT = 2
|
|
171
|
+
NOISE_BUTTON_NOISE_OFF = 3
|
|
172
|
+
NOISE_BUTTON_AMBIENT_OFF = 4
|
|
173
|
+
SPEECH_SENSITIVITY_UNKNOWN = 0
|
|
174
|
+
SPEECH_SENSITIVITY_AUTO = 1
|
|
175
|
+
SPEECH_SENSITIVITY_LOW = 2
|
|
176
|
+
SPEECH_SENSITIVITY_HIGH = 3
|
|
177
|
+
SPEAK_TIMEOUT_UNKNOWN = 0
|
|
178
|
+
SPEAK_TIMEOUT_SHORT = 1
|
|
179
|
+
SPEAK_TIMEOUT_MEDIUM = 2
|
|
180
|
+
SPEAK_TIMEOUT_LONG = 3
|
|
181
|
+
SPEAK_TIMEOUT_MANUAL = 4
|
|
182
|
+
LISTENING_STANDARD = 0
|
|
183
|
+
LISTENING_BACKGROUND_MUSIC = 1
|
|
184
|
+
LISTENING_CINEMA = 2
|
|
185
|
+
LISTENING_VOICE_BOOST = 3
|
|
186
|
+
LISTENING_SOUND_LEAKAGE_REDUCTION = 4
|
|
187
|
+
LISTENING_BLOCKER_NONE = 0
|
|
188
|
+
LISTENING_BLOCKER_CALL = 1
|
|
189
|
+
LISTENING_BLOCKER_LE_AUDIO = 2
|
|
190
|
+
LISTENING_BLOCKER_VOICE_ASSISTANT = 4
|
|
191
|
+
LISTENING_BLOCKER_LISTENING_MODE = 8
|
|
192
|
+
LISTENING_BLOCKER_OTHER = 16
|
|
193
|
+
VOICE_ASSISTANT_NONE = 0
|
|
194
|
+
VOICE_ASSISTANT_VOICE_RECOGNITION = 1
|
|
195
|
+
VOICE_ASSISTANT_GOOGLE_ASSISTANT = 2
|
|
196
|
+
VOICE_ASSISTANT_AMAZON_ALEXA = 3
|
|
197
|
+
VOICE_ASSISTANT_TENCENT_XIAOWEI = 4
|
|
198
|
+
VOICE_ASSISTANT_SONY_VOICE_CONTROL = 5
|
|
199
|
+
VOICE_ASSISTANT_OTHER_DEVICE = 6
|
|
200
|
+
VOICE_ASSISTANT_UNKNOWN = 255
|
|
201
|
+
VOICE_ASSISTANT_KEY_UNKNOWN = 0
|
|
202
|
+
VOICE_ASSISTANT_KEY_FIXED_BUTTON = 1
|
|
203
|
+
VOICE_ASSISTANT_KEY_TOUCH_PANEL = 2
|
|
204
|
+
VOICE_ASSISTANT_KEY_ASSIGNABLE_BUTTON = 3
|
|
205
|
+
VOICE_ASSISTANT_KEY_ASSIGNABLE_SENSOR = 4
|
|
206
|
+
ROOM_UNKNOWN = 0
|
|
207
|
+
ROOM_SMALL = 1
|
|
208
|
+
ROOM_MEDIUM = 2
|
|
209
|
+
ROOM_LARGE = 3
|
|
210
|
+
EQ_OFF = 0
|
|
211
|
+
EQ_ROCK = 1
|
|
212
|
+
EQ_POP = 2
|
|
213
|
+
EQ_JAZZ = 3
|
|
214
|
+
EQ_DANCE = 4
|
|
215
|
+
EQ_EDM = 5
|
|
216
|
+
EQ_R_AND_B_HIP_HOP = 6
|
|
217
|
+
EQ_ACOUSTIC = 7
|
|
218
|
+
EQ_BRIGHT = 8
|
|
219
|
+
EQ_EXCITED = 9
|
|
220
|
+
EQ_MELLOW = 10
|
|
221
|
+
EQ_RELAXED = 11
|
|
222
|
+
EQ_VOCAL = 12
|
|
223
|
+
EQ_TREBLE = 13
|
|
224
|
+
EQ_BASS = 14
|
|
225
|
+
EQ_SPEECH = 15
|
|
226
|
+
EQ_HEAVY = 16
|
|
227
|
+
EQ_CLEAR = 17
|
|
228
|
+
EQ_HARD = 18
|
|
229
|
+
EQ_SOFT = 19
|
|
230
|
+
EQ_GAMING = 20
|
|
231
|
+
EQ_FPS_1 = 21
|
|
232
|
+
EQ_FPS_2 = 22
|
|
233
|
+
EQ_FPS_3 = 23
|
|
234
|
+
EQ_CUSTOM = 24
|
|
235
|
+
EQ_USER_1 = 25
|
|
236
|
+
EQ_USER_2 = 26
|
|
237
|
+
EQ_USER_3 = 27
|
|
238
|
+
EQ_USER_4 = 28
|
|
239
|
+
EQ_USER_5 = 29
|
|
240
|
+
EQ_UNKNOWN = 255
|
|
241
|
+
DSEE_UNKNOWN = 0
|
|
242
|
+
DSEE_STANDARD = 1
|
|
243
|
+
DSEE_HX = 2
|
|
244
|
+
DSEE_HX_AI = 3
|
|
245
|
+
DSEE_ULTIMATE = 4
|
|
246
|
+
PAIRED_DEVICE_CONNECT = 1
|
|
247
|
+
PAIRED_DEVICE_DISCONNECT = 2
|
|
248
|
+
PAIRED_DEVICE_SELECT_PLAYBACK = 3
|
|
249
|
+
PAIRED_DEVICE_UNPAIR = 4
|
|
250
|
+
ALERT_ACTION_NEGATIVE = 0
|
|
251
|
+
ALERT_ACTION_POSITIVE = 1
|
|
252
|
+
GENERAL_SETTING_UNKNOWN = 0
|
|
253
|
+
GENERAL_SETTING_BOOLEAN = 1
|
|
254
|
+
ASSIGNABLE_NONE = 0
|
|
255
|
+
ASSIGNABLE_PLAYBACK = 1
|
|
256
|
+
ASSIGNABLE_NOISE_CONTROL = 2
|
|
257
|
+
ASSIGNABLE_NOISE_CONTROL_QUICK_ACCESS = 3
|
|
258
|
+
ASSIGNABLE_TRACK_CONTROL = 4
|
|
259
|
+
ASSIGNABLE_VOICE_RECOGNITION = 5
|
|
260
|
+
ASSIGNABLE_GOOGLE_ASSISTANT = 6
|
|
261
|
+
ASSIGNABLE_AMAZON_ALEXA = 7
|
|
262
|
+
ASSIGNABLE_TENCENT_XIAOWEI = 8
|
|
263
|
+
ASSIGNABLE_MICROSOFT_CORTANA = 9
|
|
264
|
+
ASSIGNABLE_QUICK_ACCESS = 10
|
|
265
|
+
ASSIGNABLE_VOLUME = 11
|
|
266
|
+
ASSIGNABLE_PLAYBACK_VOICE_ASSISTANT_LIMITATION = 12
|
|
267
|
+
ASSIGNABLE_TENCENT_XIAOWEI_Q_MSC = 13
|
|
268
|
+
ASSIGNABLE_TEAMS = 14
|
|
269
|
+
ASSIGNABLE_GOOGLE_ASSISTANT_BT_CLASSIC_CAUTION = 15
|
|
270
|
+
ASSIGNABLE_AMAZON_ALEXA_BT_CLASSIC_CAUTION = 16
|
|
271
|
+
ASSIGNABLE_TENCENT_XIAOWEI_BT_CLASSIC_CAUTION = 17
|
|
272
|
+
ASSIGNABLE_QUICK_ACCESS_BT_CLASSIC_CAUTION = 18
|
|
273
|
+
ASSIGNABLE_NOISE_CONTROL_QUICK_ACCESS_BT_CLASSIC_CAUTION = 19
|
|
274
|
+
ASSIGNABLE_TENCENT_XIAOWEI_Q_MSC_BT_CLASSIC_CAUTION = 20
|
|
275
|
+
ASSIGNABLE_NOISE_CONTROL_MIC = 21
|
|
276
|
+
ASSIGNABLE_LISTENING_MODE_QUICK_ACCESS = 22
|
|
277
|
+
ASSIGNABLE_NOISE_CONTROL_LISTENING_MODE = 23
|
|
278
|
+
ASSIGNABLE_CHAT_MIX = 24
|
|
279
|
+
ASSIGNABLE_CUSTOM1 = 25
|
|
280
|
+
ASSIGNABLE_CUSTOM2 = 26
|
|
281
|
+
ASSIGNABLE_UNKNOWN = 27
|
|
282
|
+
WEARING_POWER_UNAVAILABLE = 0
|
|
283
|
+
WEARING_POWER_DISABLED = 1
|
|
284
|
+
WEARING_POWER_WHEN_REMOVED = 2
|
|
285
|
+
WEARING_STATUS_UNKNOWN = 0
|
|
286
|
+
WEARING_STATUS_WORN = 1
|
|
287
|
+
WEARING_STATUS_LEFT_REMOVED = 2
|
|
288
|
+
WEARING_STATUS_RIGHT_REMOVED = 3
|
|
289
|
+
WEARING_STATUS_REMOVED = 4
|
|
290
|
+
AUDIO_PRIORITY_UNKNOWN = 0
|
|
291
|
+
AUDIO_PRIORITY_QUALITY = 1
|
|
292
|
+
AUDIO_PRIORITY_STABILITY = 2
|
|
293
|
+
ASSIGNABLE_ACTION_KEY_UNKNOWN = 0
|
|
294
|
+
ASSIGNABLE_ACTION_KEY_LEFT = 1
|
|
295
|
+
ASSIGNABLE_ACTION_KEY_RIGHT = 2
|
|
296
|
+
ASSIGNABLE_ACTION_KEY_CUSTOM = 3
|
|
297
|
+
ASSIGNABLE_ACTION_KEY_C = 4
|
|
298
|
+
ASSIGNABLE_ACTION_KEY_NC_AMB = 5
|
|
299
|
+
ASSIGNABLE_ACTION_KEY_NC_AMBIENT = 6
|
|
300
|
+
ASSIGNABLE_ACTION_KEY_TYPE_UNKNOWN = 0
|
|
301
|
+
ASSIGNABLE_ACTION_KEY_TYPE_TOUCH_SENSOR = 1
|
|
302
|
+
ASSIGNABLE_ACTION_KEY_TYPE_BUTTON = 2
|
|
303
|
+
ASSIGNABLE_ACTION_KEY_TYPE_FACE_TAP = 3
|
|
304
|
+
|
|
305
|
+
# Display names: client/Client.cpp kFeatures -> client/I18N/Default.cpp.
|
|
306
|
+
FEATURE_NAMES = {
|
|
307
|
+
FEATURE_IDENTITY: 'Identity',
|
|
308
|
+
FEATURE_BATTERY_SINGLE: 'Single battery',
|
|
309
|
+
FEATURE_BATTERY_LEFT_RIGHT: 'Left/right battery',
|
|
310
|
+
FEATURE_BATTERY_CASE: 'Charging case battery',
|
|
311
|
+
FEATURE_PLAYBACK_METADATA: 'Playback metadata',
|
|
312
|
+
FEATURE_PLAYBACK_CONTROL: 'Playback Control',
|
|
313
|
+
FEATURE_PLAYBACK_VOLUME: 'Playback volume',
|
|
314
|
+
FEATURE_NOISE_CANCELLING: 'Noise Cancelling',
|
|
315
|
+
FEATURE_AMBIENT_SOUND: 'Ambient Sound',
|
|
316
|
+
FEATURE_ADAPTIVE_AMBIENT_SOUND: 'Adaptive ambient sound',
|
|
317
|
+
FEATURE_SPEAK_TO_CHAT: 'Speak To Chat',
|
|
318
|
+
FEATURE_LISTENING_MODE: 'Listening Mode',
|
|
319
|
+
FEATURE_EQUALIZER: 'Equalizer',
|
|
320
|
+
FEATURE_DSEE: 'DSEE',
|
|
321
|
+
FEATURE_PAIRED_DEVICE_MANAGEMENT: 'Paired device management',
|
|
322
|
+
FEATURE_PAIRING_MODE: 'Pairing mode',
|
|
323
|
+
FEATURE_GENERAL_SETTINGS: 'General Setting',
|
|
324
|
+
FEATURE_ASSIGNABLE_CONTROLS: 'Assignable Controls',
|
|
325
|
+
FEATURE_NOISE_CONTROL_BUTTON: 'Noise control button',
|
|
326
|
+
FEATURE_AUTO_POWER_OFF: 'Auto Power Off',
|
|
327
|
+
FEATURE_WEARING_DETECTION: 'Wearing detection',
|
|
328
|
+
FEATURE_AUTO_PAUSE: 'Auto pause',
|
|
329
|
+
FEATURE_HEAD_GESTURE: 'Head Gesture',
|
|
330
|
+
FEATURE_VOICE_GUIDANCE: 'Voice Guidance',
|
|
331
|
+
FEATURE_VOICE_GUIDANCE_VOLUME: 'Voice guidance volume',
|
|
332
|
+
FEATURE_SHUTDOWN: 'Shutdown',
|
|
333
|
+
FEATURE_CONNECTION_MODE: 'Connection mode',
|
|
334
|
+
FEATURE_SAFE_LISTENING: 'Safe listening',
|
|
335
|
+
FEATURE_SOURCE_SWITCH_CONTROL: 'Source switch control',
|
|
336
|
+
FEATURE_LISTENING_BACKGROUND_MUSIC: 'Listening: background music',
|
|
337
|
+
FEATURE_LISTENING_CINEMA: 'Listening: cinema',
|
|
338
|
+
FEATURE_LISTENING_VOICE_BOOST: 'Listening: voice boost',
|
|
339
|
+
FEATURE_LISTENING_SOUND_LEAKAGE_REDUCTION: 'Listening: sound leakage reduction',
|
|
340
|
+
FEATURE_WEARING_STATUS: 'Wearing status',
|
|
341
|
+
FEATURE_VOICE_ASSISTANT: 'Voice Assistant',
|
|
342
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"""Generated from SonyHeadphonesClient
|
|
2
|
+
|
|
3
|
+
Do not edit this file directly; run ``python tooling/generate_bindings.py``.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from __future__ import annotations
|
|
7
|
+
|
|
8
|
+
ABI_VERSION = 9
|
|
9
|
+
INIT_BT_BLE = 1
|
|
10
|
+
OK = 0
|
|
11
|
+
INPROGRESS = 1
|
|
12
|
+
ERROR_GENERAL = 2
|
|
13
|
+
ERROR_NOT_FOUND = 3
|
|
14
|
+
ERROR_TIMEOUT = 4
|
|
15
|
+
ERROR_NET = 5
|
|
16
|
+
ERROR_NO_CONNECTION = 6
|
|
17
|
+
ERROR_BAD_ADDRESS = 7
|
|
18
|
+
ERROR_NOT_SUPPORTED = 8
|
|
19
|
+
ERROR_BUFFER_TOO_SMALL = 9
|
|
20
|
+
ERROR_MALFORMED_PAYLOAD = 10
|
|
21
|
+
ERROR_INVALID_ARGUMENT = 11
|
|
22
|
+
ERROR_ABI_MISMATCH = 12
|
|
23
|
+
SERVICE_UUID_V2 = '956C7B26-D49A-4BA8-B03F-B17D393CB6E2'
|
|
24
|
+
SERVICE_UUID_V1 = '96CC203E-5068-46AD-B32D-E316F5E069BA'
|
|
25
|
+
SERVICE_UUID_BLE = '5B833E20-6BC7-4802-8E9A-723CECA4BD8F'
|
|
Binary file
|
libmdr/connection.py
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"""High-level wrapper around MDRConnection helpers."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from ctypes import POINTER, byref, c_int, cast, c_void_p
|
|
6
|
+
from dataclasses import dataclass
|
|
7
|
+
|
|
8
|
+
from . import _api, _dll, result
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@dataclass(frozen=True)
|
|
12
|
+
class DeviceInfo:
|
|
13
|
+
name: str
|
|
14
|
+
address: str
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Connection:
|
|
18
|
+
"""Thin wrapper over an `MDRConnection*` owned elsewhere (usually libmdr_bt)."""
|
|
19
|
+
|
|
20
|
+
def __init__(self, ptr: object) -> None:
|
|
21
|
+
if not ptr:
|
|
22
|
+
raise ValueError("MDRConnection pointer is null")
|
|
23
|
+
self._ptr = cast(ptr, POINTER(_api.MDRConnection))
|
|
24
|
+
|
|
25
|
+
@property
|
|
26
|
+
def pointer(self):
|
|
27
|
+
return self._ptr
|
|
28
|
+
|
|
29
|
+
def as_void_p(self) -> c_void_p:
|
|
30
|
+
return cast(self._ptr, c_void_p)
|
|
31
|
+
|
|
32
|
+
def connect(self, mac_address: str, service_uuid: str) -> int:
|
|
33
|
+
return result.check(
|
|
34
|
+
_dll.lib().mdrConnectionConnect(
|
|
35
|
+
self._ptr,
|
|
36
|
+
mac_address.encode("utf-8"),
|
|
37
|
+
service_uuid.encode("utf-8"),
|
|
38
|
+
),
|
|
39
|
+
allow_inprogress=True,
|
|
40
|
+
)
|
|
41
|
+
|
|
42
|
+
def disconnect(self) -> None:
|
|
43
|
+
_dll.lib().mdrConnectionDisconnect(self._ptr)
|
|
44
|
+
|
|
45
|
+
def poll(self, timeout_ms: int = 0) -> int:
|
|
46
|
+
return int(_dll.lib().mdrConnectionPoll(self._ptr, int(timeout_ms)))
|
|
47
|
+
|
|
48
|
+
def last_error(self) -> str:
|
|
49
|
+
text = _dll.lib().mdrConnectionGetLastError(self._ptr)
|
|
50
|
+
if not text:
|
|
51
|
+
return ""
|
|
52
|
+
return text.decode("utf-8", errors="replace")
|
|
53
|
+
|
|
54
|
+
def devices(self) -> list[DeviceInfo]:
|
|
55
|
+
lib = _dll.lib()
|
|
56
|
+
devices = POINTER(_api.MDRDeviceInfo)()
|
|
57
|
+
count = c_int(0)
|
|
58
|
+
result.check(lib.mdrConnectionGetDevicesList(self._ptr, byref(devices), byref(count)))
|
|
59
|
+
try:
|
|
60
|
+
out: list[DeviceInfo] = []
|
|
61
|
+
for index in range(count.value):
|
|
62
|
+
item = devices[index]
|
|
63
|
+
out.append(
|
|
64
|
+
DeviceInfo(
|
|
65
|
+
name=item.szDeviceName.decode("utf-8", errors="replace").rstrip("\x00"),
|
|
66
|
+
address=item.szDeviceMacAddress.decode("utf-8", errors="replace").rstrip(
|
|
67
|
+
"\x00"
|
|
68
|
+
),
|
|
69
|
+
)
|
|
70
|
+
)
|
|
71
|
+
return out
|
|
72
|
+
finally:
|
|
73
|
+
result.check(lib.mdrConnectionFreeDevicesList(self._ptr, byref(devices)))
|