]> Shamusworld >> Repos - ardour-manual/commitdiff
Edit pages to reflect jackd not being essential
authorLen Ovens <len@ovenwerks.net>
Sun, 4 Aug 2019 06:36:55 +0000 (23:36 -0700)
committerLen Ovens <len@ovenwerks.net>
Sun, 4 Aug 2019 06:36:55 +0000 (23:36 -0700)
13 files changed:
include/aux-sends.html
include/configuring-midi.html
include/edit-midi.html
include/generic-midi-learn.html
include/inserts.html
include/latency-and-latency-compensation.html
include/midi-on-linux.html
include/monitor-signal-flow.html
include/newopen-session-dialog.html
include/on-clock-and-time.html
include/patchbay.html
include/preferences.html
include/ubuntu-linux.html

index a7794ab94ed92ed236f66d886c24f82ac2f496f3..e20919b300ff26625408ed565bd405ecb4de70d4 100644 (file)
@@ -17,8 +17,9 @@
   wedge mixes), or returned to the main mix (in the case of an effect).
 </p>
 <p>
-  Aux sends are not JACK ports, <a href="@@external-sends">
-  External Sends</a> should be used to send audio to Jack ports. External Sends can
+  Aux sends do not show up outside of Ardour either on the audio device
+  or as JACK ports, <a href="@@external-sends">External Sends</a> should
+  be used to send audio to the audio device or Jack ports. External Sends can
   send the tapped signal somewhere else directly, which is not usually
   possible on hardware mixers.
 </p>
index d05d3695e3d9d4834f36cfd2068199e0d4501448..217eee9a3e03ae1c91bb139468c7d85a44775d1e 100644 (file)
@@ -14,8 +14,9 @@
 <h2>MIDI Handling Frameworks</h2>
 
 <p>
-  MIDI input and output for Ardour are handled by the same "engine" that
-  handles audio input and output.
+  MIDI input and output for Ardour are handled internally by the same "engine" that
+  handles audio input and output. However, Ardour can use as many MIDI devices
+  as the system can see as there are no syncing difficulties as there would be with audio.
 </p>
 
 <table class="dl">
   On Linux systems, <dfn>QJackCtl</dfn> control software displays ALSA MIDI
   ports under its "ALSA" tab (it does not currently display CoreMIDI ports).
   By contrast, JACK MIDI ports show up under the <kbd class="menu">MIDI</kbd>
-  tab in QJackCtl.
+  tab in QJackCtl. However, when Ardour is using jackd for audio in and out
+  the alsa MIDI ports are not accessable. When Ardour is using ALSA for audio
+  in and out then only alsa MIDI ports are accessable.
 </p>
 
 <h2>JACK MIDI Configuration</h2>
 
 <p>
-  By default, JACK will <strong>not</strong> automatically detect and use existing MIDI ports. One of several ways of <dfn>bridging</dfn> between the native MIDI frameworks (e.g. CoreMIDI or ALSA) and JACK MIDI must be chosen, as described in the following sections.
+  By default, JACK will <strong>not</strong> automatically detect and use
+  existing MIDI ports. One of several ways of <dfn>bridging</dfn> between
+  the native MIDI frameworks (e.g. CoreMIDI or ALSA) and JACK MIDI must be
+  chosen, as described in the following sections.
 </p>
 
index 24c48cb9d99cfed35e6fceab4c77c3f54b10436a..cccfb9545bb455a4300baf83df432affbb796259 100644 (file)
     Region(s), though, can be copy-pasted just as with audio.
   </li>
   <li>
-    All MIDI I/O is done via JACK for sample accurate timing and maximal
-    efficiency when communicating with external software synthesizers.
+       When using jackd as the audio server for Ardour, all MIDI I/O is done
+       via JACK for sample accurate timing and maximal efficiency when communicating
+       with external software synthesizers. Otherwise, Ardour connects to midi
+       via the existing OS MIDI system.
   </li>
   <li>
-    Every MIDI track has its own JACK MIDI port for input; it may have an
+    Every MIDI track has its own MIDI port for input; it may have an
     arbitrary combination of audio and MIDI outputs, depending on the signal
-    processing in the track; the full flexibility of JACK connectivity is
-    present for MIDI just as it is for audio.
+    processing in the track.
   </li>
   <li>
     Full automation for MIDI tracks, integrated with the handling of all MIDI
index a1e8f8071f319599470260ecd64cfc7eb7f6260a..e03047ee17451364df87156718812d3e354ef17c 100644 (file)
@@ -6,7 +6,9 @@ controlling Ardour. There may be very legitimate reasons for different
 users to prefer quite different mappings.
 </p>
 <p>
