@@ -29,7 +29,7 @@ Optional but recommended: | |||||
- FluidSynth | - FluidSynth | ||||
- LinuxSampler | - LinuxSampler | ||||
On Debian and Ubuntu, use this command 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 pyqt4-dev-tools` | ||||
@@ -47,10 +47,10 @@ Optional but recommended: | |||||
- jack-capture | - jack-capture | ||||
- python3-rdflib | - python3-rdflib | ||||
The 'Cadence' and 'Catia' apps rely on a jackdbus version to work properly (either JACK2 or JACK1 + DBus patch). <br/> | |||||
The 'Cadence' and 'Catia' apps rely on jackdbus to work properly (either JACK2 or JACK1 + DBus patch). <br/> | |||||
Claudia is a LADISH frontend, so it will obviously require LADISH to run. | Claudia is a LADISH frontend, so it will obviously require LADISH to run. | ||||
The python version used is python3. <br/> | |||||
The python version used is always python3.2. <br/> | |||||
After install, the app/tools will still work on distros with python2 as default, without any additional work. | After install, the app/tools will still work on distros with python2 as default, without any additional work. | ||||
<br/> | <br/> | ||||
@@ -61,7 +61,7 @@ All tools require Python3 and Qt4, some of them work on Windows and Mac. <br/> | |||||
Here's the required run-time dependencies of each of the main tools: | Here's the required run-time dependencies of each of the main tools: | ||||
### Cadence | ### Cadence | ||||
Recommends a2jmidid and jackdbus <br/> | |||||
Recommends a2jmidid (>= 8) and jackdbus <br/> | |||||
Suggests pulseaudio <br/> | Suggests pulseaudio <br/> | ||||
<br/> | <br/> | ||||
@@ -70,7 +70,7 @@ No special requirements <br/> | |||||
<br/> | <br/> | ||||
### Catia | ### Catia | ||||
Recommends a2jmidid and jackdbus <br/> | |||||
Recommends a2jmidid (>= 8) and jackdbus <br/> | |||||
<br/> | <br/> | ||||
### Claudia [Linux only] <br/> | ### Claudia [Linux only] <br/> | ||||
@@ -80,17 +80,9 @@ Recommends a2jmidid <br/> | |||||
### Carla | ### Carla | ||||
Requires liblo and Gtk2 <br/> | Requires liblo and Gtk2 <br/> | ||||
Recommends python3-rdflib (for LADSPA RDF support) <br/> | |||||
Recommends python3-rdflib (for LADSPA-RDF support) <br/> | |||||
<br/> | <br/> | ||||
### Carla-Control | ### Carla-Control | ||||
Requires python3-liblo <br/> | Requires python3-liblo <br/> | ||||
<br/> | <br/> | ||||
### JACK-Meter | |||||
No special requirements <br/> | |||||
<br/> | |||||
### XY-Controller | |||||
No special requirements <br/> | |||||
<br/> |
@@ -302,7 +302,7 @@ install: | |||||
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 | ||||
install -m 644 data/pulse2jack-data/* $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/ | |||||
install -m 644 data/pulse2jack/* $(DESTDIR)$(PREFIX)/share/cadence/pulse2jack/ | |||||
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/ | ||||
@@ -4,13 +4,6 @@ Cadence is a set of tools useful for audio production. <br/> | |||||
It's being developed by falkTX, using Python and Qt (and some C++ where needed). | It's being developed by falkTX, using Python and Qt (and some C++ where needed). | ||||
The tools share the same base source code, so most of them look quite similar (which is intentional). | The tools share the same base source code, so most of them look quite similar (which is intentional). | ||||
The basic modules are: | |||||
- cadence_logs -> Show JACK, A2J, LASH and LADISH logs (just like the 'ladilog' app). | |||||
- cadence_render -> Record (or 'render') a JACK project using jack-capture, controlled by JACK Transport; supports realtime and freewheel modes. | |||||
- cadence_jacksettings -> Configure JACK (requires jackdbus, either JACK2 or JACK1 + DBus patch). | |||||
Also, lots of custom widgets were coded when needed (like pixmapdial, pixmapkeyboard, patchcanvas and systray). <br/> | Also, lots of custom widgets were coded when needed (like pixmapdial, pixmapkeyboard, patchcanvas and systray). <br/> | ||||
They can be re-used in other projects. Contact the author if you need help on that. | They can be re-used in other projects. Contact the author if you need help on that. | ||||
@@ -25,6 +18,26 @@ Here's a brief description of the main tools: | |||||
The main app. It performs system checks, manages JACK, calls other tools and make system tweaks. <br/> | The main app. It performs system checks, manages JACK, calls other tools and make system tweaks. <br/> | ||||
Currently under development, may change at anytime. | Currently under development, may change at anytime. | ||||
### [Cadence-JackMeter](http://kxstudio.sourceforge.net/KXStudio:Applications:Cadence-JackMeter) | |||||
Digital peak meter for JACK. <br/> | |||||
It automatically connects itself to all application JACK output ports that are also connected to the system output. | |||||
### [Cadence-JackSettings](http://kxstudio.sourceforge.net/KXStudio:Applications:Cadence-JackSettings) | |||||
Simple and easy-to-use configure dialog for jackdbus. <br/> | |||||
It can configure JACK's driver and engine parameters, and it also supports LADISH studios. | |||||
### [Cadence-Logs](http://kxstudio.sourceforge.net/KXStudio:Applications:Cadence-Logs) | |||||
Small tool that shows JACK, A2J, LASH and LADISH logs in a multi-tab window. <br/> | |||||
The logs are viewed in a text box, making it easy to browse and extract status messages using copy and paste commands. | |||||
### [Cadence-Render](http://kxstudio.sourceforge.net/KXStudio:Applications:Cadence-Render) | |||||
Tool to record (or 'render') a JACK project using jack-capture, controlled by JACK Transport. <br/> | |||||
It supports a vast number of file types and can render in both realtime and freewheel modes. | |||||
### [Cadence-XY Controller](http://kxstudio.sourceforge.net/KXStudio:Applications:Cadence-XYController) | |||||
simple XY widget that sends and receives data from Jack MIDI. <br/> | |||||
It can send data through specific channels and has a MIDI Keyboard too. | |||||
### [Catarina](http://kxstudio.sourceforge.net/KXStudio:Applications:Catarina) | ### [Catarina](http://kxstudio.sourceforge.net/KXStudio:Applications:Catarina) | ||||
A Patchbay test app, created while the patchcanvas module was being developed. <br/> | A Patchbay test app, created while the patchcanvas module was being developed. <br/> | ||||
It allows the user to experiment with the patchbay, without using ALSA, JACK or LADISH. <br/> | It allows the user to experiment with the patchbay, without using ALSA, JACK or LADISH. <br/> | ||||
@@ -40,7 +53,7 @@ LADISH frontend; just like Catia, but focused at session management through LADI | |||||
It has a bit more features than the official LADISH GUI, with a pretty preview of the main canvas in the bottom-left. <br/> | It has a bit more features than the official LADISH GUI, with a pretty preview of the main canvas in the bottom-left. <br/> | ||||
It also implements the 'Claudia-Launcher' add-application style. | It also implements the 'Claudia-Launcher' add-application style. | ||||
### [Claudia-Launcher](#) | |||||
### [Claudia-Launcher](http://kxstudio.sourceforge.net/KXStudio:Applications:Claudia-Launcher) | |||||
A multimedia application launcher with LADISH support. <br/> | A multimedia application launcher with LADISH support. <br/> | ||||
It searches for installed packages (not binaries), and displays the respective content as a launcher. <br/> | It searches for installed packages (not binaries), and displays the respective content as a launcher. <br/> | ||||
The content is got through an hardcoded database, created and/or modified to suit the target distribution. <br/> | The content is got through an hardcoded database, created and/or modified to suit the target distribution. <br/> | ||||
@@ -52,19 +65,9 @@ It has some nice features like automation of parameters via MIDI CCs (and send c | |||||
Currently supports LADSPA (including LRDF), DSSI, LV2, and VST plugin formats, with additional GIG, SF2 and SFZ file support via FluidSynth and LinuxSampler. <br/> | Currently supports LADSPA (including LRDF), DSSI, LV2, and VST plugin formats, with additional GIG, SF2 and SFZ file support via FluidSynth and LinuxSampler. <br/> | ||||
This application is still under development and may change/break at anytime. | This application is still under development and may change/break at anytime. | ||||
### [Carla-Control](#) | |||||
### [Carla-Control](http://kxstudio.sourceforge.net/KXStudio:Applications:Carla-Control) | |||||
An OSC Control GUI for Carla (you get the OSC address from the Carla's about dialog, and connect to it).<br/> | An OSC Control GUI for Carla (you get the OSC address from the Carla's about dialog, and connect to it).<br/> | ||||
Supports controlling main UI components (Dry/Wet, Vol and Balance), and all plugins parameters. <br/> | Supports controlling main UI components (Dry/Wet, Vol and Balance), and all plugins parameters. <br/> | ||||
Peak values and control outputs are displayed as well. <br/> | Peak values and control outputs are displayed as well. <br/> | ||||
Custom Plugin GUIs are not supported at this point. <br/> | Custom Plugin GUIs are not supported at this point. <br/> | ||||
NOTE: This application is not yet ported to this python3 branch | NOTE: This application is not yet ported to this python3 branch | ||||
### [JACK-Meter](#) | |||||
Simple JACK audio peak meter. <br/> | |||||
In the future it will be available in a plugin version, based on the DISTRHO project. | |||||
### [XY-Controller](#) | |||||
Simple XY widget that sends and receives data from Jack MIDI. <br/> | |||||
It can send data through specific channels and has a MIDI Keyboard too. <br/> | |||||
This is more of a concept of my jacklib python module usage then anything else, may not work properly under very low JACK buffer sizes. <br/> | |||||
In the future it will be available in a plugin version, based on the DISTRHO project. |
@@ -2,7 +2,7 @@ | |||||
# Check if already running | # Check if already running | ||||
PROCS=`ps -ea -f | grep /share/cadence/src/cadence.py | grep python3` | |||||
PROCS=`ps -ea -f | grep /share/cadence/src/cadence.py | grep python` | |||||
if [ x"$PROCS" != x"" ]; then | if [ x"$PROCS" != x"" ]; then | ||||
@@ -25,10 +25,8 @@ if [ x"$PROCS" != x"" ]; then | |||||
exit | exit | ||||
fi | fi | ||||
fi | fi | ||||
if [ -f /usr/bin/python3 ]; then | if [ -f /usr/bin/python3 ]; then | ||||
PYTHON=/usr/bin/python3 | PYTHON=/usr/bin/python3 | ||||
else | else | ||||
@@ -7,7 +7,7 @@ Icon=cadence | |||||
Terminal=false | Terminal=false | ||||
Type=Application | Type=Application | ||||
Categories=AudioVideo;AudioEditing;Qt; | Categories=AudioVideo;AudioEditing;Qt; | ||||
X-Ayatana-Desktop-Shortcuts=Catia;Claudia;Carla;JackMeter;JackSettings;Logs;Render;XYController; | |||||
X-Ayatana-Desktop-Shortcuts=Catia;Claudia;ClaudiaLauncher;Carla;CarlaControl;JackMeter;JackSettings;Logs;Render;XYController; | |||||
[Catia Shortcut Group] | [Catia Shortcut Group] | ||||
Name=Catia | Name=Catia | ||||
@@ -19,11 +19,21 @@ Name=Claudia | |||||
Exec=claudia | Exec=claudia | ||||
TargetEnvironment=Unity | TargetEnvironment=Unity | ||||
[ClaudiaLauncher Shortcut Group] | |||||
Name=Claudia Launcher | |||||
Exec=claudia-launcher | |||||
TargetEnvironment=Unity | |||||
[Carla Shortcut Group] | [Carla Shortcut Group] | ||||
Name=Carla | Name=Carla | ||||
Exec=carla | Exec=carla | ||||
TargetEnvironment=Unity | TargetEnvironment=Unity | ||||
[CarlaControl Shortcut Group] | |||||
Name=Carla Control | |||||
Exec=carla-control | |||||
TargetEnvironment=Unity | |||||
[JackMeter Shortcut Group] | [JackMeter Shortcut Group] | ||||
Name=JACK Meter | Name=JACK Meter | ||||
Exec=cadence_jackmeter | Exec=cadence_jackmeter | ||||
@@ -2,7 +2,7 @@ | |||||
# Check if already running | # Check if already running | ||||
PROCS=`ps -ea -f | grep /share/cadence/src/catia.py | grep python3` | |||||
PROCS=`ps -ea -f | grep /share/cadence/src/catia.py | grep python` | |||||
if [ x"$PROCS" != x"" ]; then | if [ x"$PROCS" != x"" ]; then | ||||
@@ -25,10 +25,8 @@ if [ x"$PROCS" != x"" ]; then | |||||
exit | exit | ||||
fi | fi | ||||
fi | fi | ||||
if [ -f /usr/bin/python3 ]; then | if [ -f /usr/bin/python3 ]; then | ||||
PYTHON=/usr/bin/python3 | PYTHON=/usr/bin/python3 | ||||
else | else | ||||
@@ -2,7 +2,7 @@ | |||||
# Check if already running | # Check if already running | ||||
PROCS=`ps -ea -f | grep /share/cadence/src/claudia.py | grep python3` | |||||
PROCS=`ps -ea -f | grep /share/cadence/src/claudia.py | grep python` | |||||
if [ x"$PROCS" != x"" ]; then | if [ x"$PROCS" != x"" ]; then | ||||
@@ -25,10 +25,8 @@ if [ x"$PROCS" != x"" ]; then | |||||
exit | exit | ||||
fi | fi | ||||
fi | fi | ||||
if [ -f /usr/bin/python3 ]; then | if [ -f /usr/bin/python3 ]; then | ||||
PYTHON=/usr/bin/python3 | PYTHON=/usr/bin/python3 | ||||
else | else | ||||
@@ -2,7 +2,7 @@ | |||||
# Check if already running | # Check if already running | ||||
PROCS=`ps -ea -f | grep /share/cadence/src/claudia-launcher.py | grep python3` | |||||
PROCS=`ps -ea -f | grep /share/cadence/src/claudia-launcher.py | grep python` | |||||
if [ x"$PROCS" != x"" ]; then | if [ x"$PROCS" != x"" ]; then | ||||
@@ -25,10 +25,8 @@ if [ x"$PROCS" != x"" ]; then | |||||
exit | exit | ||||
fi | fi | ||||
fi | fi | ||||
if [ -f /usr/bin/python3 ]; then | if [ -f /usr/bin/python3 ]; then | ||||
PYTHON=/usr/bin/python3 | PYTHON=/usr/bin/python3 | ||||
else | else | ||||
@@ -3,7 +3,6 @@ Name=claudia-hicolor | |||||
Comment=Claudia fallback icon theme | Comment=Claudia fallback icon theme | ||||
Directories=16x16/apps,48x48/apps | Directories=16x16/apps,48x48/apps | ||||
[16x16/apps] | [16x16/apps] | ||||
Size=16 | Size=16 | ||||
Context=Applications | Context=Applications | ||||
@@ -44,4 +44,3 @@ load-module module-always-sink | |||||
### Make Jack default | ### Make Jack default | ||||
set-default-sink jack_out | set-default-sink jack_out | ||||
set-default-source jack_in | set-default-source jack_in | ||||
@@ -29,7 +29,7 @@ load-module module-card-restore | |||||
### Load Jack modules | ### Load Jack modules | ||||
load-module module-jack-sink | load-module module-jack-sink | ||||
#load-module module-jack-source | |||||
# load-module module-jack-source | |||||
### Load unix protocol | ### Load unix protocol | ||||
load-module module-native-protocol-unix | load-module module-native-protocol-unix | ||||
@@ -43,5 +43,4 @@ load-module module-always-sink | |||||
### Make Jack default | ### Make Jack default | ||||
set-default-sink jack_out | set-default-sink jack_out | ||||
#set-default-source jack_in | |||||
# set-default-source jack_in |
@@ -86,7 +86,7 @@ PATH_env = os.getenv("PATH") | |||||
if PATH_env is None: | if PATH_env is None: | ||||
qWarning("PATH variable not set") | qWarning("PATH variable not set") | ||||
if LINUX: | if LINUX: | ||||
PATH = ("/usr/local/bin", "/usr/bin", "/bin", "/usr/games") | |||||
PATH = ("/usr/local/bin", "/usr/bin", "/bin") | |||||
elif MACOS: | elif MACOS: | ||||
PATH = ("/opt/local/bin", "/usr/local/bin", "/usr/bin", "/bin") | PATH = ("/opt/local/bin", "/usr/local/bin", "/usr/bin", "/bin") | ||||
elif WINDOWS: | elif WINDOWS: | ||||
@@ -57,8 +57,7 @@ def canvas_print(self_): | |||||
self_.scene.render(painter) | self_.scene.render(painter) | ||||
def canvas_save_image(self_): | def canvas_save_image(self_): | ||||
newPath = QFileDialog.getSaveFileName(self_, self_.tr("Save Image"), | |||||
filter=self_.tr("PNG Image (*.png);;JPEG Image (*.jpg)")) | |||||
newPath = QFileDialog.getSaveFileName(self_, self_.tr("Save Image"), filter=self_.tr("PNG Image (*.png);;JPEG Image (*.jpg)")) | |||||
if newPath: | if newPath: | ||||
self_.scene.clearSelection() | self_.scene.clearSelection() | ||||
@@ -70,7 +69,7 @@ def canvas_save_image(self_): | |||||
else: | else: | ||||
# File-dialog may not auto-add the extension | # File-dialog may not auto-add the extension | ||||
img_format = "PNG" | img_format = "PNG" | ||||
newPath += ".png" | |||||
newPath += ".png" | |||||
self_.m_export_image = QImage(self_.scene.sceneRect().width(), self_.scene.sceneRect().height(), QImage.Format_RGB32) | self_.m_export_image = QImage(self_.scene.sceneRect().width(), self_.scene.sceneRect().height(), QImage.Format_RGB32) | ||||
painter = QPainter(self_.m_export_image) | painter = QPainter(self_.m_export_image) | ||||