Browse Source

Add initial code for cadence-session-start

tags/v0.9.0
falkTX 13 years ago
parent
commit
60e5e3acc4
4 changed files with 176 additions and 2 deletions
  1. +15
    -2
      Makefile
  2. +24
    -0
      data/99cadence-session-start
  3. +10
    -0
      data/cadence-session-start
  4. +127
    -0
      src/cadence_session_start.py

+ 15
- 2
Makefile View File

@@ -12,6 +12,13 @@ SED_PREFIX = $(shell echo $(PREFIX) | sed "s/\//\\\\\\\\\//g")
PYUIC = pyuic4 PYUIC = pyuic4
PYRCC = pyrcc4 -py3 PYRCC = pyrcc4 -py3


# Detect X11 rules dir
ifeq "$(wildcard /etc/X11/xinit/xinitrc.d/ )" ""
X11_RC_DIR = $(DESTDIR)/etc/X11/Xsession.d/
else
X11_RC_DIR = $(DESTDIR)/etc/X11/xinit/xinitrc.d/
endif



all: UI RES CPP all: UI RES CPP


@@ -226,6 +233,7 @@ install:
install -d $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/ install -d $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/
install -d $(DESTDIR)$(PREFIX)/share/cadence/icons/ install -d $(DESTDIR)$(PREFIX)/share/cadence/icons/
install -d $(DESTDIR)$(PREFIX)/share/cadence/templates/ install -d $(DESTDIR)$(PREFIX)/share/cadence/templates/
install -d $(X11_RC_DIR)


