🐛[bugfix] Model : VRChat未起動時にOSCQueryを起動させるとエラーが発生する問題を回避するように変更

This commit is contained in:
misyaguziya
2024-10-28 23:06:40 +09:00
parent bd0431f79c
commit a1164ade51
2 changed files with 23 additions and 18 deletions

View File

@@ -1,17 +1,13 @@
import gc
import tempfile
from zipfile import ZipFile
from subprocess import Popen
from os import makedirs as os_makedirs
from os import path as os_path
from shutil import copyfile
from datetime import datetime
from logging import getLogger, FileHandler, Formatter, INFO
from time import sleep
from queue import Queue
from threading import Thread
from requests import get as requests_get
import webbrowser
from typing import Callable
from flashtext import KeywordProcessor

View File

@@ -1,11 +1,9 @@
from time import sleep
from pythonosc import osc_message_builder
from pythonosc import udp_client
from pythonosc import dispatcher
from pythonosc import osc_server
from pythonosc import osc_message_builder, udp_client, dispatcher, osc_server
from tinyoscquery.queryservice import OSCQueryService
from tinyoscquery.query import OSCQueryBrowser, OSCQueryClient
from tinyoscquery.utility import get_open_udp_port, get_open_tcp_port
from psutil import process_iter
# send OSC message typing
def sendTyping(flag=False, ip_address="127.0.0.1", port=9000):
@@ -65,7 +63,16 @@ def getOSCParameterValue(address, server_name="VRChat-Client"):
pass
return value
def checkVRChatRunning() -> bool:
_proc_name = "VRChat.exe"
return _proc_name in (p.name() for p in process_iter())
def receiveOscParameters(dict_filter_and_target, ip_address="127.0.0.1", title="VRCT"):
while True:
if not checkVRChatRunning():
sleep(1)
else:
try:
osc_port = get_open_udp_port()
http_port = get_open_tcp_port()
osc_dispatcher = dispatcher.Dispatcher()
@@ -78,6 +85,8 @@ def receiveOscParameters(dict_filter_and_target, ip_address="127.0.0.1", title="
osc_client.advertise_endpoint(filter)
osc_udp_server.serve_forever()
except Exception:
pass
if __name__ == "__main__":
osc_parameter_prefix = "/avatar/parameters/"