Browse Source

PatchCanvas: save settings in app config; misc changes

tags/v0.9.0
falkTX 12 years ago
parent
commit
b70e9af4b0
10 changed files with 30 additions and 29 deletions
  1. +1
    -1
      INSTALL.md
  2. +2
    -2
      src/catarina.py
  3. +2
    -2
      src/catia.py
  4. +3
    -3
      src/claudia.py
  5. +3
    -3
      src/claudia_launcher.py
  6. +8
    -6
      src/jacksettings.py
  7. +5
    -7
      src/patchcanvas.py
  8. +3
    -2
      src/shared_carla.py
  9. +1
    -1
      src/shared_jack.py
  10. +2
    -2
      src/ui/render.ui

+ 1
- 1
INSTALL.md View File

@@ -31,7 +31,7 @@ Optional but recommended:


On Debian and Ubuntu, use these commands to install all dependencies: <br/> On Debian and Ubuntu, use these commands to install all dependencies: <br/>
`$ sudo apt-get install libjack-dev liblo-dev libgtk2.0-dev libqt4-dev libfluidsynth-dev` <br/> `$ sudo apt-get install libjack-dev liblo-dev libgtk2.0-dev libqt4-dev libfluidsynth-dev` <br/>
`$ sudo apt-get install qt4-dev-tools python-qt4-dev pyqt4-dev-tools`
`$ sudo apt-get install qt4-dev-tools python-qt4-dev python3-pyqt4 pyqt4-dev-tools`


NOTE: linuxsampler is not packaged in either Debian or Ubuntu, but it's available in KXStudio. <br/> NOTE: linuxsampler is not packaged in either Debian or Ubuntu, but it's available in KXStudio. <br/>
<br/> <br/>


+ 2
- 2
src/catarina.py View File

@@ -624,7 +624,7 @@ class CatarinaMainW(QMainWindow, ui_catarina.Ui_CatarinaMainW):


patchcanvas.setOptions(p_options) patchcanvas.setOptions(p_options)
patchcanvas.setFeatures(p_features) patchcanvas.setFeatures(p_features)
patchcanvas.init(self.scene, self.canvasCallback, DEBUG)
patchcanvas.init("Catarina", self.scene, self.canvasCallback, DEBUG)


self.connect(self.act_project_new, SIGNAL("triggered()"), SLOT("slot_projectNew()")) self.connect(self.act_project_new, SIGNAL("triggered()"), SLOT("slot_projectNew()"))
self.connect(self.act_project_open, SIGNAL("triggered()"), SLOT("slot_projectOpen()")) self.connect(self.act_project_open, SIGNAL("triggered()"), SLOT("slot_projectOpen()"))
@@ -1199,7 +1199,7 @@ class CatarinaMainW(QMainWindow, ui_catarina.Ui_CatarinaMainW):
p_options.eyecandy = self.m_savedSettings["Canvas/EyeCandy"] p_options.eyecandy = self.m_savedSettings["Canvas/EyeCandy"]


patchcanvas.setOptions(p_options) patchcanvas.setOptions(p_options)
patchcanvas.init(self.scene, self.canvasCallback, DEBUG)
patchcanvas.init("Catarina", self.scene, self.canvasCallback, DEBUG)


self.init_ports() self.init_ports()




+ 2
- 2
src/catia.py View File

@@ -137,7 +137,7 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW):


patchcanvas.setOptions(p_options) patchcanvas.setOptions(p_options)
patchcanvas.setFeatures(p_features) patchcanvas.setFeatures(p_features)
patchcanvas.init(self.scene, self.canvasCallback, DEBUG)
patchcanvas.init("Catia", self.scene, self.canvasCallback, DEBUG)


# Try to connect to jack # Try to connect to jack
self.jackStarted() self.jackStarted()
@@ -1222,7 +1222,7 @@ class CatiaMainW(QMainWindow, ui_catia.Ui_CatiaMainW):