# Install script files and binaries # Install script files and binaries
install -m 755 \ install -m 755 \
@@ -299,8 +307,11 @@ install:
install -m 755 src/*.py $(DESTDIR)$(PREFIX)/share/cadence/src/ install -m 755 src/*.py $(DESTDIR)$(PREFIX)/share/cadence/src/
install -m 755 c++/carla-backend/*.so $(DESTDIR)$(PREFIX)/lib/carla/ install -m 755 c++/carla-backend/*.so $(DESTDIR)$(PREFIX)/lib/carla/


# Install addtional stuff
# Install addtional stuff for Cadence
install -m 644 data/pulse2jack/* $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/ install -m 644 data/pulse2jack/* $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/
install -m 644 data/99cadence-session-start $(X11_RC_DIR)

# Install addtional stuff for Claudia
cp -r data/icons/* $(DESTDIR)$(PREFIX)/share/cadence/icons/ cp -r data/icons/* $(DESTDIR)$(PREFIX)/share/cadence/icons/
cp -r data/templates/* $(DESTDIR)$(PREFIX)/share/cadence/templates/ cp -r data/templates/* $(DESTDIR)$(PREFIX)/share/cadence/templates/


@@ -317,7 +328,8 @@ install:
$(DESTDIR)$(PREFIX)/bin/claudia \ $(DESTDIR)$(PREFIX)/bin/claudia \
$(DESTDIR)$(PREFIX)/bin/claudia-launcher \ $(DESTDIR)$(PREFIX)/bin/claudia-launcher \
$(DESTDIR)$(PREFIX)/bin/carla \ $(DESTDIR)$(PREFIX)/bin/carla \
$(DESTDIR)$(PREFIX)/bin/carla-control
$(DESTDIR)$(PREFIX)/bin/carla-control \
$(X11_RC_DIR)/99cadence-session-start


uninstall: uninstall:
rm -f $(DESTDIR)$(PREFIX)/bin/cadence* rm -f $(DESTDIR)$(PREFIX)/bin/cadence*
@@ -346,5 +358,6 @@ uninstall:
rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/claudia-launcher.svg rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/claudia-launcher.svg
rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla.svg rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla.svg
rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla-control.svg rm -f $(DESTDIR)$(PREFIX)/share/icons/hicolor/scalable/apps/carla-control.svg
rm -f $(X11_RC_DIR)/99cadence-session-start
rm -rf $(DESTDIR)$(PREFIX)/lib/carla/ rm -rf $(DESTDIR)$(PREFIX)/lib/carla/
rm -rf $(DESTDIR)$(PREFIX)/share/cadence/ rm -rf $(DESTDIR)$(PREFIX)/share/cadence/

+ 24
- 0
data/99cadence-session-start View File

@@ -0,0 +1,24 @@
# Cadence Session Startup

INSTALL_PREFIX="X-PREFIX-X"

# Export Plugins PATHs
LADSPA_PATH_str=`$INSTALL_PREFIX/bin/cadence-session-start --printLADSPA_PATH`
DSSI_PATH_str=`$INSTALL_PREFIX/bin/cadence-session-start --printDSSI_PATH`
LV2_PATH_str=`$INSTALL_PREFIX/bin/cadence-session-start --printLV2_PATH`
VST_PATH_str=`$INSTALL_PREFIX/bin/cadence-session-start --printVST_PATH`

export LADSPA_PATH="$LADSPA_PATH_str"
export DSSI_PATH="$DSSI_PATH_str"
export LV2_PATH="$LV2_PATH_str"
export VST_PATH="$VST_PATH_str"

# Start JACK (or not), according to user settings
CADENCE_SESSION="$INSTALL_PREFIX/bin/cadence-session-start -s"
exec $CADENCE_SESSION &

unset LADSPA_PATH_str
unset DSSI_PATH_str
unset LV2_PATH_str
unset VST_PATH_str
unset INSTALL_PREFIX

+ 10
- 0
data/cadence-session-start View File

@@ -0,0 +1,10 @@
#!/bin/bash

if [ -f /usr/bin/python3 ]; then
PYTHON=/usr/bin/python3
else
PYTHON=python
fi

INSTALL_PREFIX="X-PREFIX-X"
exec $PYTHON $INSTALL_PREFIX/share/cadence/src/cadence_session_start.py "$@"

+ 127
- 0
src/cadence_session_start.py View File

@@ -0,0 +1,127 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Imports (Global)
import dbus, os, sys
from PyQt4.QtCore import QCoreApplication, QProcess, QSettings
from time import sleep

# Imports (Custom Stuff)
from shared import *

# Cadence Global Settings
GlobalSettings = QSettings("Cadence", "GlobalSettings")

DEFAULT_LADSPA_PATH = "/usr/lib/ladspa:/usr/local/lib/ladspa:/usr/lib32/ladspa:"+HOME+"/.ladspa"
DEFAULT_DSSI_PATH = "/usr/lib/dssi:/usr/local/lib/dssi:/usr/lib32/dssi:"+HOME+"/.dssi"
DEFAULT_LV2_PATH = "/usr/lib/lv2:/usr/local/lib/lv2:"+HOME+"/.lv2"
DEFAULT_VST_PATH = "/usr/lib/vst:/usr/local/lib/vst:/usr/lib32/vst:"+HOME+"/.vst"

# DBus
class DBus(object):
__slots__ = [
'bus',
'a2j',
'jack'
]
DBus = DBus()

# Start JACK, A2J and Pulse, according to user settings
def startSession():
pass

def printLADSPA_PATH():
EXTRA_LADSPA_DIRS = GlobalSettings.value("AudioPlugins/EXTRA_LADSPA_PATH", "", type=str).split(":")
LADSPA_PATH_str = DEFAULT_LADSPA_PATH

for i in range(len(EXTRA_LADSPA_DIRS)):
if (EXTRA_LADSPA_DIRS[i]):
LADSPA_PATH_str += ":"+EXTRA_LADSPA_DIRS[i]

print(LADSPA_PATH_str)

def printDSSI_PATH():
EXTRA_DSSI_DIRS = GlobalSettings.value("AudioPlugins/EXTRA_DSSI_PATH", "", type=str).split(":")
DSSI_PATH_str = DEFAULT_DSSI_PATH

for i in range(len(EXTRA_DSSI_DIRS)):
if (EXTRA_DSSI_DIRS[i]):
DSSI_PATH_str += ":"+EXTRA_DSSI_DIRS[i]

print(DSSI_PATH_str)

def printLV2_PATH():
EXTRA_LV2_DIRS = GlobalSettings.value("AudioPlugins/EXTRA_LV2_PATH", "", type=str).split(":")
LV2_PATH_str = DEFAULT_LV2_PATH

for i in range(len(EXTRA_LV2_DIRS)):
if (EXTRA_LV2_DIRS[i]):
LV2_PATH_str += ":"+EXTRA_LV2_DIRS[i]

print(LV2_PATH_str)

def printVST_PATH():
EXTRA_VST_DIRS = GlobalSettings.value("AudioPlugins/EXTRA_VST_PATH", "", type=str).split(":")
VST_PATH_str = DEFAULT_VST_PATH

for i in range(len(EXTRA_VST_DIRS)):
if (EXTRA_VST_DIRS[i]):
VST_PATH_str += ":"+EXTRA_VST_DIRS[i]

print(VST_PATH_str)

def printArguments():
print("\t-s|--start \tStart session")
print("")
print("\t-h|--help \tShow this help message")
print("\t-v|--version\tShow version")

def printError(cmd):
print("Invalid arguments")
print("Run '%s -h' for help" % (cmd))

def printHelp(cmd):
print("Usage: %s [cmd]" % (cmd))
printArguments()

def printVersion():
print("Cadence version %s" % (VERSION))
print("Developed by falkTX and the rest of the KXStudio Team")

#--------------- main ------------------
if __name__ == '__main__':
# App initialization
app = QCoreApplication(sys.argv)
app.setApplicationName("Cadence")
app.setApplicationVersion(VERSION)
app.setOrganizationName("Cadence")

# Check arguments
cmd = sys.argv[0]

if len(app.arguments()) == 1:
printHelp(cmd)
elif len(app.arguments()) == 2:
arg = app.arguments()[1]
if arg == "--printLADSPA_PATH":
printLADSPA_PATH()
elif arg == "--printDSSI_PATH":
printDSSI_PATH()
elif arg == "--printLV2_PATH":
printLV2_PATH()
elif arg == "--printVST_PATH":
printVST_PATH()
elif arg in ["-s", "--s", "-start", "--start"]:
sys.exit(startSession())
elif arg in ["-h", "--h", "-help", "--help"]:
printHelp(cmd)
elif arg in ["-v", "--v", "-version", "--version"]:
printVersion()
else:
printError(cmd)
else:
printError(cmd)

# Exit
sys.exit(0)


Loading…
Cancel
Save