-On every platform that Ardour runs on, there are excellent
+<kbd class="menu">Window &gt; MIDI Connections</kbd> opens the
+MIDI Connection Manager to help routing MIDI in and out.
+Along with that, on every platform that Ardour runs on, there are excellent
 free-of-charge tools for making connections between MIDI hardware and
 "virtual" MIDI ports like the ones that Ardour creates and
 uses. Rather than waste precious developer time replicating these
index 76622a832e07b856e7aa6aeb7793bc4eb8231891..b6ea61419f2234e71c86bf3dbb4ff7e0a0a8c9b2 100644 (file)
@@ -4,10 +4,15 @@
   inside a channel strip. Unlike Auxes, they will interrupt the signal flow,
   feeding the signal from before the insert point to its <dfn>Insert
   send(s)</dfn>, and connecting the remainder of the channel strip to the
-  <dfn>Insert return(s)</dfn>, both of which are JACK ports which are
-  visible to other JACK applications.<br>
-  Inserts are the JACK equivalents of normalized switching jacks on an
-  analog console.
+  <dfn>Insert return(s)</dfn>, both of which are either audio device or JACK ports.
+  While jack ports are visible to other JACK applications, ALAS ports are only
+  useful for patching in audio equipment external to the computer. If inserting
+  a software processor is required, a plugin would be the first choice. If a plugin
+  is not available then the jackd audio backend would have to be used. This is
+  not very common any more but there are some older jack clients that require
+  using jack.<br>
+  Inserts work the same as the inserts on analog consoles except they are not
+  normalled like most jacks on an analog console.
 </p>
 <p>
   An insert allows to either use a special external DSP JACK
@@ -25,6 +30,6 @@
   connections to the insert ports are made!
 </p>
 <p class="note">
-  Inserts will incur an additional JACK period of latency, which can be
+  Inserts will incur an additional period of latency, which can be
   measured and compensated for during mixing, but not during tracking!
 </p>
index e323059956ef2b04e0f51f33086bcae1449e058c..f14fc0e917bcc2b59562018251549a8dc00a10d5 100644 (file)
 </p>
 
 <h2>The Latency chain</h2>
+
+<p class="note">
+  Note! the rest of this document assumes the use of jackd for the audio
+  backend. While many of the concepts are true, the specifics may be different.
+</p>
 <figure>
   <img src="/images/latency-chain.png" alt="Latency chain">
   <figcaption>
@@ -66,7 +71,7 @@
   processed and played back.
 </p>
 <p class="note">
-  It is important to note that processing latency in a jackd is a matter of
+  It is important to note that processing latency in Ardour is a matter of
   choice. It can be lowered within the limits imposed by the hardware (audio
   device, CPU and bus speed) and audio driver. Lower latencies increase the
   load on the system because it needs to process the audio in smaller chunks
   The second approach is prone to various implementation
   issues regarding timecode and transport synchronization. Ardour uses read-ahead
   to compensate for latency. The time displayed in the Ardour clock corresponds
