README
1QjackCtl - JACK Audio Connection Kit Qt GUI Interface
2-----------------------------------------------------
3
4QjackCtl is a simple Qt application to control the JACK sound server
5(http://jackaudio.org), for the Linux Audio infrastructure.
6
7Written in C++ around the Qt framework for X11, most exclusively using
8Qt Designer.
9
10Provides a simple GUI dialog for setting several JACK server parameters,
11which are properly saved between sessions, and a way control of the
12status of the audio server. With time, this primordial interface has
13become richer by including a enhanced patchbay and connection control
14features.
15
16Homepage: https://qjackctl.sourceforge.io
17 http://qjackctl.sourceforge.net
18
19License: GNU General Public License (GPL)
20
21
22Requirements
23------------
24
25The software requirements for build and runtime are listed as follows:
26
27 Mandatory:
28
29 - Qt framework, C++ class library and tools for
30 cross-platform application and UI development
31 https://qt.io/
32
33 - JACK Audio Connection Kit
34 https://jackaudio.org/
35
36 Optional (opted-in at build time):
37
38 - ALSA, Advanced Linux Sound Architecture
39 https://www.alsa-project.org/
40
41
42Installation
43------------
44
45Unpack the tarball and in the extracted source directory:
46
47 cmake [-DCMAKE_INSTALL_PREFIX=/usr/local] -B build -S .
48 make -C build
49
50and optionally as root:
51
52 sudo make -C build install
53
54See also the README.cmake file in the source distribution.
55
56
57Configuration
58-------------
59
60QjackCtl holds its settings and configuration state per user, in a file
61located as $HOME/.config/rncbc.org/QjackCtl.conf . Normally, there's no
62need to edit this file, as it is recreated and rewritten everytime
63qjackctl is run.
64
65
66Bugs
67----
68
69Probably plenty still, QjackCtl maybe considered on beta stage already.
70It has been locally tested since JACK release 0.98.0, with custom 2.4
71kernels with low-latency, preemptible and capabilities enabling patches.
72As for 2.6 kernels, the emergence of Ingo Molnar's Realtime Preemption
73kernel patch it's being now recommended for your taking benefit of the
74realtime and low-latency audio pleasure JACK can give.
75
76
77Support
78-------
79
80QjackCtl is open source free software. For bug reports, feature
81requests, discussion forums, mailling lists, or any other matter
82related to the development of this piece of software, please use the
83Sourceforge project page (https://sourceforge.net/projects/qjackctl).
84
85You can also find timely and closer contact information on my personal
86web site (https://www.rncbc.org).
87
88
89Acknowledgments
90---------------
91
92QjackCtl's user interface layout (and the whole idea for that matter)
93was partially borrowed from origoinal Lawrie Abbott's jacko project,
94which was taken from wxWindow/Python into the Qt/C++ arena.
95
96Since 2003-08-06, qjackctl has been included in the awesome Planet CCRMA
97(http://ccrma-www.stanford.edu/planetccrma/software/) software collection.
98Thanks a lot Fernando!
99
100Here are some people who helped this project in one way or another,
101and in fair and strict alphabetic order:
102
103 Alexandre Prokoudine Kasper Souren
104 Andreas Persson Kjetil Matheussen
105 Arnout Engelen Ken Ellinwood
106 Austin Acton Lawrie Abbott
107 Ben Powers Lee Revell
108 Chris Cannam Lucas Brasilino
109 Dan Nigrin Marc-Olivier Barre
110 Dave Moore Mark Knecht
111 Dave Phillips Matthias Nagorni
112 Dirk Jagdmann Melanie
113 Dominic Sacre Nedko Arnaudov
114 Fernando Pablo Lopez-Lezcano Orm Finnendahl
115 Filipe Tomas Paul Davis
116 Florian Schmidt Robert Jonsson
117 Fons Adriaensen Robin Gareus
118 Geoff Beasley Roland Mas
119 Jack O'Quin Sampo Savolainen
120 Jacob Meuser Stephane Letz
121 Jesse Chappell Steve Harris
122 Joachim Deguara Taybin Rutkin
123 John Schneiderman Wilfried Huss
124 Jussi Laako Wolfgang Woehl
125 Karsten Wiese
126
127A special mention should go to the translators of QjackCtl (see TRANSLATORS).
128
129Thanks to you all.
130--
131rncbc aka Rui Nuno Capela
132rncbc at rncbc dot org
133https://www.rncbc.org
134
README.cmake
1What is CMake?
2==============
3
4CMake is a cross platform build system, that can be used to replace the old
5auto-tools, providing a nice building environment and advanced features.
6
7Some of these features are:
8* Out of sources build: CMake allows you to build your software into a directory
9 different to the source tree. You can safely delete the build directory and
10 all its contents once you are done.
11* Multiple generators: classic makefiles can be generated for Unix and MinGW,
12 but also Visual Studio, XCode and Eclipse CDT projects among other types.
13* Graphic front-ends for configuration and build options.
14
15More information and documentation is available at the CMake project site:
16 http://www.cmake.org
17
18CMake is free software. You can get the sources and pre-compiled packages for
19Linux and other systems at:
20 http://www.cmake.org/cmake/resources/software.html
21
22How to use it?
23==============
24
251. You need CMake 3.13 or newer to build QjackCtl
26
272. Unpack the QjackCtl sources somewhere, or checkout the repository,
28 and create a build directory. For instance, using a command line shell:
29
30$ tar -xvzf Downloads/qjackctl-x.y.z.tar.gz
31$ cd qjackctl-x.y.z
32$ mkdir build
33
342. Execute CMake from the build directory, providing the source directory
35 location and optionally, the build options. There are several ways.
36
37* From a command line shell:
38
39$ pwd
40qjackctl-x.y.z
41$ cd build
42$ cmake -DCMAKE_BUILD_TYPE=debug ..
43
443. Execute the build command. If you used the Makefiles generator (the default
45 in Linux and other Unix systems) then execute make, gmake, or mingw32-make.
46 If you generated a project file, use your IDE to build it.
47
48Compiling with make
49===================
50
51There are many targets available. To see a complete list of them, type:
52
53$ make help
54
55The build process usually hides the compiler command lines, to show them:
56
57$ make VERBOSE=1
58
59There is a "clean" target, but not a "distclean" one. You should use a build
60directory different to the source tree. In this case, the "distclean" target
61would be equivalent to simply removing the build directory.
62
63If something fails
64==================
65
66If there is an error message while executing CMake, this probably means that a
67required package is missing in your system. You should install the missing
68component and run CMake again.
69
70If there is an error executing the build process, after running a flawless CMake
71configuration process, this means that there may be an error in the source code,
72or in the build system, or something incompatible in 3rd party libraries.
73