patchcanvas.setOptions(p_options) patchcanvas.setOptions(p_options)
patchcanvas.setFeatures(p_features) patchcanvas.setFeatures(p_features)
patchcanvas.init(self.scene, self.canvasCallback, DEBUG)
patchcanvas.init("Catia", self.scene, self.canvasCallback, DEBUG)


self.init_ports() self.init_ports()




+ 3
- 3
src/claudia.py View File

@@ -22,8 +22,8 @@ from PyQt4.QtCore import QPointF, QSettings
from PyQt4.QtGui import QAction, QApplication, QMainWindow, QVBoxLayout, QTableWidgetItem, QTreeWidgetItem from PyQt4.QtGui import QAction, QApplication, QMainWindow, QVBoxLayout, QTableWidgetItem, QTreeWidgetItem


# Imports (Custom Stuff) # Imports (Custom Stuff)
import systray
import claudia_launcher import claudia_launcher
import systray
import ui_claudia import ui_claudia
import ui_claudia_studioname, ui_claudia_studiolist import ui_claudia_studioname, ui_claudia_studiolist
import ui_claudia_createroom, ui_claudia_projectname, ui_claudia_projectproperties import ui_claudia_createroom, ui_claudia_projectname, ui_claudia_projectproperties
@@ -695,7 +695,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):


patchcanvas.setOptions(p_options) patchcanvas.setOptions(p_options)
patchcanvas.setFeatures(p_features) patchcanvas.setFeatures(p_features)
patchcanvas.init(self.scene, self.canvasCallback, DEBUG)
patchcanvas.init("Claudia", self.scene, self.canvasCallback, DEBUG)


patchcanvas.setInitialPos(DEFAULT_CANVAS_WIDTH / 2, DEFAULT_CANVAS_HEIGHT / 2) patchcanvas.setInitialPos(DEFAULT_CANVAS_WIDTH / 2, DEFAULT_CANVAS_HEIGHT / 2)
patchcanvas.setCanvasSize(0, 0, DEFAULT_CANVAS_WIDTH, DEFAULT_CANVAS_HEIGHT) patchcanvas.setCanvasSize(0, 0, DEFAULT_CANVAS_WIDTH, DEFAULT_CANVAS_HEIGHT)
@@ -2395,7 +2395,7 @@ class ClaudiaMainW(QMainWindow, ui_claudia.Ui_ClaudiaMainW):


patchcanvas.setOptions(p_options) patchcanvas.setOptions(p_options)
patchcanvas.setFeatures(p_features) patchcanvas.setFeatures(p_features)
patchcanvas.init(self.scene, self.canvasCallback, DEBUG)
patchcanvas.init("Claudia", self.scene, self.canvasCallback, DEBUG)


if DBus.ladish_control.IsStudioLoaded() and DBus.ladish_studio and DBus.ladish_studio.IsStarted(): if DBus.ladish_control.IsStudioLoaded() and DBus.ladish_studio and DBus.ladish_studio.IsStarted():
self.init_ports() self.init_ports()


+ 3
- 3
src/claudia_launcher.py View File

@@ -57,7 +57,7 @@ class XIcon(object):
icon = QIcon(os.path.join(iEXTRA_PATH, name + ".xpm")) icon = QIcon(os.path.join(iEXTRA_PATH, name + ".xpm"))
break break
else: else:
print("XIcon::Failed to find icon for %s" % name)
print("XIcon::getIcon(%s) - Failed to find icon" % name)


return icon return icon


@@ -171,7 +171,7 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
if appname == AppName: if appname == AppName:
return Binary return Binary


print("Failed to find binary from App name")
print("ClaudiaLauncher::getBinaryFromAppName(%s) - Failed to find binary from App name" % appname)
return "" return ""


def startApp(self, app=None): def startApp(self, app=None):
@@ -261,7 +261,7 @@ class ClaudiaLauncher(QWidget, ui_claudia_launcher.Ui_ClaudiaLauncherW):
else: else:
app = None app = None
tmplte_cmd = binary tmplte_cmd = binary
print("Failed to find template dir")
print("ClaudiaLauncher::createAppTemplate() - Failed to find template dir")