-  to the audio signal that is heared on the speakers (and is not where Ardour
+  to the audio signal that is heard on the speakers (and is not where Ardour
   reads files from disk).
 </p>
 <p>
index bcd770758d36bdab5d874f2b58ca96a142119a4b..fd1d64d55edd159386df228afe098acf25618d42 100644 (file)
@@ -1,4 +1,12 @@
 
+<p>
+  It is no longer nessessary to use jackd as a backend for Ardour in Linux.
+  In fact with the spread of LV2 plugins, almost all workflows in Ardour work
+  well with the ALSA backend. When using the ALSA backend for Ardour, Ardour
+  will see all MIDI ports that ALSA sees without any user setup. However, should jackd
+  need to be used, the rest of this page is valid.
+</p>
+
 <p>
   The right approach for using MIDI on Linux depends on which version of JACK
   is in use. The world divides into:
index 84b4eef8269c678e1d3cb1968fca3c3442495f7c..5560d4b33619bef77175e39d12014344c21c9242 100644 (file)
@@ -17,7 +17,7 @@
   latency.  On the other hand it requires external hardware, and the monitoring
   settings are less flexible and not saved with the session.</p>
 
-<h3 class="clear">JACK-Based Hardware Monitoring</h3>
+<h3 class="clear">Audio driver Hardware Monitoring</h3>
 
 <figure class="right">
     <img src="/images/jack-monitoring.png" alt="Hardware Monitoring">
@@ -29,7 +29,7 @@
 <p>Some sound cards have the ability
   to mix signals from their inputs to their outputs with very low or even zero
   latency, a feature called <dfn>hardware monitoring</dfn>.
-  Furthermore, on some cards this function can be controlled by JACK. This is a nice arrangement,
+  Furthermore, on some cards this function can be controlled by Ardour. This is a nice arrangement,
   if the sound card supports it, as it combines the convenience of having the
   monitoring controlled by Ardour with the low latency operation of doing it
   externally.
@@ -49,6 +49,6 @@
   outputs, governed by various controls. This approach will almost always have
   more routing flexibility than JACK-based monitoring. The disadvantage is
   that there will be some latency between the input and the output, which
-  depends for the most part on the JACK buffer size that is being used.
+  depends for the most part on the buffer size that is being used.
 </p>
 
index 4ad232f75b0981403e6acd9cd427f4d91e3c194f..f8678e8759ee2746a2708c5574d9724bf0da8c17 100644 (file)
   <tr><th>MIDI System</th>
   <td>
     Selects the MIDI driver to use. On Mac OS X, this will be <kbd
-    class="menu">CoreMIDI</kbd>. On Linux, it can be changed between two legacy
+    class="menu">CoreMIDI</kbd>. On Linux, this will follow the audio backend.
+    If the Audio backend is ALSA, midi will be alsa also. If the backend is
+    JACK, it can be changed between two legacy
     ALSA drivers or the (preferred) new JACK+ALSA implementation.</td></tr>
 </table>
 
index c2d7d3d4a3d250e1f311d492e0a0f499a0ca3355..2e221e2f5e4c5e9230ae3ef49ab8f8707634b251 100644 (file)
@@ -11,7 +11,8 @@
   <a href="https://en.wikipedia.org/wiki/Word_clock" title="https://en.wikipedia.org/wiki/Word_clock">Word Clock</a>.
   It does not carry any absolute reference to a point in time: A clock is
   used to keep a system's sample rate regular and accurate.
-  Word clock is usually at the frequency of the sample rate&mdash;at 48&nbsp;kHz, its period is about 20&nbsp;μs. Word Clock is the most
+  Word clock is usually at the frequency of the sample rate&mdash;at 48&nbsp;kHz,
+  its period is about 20&nbsp;μs. Word Clock is the most
   common sample rate based clock but other clocks do exist such as Black and
   Burst, Tri-Level and DARS. Sample rates can be derived from these clocks as well.
 </p>
 </p>
 
 <p>
-  JACK provides clock synchronization and is not concerned with time code
+  JACK (Ardour does this internally if using the ALSA backend) provides
+  clock synchronization and is not concerned with time code
   (this is not entirely true, more on jack-transport later).
   On the software side, jackd provides sample-accurate synchronization
   between all JACK applications.
-  On the hardware side, JACK uses the clock of the audio-interface.
+  On the hardware side, JACK and Ardour use the clock of the audio-interface.
   Synchronization of multiple interfaces requires hardware support to sync
   the clocks.
   If two interfaces run at different clocks the only way to align the
index 143a6a20140aa0483b6203538885d5fd293e7316..d9acf776e65400333d42cdccda4c165f057fd254 100644 (file)
@@ -41,7 +41,8 @@
       timecode.</td></tr>
   <tr><th>Other</th>
       <td>
-      If there are other JACK clients running, their ports will be found
+      If the Jack backend is being used and if there are other JACK clients
+      running, their ports will be found
       here. If there are no such ports, the tab will not exist (on one or
       both axes of the grid).</td></tr>
 </table>
@@ -70,7 +71,7 @@
 <h2>Variants on the Patchbay</h2>
 <p>
   Slightly different versions of the patchbay are available from different
-  places in Ardour. A global view of all JACK audio connections is available, in
+  places in Ardour. A global view of all audio connections is available, in
   <kbd class="menu">Window &gt Audio Connections</kbd>, or by pressing
   <kbd class="mod2">P</kbd>. A corresponding MIDI Connection Manager can
   be opened using <kbd class="mod23">P</kbd>.</p>
   <td>Disconnects everything from the given port.</td></tr>
   <tr><th><kbd class="menu">Rescan</kbd></th>
   <td>
-    Ardour will try to keep abreast of any changes to the JACK ports on
+    If Ardour is using the JACK backend, Ardour will try to keep abreast
+    of any changes to the JACK ports on
     the system, and reflect them in any connection managers which are open.
     If for some reason this fails, this can be used to re-scan the list of ports and
     update the manager.
index e469c64d72588e946d566a361c824ba4cc449901..cc5067bf988bb9fe9969e0766a21c6e69d7f2b5d 100644 (file)
     <ul>
       <li>
         <dfn>Initial program change:</dfn> Ardour will send a MIDI program
-        change message on the <code>ardour:MMC out</code> JACK port when a session
+        change message on the <code>ardour:MMC out</code> MIDI port when a session
         is loaded and whenever this field is changed. A value of -1 means don't
         send any program change message.
       </li>
       <li>
         <dfn>Enable Mclk generator</dfn> when enabled Ardour will generate a
         (tempo dependant) beat clock at a rate of 24 pulses per quarter note on
-        the <code>ardour:MIDI clock out</code> JACK port.
+        the <code>ardour:MIDI clock out</code> port.
       </li>
     </ul>
   </li>
     <ul>
       <li>
         <dfn>Enable MTC Generator</dfn> when enabled Ardour will generate MIDI
-        time code on the <code>ardour:MTC out</code> JACK port.
+        time code on the <code>ardour:MTC out</code> MIDI port.
       </li>
       <li>
         <dfn>Percentage either side of normal transport speed to transmit MTC:</dfn>
       <li>
         <dfn>Respond to MMC commands</dfn> when enabled Ardour will respond
         to MIDI Machine Control commands received on the <code>ardour:MMC in</code>
-        JACK port.
+        MIDI port.
       </li>
       <li>
         <dfn>Send MMC commands</dfn> when enabled Ardour will send MIDI Machine
         Control commands on the <code>ardour:MMC out</code>
-        JACK port.
+        MIDI port.
       </li>
       <li>
         <dfn>Inbound MMC device ID:</dfn> is the only device ID Ardour will
         respond to when an MMC command is received on the <code>ardour:MMC in</code>
-        JACK port.
+        MIDI port.
       </li>
       <li>
         <dfn>Outbound MMC device ID:</dfn> is the MIDI device ID Ardour will
index 8ab5845f642baba0b03782877ddbaa9cb77fcee8..156009a3c068242028d022dff96f479f88e19b9b 100644 (file)
   <li>Follow the prompts.</li>
 </ol>
 
-<h2>Problems with the interaction between PulseAudio and JACK</h2>
-
-<h3>Background Info</h3>
-
-<p>
-  Like many distributions, Ubuntu has decided to use <dfn>PulseAudio</dfn> as
-  the default audio system. PulseAudio is a rich and capable system that
-  provides excellent services for typical users of Linux on the desktop.
-  However, it is not capable of the type of performance that tools like Ardour
-  require and in particular does not offer the possibility of sending audio
-  between applications that can make the Linux audio environment a very
-  interesting one.
-</p>
-
-<p>
-  This would not be a problem if it were not for the fact that JACK will not
-  run correctly (if at all) if it needs to use the same soundcard/audio
-  interface that PulseAudio is using. And since, PulseAudio on Ubuntu is
-  configured by default to always use the (typically single) audio interface on
-  the computer, this is a bit of a problem.
-</p>
-
-<p>
-  The developers of JACK and PulseAudio got together in 2009 and agreed upon a
-  mechanism by which PulseAudio and JACK could cooperate in their use of a
-  single soundcard. Whether or not PulseAudio is running by default, when JACK
-  starts up it sends out a request to use the soundcard. If PulseAudio is
-  running, it will give up its use of the soundcard to allow JACK to take over
-  (and can optionally be told to route its own audio through JACK). When JACK
-  finishes, it sends out another message, and PulseAudio can once again use the
-  soundcard directly.
-</p>
-
-<h3>What is the problem?</h3>
-
-<p>
-  The specific issues known at this time for all flavors of Ubuntu 12.04 and
-  12.10 are:
-</p>
-
-<ul>
-  <li>a bug in PulseAudio that causes it not to give up the soundcard when JACK
-  asks (<a
-  href="https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1163638">LP:
-  #1163638</a>, fixed in Ubuntu 13.04).</li>
-</ul>
-
-<h3>Symptoms</h3>
-
-<p>
-  A message like <samp>Cannot start JACK</samp> in the output from JACK as it
-  starts up (though see the next section for other causes of this). This output
-  may be hidden in the Messages window of QJackCtl (aka JACK Control), so one
-  should check there.
-</p>
-
-<h3>How to fix</h3>
-
-<p>
-  These bugs do not affect releases from 13.04, and earlier releases (12.04 and
-  12.10) are in the process of being fixed.
-</p>
-
 <h2>Problems with JACK configuration</h2>
 
 <h3>What is the problem?</h3>