mirror of
https://github.com/SlimeVR/SlimeVR-Server.git
synced 2026-04-06 02:01:58 +02:00
Run OSCQuery add on VRServer instead of locks
This commit is contained in:
@@ -96,7 +96,7 @@ class VRCOSCHandler(
|
||||
if (config.enabled && config.oscqueryEnabled) {
|
||||
if (vrcOscQueryHandler == null) {
|
||||
try {
|
||||
vrcOscQueryHandler = VRCOSCQueryHandler(this)
|
||||
vrcOscQueryHandler = VRCOSCQueryHandler(server, this)
|
||||
} catch (e: Throwable) {
|
||||
LogManager.severe("Unable to initialize OSCQuery: $e", e)
|
||||
}
|
||||
@@ -139,7 +139,6 @@ class VRCOSCHandler(
|
||||
/**
|
||||
* Adds an OSC Sender from OSCQuery
|
||||
*/
|
||||
@Synchronized
|
||||
fun addOSCQuerySender(oscPortOut: Int, oscIP: String) {
|
||||
if (!config.enabled) {
|
||||
closeOscQuerySender()
|
||||
|
||||
@@ -3,6 +3,7 @@ package dev.slimevr.osc
|
||||
import OSCQueryNode
|
||||
import OSCQueryServer
|
||||
import ServiceInfo
|
||||
import dev.slimevr.VRServer
|
||||
import dev.slimevr.protocol.rpc.setup.RPCUtil
|
||||
import io.eiren.util.logging.LogManager
|
||||
import randomFreePort
|
||||
@@ -17,6 +18,7 @@ private const val queryPath = "/tracking/vrsystem"
|
||||
* https://github.com/SlimeVR/oscquery-kt
|
||||
*/
|
||||
class VRCOSCQueryHandler(
|
||||
private val server: VRServer,
|
||||
private val vrcOscHandler: VRCOSCHandler,
|
||||
) {
|
||||
private val oscQueryServer: OSCQueryServer
|
||||
@@ -71,7 +73,9 @@ class VRCOSCQueryHandler(
|
||||
val port = info.port
|
||||
|
||||
// create a new OSCHandler for this service
|
||||
vrcOscHandler.addOSCQuerySender(port, ip)
|
||||
server.queueTask {
|
||||
vrcOscHandler.addOSCQuerySender(port, ip)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user