if not os.path.exists(proj_folder): if not os.path.exists(proj_folder):
os.mkdir(proj_folder) os.mkdir(proj_folder)


+ 8
- 6
src/jacksettings.py View File

@@ -360,14 +360,16 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW):
# ------------------------------------------------------------- # -------------------------------------------------------------
# Driver calls # Driver calls


# resetIfNeeded: fix alsa parameter re-order bug in JACK 1.9.8 (reset/remove non-used values)

def saveDriverSettings(self, resetIfNeeded): def saveDriverSettings(self, resetIfNeeded):
if self.obj_driver_device.isEnabled(): if self.obj_driver_device.isEnabled():
value = dbus.String(self.obj_driver_device.currentText().split(" [")[0]) value = dbus.String(self.obj_driver_device.currentText().split(" [")[0])
if value != jackctl.GetParameterValue(["driver", "device"])[2]: if value != jackctl.GetParameterValue(["driver", "device"])[2]:
jackctl.SetParameterValue(["driver", "device"], value) jackctl.SetParameterValue(["driver", "device"], value)


#elif resetIfNeeded:
#jackctl.ResetParameterValue(["driver", "device"])
elif resetIfNeeded:
jackctl.ResetParameterValue(["driver", "device"])


if self.obj_driver_capture.isEnabled(): if self.obj_driver_capture.isEnabled():
if self.m_driver == "alsa": if self.m_driver == "alsa":
@@ -383,8 +385,8 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW):
if value != None: if value != None:
setDriverParameter("capture", value, True) setDriverParameter("capture", value, True)


#elif resetIfNeeded:
#jackctl.ResetParameterValue(["driver", "capture"])
elif resetIfNeeded:
jackctl.ResetParameterValue(["driver", "capture"])


if self.obj_driver_playback.isEnabled(): if self.obj_driver_playback.isEnabled():
if self.m_driver == "alsa": if self.m_driver == "alsa":
@@ -400,8 +402,8 @@ class JackSettingsW(QDialog, ui_settings_jack.Ui_JackSettingsW):
if value != None: if value != None:
setDriverParameter("playback", value, True) setDriverParameter("playback", value, True)


#elif resetIfNeeded:
#jackctl.ResetParameterValue(["driver", "playback"])
elif resetIfNeeded:
jackctl.ResetParameterValue(["driver", "playback"])


if self.obj_driver_rate.isEnabled(): if self.obj_driver_rate.isEnabled():
value = dbus.UInt32(int(self.obj_driver_rate.currentText())) value = dbus.UInt32(int(self.obj_driver_rate.currentText()))


+ 5
- 7
src/patchcanvas.py View File

@@ -16,7 +16,7 @@
# #
# For a full copy of the GNU General Public License see the COPYING file # For a full copy of the GNU General Public License see the COPYING file


# TODO - apply last changes to c++ (2 commits)
# TODO - apply last changes to c++ (2 commits + theme changes)


# Imports (Global) # Imports (Global)
from PyQt4.QtCore import pyqtSlot, qDebug, qCritical, qFatal, qWarning, Qt, QObject, SIGNAL, SLOT from PyQt4.QtCore import pyqtSlot, qDebug, qCritical, qFatal, qWarning, Qt, QObject, SIGNAL, SLOT
@@ -30,8 +30,6 @@ from PyQt4.QtSvg import QGraphicsSvgItem, QSvgRenderer
# Imports (Theme) # Imports (Theme)
from patchcanvas_theme import * from patchcanvas_theme import *


PATCHCANVAS_ORGANISATION_NAME = "PatchCanvas"

# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# patchcanvas-api.h # patchcanvas-api.h


@@ -296,7 +294,7 @@ def setFeatures(new_features):
features.port_rename = new_features.port_rename features.port_rename = new_features.port_rename
features.handle_group_pos = new_features.handle_group_pos features.handle_group_pos = new_features.handle_group_pos


