voice-changer/server/sio/MMVC_SocketIOServer.py

24 lines
696 B
Python
Raw Normal View History

2022-12-31 16:27:18 +09:00
import socketio
from sio.MMVC_Namespace import MMVC_Namespace
from voice_changer.VoiceChangerManager import VoiceChangerManager
2023-05-04 12:29:12 +09:00
class MMVC_SocketIOServer:
_instance: socketio.AsyncServer | None = None
2022-12-31 16:27:18 +09:00
@classmethod
2024-03-18 22:52:22 +02:00
def get_instance(
cls,
voiceChangerManager: VoiceChangerManager,
allowedOrigins: list[str],
):
2023-05-04 12:34:47 +09:00
if cls._instance is None:
2024-03-18 22:52:22 +02:00
sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins=allowedOrigins)
2022-12-31 16:27:18 +09:00
namespace = MMVC_Namespace.get_instance(voiceChangerManager)
sio.register_namespace(namespace)
cls._instance = sio
return cls._instance
return cls._instance