Browse Source

Try to really really fix startup; Always do a 2nd startup check

tags/v0.9.0
falkTX 8 years ago
parent
commit
79509a52d9
2 changed files with 22 additions and 11 deletions
  1. +2
    -4
      data/cadence-session-start
  2. +20
    -7
      src/cadence_session_start.py

+ 2
- 4
data/cadence-session-start View File

@@ -19,10 +19,8 @@ if [ "$1"x == "--system-start-by-x11-startup"x ]; then
fi
elif [ "$1"x == "--maybe-system-start"x ]; then
# called via autostart cadence-session-start.desktop
# only do something if 21cadence-session-inject was ignored
if [ "$CADENCE_AUTO_STARTED"x == ""x ]; then
exec $PYTHON $INSTALL_PREFIX/share/cadence/src/cadence_session_start.py --system-start
fi
# this will check if jack is already running before trying to restart things
exec $PYTHON $INSTALL_PREFIX/share/cadence/src/cadence_session_start.py --system-start-desktop
else
# called by user
exec $PYTHON $INSTALL_PREFIX/share/cadence/src/cadence_session_start.py "$@"


+ 20
- 7
src/cadence_session_start.py View File

@@ -41,12 +41,25 @@ def forceReset():
os.remove(config)

# Start JACK, A2J and Pulse, according to user settings
def startSession(systemStarted):
def startSession(systemStarted, secondSystemStartAttempt):
# Check if JACK is set to auto-start
if systemStarted and not GlobalSettings.value("JACK/AutoStart", False, type=bool):
print("JACK is set to NOT auto-start on login")
return True

# Called via autostart desktop file
if systemStarted and secondSystemStartAttempt:
tmp_bus = dbus.SessionBus()
tmp_jack = tmp_bus.get_object("org.jackaudio.service", "/org/jackaudio/Controller")
started = bool(tmp_jack.IsStarted())

# Cleanup
del tmp_bus, tmp_jack

# If already started, do nothing
if started:
return True

# Kill all audio processes first
stopAllAudioProcesses()

@@ -217,13 +230,13 @@ if __name__ == '__main__':
printVST_PATH()
elif arg == "--reset":
forceReset()
elif arg == "--system-start":
sys.exit(startSession(True))
elif arg in ["-s", "--s", "-start", "--start"]:
sys.exit(startSession(False))
elif arg in ["-h", "--h", "-help", "--help"]:
elif arg in ("--system-start", "--system-start-desktop"):
sys.exit(startSession(True, arg == "--system-start-desktop"))
elif arg in ("-s", "--s", "-start", "--start"):
sys.exit(startSession(False, False))
elif arg in ("-h", "--h", "-help", "--help"):
printHelp(cmd)
elif arg in ["-v", "--v", "-version", "--version"]:
elif arg in ("-v", "--v", "-version", "--version"):
printVersion()
else:
printError(cmd)


Loading…
Cancel
Save