2022-12-31 10:27:18 +03:00
|
|
|
import socketio
|
|
|
|
|
|
|
|
from sio.MMVC_Namespace import MMVC_Namespace
|
|
|
|
from voice_changer.VoiceChangerManager import VoiceChangerManager
|
|
|
|
|
2023-05-04 06:29:12 +03:00
|
|
|
|
|
|
|
class MMVC_SocketIOServer:
|
|
|
|
_instance: socketio.AsyncServer | None = None
|
|
|
|
|
2022-12-31 10:27:18 +03:00
|
|
|
@classmethod
|
2023-05-04 06:29:12 +03:00
|
|
|
def get_instance(cls, voiceChangerManager: VoiceChangerManager):
|
2023-05-04 06:34:47 +03:00
|
|
|
if cls._instance is None:
|
2023-05-04 06:29:12 +03:00
|
|
|
sio = socketio.AsyncServer(async_mode="asgi", cors_allowed_origins="*")
|
2022-12-31 10:27:18 +03:00
|
|
|
namespace = MMVC_Namespace.get_instance(voiceChangerManager)
|
|
|
|
sio.register_namespace(namespace)
|
|
|
|
cls._instance = sio
|
|
|
|
return cls._instance
|
|
|
|
|
|
|
|
return cls._instance
|