|  | #!/usr/bin/env python3
# -*- coding: utf-8 -*-
# --------------------------------------------------------------------------------------------------------
from carla_backend import *
from signal import signal, SIGINT, SIGTERM
from time import sleep
from sys import exit
# --------------------------------------------------------------------------------------------------------
class CarlaObject(object):
    __slots__ = [
        'term'
    ]
gCarla = CarlaObject()
gCarla.term = False
def signalHandler(sig, frame):
    if sig in (SIGINT, SIGTERM):
        gCarla.term = True
# --------------------------------------------------------------------------------------------------------
binaryDir = "/home/falktx/Personal/GIT-mine/falkTX/Carla/bin"
host = CarlaHostDLL("/home/falktx/Personal/GIT-mine/falkTX/Carla/bin/libcarla_standalone2.so", True)
host.set_engine_option(ENGINE_OPTION_PATH_BINARIES, 0, binaryDir)
host.set_engine_option(ENGINE_OPTION_PROCESS_MODE, 2, "")
host.set_engine_option(ENGINE_OPTION_TRANSPORT_MODE, 0, "")
if not host.engine_init("PulseAudio", "Carla-Plugin-JACK"):
    print("Engine failed to initialize, possible reasons:\n%s" % host.get_last_error())
    exit(1)
fname = "pulseaudio --high-priority --realtime --exit-idle-time=-1 --file=/usr/share/cadence/pulse2jack/play.pa -n"
label = ""
fname = "/usr/bin/patchage"
label = ""
fname = "/usr/bin/carla"
label = ""
if not host.add_plugin(BINARY_NATIVE, PLUGIN_JACK, fname, "", label, 0, None, 0):
    print("Failed to load plugin, possible reasons:\n%s" % host.get_last_error())
    host.engine_close()
    exit(1)
signal(SIGINT,  signalHandler)
signal(SIGTERM, signalHandler)
while host.is_engine_running() and not gCarla.term:
    host.engine_idle()
    sleep(0.5)
if not gCarla.term:
    print("Engine closed abruptely")
if not host.engine_close():
    print("Engine failed to close, possible reasons:\n%s" % host.get_last_error())
    exit(1)
# --------------------------------------------------------------------------------------------------------
 |