Browse Source

carla-control: don't use global vars

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.1-alpha2
falkTX 6 years ago
parent
commit
bf4774abbd
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 28 additions and 42 deletions
  1. +28
    -42
      source/frontend/carla_control.py

+ 28
- 42
source/frontend/carla_control.py View File

@@ -31,13 +31,6 @@ from liblo import UDP as LO_UDP

from random import random

# ------------------------------------------------------------------------------------------------------------
# Global liblo objects

global lo_target, lo_target_name
lo_target = None
lo_target_name = ""

# ------------------------------------------------------------------------------------------------------------
# Host OSC object

@@ -45,6 +38,9 @@ class CarlaHostOSC(CarlaHostQtPlugin):
def __init__(self):
CarlaHostQtPlugin.__init__(self)

self.lo_target = None
self.lo_target_name = ""

# -------------------------------------------------------------------

def printAndReturnError(self, error):
@@ -53,17 +49,19 @@ class CarlaHostOSC(CarlaHostQtPlugin):
return False

def sendMsg(self, lines):
global lo_target, lo_target_name

if lo_target is None:
return self.printAndReturnError("lo_target is None")
if lo_target_name is None:
return self.printAndReturnError("lo_target_name is None")
if len(lines) < 2:
return self.printAndReturnError("not enough arguments")

method = lines.pop(0)

if method == "set_engine_option":
return True

if self.lo_target is None:
return self.printAndReturnError("lo_target is None")
if self.lo_target_name is None:
return self.printAndReturnError("lo_target_name is None")

if method not in (
#"set_option",
"set_active",
@@ -112,14 +110,13 @@ class CarlaHostOSC(CarlaHostQtPlugin):

print(path, args)

lo_send(lo_target, path, *args)
lo_send(self.lo_target, path, *args)
return True

# -------------------------------------------------------------------

def engine_init(self, driverName, clientName):
global lo_target
return lo_target is not None
return self.lo_target is not None

def engine_close(self):
return True
@@ -128,8 +125,7 @@ class CarlaHostOSC(CarlaHostQtPlugin):
return

def is_engine_running(self):
global lo_target
return lo_target is not None
return self.lo_target is not None

def set_engine_about_to_close(self):
return
@@ -437,14 +433,12 @@ class HostWindowOSC(HostWindow):
QTimer.singleShot(0, self.connectOsc)

def connectOsc(self, addr = None):
global lo_target, lo_target_name

if addr is not None:
self.fOscAddress = addr

lo_target = Address(self.fOscAddress)
lo_target_name = self.fOscAddress.rsplit("/", 1)[-1]
print("Connecting to \"%s\" as '%s'..." % (self.fOscAddress, lo_target_name))
self.host.lo_target = Address(self.fOscAddress)
self.host.lo_target_name = self.fOscAddress.rsplit("/", 1)[-1]
print("Connecting to \"%s\" as '%s'..." % (self.fOscAddress, self.host.lo_target_name))

try:
self.fOscServer = CarlaControlServer(self.host, LO_UDP if self.fOscAddress.startswith("osc.udp") else LO_TCP)
@@ -453,20 +447,18 @@ class HostWindowOSC(HostWindow):
return

self.fIdleTimer = self.startTimer(20)
lo_send(lo_target, "/register", self.fOscServer.getFullURL())
lo_send(self.host.lo_target, "/register", self.fOscServer.getFullURL())

self.startTimers()
self.ui.act_file_refresh.setEnabled(True)

def disconnectOsc(self):
global lo_target, lo_target_name

self.killTimers()
self.ui.act_file_refresh.setEnabled(False)

if lo_target is not None:
if self.host.lo_target is not None:
try:
lo_send(lo_target, "/unregister")
lo_send(self.host.lo_target, "/unregister")
except:
pass

@@ -479,8 +471,8 @@ class HostWindowOSC(HostWindow):

self.removeAllPlugins()

lo_target = None
lo_target_name = ""
self.host.lo_target = None
self.host.lo_target_name = ""
self.fOscAddress = ""

def removeAllPlugins(self):
@@ -489,9 +481,7 @@ class HostWindowOSC(HostWindow):

@pyqtSlot()
def slot_fileConnect(self):
global lo_target, lo_target_name

if lo_target and self.fOscServer:
if self.host.lo_target and self.fOscServer:
urlText = self.fOscAddress
else:
urlText = "osc.tcp://127.0.0.1:19000/Carla"
@@ -506,15 +496,13 @@ class HostWindowOSC(HostWindow):

@pyqtSlot()
def slot_fileRefresh(self):
global lo_target

if lo_target is None or self.fOscServer is None:
if self.host.lo_target is None or self.fOscServer is None:
return

self.killTimers()
lo_send(lo_target, "/unregister")
lo_send(self.host.lo_target, "/unregister")
self.removeAllPlugins()
lo_send(lo_target, "/register", self.fOscServer.getFullURL())
lo_send(self.host.lo_target, "/register", self.fOscServer.getFullURL())
self.startTimers()

@pyqtSlot()
@@ -527,12 +515,10 @@ class HostWindowOSC(HostWindow):
HostWindow.timerEvent(self, event)

def closeEvent(self, event):
global lo_target

self.killTimers()

if lo_target is not None and self.fOscServer is not None:
lo_send(lo_target, "/unregister")
if self.host.lo_target is not None and self.fOscServer is not None:
lo_send(self.host.lo_target, "/unregister")

HostWindow.closeEvent(self, event)



Loading…
Cancel
Save