import socketio from sio.MMVC_Namespace import MMVC_Namespace from voice_changer.VoiceChangerManager import VoiceChangerManager class MMVC_SocketIOServer: _instance: socketio.AsyncServer | None = None @classmethod def get_instance(cls, voiceChangerManager: VoiceChangerManager): if cls._instance is None: sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins="*") namespace = MMVC_Namespace.get_instance(voiceChangerManager) sio.register_namespace(namespace) cls._instance = sio return cls._instance return cls._instance