Browse Source

New internal CLI arg "--osc-gui="

Signed-off-by: falkTX <falktx@falktx.com>
tags/v2.2.0-RC1
falkTX 5 years ago
parent
commit
661e09a254
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
3 changed files with 36 additions and 23 deletions
  1. +2
    -2
      source/frontend/carla-plugin
  2. +29
    -19
      source/frontend/carla_host.py
  3. +5
    -2
      source/frontend/carla_shared.py

+ 2
- 2
source/frontend/carla-plugin View File

@@ -158,8 +158,8 @@ class CarlaMiniW(ExternalUI, HostWindow):
def msgCallback(self, msg):
try:
self.msgCallback2(msg)
except:
print("msgCallback error, skipped for", msg)
except Exception as e:
print("msgCallback error, skipped for", msg, "error was:\n", e)

def msgCallback2(self, msg):
msg = charPtrToString(msg)


+ 29
- 19
source/frontend/carla_host.py View File

@@ -3179,7 +3179,7 @@ def setHostSettings(host):
# ------------------------------------------------------------------------------------------------------------
# Set Engine settings according to carla preferences. Returns selected audio driver.

def setEngineSettings(host):
def setEngineSettings(host, oscPort = None):
# kdevelop likes this :)
if False: host = CarlaHostNull()

@@ -3235,21 +3235,26 @@ def setEngineSettings(host):
# --------------------------------------------------------------------------------------------------------
# osc settings

oscEnabled = settings.value(CARLA_KEY_OSC_ENABLED, CARLA_DEFAULT_OSC_ENABLED, bool)
if oscPort is not None and isinstance(oscPort, int):
oscEnabled = True
portNumTCP = portNumUDP = oscPort

if not settings.value(CARLA_KEY_OSC_TCP_PORT_ENABLED, CARLA_DEFAULT_OSC_TCP_PORT_ENABLED, bool):
portNumTCP = -1
elif settings.value(CARLA_KEY_OSC_TCP_PORT_RANDOM, CARLA_DEFAULT_OSC_TCP_PORT_RANDOM, bool):
portNumTCP = 0
else:
portNumTCP = settings.value(CARLA_KEY_OSC_TCP_PORT_NUMBER, CARLA_DEFAULT_OSC_TCP_PORT_NUMBER, int)
oscEnabled = settings.value(CARLA_KEY_OSC_ENABLED, CARLA_DEFAULT_OSC_ENABLED, bool)

if not settings.value(CARLA_KEY_OSC_UDP_PORT_ENABLED, CARLA_DEFAULT_OSC_UDP_PORT_ENABLED, bool):
portNumUDP = -1
elif settings.value(CARLA_KEY_OSC_UDP_PORT_RANDOM, CARLA_DEFAULT_OSC_UDP_PORT_RANDOM, bool):
portNumUDP = 0
else:
portNumUDP = settings.value(CARLA_KEY_OSC_UDP_PORT_NUMBER, CARLA_DEFAULT_OSC_UDP_PORT_NUMBER, int)
if not settings.value(CARLA_KEY_OSC_TCP_PORT_ENABLED, CARLA_DEFAULT_OSC_TCP_PORT_ENABLED, bool):
portNumTCP = -1
elif settings.value(CARLA_KEY_OSC_TCP_PORT_RANDOM, CARLA_DEFAULT_OSC_TCP_PORT_RANDOM, bool):
portNumTCP = 0
else:
portNumTCP = settings.value(CARLA_KEY_OSC_TCP_PORT_NUMBER, CARLA_DEFAULT_OSC_TCP_PORT_NUMBER, int)

if not settings.value(CARLA_KEY_OSC_UDP_PORT_ENABLED, CARLA_DEFAULT_OSC_UDP_PORT_ENABLED, bool):
portNumUDP = -1
elif settings.value(CARLA_KEY_OSC_UDP_PORT_RANDOM, CARLA_DEFAULT_OSC_UDP_PORT_RANDOM, bool):
portNumUDP = 0
else:
portNumUDP = settings.value(CARLA_KEY_OSC_UDP_PORT_NUMBER, CARLA_DEFAULT_OSC_UDP_PORT_NUMBER, int)

host.set_engine_option(ENGINE_OPTION_OSC_ENABLED, 1 if oscEnabled else 0, "")
host.set_engine_option(ENGINE_OPTION_OSC_PORT_TCP, portNumTCP, "")
@@ -3325,11 +3330,16 @@ def runHostWithoutUI(host):
if not gCarla.nogui:
return

projectFile = getInitialProjectFile(QCoreApplication.instance(), True)
if not isinstance(gCarla.nogui, int):
oscPort = None
projectFile = getInitialProjectFile(QCoreApplication.instance(), True)

if not projectFile:
print("Carla no-gui mode can only be used together with a project file.")
sys.exit(1)
if not projectFile:
print("Carla no-gui mode can only be used together with a project file.")
sys.exit(1)

else:
oscPort = gCarla.nogui

# --------------------------------------------------------------------------------------------------------
# Additional imports
@@ -3339,12 +3349,12 @@ def runHostWithoutUI(host):
# --------------------------------------------------------------------------------------------------------
# Init engine

audioDriver = setEngineSettings(host)
audioDriver = setEngineSettings(host, oscPort)
if not host.engine_init(audioDriver, "Carla"):
print("Engine failed to initialize, possible reasons:\n%s" % host.get_last_error())
sys.exit(1)

if not host.load_project(projectFile):
if oscPort is None and not host.load_project(projectFile):
print("Failed to load selected project file, possible reasons:\n%s" % host.get_last_error())
host.engine_close()
sys.exit(1)


+ 5
- 2
source/frontend/carla_shared.py View File

@@ -630,6 +630,9 @@ def handleInitialCommandLineArguments(file):
elif arg.startswith("--with-libprefix="):
libPrefix = arg.replace("--with-libprefix=", "")

elif arg.startswith("--osc-gui="):
gCarla.nogui = int(arg.replace("--osc-gui=", ""))

elif arg == "--gdb":
pass

@@ -675,9 +678,9 @@ def getInitialProjectFile(app, skipExistCheck = False):
#args = app.arguments()[1:]
args = sys.argv[1:]
for arg in args:
if arg.startswith("--with-appname=") or arg.startswith("--with-libprefix=") or arg == "--gdb":
if arg.startswith("--with-appname=") or arg.startswith("--with-libprefix=") or arg.startswith("--osc-gui="):
continue
if arg in ("-n", "--n", "-no-gui", "--no-gui", "-nogui", "--nogui"):
if arg in ("-n", "--n", "-no-gui", "--no-gui", "-nogui", "--nogui", "--gdb"):
continue
arg = os.path.expanduser(arg)
if skipExistCheck or os.path.exists(arg):


Loading…
Cancel
Save