python service http refactor start

This commit is contained in:
michalcourson
2026-02-14 11:24:09 -05:00
parent 5516ce9212
commit f3b883602e
27 changed files with 415 additions and 205 deletions

View File

@ -7,6 +7,12 @@ from pycaw.pycaw import AudioUtilities, IAudioEndpointVolume
import json
class WindowsAudioManager:
_instance = None
def __new__(cls, *args, **kwargs):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
def __init__(self):
"""
Initialize Windows audio device and volume management.
@ -42,8 +48,27 @@ class WindowsAudioManager:
}
for dev in self.devices if dev['max_output_channels'] > 0
]
def get_default_device(self, kind='input'):
"""
Get the default audio device.
:param kind: 'input' or 'output'
:return: Default audio device information
"""
if kind == 'input':
dev = self.devices[self.default_input]
return [
{
'index': dev['index'],
'name': dev['name'],
'max_input_channels': dev['max_input_channels'],
'default_samplerate': dev['default_samplerate']
}
]
def set_default_input_device(self, device_index):
if(device_index is None):
return self.get_current_input_device_sample_rate()
"""
Set the default input audio device.