def init(scene, callback, debug=False):
def init(appName, scene, callback, debug=False):
if debug: if debug:
qDebug("PatchCanvas::init(%s, %s, %s)" % (scene, callback, bool2str(debug))) qDebug("PatchCanvas::init(%s, %s, %s)" % (scene, callback, bool2str(debug)))


@@ -308,9 +306,9 @@ def init(scene, callback, debug=False):
qFatal("PatchCanvas::init() - fatal error: callback not set") qFatal("PatchCanvas::init() - fatal error: callback not set")
return return


canvas.scene = scene
canvas.scene = scene
canvas.callback = callback canvas.callback = callback
canvas.debug = debug
canvas.debug = debug


canvas.last_z_value = 0 canvas.last_z_value = 0
canvas.last_connection_id = 0 canvas.last_connection_id = 0
@@ -318,7 +316,7 @@ def init(scene, callback, debug=False):
canvas.size_rect = QRectF() canvas.size_rect = QRectF()


if not canvas.qobject: canvas.qobject = CanvasObject() if not canvas.qobject: canvas.qobject = CanvasObject()
if not canvas.settings: canvas.settings = QSettings(PATCHCANVAS_ORGANISATION_NAME, "PatchCanvas")
if not canvas.settings: canvas.settings = QSettings("Cadence", appName)


if canvas.theme: if canvas.theme:
del canvas.theme del canvas.theme


+ 3
- 2
src/shared_carla.py View File

@@ -74,6 +74,7 @@ BINARY_UNIX32 = 1
BINARY_UNIX64 = 2 BINARY_UNIX64 = 2
BINARY_WIN32 = 3 BINARY_WIN32 = 3
BINARY_WIN64 = 4 BINARY_WIN64 = 4
# TODO - use POSIX instead


# enum PluginType # enum PluginType
PLUGIN_NONE = 0 PLUGIN_NONE = 0
@@ -101,6 +102,7 @@ PARAMETER_UNKNOWN = 0
PARAMETER_INPUT = 1 PARAMETER_INPUT = 1
PARAMETER_OUTPUT = 2 PARAMETER_OUTPUT = 2
PARAMETER_LATENCY = 3 PARAMETER_LATENCY = 3
# TODO - add PARAMETER_SAMPLE_RATE


# enum InternalParametersIndex # enum InternalParametersIndex
PARAMETER_ACTIVE = -1 PARAMETER_ACTIVE = -1
@@ -409,8 +411,7 @@ class PluginParameter(QWidget, ui_carla_parameter.Ui_PluginParameter):
self.m_midiChannel = 1 self.m_midiChannel = 1
self.m_pluginId = pluginId self.m_pluginId = pluginId
self.m_parameterId = pInfo['index'] self.m_parameterId = pInfo['index']

self.m_tabIndex = tabIndex
self.m_tabIndex = tabIndex


self.add_MIDI_CCs_to_ComboBox() self.add_MIDI_CCs_to_ComboBox()




+ 1
- 1
src/shared_jack.py View File

@@ -225,7 +225,7 @@ def refreshTransport(self_):
tick = 0 tick = 0
self_.label_time.setText("%03i|%02i|%04i" % (bar, beat, tick)) self_.label_time.setText("%03i|%02i|%04i" % (bar, beat, tick))
else: else:
self_.label_time.setText("000|00|0000")
self_.label_time.setText("%03i|%02i|%04i" % (0, 0, 0))


elif self_.m_selected_transport_view == TRANSPORT_VIEW_FRAMES: elif self_.m_selected_transport_view == TRANSPORT_VIEW_FRAMES:
frame1 = pos.frame % 1000 frame1 = pos.frame % 1000


+ 2
- 2
src/ui/render.ui View File

@@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>585</width>
<height>332</height>
<width>513</width>
<height>336</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">


Loading…
Cancel
Save