JACK Audio Connection Kit - Qt GUI Interface
[Intro]
[Screenshots]
[Requirements]
[Downloads]
[CVS]
[Installation]
[Configuration]
[Bugs]
[Support]
[Acknowledgements]
What's QjackCtl ?
QjackCtl is a simple Qt
application to control the JACK sound
server daemon, specific for the Linux Audio Desktop infrastructure.
Written in C++ around the Qt4 toolkit for X11, most exclusively using
Qt Designer.
Provides a simple GUI dialog for setting several JACK daemon parameters,
which are properly saved between sessions, and a way control of the status
of the audio server daemon. With time, this primordial interface has become
richer by including a enhanced patchbay and connection control features.
License: GNU General Public License (GPL)
Sourceforge project page: http://sourceforge.net/projects/qjackctl
Screenshots

Click on image to see more screenshots...
Requirements
The software requirements for build and runtime are listed as follows:
Mandatory:
Optional (opted-in at build time):
Downloads
Latest release
2007-12-20 Patchbay heads-up with season greetings.
qjackctl-0.3.2.tar.gz
- Patchbay port matching has been slightly extended, this time
allowing for the multiple or as many-to-many connections between
socket plugs, provided these are specified in proper regex form
(after a patch proposed by Dave Moore, thanks).
- A new option to start the program minimized when the system tray
icon is enabled, is now available from Setup/Misc/Start minimized
to system tray (as kindly suggested by Marc-Olivier Barre).
- Regression from QSystemTrayIcon (Qt4 >= 4.2) implementation, at
least on X11 environments: while the main application widget was
minimized to the system-tray, closing any other top-level widget
was causing the immediate and unexpected application shutdown.
- Some portaudio backend settings are now being enabled, specially
suited for the jackdmp flavouring.
- Server mode display blinking, usually shown as the RT indicator,
is now an option (Setup/Display/Blink server mode indicator when
started).
- Tool/child windows position and size preservation fixed.
- The connections/patchbay auto-refresh option has been finally
removed due to several user requests, although deprecated for
quite some time now it has been the probable cause of some
periodic xrun occurrences due to graph-locking in jackd (while
making Geoff Beasley angry in the process:).
- Messages line limit was not being checked, now honored.
- Simple as it could ever be, the build executive summary report
is now given on configure.
- Patchbay snapshot got its socket and port ordering back.
- ALSA Sequencer support is now an optional feature on setup,
preventing the annoying "MIDI patchbay will be not available"
warning message, ruining window placement on Linux systems
where the snd-midi-seq kernel module is not loaded or not
favorable (eg. OSS) at startup (by request from Jussi Laako).
- Get configure to try and detect the correct qmake location and
insert it the search order, so let the qt4 tools take precedence
when --with-qt option is given and older qt3 ones coexist and
are found located ahead in the PATH.
- The connections widget is now being properly refreshed, due to
some quirk in the QTreeWidget which was preventing some items,
specially the expanded ones, to disappear in the void. Meanwhile,
with a hand from Stephane Letz, the client/port lookup method was
changed to prevent duplicated, missing entries or worse, crashes
due to weird behaved windows applications.
- The xrun count stats can now be reset simply by middle clicking
on the systray icon or the main window's display area (thanks to
patch sent by Dominic Sacré).
- An improved version of the "shiny" background image was issued.
The original somehow looked like two different images put together,
probably most apparent on a bright TFT screen (by Dominic Sacré).
- A warning is now being issued, asking whether one wants to remove
a corresponding Patchbay connection, when client/ports are being
disconnected over the Connections window, thus avoiding automatic
reconnection annoyance due to normal active Patchbay behavior.
- The infamous "Keep child windows always on top" global option is
now supposed to behave a little better when disabled, layering
child windows as naturally as far the window manager dictates.
- Input/Output Channel setting is now allowed to be greater than 32;
the special default text is now displayed, also on Input/Output
Latency and Priority settings spin-boxes.
- Andreas Persson just sent a patch that makes it possible to compile
and run qjackctl with Qt version 4.1. Applied without hesitation,
thanks.
Previous and older releases, including the change log,
are also available here. You may also check out from
the latest bleeding edge development source tree, using CVS.
Installation
The installation procedure follows the standard for source distributions.
In the extracted source directory, just do:
./configure [--prefix=prefix]
make
and optionally as root:
make install
This procedure will end installing the following couple of files:
- prefix
/bin/qjackctl
- prefix
/share/pixmaps/qjackctl.png
- prefix
/share/applications/qjackctl.desktop
Just launch prefix/bin/qjackctl and you're off (hopefully).
Note that the default installation path prefix is /usr/local .
Configuration
Qjackctl holds its settings and configuration state per user, in a file
located as $HOME/.config/rncbc.org/QjackCtl.conf. Normally,
there's no need to edit this file, as it is recreated and rewritten everytime
qjackctl is run.
Bugs
Probably plenty still, but qjackctl it's now considered on beta stage already.
It has been locally tested since JACK release 0.98.0, on SuSE 9.1, Mandrake 10.0
and Fedora Core 1, with custom 2.4 kernels with low-latency, preemptible and
capabilities enabling patches. As for 2.6 kernels, the capabilities patch may
also apply but the emergence of the Realtime Linux Security Module (LSM) and
Ingo Molnar's Realtime Preemption kernel patch it's being now recommended for your
taking benefit of the realtime and low-latency audio pleasure JACK can give.
Support
Qjackctl is open source free software. For bug reports, feature
requests, discussion forums, mailling lists, or any other matter related
to the development of this piece of software, please use the
Sourceforge project page.
You can also find timely and closer contact information on my
personal web site.
Acknowledgements
Qjackctl's user interface primordial layout (and the whole idea for that matter)
was partially borrowed from Lawrie Abbott's jacko
project, which was just taken from wxWindow/Python into the Qt/C++ arena.
Since 2003-08-06, qjackctl has been included in the awesome
Planet CCRMA
software collection. Thanks a lot Fernando!
This project has also a freshmeat.net entry.
Dated from 2004-06-08, an online article written by no one else but
Dave Phillips, has been published
on Linux Journal, introducing
you to Qjackctl and also QSynth.
Please have a read:
It's not on every regular day that you get to see one piece of the trade
pointing two of your creations right in the title, is it?
Thanks Dave! You rule!
Here are some people who helped this project in one way or another,
and in fair and strict alphabetic order:
- Alexandre Prokoudine
- Austin Acton
- Andreas Persson
- Ben Powers
- Chris Cannam
- Dan Nigrin
- Dave Moore
- Dave Phillips
- Dirk Jagdmann
- Dominic Sacré
- Fernando Pablo Lopez-Lezcano
- Filipe Tomás
|
- Florian Schmidt
- Geoff Beasley
- Jack O'Quin
- Jesse Chappell
- Joachim Deguara
- Jussi Laako
- Karsten Wiese
- Kasper Souren
- Ken Ellinwood
- Kjetil Matheussen
- Lawrie Abbott
- Marc-Olivier Barre
|
- Matthias Nagorni
- Mark Knecht
- Melanie
- Orm Finnendahl
- Paul Davis
- Robert Jonsson
- Sampo Savolainen
- Stéphane Letz
- Steve Harris
- Taybin Rutkin
- Wilfried Huss
- Wolfgang Woehl
|
Thanks to you all.
rncbc aka Rui Nuno Capela
rncbc at rncbc dot org