]> Shamusworld >> Repos - ardour-manual-diverged/blob - master-doc.txt
b55c71d3981b61bf3eb2f0f82a3928e82958ed41
[ardour-manual-diverged] / master-doc.txt
1 <!-- imploded -->
2
3 ---
4 title: Introduction to Ardour
5 part: part
6 ---
7
8
9 ---
10 title: Welcome to Ardour
11 part: chapter
12 ---
13
14 ---
15 title: About Ardour's documentation
16 part: subchapter
17 ---
18
19 <h2>Conventions Used In This Manual</h2>
20
21 <p>
22   This section covers some of the typographical and language conventions used in this manual.
23 </p>
24
25 <h3>Keyboards and Modifiers</h3>
26
27 <p>
28   <dfn>Keyboard bindings</dfn> are shown like this: <kbd>s</kbd> or <kbd class="mod1">x</kbd>.
29 </p>
30
31 <p>
32   <kbd class="mod1">x</kbd> means "press the <kbd class="mod1">&nbsp;</kbd> key, keep it pressed and then also press the <kbd>x</kbd> key.
33 </p>
34
35 <p>
36   You may also see key combinations such as <kbd class="mod12">e</kbd>, which mean that you should hold down the <kbd class="mod1">&nbsp;</kbd> key <em>and</em> the <kbd class="mod2">&nbsp;</kbd> key, and then, while keeping them both down, press the <kbd>e</kbd> key.
37 </p>
38
39 <p>
40   Note that different platforms have different conventions for which modifier key (Control or Command) to use as the primary or most common modifier. When viewing this manual from a machine identifying itself as running OS X, you will see  <kbd>Cmd&nbsp;</kbd> where appropriate (for instance in the first example above). On other machines you will see <kbd>Ctrl&nbsp;</kbd> instead.
41 </p>
42
43 <h3>Mouse Buttons</h3>
44
45 <p>
46   We refer to <a href="/setting-up-your-system/the-mouse">mouse buttons</a> as <kbd class="mouse">Left</kbd>, <kbd class="mouse">Middle</kbd> and <kbd class="mouse">Right</kbd>. Ardour can use additional buttons, but they have no default behaviour in the program.
47 </p>
48
49 <h4>Mouse click modifiers</h4>
50
51 <p>
52   Many editing functions are performed by clicking the mouse while holding a modifier key, for example <kbd class="mouse mod1">Left</kbd>.
53 </p>
54
55 <h4>Mouse wheel</h4>
56
57 <p>
58   Some GUI elements can optionally be controlled with the mouse wheel when the pointer is hovering over them. The notation for mouse wheel action is <kbd class="mouse">&uArr;</kbd> <kbd class="mouse">&lArr;</kbd> <kbd class="mouse">&dArr;</kbd> <kbd class="mouse">&rArr;</kbd>.
59 </p>
60
61 <h4>Context-click</h4>
62
63 <p>
64   The term <dfn>context-click</dfn> is used to indicate that you should (typically) <kbd class="mouse">Right</kbd>-click on a particular element of the graphical user interface. Although right-click is the common, default way to do this, there are other ways to accomplish the same thing&mdash;this term refers to any of them, and the result is always that a menu specific to the item you clicked on will be displayed.
65 </p>
66
67 <h4>"The Pointer"</h4>
68
69 <p>
70   When the manual refers to the "pointer", it means the on-screen representation of the mouse position or the location of a touch action if you are using a touch interface.
71 </p>
72
73 <h3>Other user input</h3>
74
75 <p>
76   Ardour supports hardware controllers, such as banks of <kbd class="fader">faders</kbd>, <kbd class="knob">knobs</kbd>, or <kbd class="button">buttons</kbd>.
77 </p>
78
79 <h3>Menu Items</h3>
80
81 <p>
82   Menu items are indicated like this:<br />
83   <kbd class="menu">Top &gt; Next &gt; Deeper</kbd>.<br />
84   Each "&gt;"-separated item indicates one level of a nested (sub-)menu.
85 </p>
86
87 <h3>Preference/Dialog Options</h3>
88
89 <p>
90   Choices in various dialogs, notably the Preferences and Properties dialog, are
91   indicated like this:<br />
92   <kbd class="option">Edit &gt; Preferences &gt; Audio &gt; Some
93   Option</kbd>.<br />
94   Each successive item indicates either a (sub-) menu or a tabbed dialog
95   navigation. The final item is the one to choose or select.
96 </p>
97
98 <p>
99   If you are requested to deselect an option, you will see something like
100   this:<br />
101   <kbd class="optoff">Edit &gt; Preferences &gt; Audio &gt; Some other
102   Option</kbd>.<br />
103 </p>
104
105 <h3>User Input</h3>
106
107 <p>
108   Some dialogs or features may require you to type in some <kbd class="input">data such as this</kbd>. In rare cases, you will be required to perform certain operations at the command line of your operating system:
109 </p>
110
111 <kbd class="cmd lin">cat /proc/cpuinfo</kbd>
112 <kbd class="cmd mac">sleep 3600</kbd>
113 <kbd class="cmd win">ping www.google.com</kbd>
114
115 <h3>Program Output</h3>
116
117 <p>
118   Important messages from Ardour or other programs will be displayed <samp>like this</samp>.
119 </p>
120
121 <h3>Notes</h3>
122
123 <p class="note">
124   Important notes about things that might not otherwise be obvious are shown in this format.
125 </p>
126
127 <h3>Warnings</h3>
128
129 <p class="warning">
130   Hairy issues that might cause things to go wrong, lose data, impair sound quality, or eat your proverbial goldfish, are displayed in this way.
131 </p>
132
133
134 ---
135 title: Welcome to Ardour!
136 part: subchapter
137 ---
138
139 <p>
140   <dfn>Ardour</dfn> is a professional digital workstation for working with audio and MIDI.
141 </p>
142
143 <h2>Ardour is meant for...</h2>
144
145 <h3>Audio Engineers</h3>
146
147 <p>
148   Ardour's core user group: people who want to record, edit, mix and master audio and MIDI projects. When you need complete control over your tools, when the limitations of other designs get in the way, when you plan to spend hours or days working on a session, Ardour is there to make things work the way you want them to.
149 </p>
150
151 <h3>Musicians</h3>
152
153 <p>
154   Being the best tool to record talented performers on actual instruments has always been a top priority for Ardour. Rather than being focused on electronic and pop music idioms, Ardour steps out of the way to encourage the creative process to remain where it always has been: a musician playing a carefully designed and well built instrument.
155 </p>
156
157 <h3>Soundtrack Editors</h3>
158
159 <p>
160   Sample accurate sync and shared transport control with video playback tools allows Ardour to provide a fast and natural environment for creating and editing soundtracks for film and video projects.
161 </p>
162
163 <h3>Composers</h3>
164
165 <p>
166   Arrange audio and MIDI using the same tools and same workflow. Use external hardware synthesizers or software instruments as sound sources. From sound design to electro-acoustic composition to dense multitrack MIDI editing, Ardour can help.
167 </p>
168
169 <h2>Ardour features...</h2>
170
171 <h3>Audio and MIDI Multi-Track Recording and Editing</h3>
172
173 <p>
174   Any number of tracks and busses. Non-linear editing. Non-destructive (and destructive!) recording. Any bit depth, any sample rate. Dozens of file formats.
175 </p>
176
177 <h3>Plugins with Full Sample Accurate Automation</h3>
178
179 <p>
180   AudioUnit, LV2, LinuxVST and LADSPA formats. FX plugins. Software instruments. MIDI processors. Automate any parameters. Physically manipulate them via control surfaces. Distribute processing across as many (or as few) cores as you want.
181 </p>
182
183 <h3>Transport Sync and External Control Surfaces</h3>
184
185 <p>
186   Best-in-industry sync to MIDI timecode and LTC. Send and receive MIDI Machine Control. Sync with JACK transport and MIDI clock. Dedicated Mackie Control protocol support, pre-defined mappings for many MIDI controllers plus dynamic MIDI learn. Use OSC to drive almost any operation in Ardour.
187 </p>
188
189 <h3>Powerful Anywhere-to-Anywhere Signal Routing</h3>
190
191 <p>
192   Complex signal flows are simple and elegant. Inputs and outputs connect to your hardware and/or other applications. Use sends, inserts and returns freely. Connections can be one-to-many, many-to-one or many-to-many. Tap signal flows at any point. If you can't connect in the way you want with Ardour, it probably can't be done.
193 </p>
194
195 <h3>Video Timeline</h3>
196
197 <p>
198   Import a single video and optionally extract the soundtrack from it. Display a frame-by-frame (thumbnail) timeline of the video. Use a Video-monitor window, or full-screen display, of the imported video in sync with any of the available ardour timecode sources. Lock audio-regions to the video: Move audio-regions with the video at video-frame granularity. Export the video, cut start/end, add blank frames and/or mux it with the soundtrack of the current-session.
199 </p>
200
201 ---
202 title: About Ardour
203 part: subchapter
204 ---
205
206 <p>
207   <dfn>Ardour</dfn> allows recording and editing both audio and MIDI data, addin of many different kinds of effects and mixing.
208 </p>
209
210 <p>Some things Ardour is used for include:</p>
211
212 <ul>
213 <li>Digitally record acoustic/electric instruments or vocals</li>
214 <li>Compose and arrange audio and MIDI tracks</li>
215 <li>Edit live recordings</li>
216 <li>Mix and edit movie soundtracks and dialogue</li>
217 <li>Create sound designs for an arbitrary number of output channels</li>
218 </ul>
219
220 ---
221 title: Isn't This A Really Complicated Program?
222 part: subchapter
223 ---
224
225 <p>
226  There is no point in pretending that Ardour is a simple, easy to use program. The development group has worked hard to try to make simple things reasonably easy, common tasks quick, and hard and/or uncommon things possible. There is no doubt that there is more to do in this area, as well as polishing the user interface to improve its intuitiveness and work flow characteristics.
227 </p>
228
229 <p>
230   At the same time, multi-track, multi-channel, non-linear, non-destructive audio editing is a far from simple process. Doing it right requires not only a good ear, but a solid appreciation of basic audio concepts and a robust mental model/metaphor of what one is doing. Ardour is not a simple "audio recorder"&mdash;it can certainly be used to record stereo (or even mono) material in a single track, but the program has been designed around much richer capabilities than this.
231 </p>
232
233 <p>
234   Some people complain that Ardour is not "intuitive" to use&mdash;its lead developer has <a href="http://community.ardour.org/node/3322">some thoughts on that</a>.
235 </p>
236
237 ---
238 title: Why Write a DAW for Linux?
239 part: subchapter
240 ---
241
242 <p>
243   It is fairly understandable that existing proprietary DAWs do not run on Linux, given the rather small (but growing) share of the desktop market that Linux has. However, when surveying the landscape of "popular operating systems", we find:
244 </p>
245
246 <ul>
247   <li>older versions of Windows: plagued by abysmal stability and appalling security</li>
248   <li>newer versions of Windows seem stable but still suffer from security problems</li>
249   <li>OS X: an amazing piece of engineering that is excellent for audio work but only runs on proprietary hardware and still lacks the flexibility and adaptability of Linux.</li>
250 </ul>
251
252 <p>
253   Security matters today, and will matter more in the future as more and more live or semi-live network based collaborations take place.
254 </p>
255
256 <p>
257   Let's contrast this with Linux, an operating system which:
258 </p>
259
260 <ul>
261   <li>can stay up for months (or even years) without issues</li>
262   <li>is endlessly configurable down to the tiniest detail</li>
263   <li>is not owned by any single corporate entity, ensuring its life and direction are not intertwined with that of a company (for a contrary example, consider BeOS)</li>
264   <li>is fast and efficient</li>
265   <li>runs on almost any computing platform ever created, including old "slow" systems and new "tiny" systems (e.g. Raspberry Pi)</li>
266   <li>is one of the most secure operating systems "out of the box"</li>
267 </ul>
268
269 <p>
270   More than anything, however, Ardour's primary author uses Linux and wanted a DAW that ran there.
271 </p>
272
273 <p>
274   Having written a DAW for Linux, it turned out to be relatively easy to port Ardour to OS X, mostly because of the excellent work done by the JACK OS X group that ported JACK to OS X.
275 </p>
276
277 <p>
278   Although OS X has a number of disadvantages compared to Linux, its ease of use and its presence in many studios already makes it a worthwhile platform.
279 </p>
280
281 ---
282 title: Why is it called Ardour?
283 part: subchapter
284 ---
285
286 <p>
287   The name <dfn>"Ardour"</dfn> came from considerations of how to pronounce the acronym <abbr title="Hard Disk Recorder">HDR</abbr>. The most obvious attempt sounds like a vowelless "harder" and it then was then a short step to an unrelated but slightly homophonic word:
288 </p>
289
290 <blockquote><p>
291   <dfn>ardour</dfn> n 1: a feeling of strong eagerness (usually in favor of
292   a person or cause); "they were imbued with a revolutionary ardor"; "he
293   felt a kind of religious zeal" [syn: ardor, elan, zeal]<br />
294   2: intense feeling of love [syn: ardor]<br />
295   3: feelings of great warmth and intensity; "he spoke with great ardor"
296   [syn: ardor, fervor, fervour, fervency, fire, fervidness]
297 </p></blockquote>
298
299 <p>
300   Given the work required to develop Ardour, and the personality of its primary author, the name seemed appropriate even without the vague relationship to HDR.
301 </p>
302
303 <p>
304   Years later, another interpretation of "Ardour" appeared, this time based on listening to non-native English speakers attempt to pronounce the word. Rather than "Ardour", it became "Our DAW", which seemed poetically fitting for a Digital Audio Workstation whose source code and design belongs to a group of collaborators.
305 </p>
306
307 ---
308 title: Why write another DAW?
309 part: subchapter
310 ---
311
312 <p>
313   There are already a number of excellent digital audio workstations. To mention just a few: ProTools, Nuendo, Samplitude, Digital Performer, Logic, Cubase (SX), Sonar, along with several less well known systems such as SADIE, SAWStudio and others.
314 </p>
315 <p>
316   Each of these programs has its strengths and weaknesses, although over the last few years most of them have converged on a very similar set of core features. However, each of them suffers from two problems when seen from the perspective of Ardour's development group:
317 </p>
318
319 <ul>
320   <li>they do not run natively on Linux</li>
321   <li>they are not available in source code form, making modifications, improvements, bugfixes by technically inclined users or their friends or consultants impossible.</li>
322 </ul>
323
324 ---
325 title: Additional Resources
326 part: subchapter
327 ---
328
329 <p>
330   In addition to this documentation, you may check a variety of other <dfn>resources</dfn>:
331 </p>
332
333 <ul>
334   <li>the <a href="https://ardour.org/whatsnew.html">Ardour release
335   notes</a></li>
336   <li>the <a href="https://community.ardour.org/forums">Ardour
337   Forums</a></li>
338   <li>information about <a href="https://community.ardour.org/community">Ardour
339   Support</a> via mailing lists and IRC (chat)</li>
340 </ul>
341
342 <p>
343   The <dfn>IRC channels</dfn> in particular are where most of the day-to-day development and debugging is done, and there are plenty of experienced users to help you if you run into problems.
344 </p>
345
346 <p>
347   Please be prepared to hang around for a few hours, the chat is usually busiest from 19:00&nbsp;UTC to 04:00&nbsp;UTC. If you can, keep your chat window open, so that you don't miss a belated answer. Also, don't ask for permission to ask a question, just ask your question with the understanding that the answer (from the "right" people or not) could come seconds, minutes, hours, or never.
348 </p>
349
350
351 ---
352 title: Creating Music with Ardour
353 part: subchapter
354 ---
355
356 <p class="fixme"> misplaced</p>
357 <p>
358   Ardour can be used in many different ways, from extremely simple to
359   extremely complex. Many projects will be handled using the following
360   kind of <dfn>workflow</dfn>.
361 </p>
362
363 <h2>Stage 1: Creating Your Project</h2>
364
365 <p>
366   The first step is to create a new <dfn>session</dfn>, or open an
367   existing one. A session consists of a folder containing a session file
368   that defines all the information about the session. All media files used
369   by the session can be stored within the session folder.
370 </p>
371
372 <p>
373   More details on sessions can be found in
374 <a href="/working-with-sessions">Working With Sessions</a>.
375 </p>
376
377 <h2>Stage 2: Creating and Importing Audio and MIDI data</h2>
378
379 <p>
380   Once you have a session, you will want to add some audio and/or MIDI
381   material to it, which can be done in one of 3 ways:
382 </p>
383
384 <ul>
385   <li><dfn>Record</dfn> incoming audio or MIDI data, either via audio or MIDI hardware
386   connected to your computer, or from other applications.</li>
387   <li><dfn>Create</dfn> new MIDI data using the mouse and/or various dialogs</li>
388   <li><dfn>Import</dfn> existing media files into the session</li>
389 </ul>
390 <p>
391   <dfn>MIDI recordings</dfn> consist of performance data ("play note X at
392   time T") rather than actual sound. As a result, they are more flexible
393   than actual audio, since the precise sound that they will generate when
394   played depends on where you send the MIDI to.<br />
395   Two different synthesizers may produce very different sound in response
396   to the same incoming MIDI data.
397 </p>
398 <p>
399   <dfn>Audio recordings</dfn> can be made from external instruments with
400   electrical outputs (keyboards, guitars etc.) or via microphones from
401   acoustic instruments.
402 </p>
403 <p>
404   Ardour uses the <dfn>JACK Audio Connection Kit</dfn> for all audio and
405   MIDI I/O, which means that recording audio/MIDI from other applications
406   is fundamentally identical to recording audio/MIDI from your audio/MIDI
407   hardware.
408 </p>
409
410 <h2>Stage 3: Editing and Arranging</h2>
411 <p>
412   Once you have some material within the session, you can start to arrange
413   it in time. This is done in one of the two main windows of Ardour, the
414   <dfn>Editor</dfn> window.
415 </p>
416 <p>
417   Your audio/MIDI data appears in chunks called <dfn>regions</dfn>, which
418   are arranged into horizontal lanes called <dfn>tracks</dfn>. Tracks are
419   stacked vertically in the Editor window. You can copy, shorten, move,
420   and delete regions without changing the actual data stored in the session
421   at all&mdash;Ardour is a <dfn>non-destructive</dfn> editor. (Almost)
422   nothing that you do while editing will ever modify the files stored on
423   disk (except the session file itself).
424 </p>
425 <p>
426   You can also carry out many <dfn>transformations</dfn> to the contents
427   of regions, again without altering anything on disk. You can alter,
428   move, and delete MIDI notes, and remove silence from audio regions, for
429   example.
430 </p>
431
432 <h2>Stage 4: Mixing and Adding Effects</h2>
433 <p>
434   Once you have the arrangement of your session mostly complete, you will
435   typically move on to the <dfn>mixing</dfn> phase. Mixing is a broad term
436   to cover the way the audio signals that your session generates during
437   playback and processed and added together into a final result that you
438   actually hear. It can involve altering the relative levels of various
439   parts of the session, adding effects that improve or transform certain
440   elements, and others that bring the sound of the whole session to a new
441   level.
442 </p>
443 <p>
444   Ardour will allow you to <dfn>automate</dfn> changes to any mixing
445   parameters (such as volume, panning, and effects controls)&mdash;it will
446   record the changes you make over time, using a mouse or keyboard or some
447   external control device, and can play back those changes later. This is
448   very useful because often the settings you need will vary in one part of
449   a session compared to another&mdash;rather than using a single setting
450   for the volume, you may need increases followed by decreases (for example,
451   to track the changing volume of a singer). Using automation can make all
452   of this relatively simple.
453 </p>
454
455 <h2>Stage 5: Export</h2>
456 <p>
457   Once you are really satisfied with the arrangement and mix of your
458   session, you will typically want to produce a single audio file that
459   contains a ready-to-listen to version of the work. Ardour will allow you to
460   <dfn>export</dfn> audio files in a variety of formats (simultaneously in
461   some cases). This exported file would typically be used in creating a CD,
462   or be the basis for digital distribution of the work.
463 </p>
464 <p>
465   Of course sometimes you will want to do export material that isn't finished
466   yet, for example to give a copy to someone else to try to mix on their own
467   system. Ardour will allow you to export as much of a session as you want, at
468   any time, in any supported format.
469 </p>
470
471
472 ---
473 title: Ardour Concepts
474 part: chapter
475 ---
476
477
478 ---
479 title: Understanding Basic Concepts and Terminology
480 part: subchapter
481 ---
482
483 <p>
484   This section will help you get acquainted with the basic terminology and
485   concepts associated with Ardour. More detailed information on each aspect
486   of the program is provided in later chapters.
487 </p>
488
489 <h2>Sessions</h2>
490 <p>
491   An <dfn>Ardour session</dfn> is a container for an entire project. A
492   session may contain an arbitrary number of <dfn>tracks</dfn> and
493   <dfn>busses</dfn> consisting of audio and <abbr title="Musical Instrument
494   Digital Interface">MIDI</abbr> data, along with
495   information on processing those tracks, a mix of levels, and everything
496   else related to the project. A session might typically contain a song, or
497   perhaps an entire album or a complete live recording.
498 </p>
499 <p>
500   Ardour sessions are held in directories; these directories contain one or
501   more <dfn>session files</dfn>, some or all of the audio and MIDI data and
502   a number of other state files that Ardour requires. The session file
503   describes the structure of the session, and holds automation data and
504   other details.
505 </p>
506 <p>
507   Ardour's session file is kept in
508   <abbr title="eXtensible Markup Language">XML</abbr> format, which is
509   advantageous as it is somewhat human-readable, and human-editable in a
510   crisis. Sound files are stored in one of a number of optional formats, and
511   MIDI files as <abbr title="Standard MIDI File">SMF</abbr>.
512 </p>
513 <p>
514   It is also possible for Ardour sessions to reference sound and MIDI files
515   outside the session directory, to conserve disk space and avoid
516   unnecessary copying if the data is available elsewhere on the disk.
517 </p>
518 <p>
519   Ardour has a single current session at all times; if Ardour is started
520   without specifying one, it will offer to load or create one.
521 </p>
522 <p>
523   More details can be found at
524   <a href="/working-with-sessions">Working With Sessions</a>.
525 </p>
526
527 <h2>Tracks</h2>
528 <p>
529   A <dfn>track</dfn> is a concept common to most
530   <abbr title="Digital Audio Workstation">DAWs</abbr>, and also used in
531   Ardour. Tracks can record audio or MIDI data to disk, and then replay
532   it with processing. They also allow the audio or MIDI data to be edited
533   in a variety of different ways.
534 </p>
535 <p>
536   In a typical pop production, one might use a track each for the kick
537   drum, another for the snare, more perhaps for the drum overheads and
538   others for bass, guitars and vocals.
539 </p>
540 <p>
541   Ardour can record to any number of tracks at one time, and then play
542   those tracks back. On playback, a track's recordings may be processed by
543   any number of plugins, panned, and its level altered to achieve a
544   suitable mix.
545 </p>
546 <p>
547   A track's type is really only related to the type of data that it stores
548   on disk. It is possible, for example, to have a MIDI track with a
549   synthesizer plugin which converts MIDI to audio. Even though the track
550   remains MIDI (in the sense that its on-disk recordings are MIDI), its
551   output may be audio-only.
552 </p>
553 <p>
554   More details can be found at
555   <a href="/working-with-tracks">Working With Tracks</a>.
556 </p>
557
558 <h2 id="busses">Busses</h2>
559 <p>
560   <dfn>Busses</dfn> are another common concept in both DAWs and hardware
561   mixers. They are similar in many ways to tracks; they process audio or
562   MIDI, and can run processing plugins. The only difference is that their
563   input is obtained from other tracks or busses, rather than from disk.
564 </p>
565 <p>
566   One might typically use a bus to collect together the outputs of related
567   tracks. Consider, for example, a 3-track recording of a drum-kit; given
568   kick, snare and overhead tracks, it may be helpful to connect the output
569   of each to a bus called "drums", so that the drum-kit's level can be set
570   as a unit, and processing (such as equalisation or compression) can be
571   applied to the mix of all tracks. Such buses are also called
572   <dfn>groups</dfn>.
573 </p>
574
575 <h2>Regions</h2>
576 <p>
577   A track may contain many segments of audio or MIDI. Ardour contains
578   these segments in things called <dfn>regions</dfn>, which are
579   self-contained snippets of audio or MIDI data. Any recording pass, for
580   example, generates a region on each track that is enabled for recording.
581   Regions can be subjected to many editing operations; they may be moved
582   around, split, trimmed, copied, and so on.
583 </p>
584 <p>
585   More details can be found at
586   <a href="/working-with-regions">Working With Regions</a>.
587 </p>
588
589 <h2>Playlists</h2>
590 <p>
591   The details of what exactly each track should play back is described by a
592   <dfn>playlist</dfn>. A playlist is simply a list of regions; each track
593   always has an active playlist, and can have other playlists which can be
594   switched in and out as required.
595 </p>
596 <p>
597   More details can be found at
598   <a href="/working-with-playlists">Working With Playlists</a>.
599 </p>
600
601 <h2>Plugins</h2>
602 <p>
603   Ardour allows you to process audio and MIDI using any number of
604   <dfn>plugins</dfn>. These are external pieces of code, commonly seen as
605   VST plugins on Windows or AU plugins on Mac OS X. Ardour supports
606   the following plugin standards:
607 </p>
608 <dl class="wide-table">
609   <dt><abbr title="Linux Audio Developers' Simple Plugin API">LADSPA</abbr></dt>
610   <dd>the first major plugin standard for Linux. Many LADSPA plugins are
611   available, mostly free and open-source.</dd>
612   <dt><abbr title="LADSPA Version 2">LV2</abbr></dt>
613   <dd>the successor to LADSPA. Lots of plugins have been ported from
614   LADSPA to LV2, and also many new plugins written.</dd>
615   <dt><abbr title="Virtual Studio Technology">VST</abbr></dt>
616   <dd>Ardour supports VST plugins that have been compiled for Linux.</dd>
617   <dt><abbr title="Audio Units">AU</abbr></dt>
618   <dd>Mac OS X versions of Ardour support AudioUnit plugins.</dd>
619 </dl>
620 <p>
621   Ardour has some support for running Windows VST plugins on Linux, but
622   this is rather complicated, extremely difficult for the Ardour
623   developers to debug, and generally unreliable, as it requires to run a
624   large amount of Windows code in an emulated environment.<br />
625   If it is at all possible, you are strongly advised to use native
626   LADSPA, LV2 or Linux VST plugins on Linux, or AU on Mac OS X.
627 </p>
628 <p>
629   More details can be found at
630   <a href="/working-with-plugins">Working With Plugins</a>.
631 </p>
632
633
634 ---
635 title: Basic GUI Operations
636 part: subchapter
637 ---
638
639 <p>
640   Ardour offers a number of different ways for you to interact with it.
641   This chapter provides information on basic techniques for <dfn>entering
642   text</dfn>, <dfn>making selections</dfn>, and <dfn>using shortcuts</dfn>.
643 </p>
644
645 ---
646 title: Interface Elements
647 part: subchapter
648 ---
649
650 <h2>Checkboxes</h2>
651 <h2>Buttons</h2>
652 <h2>Pull Down Menus</h2>
653 <h2>Pop Up Menus</h2>
654 <h2>Context Menus</h2>
655 <h2>Browsers</h2>
656
657 <p class="fixme">Add content</p>
658
659 ---
660 title: Key Bindings
661 part: subchapter
662 ---
663
664 <p>
665   Almost every available function in Ardour can be executed via a
666   <dfn>key binding</dfn> or <dfn><abbr title="Open Sound
667   Control">OSC</abbr></dfn> command. There are many more functions
668   available than there are keys on even the largest current computer
669   keyboards, so only a subset of them are bound to keys by default.
670 </p>
671
672 <h2>Key bindings for menu items</h2>
673
674 <p>
675   Existing key bindings in menus are listed on the right side of the
676   menu items.
677 </p>
678
679 <p>
680   To create a custom key binding for a menu item quickly, navigate to
681   the relevant (sub-) menu, hover over the item with the mouse and press
682   the desired combination of modifiers and key.
683 </p>
684
685 <p class="warning">
686   Ardour will silently re-assign the binding if you use a key
687   combination that is already in use, possibly removing a standard
688   keyboard shortcut without warning you. That might lead to confusion
689   when you ask other users for help, and they explain something in terms
690   of a standard key binding, which will then have a completely
691   different effect on your system.
692 </p>
693
694 <h2>Key binding editor</h2>
695
696 <p>
697   For a complete overview of all existing keyboard bindings, go to
698   <kbd class="menu">Window &gt; Key Bindings</kbd>. This widget will let
699   you view and edit even those functions that are not available in the menu,
700   and even remove key bindings altogether.
701 </p>
702
703 ---
704 title: Selection Techniques
705 part: subchapter
706 ---
707
708 <p>
709   Ardour follows the conventions used by most other computer software
710   (including other DAWs) for <dfn>selecting objects</dfn> in the
711   <abbr title="Graphical User Interface">GUI</abbr>.
712 </p>
713
714 <h2>Selecting individual objects</h2>
715
716 <p>
717   Clicking on an object (sometimes on a particular part of its
718   on-screen representation) will select the object, and deselect other
719   similar objects.
720 </p>
721
722 <h2>Selecting multiple (similar) objects</h2>
723
724 <p>
725   A <kbd class="mod1 mouse">left</kbd> click on an object toggles its
726   <samp>selected</samp> status, so using <kbd class="mod1 mouse">left</kbd>
727   on a series of objects will select (or deselect) each one of them. You can
728   construct completely arbitrary selections with this technique.
729 </p>
730
731 <h2>Selecting a range of objects</h2>
732
733 <p>
734   In cases where the idea of "select all objects between this one and that
735   one" makes sense, you can select one object and then click
736   <kbd class="mod3 mouse">left</kbd> on another to select both of them as
737   well as all objects in between.
738 </p>
739
740 <h2>Time range selection</h2>
741
742 <p>
743   To select a time <dfn>range</dfn> in the Editor,
744   click <kbd class="mouse">Left</kbd> and drag the mouse.
745   A <kbd class="mod1 mouse">Left</kbd> drag then lets you create other
746   ranges and a <kbd class="mod3 mouse">left</kbd> click extends a range
747   to cover a wider area.
748 </p>
749
750 <h2>Selection Undo</h2>
751
752 <p>
753   The set of objects (including time range) that are selected at any one
754   time is known as the selection.
755   Each time you select or deselect an object, the new selection is stored in an
756   undo/redo stack.
757   This stack is cleared each time the content of the timeline changes.
758   If you have built up a complex selection and then accidentally cleared it,
759   choosing <kbd class="menu">Edit &gt; Undo Selection Change</kbd> will restore your previous selection.
760   If you then decide that you had in fact made the correct change, choosing
761   <kbd class="menu">Edit &gt; Redo Selection Change</kbd> will take you back
762   to where you were before you chose <kbd class="menu">Edit &gt; Undo Selection Change</kbd>.
763 </p>
764
765 ---
766 title: Tooltips
767 part: subchapter
768 ---
769
770 <p>
771   By default, Ardour will show helpful <dfn>tooltips</dfn> about
772   the purpose and use of each <abbr title="Graphical User
773   Interface">GUI</abbr> element if you position the pointer
774   over it and hover there for a short while.
775   These little pop-up messages can be a good way to discover the
776   purpose of many aspects of the GUI.
777 </p>
778
779 <p>
780   Pop-ups can be distracting for experienced users, who may opt to
781   disable them via <kbd class="optoff">Edit &gt; Preferences &gt; GUI &gt;
782   Show tooltip if mouse hovers over a control</kbd>.
783 </p>
784
785 ---
786 title: Undo/Redo for Editing
787 part: subchapter
788 ---
789
790 <p>
791   While editing, it happens that you apply an unintended change, or make
792   a choice one that you later decide was wrong. All changes to the
793   arrangement of session components (regions, control points) along the
794   timeline can be <dfn>undone</dfn> (and <dfn>redone</dfn> if necessary).
795 </p>
796
797 <p>
798   The default keybindings are <kbd class="mod1">Z</kbd> for Undo and
799   <kbd class="mod1">R</kbd> for Redo. These match the conventions of most
800   other applications that provide undo/redo.
801 </p>
802
803 <p>
804   Changes are also saved to the <dfn>session history</dfn> file, so that
805   undo/redo is possible even if you close the session and reopen it later,
806   even if you quit Ardour in between.
807 </p>
808
809 <p>
810   The maximum number of changes that can be undone can be configured under
811   <kbd class="menu">Edit &gt; Preferences &gt; Misc &gt; Undo</kbd>.
812   The maximum number of changes stored in the history file is a separate
813   parameter, and can also be set in the same place.
814 </p>
815
816 <p class="note">
817   In addition to the normal undo (which works only on actions that change
818   the timeline), there is a <dfn>visual undo</dfn> which will revert any
819   command that affects the display of the editor window. Its shortcut is
820   <kbd class="mod3">Z</kbd>.
821   There is also an undo for selection. See
822   <a href="/ardours-interface/basic-gui-operations/selection-techniques/">Selection Techniques</a> for more information.
823 </p>
824
825 <p class="warning">
826   Note that changes made to mixer strips, such as turning knobs or changing faders, cannot be undone.
827 </p>
828
829 ---
830 title: Using the Mouse
831 part: subchapter
832 ---
833
834 <h2>Clicking</h2>
835
836 <p>
837   Throughout this manual, the term <dfn>click</dfn> refers to the act of pressing
838   and releasing the <kbd class="mouse">Left</kbd> mouse button. This action is used to select objects, activate
839   buttons, turn choices on and off, pop up menus and so forth.<br />
840   On touch surfaces, it also corresponds to a single, one-finger tap on
841   the GUI.
842 </p>
843
844 <h2>Right Clicking</h2>
845
846 <p>
847   The term <dfn>right-click</dfn> refers to the act of pressing and releasing
848   the <kbd class="mouse">Right</kbd> mouse button.
849   This action is used to pop up <dfn>context menus</dfn> (hence the term
850   "context click", which you will also see). It is also used by default in
851   combination with the shift key to delete objects within the editor
852   window.
853 </p>
854
855 <p class="note mac">
856   Some mice designed for use with Mac OS X may have only one button. By
857   convention, pressing and holding the Control key while clicking is
858   interpreted as a right-click by many application..
859 </p>
860
861 <h2>Middle Clicking</h2>
862
863 <p>
864   A <dfn>middle-click</dfn> refers to the act of pressing and releasing the
865   <kbd class="mouse">Middle</kbd> mouse button. Not all all mice have a middle click button
866   (see the <a href="/setting-up-your-system/mouse/">Mouse</a> chapter for
867   details). Sometimes the scroll wheel acts as a clickable middle button.
868   This action is used for time-constrained region copying and mapping MIDI
869   bindings.
870 </p>
871
872 <p class="note">
873   Internally, your operating system may identify the mouse buttons as
874   <kbd class="mouse">Button1</kbd>, <kbd class="mouse">Button2</kbd>, and
875   <kbd class="mouse">Button3</kbd>, respectively. It may be possible to
876   invert the order of buttons to accommodate left-handed users, or to re-assign
877   them arbitrarily. This manual assumes the canonical order.
878 </p>
879
880 <h2>Double Clicking</h2>
881
882 <p>
883   A <dfn>double click</dfn> refers to two rapid press/release cycles on the
884   leftmost mouse button. The time interval between the two actions that
885   determines whether this is seen as two clicks or one double click is
886   controlled by your system preferences, not by Ardour.
887 </p>
888
889 <h2>Dragging</h2>
890
891 <p>
892   A <dfn>drag</dfn> primarily refers to the act of pressing the leftmost
893   mouse button, moving the mouse with the button held down, and then
894   releasing the button. On touch surfaces, this term also corresponds to
895   a single one-finger touch-move-release action.
896 </p>
897
898 <p>
899   Ardour also uses the middle mouse button for certain kinds of drags,
900   which will be referred to as <dfn>middle-drag</dfn>.
901 </p>
902
903 <h2>Modifiers</h2>
904
905 <p>
906   There are many actions in Ardour that can be carried out using a mouse
907   button in combination with a <dfn>modifier key</dfn>. When the manual
908   refers to <kbd class="mod1 mouse">Left</kbd>, it means that you should first
909   press the <kbd class="mod1"></kbd> key, carry out a left click
910   while <kbd class="mod1"></kbd> is held down, and then finally release the key.
911 </p>
912
913 <p>
914   Available modifiers depend on your platform:
915 </p>
916
917 <h3>Linux Modifiers</h3>
918
919 <ul>
920   <li><kbd>Ctrl</kbd> (Control)</li>
921   <li><kbd>Shift</kbd></li>
922   <li><kbd>Alt</kbd></li>
923   <li><kbd>Mod2</kbd></li>
924   <li><kbd>Mod3</kbd></li>
925   <li><kbd>Mod4</kbd></li>
926   <li><kbd>Mod5</kbd></li>
927 </ul>
928
929 <p class="warning">
930   The following section is almost certainly wrong. Will need to be checked
931   and rewritten asap.
932 </p>
933
934 <p>
935   Mod2 typically corresponds to the <kbd>NumLock</kbd> key on many systems.
936   On most Linux systems, there are no keys that will function as modifiers
937   Mod3, Mod4 or Mod5 by default, but they can be setup using
938   <dfn>xmodmap(1)</dfn>. This can be rather useful.
939 </p>
940
941 <h3>OS X Modifiers</h3>
942
943 <ul>
944   <li><kbd>Cmd</kbd> (Command, "windmill")</li>
945   <li><kbd>Ctrl</kbd> (Control)</li>
946   <li><kbd>Alt</kbd>  (Option)</li>
947   <li><kbd>Shift</kbd></li>
948 </ul>
949
950 <h2>Scroll Wheel</h2>
951
952 <p>
953   Ardour can make good use of a <dfn>scroll wheel</dfn> on your mouse, which can be
954   utilized for a variety of purposes. Scroll wheels generate vertical
955   scroll events, <kbd class="mouse">&uArr;</kbd> (ScrollUp) and
956   <kbd class="mouse">&dArr;</kbd> (ScrollDown). Some also emit horizontal
957   events, <kbd class="mouse">&lArr;</kbd> (ScrollLeft) and
958   <kbd class="mouse">&rArr;</kbd> (ScrollRight).
959 </p>
960
961 <p>
962   When appropriate, Ardour will differentiate between these two different
963   scroll axes. Otherwise it will interpret ScrollDown and ScrollLeft as
964   equivalent and similarly interpret ScrollUp and ScrollRight as equivalent.
965 </p>
966
967 <p>
968   Typically, scroll wheel input is used to adjust
969   <dfn>continuous controls</dfn> such as faders and knobs, or to scroll
970   vertically or horizontally inside a window.
971 </p>
972
973 <p class="fixme">Should add some mention of drag &amp; drop operations; the "Dragging" section above doesn't mention it at all.</p>
974
975 ---
976 title: Cut and Paste Operations
977 part: subchapter
978 ---
979
980 <p>
981   The <dfn>clipboard</dfn> is a holder for various kinds of objects (regions,
982   control events, plugins) that is used during <dfn>cut-and-paste
983   operations</dfn>.
984 </p>
985
986 <h2>Cut</h2>
987
988 <p>
989   A <dfn>cut</dfn> operation removes selected objects and places them in the
990   clipboard. The existing contents of the clipboard are overwriten.<br />
991   The default key binding is <kbd class="mod1">x</kbd>.
992 </p>
993
994 <h2>Copy</h2>
995
996 <p>
997   A <dfn>copy</dfn> of the selected objects are placed in clipboard. There is
998   no effect on the selected objects themselves. The existing contents of the
999   clipboard are overwritten. <br />
1000   The default key binding is <kbd class="mod1">c</kbd>.
1001 </p>
1002
1003 <h2>Paste</h2>
1004
1005 <p>
1006   The current contents of the clipboard are <dfn>paste</dfn>d (inserted)
1007   into the session, using the current <dfn>edit point</dfn> as the
1008   destination. The contents of the clipboard remain unchanged&mdash;you
1009   can paste the same item multiple times. <br />
1010   The default key binding is <kbd class="mod1">v</kbd>.
1011 </p>
1012
1013 ---
1014 title: Deleting Objects
1015 part: subchapter
1016 ---
1017
1018 <p>
1019   Within the Editor window (and to some extent within the Mixer window too),
1020   there are several techniques for <dfn>deleting</dfn> objects (regions,
1021   control points, and more).
1022 </p>
1023
1024 <h2>Using the mouse and keyboard</h2>
1025 <p>
1026   Select the object(s) and then press the <kbd>Del</kbd> key.
1027   This does <strong>not</strong> put the deleted object(s) into the cut
1028   buffer, so they cannot be pasted elsewhere.
1029 </p>
1030
1031 <h2>Using normal cut and paste shortcuts</h2>
1032 <p>
1033   Select the object(s) and then press <kbd class="mod1">x</kbd>. This puts
1034   the deleted object(s) into the cut buffer so that they could be pasted
1035   elsewhere.
1036 </p>
1037
1038 <h2>Using just the mouse</h2>
1039 <p>
1040   By default, <kbd class="mouse">Shift Right</kbd> will delete the
1041   clicked-upon object. Like the Del key, this does <strong>not</strong>
1042   put the deleted object(s) into the cut buffer.
1043 </p>
1044 <p>
1045   The modifier and mouse button used for this can be controlled via
1046   <kbd class="menu">Edit &gt; Preferences &gt; User Interaction &gt;
1047   Delete using ...</kbd>. Any modifier and mouse button combination can
1048   be used.
1049 </p>
1050
1051
1052 ---
1053 title: Starting Ardour
1054 part: subchapter
1055 ---
1056
1057 <p>
1058   There are several ways of <dfn>starting Ardour</dfn>, which may vary
1059   depending on which platform you are using it.
1060 </p>
1061
1062 <ul>
1063   <li>double-click the Ardour icon in your platform's file manager (e.g.
1064   Nautilus on Linux, Finder on OS X)</li>
1065   <li>double click on an Ardour session file in your platform's file manager</li>
1066   <li>on Linux, you can also start Ardour <a
1067   href="/ardours-interface/starting-ardour/starting-ardour-from-the-command-line">on the command line</a></li>
1068 </ul>
1069
1070 <p>
1071   When Ardour is run for the very first time, a special dialog is displayed
1072   that will ask you several questions about your setup. You will not be asked
1073   these questions again, but you can always modify your choices via the
1074   <kbd class="menu">Edit &gt; Preferences</kbd> dialog.
1075 </p>
1076
1077 <p>
1078   If you want to use JACK, in general, it is sensible to start <em>before</em> you run Ardour. This is not necessary, but will provide you with more control and options over JACK's operation. You can start JACK through its <abbr title="Command Line Interface">CLI</abbr>, or using a  <abbr title="Graphical User Interface">GUI</abbr> program, like <a href="https://qjackctl.sourceforge.io/">QjackCtl</a> or <a href="http://kxstudio.linuxaudio.org/Applications:Cadence">Cadence</a>.
1079 </p>
1080
1081 <p>
1082   If you open Ardour without specifying an existing session it will display
1083   the <kbd class="menu">Session &gt; New...</kbd> dialog and the <kbd class="menu">Audio/MIDI Setup</kbd> dialog. See <a href="/working-with-sessions/new-session-dialog/">New/Open Session Dialog</a> for a description of those dialogs.
1084 </p>
1085
1086 ---
1087 title: Starting Ardour From the Command Line (Linux)
1088 menu_title: Starting from Linux Cmdline
1089 part: subchapter
1090 ---
1091
1092 <p>
1093   Like (almost) any other program on Linux, Ardour can be started on the
1094   command line. Type the following command in a terminal window:
1095 </p>
1096 <kbd class="cmd lin">ardour5</kbd>
1097 <p>
1098   To start Ardour with an existing session:
1099 </p>
1100 <kbd class="cmd lin">ardour5 <em>/path/to/session</em></kbd>
1101 <p>
1102   replacing /path/to/session with the actual path to your session. You can
1103   specify either the session folder or any session file inside the folder,
1104   including snapshots.
1105 </p>
1106 <p>
1107   To start Ardour with a new, named session:
1108 </p>
1109 <kbd class="cmd lin">ardour5 -N <em>/path/to/session</em></kbd>
1110
1111 <h3>Other Command Line Options</h3>
1112
1113
1114 ---
1115 title: Keyboard and Mouse Shortcuts
1116 part: chapter
1117 ---
1118
1119
1120 ---
1121 title: Default Keyboard Bindings
1122 menu_title: Key Bindings
1123 part: subchapter
1124 ---
1125
1126 <p>
1127   Almost every available function in Ardour can be bound to a keyboard
1128   shortcut (and those few that cannot will usually respond to an <a
1129   href="/using-control-surfaces/controlling-ardour-with-osc/"><abbr
1130   title="Open Sound Control">OSC</abbr> command</a>). Ardour comes with a
1131   rich set of default <dfn>key bindings</dfn> for the most commonly used
1132   functions.
1133 </p>
1134
1135 <p>These bindings strive to be <dfn>mnemonic</dfn>, that is, easy and intuitive
1136   to remember, and follow widely accepted conventions. As a general rule,
1137   the first letter of an operation will be used for as a shortcut, if
1138   available. This does not necessarily lead to the best ergonomics for
1139   rapid editing&mdash;there are alternative binding sets for that&mdash;but it does make it simpler for newcomers to remember some of the most
1140   useful ones, for example<br />
1141   <kbd>S</kbd> for <kbd class="menu">Region &gt; Edit &gt; Split"</kbd>
1142   or<br />
1143   <kbd>P</kbd> for <kbd class="menu">Transport &gt; Playhead &gt; Playhead to Mouse</kbd>.
1144 </p>
1145
1146 <p>
1147   Almost every key binding in Ardour can be changed in <kbd class="menu">Window &gt; Key Bindings</kbd>.
1148 </p>
1149
1150 <p>
1151   The conventions for using modifier keys (<kbd class="mod1">&zwnj;</kbd>, <kbd
1152   class="mod2">&zwnj;</kbd>, <kbd class="mod3">&zwnj;</kbd> etc.) differ among platforms, so we provide different default bindings for each.
1153 </p>
1154
1155 ---
1156 title: Mnemonic Bindings for Linux
1157 menu_title: Linux
1158 part: subchapter
1159 ---
1160
1161 <p>
1162   A printable cheat-sheet with the mnemonic bindings for <dfn>Linux</dfn>
1163   is available for download in
1164   <a href="/files/a3_mnemonic_cheatsheet.pdf">US Letter</a> and
1165   <a href="/files/a3_mnemonic_cheatsheet-a4.pdf">A4</a> paper format.
1166 </p>
1167
1168 <p>
1169   This set of bindings assumes an en_US keyboard. However, most if not all
1170   bindings will also work on other keyboards when you use the
1171   <kbd>AltGr</kbd> to compose those glyphs that are not directly accessible.
1172 </p>
1173
1174 <h2>Transport &amp; Recording Control</h2>
1175
1176 <dl class="bindings">
1177 <dt>destroy last recording</dt>
1178 <dd><kbd class="mod1">Del</kbd></dd>
1179 <dt>engage record</dt>
1180 <dd><kbd class="mod3">r</kbd></dd>
1181 <dt>fast forward</dt>
1182 <dd><kbd class="mod3">&rarr;</kbd></dd>
1183 <dt>loop play (the loop range)</dt>
1184 <dd><kbd class="">l</kbd></dd>
1185 <dt>rewind</dt>
1186 <dd><kbd class="mod3">&larr;</kbd></dd>
1187 <dt>set playhead position</dt>
1188 <dd><kbd class="">p</kbd></dd>
1189 <dt>start recording</dt>
1190 <dd><kbd class="mod3">Space</kbd></dd>
1191 <dt>stop (keep loop/range play)</dt>
1192 <dd><kbd class="mod12">Space</kbd></dd>
1193 <dt>stop and destroy</dt>
1194 <dd><kbd class="mod1">Space</kbd></dd>
1195 <dt>toggle auto play</dt>
1196 <dd><kbd class="">5</kbd></dd>
1197 <dt>toggle auto return</dt>
1198 <dd><kbd class="">6</kbd></dd>
1199 <dt>toggle click (metronome)</dt>
1200 <dd><kbd class="">7</kbd></dd>
1201 <dt>toggle playhead follows edits</dt>
1202 <dd><kbd class="mod3">F</kbd></dd>
1203 <dt>toggle playhead tracking</dt>
1204 <dd><kbd class="mod1">F</kbd></dd>
1205 <dt>toggle roll</dt>
1206 <dd><kbd class="">Space</kbd></dd>
1207 <dt>toggle selected track rec-enable </dt>
1208 <dd><kbd class="mod3">b</kbd></dd>
1209 <dt>toggle selected track solo status</dt>
1210 <dd><kbd class="mod2">s</kbd></dd>
1211 <dt>transition to reverse</dt>
1212 <dd><kbd class="mod3">&darr;</kbd></dd>
1213 <dt>transition to roll</dt>
1214 <dd><kbd class="mod3">&uarr;</kbd></dd>
1215 </dl>
1216
1217 <h2>Session &amp; File Handling</h2>
1218
1219 <dl class="bindings">
1220 <dt>add track(s) or bus(ses)</dt>
1221 <dd><kbd class="mod13">n</kbd></dd>
1222 <dt>export session</dt>
1223 <dd><kbd class="mod4">e</kbd></dd>
1224 <dt>import audio files</dt>
1225 <dd><kbd class="mod1">i</kbd></dd>
1226 <dt>open a new session</dt>
1227 <dd><kbd class="mod1">n</kbd></dd>
1228 <dt>open a recent session</dt>
1229 <dd><kbd class="mod13">o</kbd></dd>
1230 <dt>open an existing session</dt>
1231 <dd><kbd class="mod1">o</kbd></dd>
1232 <dt>quit</dt>
1233 <dd><kbd class="mod1">q</kbd></dd>
1234 <dt>save session</dt>
1235 <dd><kbd class="mod1">s</kbd></dd>
1236 <dt>snapshot session</dt>
1237 <dd><kbd class="mod13">s</kbd></dd>
1238 <dt>toggle selected track MIDI input</dt>
1239 <dd><kbd class="mod2">i</kbd></dd>
1240 </dl>
1241
1242 <h2>Changing What's Visible</h2>
1243
1244 <dl class="bindings">
1245 <dt>fit tracks vertically</dt>
1246 <dd><kbd class="">f</kbd></dd>
1247 <dt>move selected tracks down</dt>
1248 <dd><kbd class="mod1">&darr;</kbd></dd>
1249 <dt>move selected tracks up</dt>
1250 <dd><kbd class="mod1">&uarr;</kbd></dd>
1251 <dt>scroll down (page)</dt>
1252 <dd><kbd class="">PgDn</kbd></dd>
1253 <dt>scroll down (step)</dt>
1254 <dd><kbd class="">&darr;</kbd></dd>
1255 <dt>scroll up (page)</dt>
1256 <dd><kbd class="">PgUp</kbd></dd>
1257 <dt>scroll up (step)</dt>
1258 <dd><kbd class="">&uarr;</kbd></dd>
1259 <dt>toggle editor window mixer</dt>
1260 <dd><kbd class="mod3">e</kbd></dd>
1261 <dt>visual undo</dt>
1262 <dd><kbd class="mod3">z</kbd></dd>
1263 <dt>zoom height to selected region(s)</dt>
1264 <dd><kbd class="mod12">z</kbd></dd>
1265 <dt>zoom height and time to selected region</dt>
1266 <dd><kbd class="mod2">z</kbd></dd>
1267 <dt>zoom in</dt>
1268 <dd><kbd class="">=</kbd></dd>
1269 <dt>zoom out</dt>
1270 <dd><kbd class="">-</kbd></dd>
1271 </dl>
1272
1273 <h2>Window Visibility</h2>
1274
1275 <dl class="bindings">
1276 <dt>toggle locations dialog</dt>
1277 <dd><kbd class="mod2">l</kbd>(ell)</dd>
1278 <dt>focus on main clock</dt>
1279 <dd><kbd class="kp">&divide;</kbd></dd>
1280 <dt>maximise editor space</dt>
1281 <dd><kbd class="mod12">f</kbd></dd>
1282 <dt>switch between editor &amp; mixer window</dt>
1283 <dd><kbd class="mod2">m</kbd></dd>
1284 <dt>show rhythm ferret window </dt>
1285 <dd><kbd class="mod2">f</kbd></dd>
1286 <dt>toggle big clock</dt>
1287 <dd><kbd class="mod2">b</kbd></dd>
1288 <dt>toggle color manager</dt>
1289 <dd><kbd class="mod2">c</kbd></dd>
1290 <dt>toggle editor window</dt>
1291 <dd><kbd class="mod2">e</kbd></dd>
1292 <dt>toggle global audio patchbay</dt>
1293 <dd><kbd class="mod2">p</kbd></dd>
1294 <dt>toggle global midi patchbay</dt>
1295 <dd><kbd class="mod23">p</kbd></dd>
1296 <dt>toggle key bindings editor</dt>
1297 <dd><kbd class="mod2">k</kbd></dd>
1298 <dt>toggle preferences dialog</dt>
1299 <dd><kbd class="mod2">o</kbd></dd>
1300 <dt>toggle preferences dialog</dt>
1301 <dd><kbd class="mod13">p</kbd></dd>
1302 </dl>
1303
1304 <h2>Editing with Edit Point</h2>
1305
1306 <p>
1307   Most edit functions operate on a single <dfn>Edit Point</dfn> (EP). The edit
1308   point can be any of: playhead (default), the mouse or an active marker.
1309   The choice of edit point (by default) also sets the <dfn>Zoom Focus</dfn>.
1310 </p>
1311
1312 <dl class="bindings">
1313 <dt>EP to next region sync</dt>
1314 <dd><kbd class="">;</kbd></dd>
1315 <dt>EP to prev region sync</dt>
1316 <dd><kbd class="">'</kbd></dd>
1317 <dt>cycle to next grid snap mode</dt>
1318 <dd><kbd class="">2</kbd></dd>
1319 <dt>cycle to next zoom focus</dt>
1320 <dd><kbd class="">1</kbd></dd>
1321 <dt>insert from region list</dt>
1322 <dd><kbd class="">i</kbd></dd>
1323 <dt>insert time</dt>
1324 <dd><kbd class="mod1">t</kbd></dd>
1325 <dt>move EP to playhead</dt>
1326 <dd><kbd class="mod2">&crarr;</kbd></dd>
1327 <dt>next EP w/marker</dt>
1328 <dd><kbd class="mod1">`</kbd></dd>
1329 <dt>next EP w/o marker</dt>
1330 <dd><kbd class="">`</kbd></dd>
1331 <dt>trim back</dt>
1332 <dd><kbd class="">k</kbd></dd>
1333 <dt>trim front</dt>
1334 <dd><kbd class="">j</kbd></dd>
1335 <dt>trim region end to edit point</dt>
1336 <dd><kbd class="mod3">}</kbd></dd>
1337 <dt>trim region start to edit point</dt>
1338 <dd><kbd class="mod3">{</kbd></dd>
1339 <dt>trim region to end of prev region</dt>
1340 <dd><kbd class="mod1">j</kbd></dd>
1341 <dt>trim region to start of next region</dt>
1342 <dd><kbd class="mod1">k</kbd></dd>
1343 <dt>use previous grid unit</dt>
1344 <dd><kbd class="">3</kbd></dd>
1345 <dt>use next grid unit</dt>
1346 <dd><kbd class="">4</kbd></dd>
1347 <dt>use previous grid unit</dt>
1348 <dd><kbd class="mod1">3</kbd></dd>
1349 <dt>use next musical grid unit</dt>
1350 <dd><kbd class="mod1">4</kbd></dd>
1351 </dl>
1352
1353 <h2>Aligning with the Edit Point</h2>
1354
1355 <p>
1356   <dfn>Align operations</dfn> move regions so that their start/end/sync
1357   point is at the edit point. <dfn>Relative</dfn> operations just align the first
1358   region and moves other selected regions to maintain relative positioning.
1359 </p>
1360
1361 <dl class="bindings">
1362 <dt>align end(s)</dt>
1363 <dd><kbd class="mod2">a</kbd></dd>
1364 <dt>align start(s)</dt>
1365 <dd><kbd class="mod14">a</kbd></dd>
1366 <dt>align start(s) relative</dt>
1367 <dd><kbd class="mod4">a</kbd></dd>
1368 <dt>align sync points</dt>
1369 <dd><kbd class="mod3">a</kbd></dd>
1370 <dt>align sync points (relative)</dt>
1371 <dd><kbd class="">a</kbd></dd>
1372 <dt>range end to next prev edge</dt>
1373 <dd><kbd class="mod1">&gt;</kbd></dd>
1374 <dt>range end to next region edge</dt>
1375 <dd><kbd class="">&gt;</kbd></dd>
1376 <dt>range start to next region edge</dt>
1377 <dd><kbd class="mod1">&lt;</kbd></dd>
1378 <dt>range start to prev region edge</dt>
1379 <dd><kbd class="">&lt;</kbd></dd>
1380 </dl>
1381
1382 <h2>Edit Point Playback</h2>
1383
1384 <dl class="bindings">
1385 <dt>play edit range</dt>
1386 <dd><kbd class="mod2">Space</kbd></dd>
1387 <dt>play from EP &amp; return</dt>
1388 <dd><kbd class="mod4">Space</kbd></dd>
1389 <dt>play selected region(s)</dt>
1390 <dd><kbd class="">h</kbd></dd>
1391 </dl>
1392 <h2>Region Operations</h2>
1393
1394 <dl class="bindings">
1395 <dt>duplicate region (multi)</dt>
1396 <dd><kbd class="mod3">d</kbd></dd>
1397 <dt>duplicate region (once)</dt>
1398 <dd><kbd class="mod2">d</kbd></dd>
1399 <dt>export selected region(s)</dt>
1400 <dd><kbd class="mod14">e</kbd></dd>
1401 <dt>increase region gain</dt>
1402 <dd><kbd class="">^</kbd></dd>
1403 <dt>move to original position</dt>
1404 <dd><kbd class="mod2">o</kbd></dd>
1405 <dt>mute/unmute</dt>
1406 <dd><kbd class="mod1">m</kbd></dd>
1407 <dt>normalize</dt>
1408 <dd><kbd class="">n</kbd></dd>
1409 <dt>nudge backward</dt>
1410 <dd><kbd class="kp">&ndash;</kbd></dd>
1411 <dt>nudge forward</dt>
1412 <dd><kbd class="kp">+</kbd></dd>
1413 <dt>quantize MIDI notes </dt>
1414 <dd><kbd class="">q</kbd></dd>
1415 <dt>reduce region gain</dt>
1416 <dd><kbd class="">&amp;</kbd></dd>
1417 <dt>reverse</dt>
1418 <dd><kbd class="mod2">r</kbd></dd>
1419 <dt>set fade in length</dt>
1420 <dd><kbd class="">/</kbd></dd>
1421 <dt>set fade out length</dt>
1422 <dd><kbd class="">\</kbd></dd>
1423 <dt>set region sync point</dt>
1424 <dd><kbd class="">v</kbd></dd>
1425 <dt>split</dt>
1426 <dd><kbd class="">s</kbd></dd>
1427 <dt>toggle fade in active</dt>
1428 <dd><kbd class="mod1">/</kbd></dd>
1429 <dt>toggle fade out active</dt>
1430 <dd><kbd class="mod1">\</kbd></dd>
1431 <dt>transpose</dt>
1432 <dd><kbd class="mod2">t</kbd></dd>
1433 </dl>
1434
1435 <h2>Generic Editing</h2>
1436
1437 <dl class="bindings">
1438 <dt>copy</dt>
1439 <dd><kbd class="mod1">c</kbd></dd>
1440 <dt>cut</dt>
1441 <dd><kbd class="mod1">x</kbd></dd>
1442 <dt>delete</dt>
1443 <dd><kbd class="">Del</kbd></dd>
1444 <dt>paste</dt>
1445 <dd><kbd class="mod1">v</kbd></dd>
1446 <dt>redo</dt>
1447 <dd><kbd class="mod1">r</kbd></dd>
1448 <dt>undo</dt>
1449 <dd><kbd class="mod1">z</kbd></dd>
1450 </dl>
1451
1452 <h2>Selecting</h2>
1453
1454 <p class="note">
1455   There are  a few functions that refer to an <dfn>Edit Range</dfn>. The
1456   current edit range is defined using combinations of the possible edit
1457   points: <dfn>playhead</dfn>, <dfn>active marker</dfn>, or <dfn>mouse</dfn>.
1458 </p>
1459
1460 <dl class="bindings">
1461 <dt>all after playhead</dt>
1462 <dd><kbd class="mod13">p</kbd></dd>
1463 <dt>all before playhead</dt>
1464 <dd><kbd class="mod1">p</kbd></dd>
1465 <dt>all enclosed by edit range</dt>
1466 <dd><kbd class="mod1">u</kbd></dd>
1467 <dt>all present in edit range</dt>
1468 <dd><kbd class="">u</kbd></dd>
1469 <dt>convert edit range to range</dt>
1470 <dd><kbd class="">F6</kbd></dd>
1471 <dt>invert selection</dt>
1472 <dd><kbd class="mod3">i</kbd></dd>
1473 <dt>select all after EP</dt>
1474 <dd><kbd class="mod13">e</kbd></dd>
1475 <dt>select all before EP</dt>
1476 <dd><kbd class="mod1">e</kbd></dd>
1477 <dt>select all in loop range</dt>
1478 <dd><kbd class="mod1">l</kbd></dd>
1479 <dt>select all in punch range</dt>
1480 <dd><kbd class="mod1">d</kbd></dd>
1481 <dt>select everything</dt>
1482 <dd><kbd class="mod1">a</kbd></dd>
1483 <dt>select next track/bus</dt>
1484 <dd><kbd class="mod2">&darr;</kbd></dd>
1485 <dt>select previous track/bus</dt>
1486 <dd><kbd class="mod2">&uarr;</kbd></dd>
1487 </dl>
1488
1489 <h2>Defining Loop, Punch Range and Tempo Changes</h2>
1490
1491 <dl class="bindings">
1492 <dt>set loop range from edit range</dt>
1493 <dd><kbd class="">]</kbd></dd>
1494 <dt>set loop range from region(s)</dt>
1495 <dd><kbd class="mod2">]</kbd></dd>
1496 <dt>set punch range from edit range</dt>
1497 <dd><kbd class="">[</kbd></dd>
1498 <dt>set punch range from region(s)</dt>
1499 <dd><kbd class="mod2">[</kbd></dd>
1500 <dt>set tempo (1 bar) from edit range</dt>
1501 <dd><kbd class="">0</kbd></dd>
1502 <dt>set tempo (1 bar) from region(s)</dt>
1503 <dd><kbd class="">9</kbd></dd>
1504 </dl>
1505
1506 ---
1507 title: Mnemonic Bindings for OS X
1508 part: subchapter
1509 ---
1510
1511 <p>
1512   A <a href="/files/a3_mnemonic_cheat_sheet_osx.pdf">printable cheat sheet</a>
1513   for these bindings is available for download.
1514 </p>
1515
1516 <h2>Transport &amp; Recording Control</h2>
1517 <dl class="bindings">
1518 <dt>destroy last recording</dt>
1519 <dd><kbd class="mod1">Del</kbd></dd>
1520 <dt>engage record</dt>
1521 <dd><kbd class="mod3">r</kbd></dd>
1522 <dt>fast forward</dt>
1523 <dd><kbd class="mod3">→</kbd></dd>
1524 <dt>loop play (the loop range)</dt>
1525 <dd><kbd class="">l</kbd></dd>
1526 <dt>rewind</dt>
1527 <dd><kbd class="mod3">&larr;</kbd></dd>
1528 <dt>set playhead position</dt>
1529 <dd><kbd class="">p</kbd></dd>
1530 <dt>start recording</dt>
1531 <dd><kbd class="mod3">space</kbd></dd>
1532 <dt>stop (keep loop/range play)</dt>
1533 <dd><kbd class="mod12">space</kbd></dd>
1534 <dt>stop and destroy</dt>
1535 <dd><kbd class="mod1">space</kbd></dd>
1536 <dt>toggle auto play</dt>
1537 <dd><kbd class="">5</kbd></dd>
1538 <dt>toggle auto return</dt>
1539 <dd><kbd class="">6</kbd></dd>
1540 <dt>toggle click (metronome)</dt>
1541 <dd><kbd class="">7</kbd></dd>
1542 <dt>toggle playhead follows edits</dt>
1543 <dd><kbd class="mod3">f</kbd></dd>
1544 <dt>toggle playhead tracking</dt>
1545 <dd><kbd class="mod1">f</kbd></dd>
1546 <dt>toggle roll</dt>
1547 <dd><kbd class="">space</kbd></dd>
1548 <dt>toggle track rec-enable </dt>
1549 <dd><kbd class="mod3">b</kbd></dd>
1550 <dt>toggle track solo status</dt>
1551 <dd><kbd class="mod2">s</kbd></dd>
1552 <dt>transition to reverse</dt>
1553 <dd><kbd class="mod3">&darr;</kbd></dd>
1554 <dt>transition to roll</dt>
1555 <dd><kbd class="mod3">&uarr;</kbd></dd>
1556 </dl>
1557 <h2>Session &amp; File Handling</h2>
1558 <dl class="bindings">
1559 <dt>add track(s) or bus(ses)</dt>
1560 <dd><kbd class="mod13">n</kbd></dd>
1561 <dt>export session</dt>
1562 <dd><kbd class="mod1">e</kbd></dd>
1563 <dt>import audio files</dt>
1564 <dd><kbd class="mod1">i</kbd></dd>
1565 <dt>open a new session</dt>
1566 <dd><kbd class="mod1">n</kbd></dd>
1567 <dt>open a recent session</dt>
1568 <dd><kbd class="mod13">o</kbd></dd>
1569 <dt>open an existing session</dt>
1570 <dd><kbd class="mod1">o</kbd></dd>
1571 <dt>quit</dt>
1572 <dd><kbd class="mod1">q</kbd></dd>
1573 <dt>save session</dt>
1574 <dd><kbd class="mod1">s</kbd></dd>
1575 <dt>snapshot session</dt>
1576 <dd><kbd class="mod13">s</kbd></dd>
1577 <dt>toggle sel. track MIDI input</dt>
1578 <dd><kbd class="mod2">i</kbd></dd>
1579 </dl>
1580 <h2>Changing What's Visible</h2>
1581 <dl class="bindings">
1582 <dt>fit tracks vertically</dt>
1583 <dd><kbd class="">f</kbd></dd>
1584 <dt>move selected tracks down</dt>
1585 <dd><kbd class="mod1">&darr;</kbd></dd>
1586 <dt>move selected tracks up</dt>
1587 <dd><kbd class="mod1">&uarr;</kbd></dd>
1588 <dt>scroll down (page)</dt>
1589 <dd><kbd class="">PgDn</kbd></dd>
1590 <dt>scroll down (step)</dt>
1591 <dd><kbd class="">&darr;</kbd></dd>
1592 <dt>scroll up (page)</dt>
1593 <dd><kbd class="">PageUp</kbd></dd>
1594 <dt>scroll up (step)</dt>
1595 <dd><kbd class="">&uarr;</kbd></dd>
1596 <dt>toggle editor window mixer</dt>
1597 <dd><kbd class="mod3">e</kbd></dd>
1598 <dt>toggle last 2 zoom states</dt>
1599 <dd><kbd class="mod3">z</kbd></dd>
1600 <dt>zoom height to selected region(s)</dt>
1601 <dd><kbd class="mod1">Control+z</kbd></dd>
1602 <dt>zoom height and time to selected region</dt>
1603 <dd><kbd class="mod2">z</kbd></dd>
1604 <dt>zoom in</dt>
1605 <dd><kbd class="">=</kbd></dd>
1606 <dt>zoom out</dt>
1607 <dd><kbd class="">-</kbd></dd>
1608 </dl>
1609 <h2>Window Visibility</h2>
1610 <dl class="bindings">
1611 <dt>toggle locations dialog</dt>
1612 <dd><kbd class="mod2">l</kbd></dd>
1613 <dt>focus on main clock</dt>
1614 <dd><kbd class="kp">&divide;</kbd></dd>
1615 <dt>maximise editor space</dt>
1616 <dd><kbd class="mod12">f</kbd></dd>
1617 <dt>rotate editor &amp; mixer window</dt>
1618 <dd><kbd class="mod2">m</kbd></dd>
1619 <dt>show rhythm ferret window </dt>
1620 <dd><kbd class="mod2">f</kbd></dd>
1621 <dt>toggle big clock</dt>
1622 <dd><kbd class="mod2">b</kbd></dd>
1623 <dt>toggle color manager</dt>
1624 <dd><kbd class="mod2">c</kbd></dd>
1625 <dt>toggle editor window</dt>
1626 <dd><kbd class="mod2">e</kbd></dd>
1627 <dt>toggle global audio patchbay</dt>
1628 <dd><kbd class="mod2">p</kbd></dd>
1629 <dt>toggle global midi patchbay</dt>
1630 <dd><kbd class="mod23">p</kbd></dd>
1631 <dt>toggle key bindings editor</dt>
1632 <dd><kbd class="mod2">k</kbd></dd>
1633 <dt>toggle preferences dialog</dt>
1634 <dd><kbd class="mod2">o</kbd></dd>
1635 <dt>toggle preferences dialog</dt>
1636 <dd><kbd class="mod13">p</kbd></dd>
1637 </dl>
1638
1639 <h2>Editing with Edit Point</h2>
1640 <p>
1641   Most edit functions operate on a single <dfn>Edit Point</dfn> (EP). The
1642   edit
1643   point can be any of: playhead (default), the mouse or an active marker.
1644   The choice of edit point (by default) also sets the <dfn>Zoom Focus</dfn>.
1645 </p>
1646
1647 <dl class="bindings">
1648 <dt>EP to next region sync</dt>
1649 <dd><kbd class="">;</kbd></dd>
1650 <dt>EP to prev region sync</dt>
1651 <dd><kbd class="">'</kbd></dd>
1652 <dt>cycle to next grid snap mode</dt>
1653 <dd><kbd class="">2</kbd></dd>
1654 <dt>cycle to next zoom focus</dt>
1655 <dd><kbd class="">1</kbd></dd>
1656 <dt>insert from region list</dt>
1657 <dd><kbd class="">i</kbd></dd>
1658 <dt>insert time</dt>
1659 <dd><kbd class="mod1">t</kbd></dd>
1660 <dt>move EP to playhead</dt>
1661 <dd><kbd class="mod2">Return</kbd></dd>
1662 <dt>next EP w/marker</dt>
1663 <dd><kbd class="mod1">^</kbd></dd>
1664 <dt>next EP w/o marker</dt>
1665 <dd><kbd class="">`</kbd></dd>
1666 <dt>trim back</dt>
1667 <dd><kbd class="">k</kbd></dd>
1668 <dt>trim front</dt>
1669 <dd><kbd class="">j</kbd></dd>
1670 <dt>trim region end to edit point</dt>
1671 <dd><kbd class="mod3">}</kbd></dd>
1672 <dt>trim region start to edit point</dt>
1673 <dd><kbd class="mod3">{</kbd></dd>
1674 <dt>trim region to end of prev region</dt>
1675 <dd><kbd class="mod1">j</kbd></dd>
1676 <dt>trim region to start of next region</dt>
1677 <dd><kbd class="mod1">k</kbd></dd>
1678 <dt>use previous grid unit</dt>
1679 <dd><kbd class="">3</kbd></dd>
1680 <dt>use next grid unit</dt>
1681 <dd><kbd class="">4</kbd></dd>
1682 <dt>use previous grid unit</dt>
1683 <dd><kbd class="mod1">3</kbd></dd>
1684 <dt>use next musical grid unit</dt>
1685 <dd><kbd class="mod1">4</kbd></dd>
1686 </dl>
1687
1688 <h2>Aligning with the Edit Point</h2>
1689 <p>
1690   <dfn>Align operations</dfn> move regions so that their start/end/sync
1691   point is at the edit point. <dfn>Relative</dfn> operations just align
1692   the first region and moves other selected regions to maintain relative
1693   positioning.
1694 </p>
1695
1696 <dl class="bindings">
1697 <dt>align end(s)</dt>
1698 <dd><kbd class="mod2">a</kbd></dd>
1699 <dt>align start(s)</dt>
1700 <dd></dd>
1701 <dt>align start(s) relative</dt>
1702 <dd><kbd class=""></kbd></dd>
1703 <dt>align sync points</dt>
1704 <dd><kbd class="mod3">a</kbd></dd>
1705 <dt>align sync points (relative)</dt>
1706 <dd><kbd class="">a</kbd></dd>
1707 <dt>range end to next prev edge</dt>
1708 <dd><kbd class="mod1">&gt;</kbd></dd>
1709 <dt>range end to next region edge</dt>
1710 <dd><kbd class="">&gt;</kbd></dd>
1711 <dt>range start to next region edge</dt>
1712 <dd><kbd class="mod1">&lt;</kbd></dd>
1713 <dt>range start to prev region edge</dt>
1714 <dd><kbd class="">&lt;</kbd></dd>
1715 </dl>
1716
1717 <h2>Edit Point Playback</h2>
1718
1719 <dl class="bindings">
1720 <dt>play edit range</dt>
1721 <dd><kbd class="mod2">Space</kbd></dd>
1722 <dt>play from EP &amp; return</dt>
1723 <dd><kbd class="mod1">Space</kbd></dd>
1724 <dt>play selected region(s)</dt>
1725 <dd><kbd class="">h</kbd></dd>
1726 </dl>
1727 <h2>Region Operations</h2>
1728 <dl class="bindings">
1729 <dt>duplicate region (multi)</dt>
1730 <dd><kbd class="mod3">d</kbd></dd>
1731 <dt>duplicate region (once)</dt>
1732 <dd><kbd class="mod2">d</kbd></dd>
1733 <dt>export selected region(s)</dt>
1734 <dd></dd>
1735 <dt>increase region gain</dt>
1736 <dd><kbd class="">^</kbd></dd>
1737 <dt>move to original position</dt>
1738 <dd><kbd class="mod2">o</kbd></dd>
1739 <dt>mute/unmute</dt>
1740 <dd><kbd class="mod1">m</kbd></dd>
1741 <dt>normalize</dt>
1742 <dd><kbd class="">n</kbd></dd>
1743 <dt>nudge backward</dt>
1744 <dd><kbd class="kp">&ndash;</kbd></dd>
1745 <dt>nudge forward</dt>
1746 <dd><kbd class="kp">+</kbd></dd>
1747 <dt>quantize MIDI notes </dt>
1748 <dd><kbd class="">q</kbd></dd>
1749 <dt>reduce region gain</dt>
1750 <dd><kbd class="">&amp;</kbd></dd>
1751 <dt>reverse</dt>
1752 <dd><kbd class="mod2">r</kbd></dd>
1753 <dt>set fade in length</dt>
1754 <dd><kbd class="">/</kbd></dd>
1755 <dt>set fade out length</dt>
1756 <dd><kbd class="">\</kbd></dd>
1757 <dt>set region sync point</dt>
1758 <dd><kbd class="">v</kbd></dd>
1759 <dt>split</dt>
1760 <dd><kbd class="">s</kbd></dd>
1761 <dt>toggle fade in active</dt>
1762 <dd><kbd class="mod1">/</kbd></dd>
1763 <dt>toggle fade out active</dt>
1764 <dd><kbd class="mod1">\</kbd></dd>
1765 <dt>transpose</dt>
1766 <dd><kbd class="mod2">t</kbd></dd>
1767 </dl>
1768
1769 <h2>Generic Editing</h2>
1770
1771 <dl class="bindings">
1772 <dt>copy</dt>
1773 <dd><kbd class="mod1">c</kbd></dd>
1774 <dt>cut</dt>
1775 <dd><kbd class="mod1">x</kbd></dd>
1776 <dt>delete</dt>
1777 <dd><kbd class="">Del</kbd></dd>
1778 <dt>paste</dt>
1779 <dd><kbd class="mod1">v</kbd></dd>
1780 <dt>redo</dt>
1781 <dd><kbd class="mod1">r</kbd></dd>
1782 <dt>undo</dt>
1783 <dd><kbd class="mod1">z</kbd></dd>
1784 </dl>
1785
1786 <h2>Selecting</h2>
1787 <p class="note">
1788   There are  a few functions that refer to an <dfn>Edit Range</dfn>. The
1789   current edit range is defined using combinations of the possible edit
1790   points: <dfn>playhead</dfn>, <dfn>active marker</dfn>, or<dfn>mouse</dfn>.
1791 </p>
1792
1793 <dl class="bindings">
1794 <dt>all after playhead</dt>
1795 <dd><kbd class="mod13">p</kbd></dd>
1796 <dt>all before playhead</dt>
1797 <dd><kbd class="mod1">p</kbd></dd>
1798 <dt>all enclosed by edit range</dt>
1799 <dd><kbd class="mod1">u</kbd></dd>
1800 <dt>all present in edit range</dt>
1801 <dd><kbd class="">u</kbd></dd>
1802 <dt>convert edit range to range</dt>
1803 <dd><kbd class="">F6</kbd></dd>
1804 <dt>invert selection</dt>
1805 <dd><kbd class="mod3">i</kbd></dd>
1806 <dt>select all after EP</dt>
1807 <dd><kbd class="mod1">Shift+e</kbd></dd>
1808 <dt>select all before EP</dt>
1809 <dd><kbd class="mod1">e</kbd></dd>
1810 <dt>select all in loop range</dt>
1811 <dd><kbd class="mod1">l</kbd></dd>
1812 <dt>select all in punch range</dt>
1813 <dd><kbd class="mod1">d</kbd></dd>
1814 <dt>select everything</dt>
1815 <dd><kbd class="mod1">a</kbd></dd>
1816 <dt>select next track/bus</dt>
1817 <dd><kbd class="mod2">↓</kbd></dd>
1818 <dt>select previous track/bus</dt>
1819 <dd><kbd class="mod2">↑</kbd></dd>
1820 </dl>
1821 <h2>Defining Loop, Punch Range and Tempo Changes</h2>
1822 <dl class="bindings">
1823 <dt>set loop range from edit range</dt>
1824 <dd><kbd class="">]</kbd></dd>
1825 <dt>set loop range from region(s)</dt>
1826 <dd><kbd class="mod2">]</kbd></dd>
1827 <dt>set punch range from edit range</dt>
1828 <dd><kbd class="">[</kbd></dd>
1829 <dt>set punch range from region(s)</dt>
1830 <dd><kbd class="mod2">[</kbd></dd>
1831 <dt>set tempo (1 bar) from edit range</dt>
1832 <dd><kbd class="">0</kbd></dd>
1833 <dt>set tempo (1 bar) from region(s)</dt>
1834 <dd><kbd class="">9</kbd></dd>
1835 </dl>
1836
1837
1838
1839
1840 ---
1841 title: System Configuration
1842 part: part
1843 ---
1844
1845
1846 ---
1847 title: Ardour Systems
1848 part: chapter
1849 ---
1850
1851
1852 ---
1853 title: The Right Computer System for Digital Audio
1854 menu_title: The Right Computer System
1855 part: subchapter
1856 ---
1857
1858 <p>
1859   It would be nice to think that you could just go and buy any computer,
1860   install a bit of software on it and start using it to record and create
1861   music. This idea isn't wrong, but there some important details that it
1862   misses.
1863 </p>
1864 <p>
1865   Any computer that you can buy today (since somewhere around the end of
1866   2012) is capable of recording and processing a lot of audio data. It
1867   will come with a builtin audio interface that can accept inputs from
1868   microphones or electrical instruments. It will have a disk with a huge
1869   amount of space for storing audio files.
1870 </p>
1871 <p>
1872   When you are recording, editing and mixing music, you generally want to
1873   work with very little <dfn>latency</dfn> between the time that
1874   a sound is generated and when you can hear it. When the audio signal
1875   flows through a computer, that means that the computer has to be able to
1876   receive the signal, process it and send it back out again as fast as
1877   possible.<br />
1878   And that is where it becomes very important <em>what</em> computer system
1879   you have, because it is <strong>absolutely not</strong> the case that any
1880   computer can do this job well.
1881 </p>
1882 <p>
1883   Routing audio through a computer will always cause some delay, but if it
1884   is small, you will generally never notice it. There are also ways to work
1885   in which the delay does not matter at all (for example, not sending the
1886   output from the computer to speakers).
1887 </p>
1888 <p>
1889   The latency that you want for working with digital audio is typically in
1890   the 1&ndash;5&nbsp;ms range. For comparison, if you are sitting 1&nbsp;m
1891   (3&nbsp;ft) from your speakers, the time the sound takes to reach your
1892   ears is about 3&nbsp;ms. Any modern computer can limit the delay to
1893   100&nbsp;ms. Most can keep it under 50&nbsp;ms. Many will be able to get
1894   down to 10&nbsp;ms without too much effort. If you try to reduce the delay
1895   on a computer that cannot meet your goal, you will get clicks and
1896   glitches in the audio, which is clearly extremely undesirable.
1897 </p>
1898
1899 <h2>Hardware-related Considerations</h2>
1900 <dl class="wide-table">
1901   <dt>Video interface</dt>
1902   <dd>Poorly engineered video interfaces (and/or their device drivers) can
1903   "steal" computer resources for a long time, preventing the audio interface
1904   from keeping up with the flow of data</dd>
1905   <dt>Wireless interface</dt>
1906   <dd>Poorly engineered wireless networking interfaces (and/or their device
1907   drivers) can also block the audio interface from keeping up with the flow
1908   of data</dd>
1909   <dt><abbr title="Universal Serial Bus">USB</abbr> ports</dt>
1910   <dd>If you are using an audio interface connected via USB, and sometimes
1911   even if you are not, the precise configuration of your system's USB ports
1912   can make a big difference. There are many cases where plugging the
1913   interface into one port will work, but using different USB port results
1914   in much worse performance. This has been seen even on Apple systems.
1915   </dd>
1916   <dt>Internal USB Hubs</dt>
1917   <dd>Ideally, you'd like your USB ports to all connect directly to the
1918   main bus inside the computer. Some laptops (and possibly some
1919   desktop systems) come wired with an internal USB hub between the
1920   ports and the system bus, which can then cause problems for various
1921   kinds of external USB devices, including some models of audio
1922   interfaces. It is very difficult to discover whether this is true or
1923   not, without simplying trying it out.</dd>
1924   <dt><abbr title="Central Processing Unit">CPU</abbr> speed control</dt>
1925   <dd>Handling audio with low latency requires that your processor keeps
1926   running at its highest speed at all times. Many portable systems try to
1927   regulate processor speed in order to save power&mdash;for low latency
1928   audio, you want this totally disabled, either in the BIOS or at the OS
1929   level.</dd>
1930   <dt>Excessive Interrupt Sharing</dt>
1931   <dd>If your audio interface is forced by your computer to share an
1932   interrupt line (basically a way to tell the CPU that something needs
1933   its attention) with too many, or the wrong, other devices, this can also
1934   prevent the audio interface from keeping up with the flow of data. In
1935   laptops it is generally impossible to do anything about this. In many
1936   desktop systems, it is possible at the BIOS level to reassign interrupts
1937   to work around the problem.</dd>
1938   <dt><abbr title="System Management Interrupt">SMI</abbr>s</dt>
1939   <dd>SMIs are interrupts sent by the motherboard to tell the computer
1940   about the state of various hardware. They cannot safely be disabled,
1941   but they can also take a relatively long time to process. It is better
1942   to have a motherboard which never sends SMIs at all&mdash; this is
1943   also a requirement for realtime stock trading systems, which have
1944   similar issues with latency.</dd>
1945   <dt>Hyperthreading</dt>
1946   <dd>This technology is becoming less common as actual multi-core CPUs
1947   become the norm, but it still exists and is generally not good for
1948   realtime performance. Sometimes you can disable this in the BIOS,
1949   sometimes you cannot. A processor that uses hyperthreading will be
1950   less stable in very low latency situations than one without.</dd>
1951   <dt>Excessive vibration</dt>
1952   <dd>This doesn't affect the flow of data to/from the audio interface,
1953   but it can cause the flow of data to/from your disk storage to become
1954   <em>much</em> slower. If you are going to use a computer in an
1955   environment with loud live sound (specifically, high bass volume),
1956   make sure to place it so that the disk is not subject to noticeable
1957   vibration. The vibrations will physically displace the head-write
1958   heads of disk, and the resulting errors will force a retry of the
1959   reading from the disk. Retrying over and over massively reduces the
1960   rate at which data can be read from the disk. Avoid this.</dd>
1961 </dl>
1962
1963 ---
1964 title: Mouse
1965 part: subchapter
1966 ---
1967
1968 <p>
1969   Ardour is designed to work best with a <dfn>three button mouse</dfn>
1970   equipped with a <dfn>scroll wheel</dfn>.
1971 </p>
1972
1973 <p>
1974   It can be used with a two button mouse or touchpad, but at least two key
1975   operations will not (easily) be available to you:
1976 </p>
1977
1978 <ul>
1979   <li>time-constrained region copying</li>
1980   <li><a href="/using-control-surfaces/midi-learn/"><abbr title="Musical
1981   Instrument Digital Interface">MIDI</abbr> bindings</a>
1982   created by "learning" them from incoming MIDI data</li>
1983 </ul>
1984
1985 <p>
1986   You are strongly encouraged to invest in a three-button mouse. You will
1987   find that a good quality mouse (especially one with a weighted,
1988   latchable scroll wheel) will make your use of Ardour vastly more
1989   efficient. They are cheap, and time is not.
1990 </p>
1991
1992 <p>
1993   For more detailed instructions, see
1994   <a href="/ardours-interface/basic-gui-operations/using-the-mouse/">Using the mouse</a>.
1995 </p>
1996
1997
1998 ---
1999 title: System Setup
2000 part: chapter
2001 ---
2002
2003
2004 ---
2005 title: Setting Up Your System
2006 part: subchapter
2007 ---
2008
2009 <p>
2010   Using a general purpose computer for recording digital audio is not
2011   trivial. This chapter will guide you through the basic steps and help
2012   you with some of the most common pitfalls on the way to a reliable and
2013   powerful audio workstation.
2014 </p>
2015
2016 ---
2017 title: Platform Specifics
2018 part: subchapter
2019 ---
2020
2021 <h2>Platform Specifics</h2>
2022
2023 <p>
2024   This section of the manual collects together the collective wisdom
2025   of the user community regarding details of using Ardour on various
2026   specific platforms
2027 </p>
2028
2029 ---
2030 title: Ubuntu Linux
2031 part: subchapter
2032 ---
2033
2034 <p>
2035   <dfn>Ubuntu Linux</dfn> is the most popular variety of Linux in use on desktop
2036   and laptop systems. It has the backing of a for-profit corporation
2037   (Canonical Inc.), a defined philosophy and a huge and
2038   worldwide user base. As a result, it is a common platform for people
2039   who want to use Ardour and other tools for music creation and
2040   pro-audio work.
2041 </p>
2042
2043 <h2>High Level Recommendations for Ubuntu Users</h2>
2044 <p>
2045   Currently, installing pro audio applications on vanilla Ubuntu requires
2046   some configuration, in order for the user to gain realtime privilege
2047   (read below).
2048   Ubuntu Studio, which is an official flavor of Ubuntu, and thus shares
2049   the repositories with Ubuntu, has this already configured.
2050   Other distributions, such as KXStudio, and Dreamstudio are largely based
2051   on Ubuntu, and like Ubuntu Studio, has these settings preconfigured, while
2052   also containing customized versions of Ubuntu packages, which often are
2053   more up to date.
2054 </p>
2055
2056 <h2>Installing Ardour</h2>
2057 <p>
2058   There may be unintended differences, and even bugs in Ubuntu native
2059   packages, as a result of a different building method. For this reason,
2060   Ardour developers highly recommend you to install the official
2061   ready-to-run version of the program that you can get from <a
2062   href="https://community.ardour.org/download">ardour.org</a>, as Ubuntu native
2063   packages are not supported in official Ardour forums or other
2064   support channels.
2065 </p>
2066 <p>
2067   Follow these steps to install the latest version of Ardour.
2068   <ol>
2069   <li>Download the latest release from <a href="https://community.ardour.org/download">
2070     ardour.org</a>.</li>
2071   <li><kbd class="mouse">Right+Click</kbd> the downloaded file and choose
2072     properties.</li>
2073   <li>Click the Permissions tab and check the option "Allow this file to
2074     run as a program"</li>
2075   <li>Close the dialog and double-click the file.</li>
2076   <li>Follow the prompts.</li>
2077 </ol>
2078 </p>
2079
2080 <h2>Problems with the interaction between PulseAudio and JACK</h2>
2081
2082 <h3>Background Info</h3>
2083 <p>
2084   Like many distributions, Ubuntu has decided to use <dfn>PulseAudio</dfn> as the
2085   default audio system. PulseAudio is a rich and capable system that
2086   provides excellent services for typical users of Linux on the
2087   desktop. However, it is not capable of the type of performance that
2088   tools like Ardour require and in particular does not offer the
2089   possibility of sending audio between applications that can make the
2090   Linux audio environment a very interesting one.
2091 </p>
2092 <p>
2093   This would not be a problem if it were not for the fact that JACK
2094   will not run correctly (if at all) if it needs to use the same
2095   soundcard/audio interface that PulseAudio is using. And since on
2096   Ubuntu, PulseAudio is configured by default to always use the
2097   (typically single) audio interface on your computer, this is a bit
2098   of a problem.
2099 </p>
2100 <p>
2101   The developers of JACK and PulseAudio got together in 2009 and
2102   agreed upon a mechanism by which PulseAudio and JACK could cooperate
2103   in their use of a single soundcard. Whether or not PulseAudio is running by
2104   default, when JACK starts up it sends out a request to use the
2105   soundcard. If PulseAudio is running, it will give up its use of the
2106   soundcard to allow JACK to take over (and can optionally be told to
2107   route its own audio through JACK). When JACK finishes, it sends out
2108   another message, and PulseAudio can once again use the soundcard
2109   directly.
2110 </p>
2111 <h3>What is the problem?</h3>
2112 <p>
2113   The specific issues known at this time for all flavors of Ubuntu
2114   12.04 and 12.10 are:
2115 </p>
2116   <ul>
2117     <li>a bug in PulseAudio that causes it not to give up the
2118       soundcard when JACK asks
2119       (<a href="https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1163638">LP:
2120       #1163638</a>,
2121       fixed in Ubuntu 13.04).</li>
2122   </ul>
2123
2124 <h3>Symptoms</h3>
2125 <p>
2126     <samp>Cannot start JACK</samp> (though see the next section for other
2127       causes of this)
2128 </p>
2129
2130 <h3>How to fix</h3>
2131 <p>
2132   These bugs do not affect releases from 13.04, and earlier releases
2133   (12.04 and 12.10) are in the process of being fixed.
2134 </p>
2135
2136 <h2>Problems with JACK configuration</h2>
2137
2138 <h3>What is the problem?</h3>
2139     <p>
2140       To function as intended, JACK needs to run with access to two
2141       operating system facilities called <dfn>realtime scheduling</dfn> and
2142       <dfn>memory locking</dfn>. This means that you, the user who starts JACK, must be
2143       allowed access to these facilities. By default, Ubuntu does create a
2144       user group that has this permission but&mdash;it does not put new
2145       users into this group by default. Read more about why <a href="https://wiki.ubuntu.com/Audio/TheAudioGroup">here</a>.
2146       Consequently, you will not have permission to run JACK in the way you should.
2147     </p>
2148 <h3>Symptoms</h3>
2149     <p>
2150       A message like <samp>Cannot lock down memory</samp> in the output from JACK as
2151       it starts up. This output may be hidden in the Messages window of
2152       QJackctrl (aka JACK Control), so you should check there.
2153     </p>
2154
2155 <h3>How to fix</h3>
2156     <p>
2157       Make sure the file /etc/security/limits.d/audio.conf exists. If it is
2158       named /etc/security/limits.d/audio.conf.disabled, rename it to the former.
2159       Run the command
2160     </p>
2161     <kbd class="cmd lin">sudo usermod -a -G audio
2162     <em>YOUR-LOGIN-NAME</em></kbd>
2163     <p>
2164       Then log out and log in again. On Ubuntu Studio the user is a member of audio
2165       group by default, but not on other official flavors.
2166     </p>
2167
2168 <h2>Reporting Issues</h2>
2169
2170 <p>
2171   Given the difficulties in supporting Ubuntu and the limited time/resources
2172   of the Ardour team, the <dfn>Ubuntu Studio Project</dfn> has requested that
2173   issues and bug reports related to Ubuntu, Ubuntu Studio and other
2174   derivitives be directed to them.
2175 </p>
2176
2177 <h3>Contact Information for Ubuntu Studio</h3>
2178
2179 <p><a href="http://ubuntustudio.org">The Ubuntu Studio Homepage</a></p>
2180
2181 <p><a href="http://ubuntuforums.org/forumdisplay.php?f=335">The Ubuntu Studio Forums.</a></p>
2182
2183 <p><a href="https://help.ubuntu.com/community/UbuntuStudio/MailLists">Information on the Ubuntu Studio Mailing Lists.</a></p>
2184
2185 <p><a href="https://help.ubuntu.com/community/UbuntuStudio/IRC">Information on the Ubuntu Studio IRC channel.</a> #ubuntustudio on irc.freenode.net</p>
2186
2187 ---
2188 title: Microsoft Windows
2189 part: subchapter
2190 ---
2191
2192 <p>
2193   <dfn>Microsoft Windows</dfn> is not currently officially supported. If you are
2194   willing to live with bugs and <b>help to test</b> this platform, read on.
2195 </p>
2196
2197 <h2>Installing Ardour</h2>
2198
2199 <p>
2200   <ol>
2201     <li>Download the latest windows build from <a href="http://nightly.ardour.org/">
2202       the nightly build page</a>.</li>
2203     <li>Run the installer and follow the prompts.</li>
2204   </ol>
2205 </p>
2206
2207 <h2>How to help</h2>
2208
2209 <p>
2210   <ul>
2211     <li>Hang out in #ardour-windows on irc.freenode.net. You may ask questions
2212       there and if you can, answer questions that others have.</li>
2213     <li>Keep an eye on the <a href="https://community.ardour.org/forum/27"> Windows
2214       forum</a> and contribute to the discussions there.</li>
2215     <li>Update this manual via pull requests on <a href="https://github.com/Ardour/manual">github<a/>.</li>
2216   </ul>
2217 </p>
2218
2219 ---
2220 title: KDE Plasma 5
2221 part: subchapter
2222 ---
2223
2224 <p>
2225   Under <dfn>KDE Plasma 5</dfn>, plugin and various other windows will not stay
2226   on top of any main window; therefore a workaround is required.
2227 </p>
2228
2229 <h2>Workaround for ancillary windows not staying on top in KDE Plasma 5</h2>
2230
2231 <p>
2232   In order to force ancillary windows in Ardour to stay on top, the following
2233   steps are necessary:
2234 </p>
2235
2236 <ol>
2237   <li>Launch the <kbd class="menu">System Settings</kbd> application.</li>
2238   <li>Open <kbd class="menu">Workspace &gt; Window Managment</kbd>.</li>
2239   <li>Select <kbd class="menu">Window Rules</kbd> in the left-hand sidebar. It
2240   should default to the <kbd class="menu">Window matching</kbd> tab.</li>
2241   <li>Click on the <kbd class="button">New...</kbd> button.</li>
2242   <li>On the line that says <kbd class="menu">Window class (application)</kbd>,
2243   set the combo box to <kbd class="menu">Substring Match</kbd> and type <kbd
2244   class="user">ardour</kbd> in the text entry field.</li>
2245   <li>In the list box that is labeled <kbd class="menu">Window types:</kbd>,
2246   click on the option <kbd class="menu">Dialog Window</kbd>, then press and
2247   hold <kbd>Ctrl</kbd> while clicking on the second option <kbd
2248   class="menu">Utility Window</kbd>.</li>
2249   <li>Select the <kbd class="menu">Arrangement & Access</kbd> tab.</li>
2250   <li>Check the box next to the <kbd class="menu">Keep above</kbd> option. On
2251   the same line, select <kbd class="menu">Force</kbd> from the combo box, then
2252   click on the <kbd class="menu">Yes</kbd> radio button for that line.</li>
2253   <li>Click on the <kbd class="button">OK</kbd> button to dismiss the dialog.
2254   </li>
2255 </ol>
2256
2257 <p>
2258   At this point you can close the <kbd class="menu">System Settings</kbd>
2259   application.
2260 </p>
2261
2262 <h3>Background Info</h3>
2263
2264 <p>
2265   <a href="https://bugs.kde.org/show_bug.cgi?id=172615#c26">According to one of
2266   the lead KDE developers</a>, they are not willing to follow the <abbr
2267   title="Inter-Client Communication Conventions Manual">ICCCM</abbr> standard
2268   for utility windows. Apparently they are alone in this understanding, as
2269   plugin windows on Ardour under Linux work out of the box on every other <abbr
2270   title="Window Manager">WM</abbr> out there.
2271 </p>
2272
2273 <p>
2274   Under KDE 4, there was a workaround in Ardour (<kbd class="menu">Preferences
2275   &gt; Theme &gt; All floating windows are dialogs</kbd>) that would "trick"
2276   KDE into forcing certain window types to be on top of their parent windows,
2277   but this no longer works under KDE Plasma 5.
2278 </p>
2279
2280
2281 ---
2282 title: I/O Setup
2283 part: chapter
2284 ---
2285
2286
2287 ---
2288 title: Connecting Audio and MIDI Devices
2289 part: subchapter
2290 ---
2291
2292 <p class="fixme">Add content</p>
2293
2294 ---
2295 title: Using More Than One Audio Device
2296 part: subchapter
2297 ---
2298
2299 <p>
2300   Ardour will only ever deal with a single <dfn>audio device</dfn>. If you
2301   want to use more than one, you have two choices:
2302 </p>
2303
2304 <ul>
2305   <li>
2306     If you want to use Ardour to start JACK (which handles all
2307     audio I/O) you will need to create a "fake" audio device on your
2308     computer the represents all the multiple devices you wish to
2309     use. How to do this is platform dependent and described below.
2310   </li>
2311   <li>
2312     Use a different tool to start JACK and manage all the devices.
2313   </li>
2314 </ul>
2315
2316 <p>
2317   Ardour is fundamentally designed to be a component in a
2318   pro-audio/music creation environment. Standard operating practice
2319   for such setups involves using only a single digital <dfn>sample
2320   clock</dfn> (something counting off the time between audio samples).
2321   This means that trying to use multiple independent soundcards is
2322   problematic, because each soundcard has its own sample clock, running
2323   independently from the others. Over time, these different clocks
2324   <dfn>drift</dfn>
2325   out of sync with each other, which causes glitches in the audio. You
2326   cannot stop this drift, although in some cases the effects may be
2327   insignificant enough that some people might not care about them.
2328 </p>
2329
2330 <p>
2331   Thus in an ideal world you should not use multiple independent
2332   soundcards but instead use a single device with a single clock and all
2333   the inputs, outputs and other features that you need.
2334 </p>
2335
2336 <p>
2337   Of course, a lot of people don't live in an ideal world, and believe
2338   that software should make up for this.
2339 </p>
2340
2341 <h2>OS X</h2>
2342 <p>
2343   In CoreAudio, <dfn>aggregate devices</dfn> provide a method to use
2344   multiple soundcards as a single device. For example, you can
2345   aggregate two 8-channel devices so that you can record 16 channels
2346   into Ardour.
2347 </p>
2348 <div class="note">
2349 <p>
2350   If you are using a <em>single</em> typical 3rd party
2351   audio interface (such as those from Apogee, RME, Presonus, and many
2352   others), <em>or</em> you are using JackPilot or a similar
2353   application to start JACK, you do not need to worry about this.<br />
2354   You will need to set up an aggregate device only if either
2355   of the following conditions are true:
2356 </p>
2357 <ul>
2358   <li>You want to use two entirely separate
2359     devices <em>and</em> want to start JACK using Ardour.</li>
2360   <li>You want to use your <dfn>builtin audio device</dfn> <em>and</em>
2361     want to start JACK using Ardour.</li>
2362   <li>You want to use more than two entirely separate devices</li>
2363 </ul>
2364 </div>
2365 <p>
2366   In the case of your builtin audio device, you will need to create
2367   an aggregate device that combines "Builtin Input" and "Builtin
2368   Output" into one device.
2369 </p>
2370 <p>
2371   The precise instructions for creating an aggregate device on OS X
2372   have varied from one released to another. Please read <a href="https://support.apple.com/en-us/HT202000">https://support.apple.com/en-us/HT202000</a>
2373 </p>
2374
2375 <h2>Linux</h2>
2376 <p>
2377   Please see the instructions at <a href="http://jackaudio.org/faq" title="http://jackaudio.org/faq">http://jackaudio.org/faq</a>
2378 </p>
2379
2380
2381 ---
2382 title: Preferences
2383 part: chapter
2384 ---
2385
2386
2387 ---
2388 title: Preferences and Session Properties
2389 part: subchapter
2390 ---
2391
2392 <p>
2393   Ardour splits its configuration options into two categories:
2394 </p>
2395 <ul>
2396   <li>
2397     Global <dfn>preferences</dfn> control general workflow and system
2398     configuration, and should apply to all sessions. They are located in
2399     <kbd class="menu">Edit &gt; Preferences</kbd> and stored in
2400     Ardour's <dfn>user configuration file</dfn> in your home directory.
2401   </li>
2402   <li><dfn>Session properties</dfn> control aspects of the workflow or
2403     configuration that pertain to the current session only. You can find them
2404     in <kbd class="menu">Session &gt; Properties</kbd>, and they will be stored
2405     in the session file.
2406   </li>
2407 </ul>
2408
2409 ---
2410 title: Global Preferences Dialog
2411 menu_title: Global Preferences
2412 part: subchapter
2413 ---
2414
2415 <p>
2416   These preferences apply to all Ardour sessions.
2417 </p>
2418
2419 <img src="/images/a4_preferences_misc.png" alt="ardour preferences
2420 dialog"/>
2421
2422 ---
2423 title: Global Misc Tab
2424 menu_title: Misc Tab
2425 part: subchapter
2426 ---
2427
2428 <p>
2429   This tab contains settings that do not belong on the other tabs.
2430 </p>
2431
2432 <img src="/images/a4_preferences_misc.png" alt="preferences
2433 misc tab"/>
2434
2435 <ul>
2436   <li>
2437     <p>
2438       <strong>DSP CPU Utilization</strong> sets how many cpu processors can be
2439       used to do signal processing. It can be set to use one up to all
2440       processors.
2441     </p>
2442   </li>
2443
2444   <li>
2445     <p>
2446       <dfn>Undo</dfn>
2447     </p>
2448     <ul>
2449       <li>
2450         <p>
2451           <strong>Limit undo history</strong> sets how many commands can be
2452           undone using <kbd class="mod1">Z</kbd> or
2453           <kbd class="menu">Edit &gt; Undo</kbd>.
2454         </p>
2455       </li>
2456
2457       <li>
2458         <p>
2459           <strong>Save undo history</strong> sets how many commands are saved so
2460           they are available to be undone after reopening the session.
2461         </p>
2462       </li>
2463
2464       <li>
2465         <p>
2466           <strong>Verify removal of last capture</strong> when enabled prompts to
2467           verify removal the last recording capture when
2468           <kbd class="menu">Edit &gt; Remove Last Capture</kbd> is executed.
2469         </p>
2470       </li>
2471
2472       <li>
2473         <p>
2474           <strong>Make periodic backups of the session file</strong> will create
2475           a backup session file after changes to the timeline. The backup file is
2476           the session name followed by <em>.ardour.bak</em>. The backup can be
2477           used to recover from crashes when the session had not been explicitly
2478           saved.
2479         </p>
2480       </li>
2481     </ul>
2482   </li>
2483
2484   <li>
2485     <p>
2486       <dfn>Session Management</dfn>
2487     </p>
2488     <ul>
2489       <li>
2490         <p>
2491           <strong>Always copy imported files</strong> selects, and then disables
2492           changes to, the <em>Copy&nbsp;files to&nbsp;session</em> option in the
2493           <a href="/adding-pre-existing-material/import-dialog/">
2494             Add Existing Media</a> dialog.
2495         </p>
2496       </li>
2497
2498       <li>
2499         <p>
2500           <strong>Default folder for new sessions:</strong> defalts the folder
2501           where Ardour will create new session folders. This is used in the
2502           <em>Session&nbsp;Setup</em> dialog displayed by
2503           <kbd class="menu">Session &gt; New</kbd>.
2504         </p>
2505       </li>
2506
2507       <li>
2508         <p>
2509           <strong>Maximum number of recent sessions:</strong> determines how many
2510           of the last opened sessions shows in the
2511           <em>Recent&nbsp;Sessions</em> dialog displayed by
2512           <kbd class="menu">Session &gt; Recent</kbd>.
2513         </p>
2514       </li>
2515     </ul>
2516   </li>
2517
2518   <li>
2519     <p>
2520       <dfn>Click</dfn>
2521     </p>
2522     <ul>
2523       <li>
2524         <p>
2525           <strong>Click audio file:</strong> sets a user defined sound to be
2526           played when Ardour's metronome is enabled in the
2527           <a href="/controlling-playback/using-the-transport-bar/">
2528             Transport Bar</a>
2529         </p>
2530       </li>
2531       <li>
2532         <p>
2533           <strong>Click emphasis audio file:</strong> sets an optional different
2534           metronome sound to be played on the downbeat.
2535         </p>
2536       </li>
2537       <li>
2538         <p>
2539           <strong>Click gain level:</strong> allows the metronome's click sounds
2540           to be boosted or attenuated.
2541         </p>
2542       </li>
2543     </ul>
2544   </li>
2545
2546   <li>
2547     <p>
2548       <dfn>Automation</dfn>
2549     </p>
2550     <ul>
2551       <li>
2552         <p>
2553           <strong>Thinning factor</strong> ranges from 0 to 1000 with larger
2554           values sending fewer automation changes. Thinning is like lossy
2555           audio compression, removing data that is less likely to be noticed,
2556           although the more you remove the more likely the loss will be noticed.
2557           The advantage to thinning is reduced CPU usage.
2558         </p>
2559       </li>
2560       <li>
2561         <p>
2562           <strong>Automation sampling interval</strong> ranges from 1 to
2563           1000&nbsp;ms. Determines how frequently the automation input is
2564           sampled. The shorter the interval the higher the accuracy but also
2565           the higher the CPU requirements.
2566         </p>
2567       </li>
2568     </ul>
2569
2570 </ul>
2571
2572 ---
2573 title: Transport Tab
2574 menu_title: Transport Tab
2575 part: subchapter
2576 ---
2577
2578 <p>
2579   This tab contains settings that relate to the behavior of the
2580   <a href="/controlling-playback/using-the-transport-bar">Transport Bar</a>
2581   and <a href="/synchronization/">Synchronization</a>.
2582 </p>
2583
2584 <img src="/images/a4_preferences_transport.png" alt="preferences
2585 transport tab"/>
2586
2587 <ul>
2588   <li>
2589     <p>
2590       <strong>Keep record-enable engaged on stop</strong> leaves the global
2591       record-enable engaged after transport is stopped.  Does not affect track
2592       level record-enable which is never changed on stop.
2593     </p>
2594   </li>
2595
2596   <li>
2597     <p>
2598       <strong>Play loop is a transport mode</strong> changes the behavior of the
2599       loop button, turning it into a toggle. When enabled, the loop button does
2600       not start playback but forces playback to always play the loop.  Looping
2601       stays engaged when the transport is stopped. Playback continues where the
2602       transport stopped and continues to loop.
2603     </p>
2604     <p>
2605       When disabled, the loop button starts playing the loop but stop then
2606       cancels loop playback.
2607     </p>
2608   </li>
2609   <li>
2610     <p>
2611       <strong>Stop recording when an xrun occurs</strong> will stop the transport
2612       when an xrun occurs during recording, ensuring no audible glitches are
2613       recorded.
2614     </p>
2615   </li>
2616   <li>
2617     <p>
2618       <strong>Create markers where xruns occur</strong> will create a new
2619       <a href="/working-with-markers/">marker</a> when an xrun occurs during
2620       recording at the location of the xrun. This marks where possible xruns
2621       might produce audible glitches when stopping on xruns is disabled.
2622     </p>
2623   </li>
2624   <li>
2625     <p>
2626       <strong>Stop at the end of the session</strong> causes the transport to
2627       stop during playback when it reaches the end marker. Behavior during
2628       recording is not changed.
2629     </p>
2630   </li>
2631   <li>
2632     <p>
2633       <strong>Do seamless looping</strong> removes any clicks that might
2634       otherwise be audible when the transport moves from the end of the loop
2635       range back to the beginning.
2636     </p>
2637   </li>
2638   <li>
2639     <p>
2640       <strong>Disable per-track record disarm while rolling</strong>, when
2641       enabled, will not allow the any track's record-enable to be disarmed
2642       during record, preventing accidentally stopping the recording of a take.
2643     </p>
2644   </li>
2645   <li>
2646     <p>
2647       <strong>12dB gain reduction during fast-forward and fast-rewind</strong>
2648       when enabled will reduce the unpleasant increase in perceived volume
2649       that occurs when fast-forwarding or rewinding through some kinds of audio.
2650     </p>
2651   </li>
2652   <li>
2653     <p>
2654       <strong>Sync/Slave</strong>
2655       <ul>
2656         <li>
2657           <p>
2658             <strong>External timecode source</strong> determines which external
2659             source to use when Ardour is using an external
2660             <a href="/synchronization/">synchronization</a> source.  Depending
2661             on the timecode source chosen, additional preference options are
2662             available.
2663           </p>
2664         </li>
2665         <li>
2666           <p>
2667             <strong>Match session video frame rate to external timecode</strong>
2668             controls the value of the video frame rate <em>while chasing</em>
2669             an external timecode source.
2670           </p>
2671           <p>
2672             When enabled, the session video frame rate will be changed to match
2673             that of the selected external timecode source.
2674           </p>
2675           <p>
2676             When disabled, the session video frame rate will not be changed to
2677             match that of the selected external timecode source. Instead, the
2678             frame rate indication in the main clock will flash red and Ardour
2679             will convert between the external timecode standard and the session
2680             standard.
2681           </p>
2682         </li>
2683         <li>
2684           <p>
2685             <strong>Sync-lock timecode to clock</strong> can disable drift
2686             compensation.
2687           </p>
2688           <p>
2689             When enabled, Ardour will never varispeed when slaved to external
2690             timecode. Sync Lock indicates that the selected external timecode
2691             source shares clock-sync (Black &amp; Burst, Wordclock, etc) with
2692             the audio interface. This options disables drift compensation.
2693             The transport speed is fixed at 1.0. Vari-speed LTC will be ignored
2694             and cause drift.
2695           </p>
2696           <p>
2697             When disabled, Ardour will compensate for potential drift regardless
2698             if the timecode sources shares clock sync.
2699           </p>
2700         </li>
2701         <li>
2702           <p>
2703             <strong>Lock to 29.9700 fps instead of 30000/1001</strong>, when
2704             enabled, will force Ardour to assume the external timecode source
2705             uses 29.97 fps instead of 30000/1001.
2706             SMPTE 12M-1999 specifies 29.97&nbsp;df as 30000/1001. The spec
2707             further mentions that drop-frame timecode has an accumulated error
2708             of -86&nbsp;ms over a 24&nbsp;hour period. Drop-frame timecode would
2709             compensate exactly for an NTSC color frame rate of 30 * 0.9990 (i.e.
2710             29.970000). That is not the actual rate. However, some vendors use
2711             that rate&mdash;despite it being against the specs&mdash;because the
2712             variant of using exactly 29.97&nbsp;fps has zero timecode drift.
2713           </p>
2714       </ul>
2715     </p>
2716   </li>
2717   <li>
2718     <p>
2719       <strong>LTC Reader</strong> specifies which incoming port will provide
2720       the LTC signal.
2721     </p>
2722   </li>
2723   <li>
2724     <strong>LTC Generator</strong>
2725     <ul>
2726       <li>
2727         <p>
2728           <strong>Enable LTC generator</strong>, when enabled Ardour will
2729           output an LTC timecode signal on it's <em>LTC-out</em> port.
2730         </p>
2731       </li>
2732       <li>
2733         <p>
2734           <strong>Send LTC while stopped</strong>, when enabled Ardour will
2735           continue to send LTC information even while the transport (playhed) is
2736           not moving.
2737         </p>
2738       </li>
2739       <li>
2740         <p>
2741           <strong>LTC generator level:</strong> specifies the peak volume of
2742           the generated LTC signal in dbFS. A good value is 0dBu^=-18dbFS in an
2743           EBU calibrated system.
2744         </p>
2745       </li>
2746     </ul>
2747   </li>
2748 </ul>
2749
2750 ---
2751 title: Editor Tab
2752 menu_title: Editor Tab
2753 part: subchapter
2754 ---
2755
2756 <p>
2757   This tab contains settings that affect behavior in the <dfn>Editor</dfn>
2758   window when <a href="/editing-and-arranging">Editing and Arranging</a>.
2759 </p>
2760
2761 <img src="/images/a4_preferences_editor.png" alt="preferences
2762 editor tab"/>
2763
2764 <ul>
2765   <li>
2766     <p>
2767       <strong>Allow dragging of the playhead</strong>, when enabled, allows
2768       dragging the playhead with the mouse in the <strong>Editor</strong> window.
2769     </p>
2770   </li>
2771   <li>
2772     <p>
2773       <strong>Move relevant automation when audio regions are moved</strong>,
2774       when enabled, causes automation data to stay with a region when the
2775       region is moved inside the playlist. When disabled, the automation is
2776       not affected by movement of regions.
2777     </p>
2778   </li>
2779   <li>
2780     <p>
2781       <strong>Show meters on tracks in the editor</strong>, when enabled, shows
2782       a small meter in the <strong>Editor</strong> window with each track. The
2783       meter is shown in the left side area along with the track name and buttons.
2784     </p>
2785   </li>
2786   <li>
2787     <p>
2788       <strong>Display master-meter in the toolbar</strong> when enabled displays
2789       a small copy of the master bus meter in the toolbar.
2790     </p>
2791   </li>
2792   <li>
2793     <p>
2794       <strong>Default fade shape:</strong> sets which
2795       <a href="/editing-and-arranging/create-region-fades-and-crossfades/">
2796         fade shape</a> is the default.
2797     </p>
2798   </li>
2799   <li>
2800     <p>
2801       <strong>Regions in active edit groups are edited together:</strong> sets
2802       the criteria to see if editing actions apply to tracks grouped together
2803       in an active group.
2804     </p>
2805   </li>
2806   <li>
2807     <p>
2808       <strong>Make rubberband selection rectangle snap to the grid</strong> when
2809       enabled uses the grid when
2810       <a href="/editing-and-arranging/select-regions/">selecting regions</a>
2811       with a rubberband rectangle.
2812     </p>
2813   </li>
2814   <li>
2815     <p>
2816       <strong>Show waveforms in regions</strong> when enabled shows a visual
2817       representation of the region's audio waveform. Changes to this setting
2818       take affect after restarting Ardour.
2819     </p>
2820   </li>
2821   <li>
2822     <p>
2823       <strong>Show gain envelopes in audio regions:</strong> sets the criteria
2824       for displaying the gain envelope in audio regions.
2825     </p>
2826   </li>
2827   <li>
2828     <p>
2829       <strong>Waveform scale:</strong> when waveforms are shown in audio region
2830       they can be displayed using a <em>linear</em> or a <em>logarithmic</em>
2831       scale.
2832       See <a href="/working-with-tracks/controlling-track-appearance/waveform-display/">
2833         Waveform disply</a>.
2834     </p>
2835   </li>
2836   <li>
2837     <p>
2838       <strong>Waveform shape:</strong> when waveforms are shown in audio region
2839       they can be displayed using a <em>traditional</em> or a <em>rectified</em>
2840       shape.
2841       See <a href="/working-with-tracks/controlling-track-appearance/waveform-display/">
2842         Waveform disply</a>.
2843     </p>
2844   </li>
2845   <li>
2846     <p>
2847       <strong>Waveform Clip Level (dBFS):</strong> sets the level at which the
2848       waveform shown in an audio region will be drawn in red to indicate
2849       clipping. Setting lower than 0.0&nbsp;dBFS can be useful if any tool in
2850       the audio chain has problems near 0.0&nbsp;dBFS.
2851     </p>
2852   </li>
2853   <li>
2854     <p>
2855       <strong>Show waveform for audio while it is being recorded</strong> when
2856       enabled, will draw the audio waveform in regions being recorded.  When
2857       disabled only a region block will be drawn while recording reducing CPU
2858       requirements.
2859     </p>
2860   </li>
2861   <li>
2862     <p>
2863       <strong>Show zoom toolbar</strong> when enabled shows a toolbar for
2864       zoom functions.  When disabled the zoom commands are still available
2865       with keyboard short-cuts and the View menu. Changes to this setting
2866       take affect after restarting Ardour.
2867     </p>
2868   </li>
2869   <li>
2870     <p>
2871       <strong>Update editor window during drags of the summary</strong> when
2872       enabled the contents of the editor window will redraw the tracks area
2873       as the selection rectangle in the summary area is moved or resized. The
2874       summary area is at the bottom of the editor and shows an overview of all
2875       regions on the timelime.
2876     </p>
2877   </li>
2878   <li>
2879     <p>
2880       <strong>Name new markers</strong> when enabled, popup a dialog when a new
2881       <a href="/working-with-markers/">marker</a> is created. This allows
2882       markers to be named as they are created.
2883     </p>
2884   </li>
2885   <li>
2886     <p>
2887       <strong>Auto-scroll editor window when dragging near its edges</strong>
2888       when enabled will scroll the editor window automatically when dragging a
2889       region. This can make it easier to see where to position the region.
2890     </p>
2891   </li>
2892   <li>
2893     <p>
2894       <strong>After splitting selected regions, select</strong> determines which,
2895       if any, regions are selected after a split operation. The options are no
2896       regions, the regions created by the split, and if more than one region
2897       was selected to start with, the existing selection and the new regions.
2898       Changes to this setting take affect after restarting Ardour.
2899     </p>
2900   </li>
2901 </ul>
2902
2903 ---
2904 title: Audio Tab
2905 menu_title: Audio Tab
2906 part: subchapter
2907 ---
2908
2909 <p>
2910   This tab contains settings for handling audio.
2911 </p>
2912
2913 <img src="/images/a4_preferences_audio.png" alt="preferences
2914 audio tab"/>
2915
2916 <ul>
2917   <li>
2918     <p>
2919       <strong>Buffering</strong> settings determine how many seconds of audio
2920       off of disk will be buffered in memory. Longer settings reduce the risk
2921       of buffer under-runs but consume more memory. The default value is
2922       5.0&nbsp;seconds.
2923     </p>
2924
2925     <ul>
2926       <li>
2927         <p>
2928           <strong>Playback</strong> sets how many seconds of audio Ardour will
2929           buffer during playback.
2930         </p>
2931       </li>
2932       <li>
2933         <p>
2934           <strong>Recording</strong> sets how many seconds of audio Ardour will
2935           buffer during recording.
2936         </p>
2937       </li>
2938     </ul>
2939   </li>
2940
2941   <li>
2942     <p>
2943       <strong>Monitoring</strong>
2944     </p>
2945     <ul>
2946       <li>
2947         <p>
2948           <strong>Record monitoring handled by:</strong> determines whether
2949           Ardour provides monitoring of incoming audio or whether
2950           monitoring is provided by hardware.  See
2951           <a href="/recording/monitoring/">Monitoring</a> for more information.
2952         </p>
2953       </li>
2954       <li>
2955         <p>
2956           <strong>Tape machine mode</strong> when enabled defaults new audio
2957           tracks to tape machine mode. See
2958           <a href="/working-with-tracks/track-types/">Track Types</a>
2959           for more information.
2960         </p>
2961       </li>
2962     </ul>
2963   </li>
2964
2965   <li>
2966     <p>
2967     <strong>Conection of tracks and busses</strong>
2968     </p>
2969     <ul>
2970       <li>
2971         <p>
2972           <strong>Auto-connect master/monitor busses</strong>
2973         </p>
2974       </li>
2975       <li>
2976         <p>
2977           <strong>Connect track inputs:</strong>
2978         </p>
2979       </li>
2980       <li>
2981         <p>
2982           <strong>Connect track and bus outputs:</strong>
2983         </p>
2984       </li>
2985     </ul>
2986   </li>
2987
2988   <li>
2989     <p>
2990     <strong>Denormals</strong> are a specific type of very small numbers that
2991     can cause issues with CPU consumption when using some plugins in some
2992     circumstances.
2993     </p>
2994     <p>
2995       Ardour provides two methods of handling the issue. Try different
2996       combinations of these settings to to find the setting that minimizes CPU
2997       consumption.
2998     </p>
2999     <ul>
3000       <li>
3001         <p>
3002           <strong>Use DC bias to protect against denormals</strong> adds a small
3003           constant value to numbers to move the numbers away from zero.
3004         </p>
3005       </li>
3006       <li>
3007         <p>
3008           <strong>Processor handling</strong>, if the computer's hardware
3009           supports it, offers two methods that can be used individually or
3010           combined. Flush to zero and denormals are zero.
3011         </p>
3012       </li>
3013     </ul>
3014   </li>
3015
3016   <li>
3017     <p>
3018     <strong>Plugins</strong>
3019     </p>
3020     <ul>
3021       <li>
3022         <p>
3023           <strong>Silence plugins when the transport is stopped</strong>
3024         </p>
3025       </li>
3026       <li>
3027         <p>
3028           <strong>Make new plugins active</strong> when enabled, will activate
3029           a plugin when it is added to a track or bus
3030           <a href="/working-with-plugins/processor-box/">Processor Box</a>.
3031         </p>
3032       </li>
3033     </ul>
3034   </li>
3035
3036   <li>
3037     <p>
3038     <strong>Regions</strong>
3039     </p>
3040     <ul>
3041       <li>
3042         <p>
3043           <strong>Enable automatic analysis of audio</strong>
3044         </p>
3045       </li>
3046       <li>
3047         <p>
3048           <strong>Replicate missing region channels</strong>
3049         </p>
3050       </li>
3051     </ul>
3052   </li>
3053 </ul>
3054
3055 ---
3056 title: Solo/Mute Tab
3057 menu_title: Solo/Mute Tab
3058 part: subchapter
3059 ---
3060
3061 <p>
3062   This tab contains settings that affect the use of
3063   <a href="/mixing/muting-and-soloing/">solo, muting</a>, and
3064   <a href="/mixing/panning/">panning</a>.
3065 </p>
3066
3067 <img src="/images/a4_preferences_solomute.png" alt="preferences
3068 solo/mute tab"/>
3069
3070 <ul>
3071   <li>
3072     <p>
3073       <strong>Solo</strong>
3074     </p>
3075     <ul>
3076       <li>
3077         <p>
3078           <strong>Solo-in-place mute cut</strong> sets the attenuation of the
3079           the other tracks when another track is soloed in place. This setting
3080           is also available from the <strong>Mixer</strong> monitor section.
3081         </p>
3082       </li>
3083       <li>
3084         <p>
3085           <strong>Solo controls are Listen controls</strong> when enabled the
3086           soloed track is soloed only on the monitor bus, the master fader mix
3087           is not affected by the solo. This option can also be set by enabling
3088           pre-fader listen or after-fader listen in the <strong>Mixer</strong>
3089           monitor section.
3090         </p>
3091       </li>
3092       <li>
3093         <p>
3094           <strong>Listen Position:</strong> determines what is listened to when
3095           the solo controls are used as listen controls. The options are
3096           after-fader or pre-fader.
3097         </p>
3098       </li>
3099       <li>
3100         <p>
3101           <strong>PFL signals come from:</strong> determines whether the
3102           pre-fader listen position is before or after the pre-fader processors.
3103         </p>
3104       </li>
3105       <li>
3106         <p>
3107           <strong>AFL signals come from:</strong> determines whether the
3108           after-fader listen position is before or after the after-fader
3109           processors.
3110         </p>
3111       </li>
3112       <li>
3113         <p>
3114           <strong>Exclusive solo</strong> when enabled will only solo that last
3115           track selected for solo. Previously soloed tracks will be un-soloed.
3116           This setting is also available from the <strong>Mixer</strong> monitor
3117           section.
3118         </p>
3119       </li>
3120       <li>
3121         <p>
3122           <strong>Show solo muting</strong> when enabled outlines the mute
3123           button on tracks and busses when another track is soloed.
3124         </p>
3125       </li>
3126       <li>
3127         <p>
3128           <strong>Soloing overrides muting</strong> when enabled allows a track
3129           to be heard when it is soloed while muted. This setting is also
3130           available from the <strong>Mixer</strong> monitor section.
3131         </p>
3132       </li>
3133     </ul>
3134   </li>
3135
3136   <li>
3137     <p>
3138       <strong>Default track/bus muting options</strong> sets the muting options
3139       for a newly created tracks or bus. The mute options for an existing track
3140       or bus are changed by the right-click context menu on a mute button.
3141     </p>
3142     <ul>
3143       <li>
3144         <p>
3145           <strong>Mute affects pre-fader sends</strong> when enabled pre-fader
3146           sends will be muted by default.
3147         </p>
3148       </li>
3149       <li>
3150         <p>
3151           <strong>Mute affects post-fader sends</strong> when enabled post-fader
3152           sends will be muted by default.
3153         </p>
3154       </li>
3155       <li>
3156         <p>
3157           <strong>Mute affects control outputs</strong> when enabled control
3158           outputs are muted by default.
3159         </p>
3160       </li>
3161       <li>
3162         <p>
3163           <strong>Mute affects main outputs</strong> when enabled main outputs
3164           are muted by default.
3165         </p>
3166       </li>
3167     </ul>
3168   </li>
3169
3170   <li>
3171     <p>
3172       <strong>Send Routing</strong> affects
3173       <a href="/signal-routing/aux-sends/">aux and external sends</a>.
3174     </p>
3175     <ul>
3176       <li>
3177         <p>
3178           <strong>Link panners of Aux and External Sends with main panner by
3179             default</strong> When enabled, sends follow the channel panner.
3180         </p>
3181         <p>
3182           When disabled, sends can panned independently of the channel panner
3183           and fader. Double clicking the send in the processor box toggles
3184           the main panner and fader between the aux send and the channel.
3185         </p>
3186       </li>
3187     </ul>
3188   </li>
3189 </ul>
3190
3191 ---
3192 title: MIDI Tab
3193 menu_title: MIDI Tab
3194 part: subchapter
3195 ---
3196
3197 <p>
3198   This tab contains settings related to the use of MIDI inside Ardour.
3199 </p>
3200
3201 <img src="/images/a4_preferences_midi.png" alt="preferences
3202 MIDI tab"/>
3203
3204 <ul>
3205   <li>
3206     <p>
3207       <strong>MIDI read-ahead time</strong>
3208     </p>
3209   </li>
3210
3211   <li>
3212     <p>
3213       <strong>Send MIDI Clock</strong> when enabled Ardour will generate MIDI
3214       clock on the <code>ardour:MIDI clock out</code> JACK port.
3215     </p>
3216   </li>
3217
3218   <li>
3219     <p>
3220       <strong>Send MIDI Time Code</strong> when enabled Ardour will generate MIDI
3221       time code on the <code>ardour:MTC out</code> JACK port.
3222     </p>
3223   </li>
3224
3225   <li>
3226     <p>
3227       <strong>Percentage either side of normal transport speed to transmit MTC:</strong> MIDI time code generation will be disabled when the transport speed is
3228       greater than normal sped plus this percentage or less than normal minus
3229       this percentage.
3230     </p>
3231   </li>
3232
3233   <li>
3234     <p>
3235       <strong>Obey MIDI Machine Control commands</strong> when enabled Ardour
3236       will respond to MIDI Machine Control commands received on the
3237       <code>ardour:MMC in</code> JACK port.
3238     </p>
3239   </li>
3240
3241   <li>
3242     <p>
3243       <strong>Send MIDI Machine Control commands</strong> when enabled Ardour
3244       will send MIDI Machine Control commands on the <code>ardour:MMC out</code>
3245       JACK port.
3246     </p>
3247   </li>
3248
3249   <li>
3250     <p>
3251       <strong>Send MIDI control feedback</strong>
3252     </p>
3253   </li>
3254
3255   <li>
3256     <p>
3257       <strong>Inbound MMC device ID:</strong> is the only device ID Ardour will
3258       respond to when an MMC command is received on the
3259       <code>ardour:MMC in</code> JACK port.
3260     </p>
3261   </li>
3262
3263   <li>
3264     <p>
3265       <strong>Outbound MMC device ID:</strong> is the MIDI device ID Ardour will
3266       use when it sends MMC commands.
3267     </p>
3268   </li>
3269
3270   <li>
3271     <p>
3272       <strong>Initial program change:</strong> Ardour will send a MIDI program
3273       change message on the <code>ardour:MMC out</code> JACK port when a session
3274       is loaded and whenever this field is changed. A value of -1 is for don't
3275       send any program change message.
3276     </p>
3277   </li>
3278
3279   <li>
3280     <p>
3281       <strong>Display first MIDI bank/program as 0</strong>
3282     </p>
3283   </li>
3284
3285   <li>
3286     <p>
3287       <strong>Never display periodic MIDI messages</strong>
3288     </p>
3289   </li>
3290
3291   <li>
3292     <p>
3293       <strong>Sound MIDI notes as they are selected</strong>
3294     </p>
3295   </li>
3296
3297   <li>
3298     <p>
3299       <strong>Midi Audition Synth</strong>
3300     </p>
3301   </li>
3302 </ul>
3303
3304 ---
3305 title: User Interaction Tab
3306 menu_title: User Interaction Tab
3307 part: subchapter
3308 ---
3309
3310 <p>
3311   This tab contains settings that affect the user's interaction with
3312   <a href="/ardours-interface">Ardours interface</a>.
3313 </p>
3314
3315 <img src="/images/a4_preferences_interaction.png" alt="preferences
3316 user interaction tab"/>
3317
3318 <ul>
3319   <li>
3320     <p>
3321       <strong>Use translations</strong>
3322     </p>
3323   </li>
3324   <li>
3325     <p>
3326       <strong>Keyboard</strong>
3327     </p>
3328     <ul>
3329       <li>
3330         <p>
3331           <strong>Edit using:</strong> Use this keyboard and mouse combination
3332           to edit a region's name, and for audio, the region gain.
3333         </p>
3334       </li>
3335       <li>
3336         <p>
3337           <strong>Delete using:</strong>
3338         </p>
3339       </li>
3340       <li>
3341         <p>
3342           <strong>Insert note using</strong> Using this mouse and keyboard
3343           combination allows MIDI note drawing while the <strong>Editor</strong>
3344           is in edit mode.
3345         </p>
3346       </li>
3347       <li>
3348         <p>
3349           <strong>Ignore snap using:</strong> This mouse and keyboard combination
3350           temporarily changes the
3351           <a href="/editing-and-arranging/snap-to-the-grid/">snap mode</a> to
3352           <strong>No Grid</strong>.
3353         </p>
3354       </li>
3355       <li>
3356         <p>
3357           <strong>Keyboard layout:</strong>
3358         </p>
3359       </li>
3360     </ul>
3361   </li>
3362 </ul>
3363
3364 ---
3365 title: Control Surfaces Tab
3366 menu_title: Control Surfaces Tab
3367 part: subchapter
3368 ---
3369
3370 <p>
3371   This tab contains settings for control surfaces. Also see
3372   <a href="/using-control-surfaces/">Using Control Surfaces</a>.
3373 </p>
3374
3375 <img src="/images/a4_preferences_control_surfaces.png" alt="preferences
3376 control surfaces tab"/>
3377
3378 <p>
3379   Enable a <dfn>Control Surface Protocol</dfn> and double-click on it to edit
3380   protocol specific  settings. Enable feedback to allow Ardour to send position
3381   information back to a control surface.
3382 </p>
3383
3384 <p>
3385   <strong>Control surface remote ID:</strong> can follow the order of the mixer
3386   or be user assigned.
3387 </p>
3388
3389 ---
3390 title: Video Tab
3391 menu_title: Video Tab
3392 part: subchapter
3393 ---
3394
3395 <p>
3396   This tab contains settings related to handling of Video.
3397 </p>
3398
3399 <img src="/images/a4_preferences_video.png" alt="preferences
3400 video tab"/>
3401
3402 <ul>
3403   <li>
3404     <p>
3405       <strong>Advanced Setup (remote video server)</strong>
3406     </p>
3407     <ul>
3408       <li>
3409         <p>
3410           <strong>Video Server URL:</strong>
3411         </p>
3412       </li>
3413       <li>
3414         <p>
3415           <strong>Video Folder:</strong>
3416         </p>
3417       </li>
3418     </ul>
3419   </li>
3420   <li>
3421     <p>
3422       <strong>Show Video Export Info before export</strong>
3423     </p>
3424   </li>
3425   <li>
3426     <p>
3427       <strong>Show Video Server Startup Dialog</strong>
3428     </p>
3429   </li>
3430 </ul>
3431
3432 ---
3433 title: Plugins Tab
3434 menu_title: Plugins Tab
3435 part: subchapter
3436 ---
3437
3438 <p>
3439   This tab contains settings that control the discovery and availability of
3440   plugins.
3441 </p>
3442
3443 <img src="/images/a4_preferences_plugins.png" alt="preferences
3444 plugins tab"/>
3445
3446 <ul>
3447   <li>
3448     <p>
3449       <strong>General</strong>
3450     </p>
3451     <ul>
3452       <li>
3453         <p>
3454           <strong>Scan for Plugins</strong> will initiate an immediate scan of
3455           the system for available plugins.
3456         </p>
3457       </li>
3458       <li>
3459         <p>
3460           <strong>Always Display Plugin Scan Progress</strong> When enabled a
3461           popup window showing plugin scan progress is displayed for indexing
3462           (cache load) and discovery (detect new plugins).
3463         </p>
3464       </li>
3465       <li>
3466         <p>
3467           <strong>Scan Time Out</strong> Specify the default timeout for plugin
3468           instantiation in 1/10 seconds. Plugins that require more time to load
3469           will be blacklisted. A value of 0 disables the timeout.
3470         </p>
3471       </li>
3472     </ul>
3473   </li>
3474
3475   <li>
3476     <p>
3477       <strong>VST</strong>
3478     </p>
3479     <ul>
3480       <li>
3481         <p>
3482           <strong>Clear VST Cache</strong> Remove all VST plugins from the list
3483           of plugins available to be inserted into the processor box.
3484         </p>
3485       </li>
3486       <li>
3487         <p>
3488           <strong>Clear VST Blacklist</strong> Make blacklisted VST plugins
3489           available to be added to the processor box.
3490         </p>
3491       </li>
3492       <li>
3493         <p>
3494           <strong>Scan for [new] VST Plugins on Application Start</strong> When
3495           enabled new VST plugins are searched, tested and added to the cache
3496           index on application start. When disabled new plugins will only be
3497           available after triggering a 'Scan' manually.
3498         </p>
3499       </li>
3500       <li>
3501         <p>
3502           <strong>Linux VST Path:</strong> Launch a dialog to manage the
3503           directories that will be searched for Linux VST plugins.
3504         </p>
3505       </li>
3506     </ul>
3507   </li>
3508 </ul>
3509
3510 ---
3511 title: GUI Tab
3512 menu_title: GUI Tab
3513 part: subchapter
3514 ---
3515
3516 <p>
3517   This tab contains settings that affect
3518   <a href="/ardours-interface/">Ardour's Interface</a>.
3519 </p>
3520
3521 <img src="/images/a4_preferences_gui.png" alt="preferences
3522 gui tab"/>
3523
3524 <ul>
3525   <li>
3526     <p>
3527       <strong>Graphically indicate mouse pointer hovering</strong>
3528     </p>
3529   </li>
3530   <li>
3531     <p>
3532       <strong>Use name highlight bars in region display</strong> When enabled the
3533       region name is displayed, in the editor,  in it's own bar at the bottom of
3534       the region. When disabled, the region name is display at the top of the
3535       region, possibly over audio waveforms or MIDI notes.
3536     </p>
3537   </li>
3538   <li>
3539     <p>
3540       <strong>Font scaling</strong> allows the display size of some text in the
3541       user interface to be scaled up or down. May require a restart to take
3542       affect.
3543     </p>
3544   </li>
3545   <li>
3546     <p>
3547       <strong>Update transport clock display at FPS</strong> when enabled the transport clock
3548       will update at the synchronization framerate instead of the default 100&nbsp;ms rate.
3549     </p>
3550   </li>
3551   <li>
3552     <p>
3553       <strong>Lock timeout</strong> Lock GUI after this many idle seconds (zero to never
3554       lock). GUI may also be locked with <kbd class="menu">Session &gt; Lock</kbd>. When
3555       locked a dialog will display a &quot;Click to unlock&quot; button.
3556     </p>
3557   </li>
3558   <li>
3559     <p>
3560       <strong>Mixer Strip</strong> Enable (checked) or disable (unchecked) display of
3561       controls in the mixer strip. Controls whose display can be toggled are
3562       <strong>Input</strong>, <strong>Phase&nbsp;Invert</strong>,
3563       <strong>Record&nbsp;&amp;&nbsp;Monitor</strong>, <strong>Solo&nbsp;Iso/Lock</strong>,
3564       <strong>Output</strong>, and <strong>Comments</strong>.
3565     </p>
3566   </li>
3567   <li>
3568     <p>
3569       <strong>Use narrow strips in the mixer by default</strong> When enabled, new mixer
3570       strips are created in narrow format. When disabled, they are created in wide format.
3571       Existing mixer strips width can be toggled with the width control at the top left of
3572       the mixer stip.
3573     </p>
3574   </li>
3575 </ul>
3576
3577 ---
3578 title: Metering Tab
3579 menu_title: Metering Tab
3580 part: subchapter
3581 ---
3582
3583 <p>
3584   This tab contains settings that affect <a href="/ardours-interface/meters/">
3585     Metering</a> in Ardour.
3586 </p>
3587
3588 <img src="/images/a4_preferences_metering.png" alt="preferences
3589 metering tab"/>
3590
3591 <ul>
3592   <li>
3593     <p>
3594       <strong>Peak hold time:</strong> Some meter types that have a peak
3595       indicator that has a user controlled hold time. The options are off, short,
3596       medium, or long.
3597     </p>
3598   </li>
3599   <li>
3600     <p>
3601       <strong>DPM fall-off:</strong>
3602     </p>
3603   </li>
3604   <li>
3605     <p>
3606       <strong>Meter line-up level; 0&nbsp;dBu:</strong>
3607     </p>
3608   </li>
3609   <li>
3610     <p>
3611       <strong>IEC1/DIN Meter line-up level; 0&nbsp;dBu:</strong>
3612     </p>
3613   </li>
3614   <li>
3615     <p>
3616       <strong>VU Meter standard:</strong>
3617     </p>
3618   </li>
3619   <li>
3620     <p>
3621       <strong>Peak threshold[dBFS]:</strong>
3622     </p>
3623   </li>
3624   <li>
3625     <p>
3626       <strong>LED meter style</strong>
3627     </p>
3628   </li>
3629 </ul>
3630
3631 ---
3632 title: Theme Tab
3633 menu_title: Theme Tab
3634 part: subchapter
3635 ---
3636
3637 <p>
3638   This tab contains settings that change the visual appearence of Ardour.
3639 </p>
3640
3641 <img src="/images/a4_preferences_theme.png" alt="preferences
3642 theme tab"/>
3643
3644 <ul>
3645   <li>
3646     <p>
3647       <strong>Restore Defaults</strong> When clicked will change all settings
3648       on the Theme tab back to Ardour's default values.
3649     </p>
3650   </li>
3651   <li>
3652     <p>
3653       <strong>All floating windows are dialogs</strong> When enabled Ardour will
3654       use type &quot;Dialog&quot; for all floating windows instead of using type
3655       &quot;Utility&quot; for some of them. This may help usability with some
3656       window managers. This setting requires a restart of Ardour to take effect.
3657     </p>
3658   </li>
3659   <li>
3660     <p>
3661       <strong>Transient windows follow front window</strong> When enabled
3662       transient windows will follow the front window when toggling between the
3663       editor and mixer. This setting requires a restart of Ardour to take effect.
3664     </p>
3665   </li>
3666   <li>
3667     <p>
3668       <strong>Draw &quot;flat&quot; buttons</strong> When enabled button controls
3669       in the user interface will be drawn with a flat look. When disabled button
3670       controls will have a slight 3D appearence.
3671     </p>
3672   </li>
3673   <li>
3674     <p>
3675       <strong>Blink Rec-Arm buttons</strong> When enabled the record-armed
3676       buttons on tracks will blink when they are armed but not currently
3677       recording. When disabled the record-armed buttons on tracks will be
3678       outlined in red instead of blinking.
3679     </p>
3680   </li>
3681   <li>
3682     <p>
3683       <strong>Color regions using their track's color</strong> When enabled
3684       the background color of regions in the editor will be displayed using the
3685       the color assigned to the track. When disabled the default region
3686       background color will be used.
3687     </p>
3688   </li>
3689   <li>
3690     <p>
3691       <strong>Show waveform clipping</strong> When enalbled the waveform
3692       displayed will show peaks marked in red if they exceed the clip level. The
3693       Waveform Clip Level is set with a slider on the Preferences
3694       <a href="/preferences-and-session-properties/preferences-dialog/editor/">
3695         Editor tab</a>
3696     </p>
3697   </li>
3698   <li>
3699     <p>
3700       <strong>Icon Set</strong> Changes the mouse cursor icons used to indicate
3701       different tool modes in the editor. An example would be the icons used to
3702       indicate whether the cursor will select a region or change the length of a
3703       region.
3704     </p>
3705   </li>
3706   <li>
3707     <p>
3708       <strong>Waveforms color gradient depth</strong> Determines how much
3709       gradient effect is applied to audio waveforms displayed in the editor.
3710       Values range from 0.00, no graident effect, to 0.95, maximum effect.
3711     </p>
3712   </li>
3713   <li>
3714     <p>
3715       <strong>Timeline item gradient depth</strong> Determines how much
3716       gradient effect is applied to the backgrounds of regions displayed in the
3717       editor. Values range from 0.00, no graident effect, to 0.95, maximum
3718       effect.
3719     </p>
3720   </li>
3721   <li>
3722     <p>
3723       <strong>Colors</strong> The color of an item in the user interface is
3724       determined by which named color is assigned to it, the color displayed for
3725       each named color in the palette, and in some cases, the transparency of
3726       stacked items.
3727     </p>
3728     <ul>
3729       <li>
3730         <p>
3731           <strong>Items</strong> Each display item has a named color assigned to
3732           it from the palette. Example color names are
3733           &quot;meter&nbsp;color9&quot; and &quot;color&nbsp;4&quot;.
3734         </p>
3735         <p>
3736           Click on an item's color example to change the named color choice.
3737         </p>
3738       </li>
3739       <li>
3740         <p>
3741           <strong>Palette</strong> Hover over a color to display it's name. Click
3742           on a color to open a color chooser dialog.
3743         </p>
3744       </li>
3745       <li>
3746         <p>
3747           <strong>Transparency</strong> Some items have a transparency value.
3748           Transparency can be changed from opaque to totally transparent.
3749         </p>
3750       </li>
3751     </ul>
3752   </li>
3753 </ul>
3754
3755 ---
3756 title: Session Properties Dialog
3757 menu_title: Session Properties
3758 part: subchapter
3759 ---
3760
3761 <img src="/images/a4_session_properties_timecode.png" alt="session properties dialog"/>
3762
3763 <p>
3764   This dialog allows you to change settings for the current session. These
3765   settings are initially set from the template used to create the session. To
3766   open the dialog use <kbd class="menu">Session &gt; Properties</kbd>
3767 </p>
3768
3769 ---
3770 title: Timecode Tab
3771 menu_title: Timecode Tab
3772 part: subchapter
3773 ---
3774
3775 <img src="/images/a4_session_properties_timecode.png" alt="session properties timecode tab"/>
3776
3777 <p>
3778   This tab is used to change how Ardour interprets and manipulates timecode.
3779 </p>
3780
3781 <ul>
3782   <li>
3783     Timecode Settings lets you set the number of frames per second
3784     and pull up/down to match the timecode used other synchronized systems.
3785   </li>
3786   <li>
3787     External Timecode Offsets allows Ardour to a fixed offset from other
3788     synchronized systems. <dfn>Slave Timecode offset</dfn> adds the
3789     specified offset to the recieved timecode (MTC or LTC).
3790     <dfn>Timecode Generator offset</dfn> adds the specified offset to
3791     the timecode generated by Ardour (so far only LTC).
3792   </li>
3793   <li>
3794     Jack Transport / Time Settings determines whether Ardour controls
3795     Bar|Beat|Tick and other information for Jack.
3796   </li>
3797 </ul>
3798
3799 ---
3800 title: Sync Tab
3801 menu_title: Sync Tab
3802 part: subchapter
3803 ---
3804
3805 <img src="/images/a4_session_properties_sync.png" alt="session properties sync tab"/>
3806
3807 <p>
3808   This tab is used to modify the timecode settings when working with video to
3809   use the imported video's timecode settings instead of the session defaults.
3810 </p>
3811
3812 ---
3813 title: Fades Tab
3814 menu_title: Fades Tab
3815 part: subchapter
3816 ---
3817
3818 <img src="/images/a4_session_properties_fades.png" alt="session properties fades tab"/>
3819
3820 <p>
3821   Change how Ardour works with region crossfades.
3822 </p>
3823
3824 <ul>
3825   <li>
3826     <dfn>Destructive crossfade length</dfn> is used when an operation on a
3827     region is destructive, such as when recording in a track is in tape mode.
3828   </li>
3829   <li>
3830     When <dfn>Region fades</dfn> <strong>active</strong> is checked, the
3831     region fades set up in the mixer are used during playback.  When unchecked,
3832     the fades are ignored.
3833   </li>
3834   <li>
3835     When <strong>Region fades visible</strong> is checked the region fades are visible
3836     in the the <strong>Editor</strong>.
3837   </li>
3838 </ul>
3839
3840 ---
3841 title: Media Tab
3842 menu_title: Media Tab
3843 part: subchapter
3844 ---
3845
3846 <img src="/images/a4_session_properties_media.png" alt="session properties media tab"/>
3847
3848 <p>
3849   Change how sound is stored on disk. These options do not change how sound is handled
3850   internally.
3851 </p>
3852
3853 <ul>
3854   <li>
3855     <dfn>Sample format</dfn> defaults to 32-bit floating point, the same as
3856     the internal representation. 24 and 16-bit integer representation are
3857     also available.
3858   </li>
3859   <li>
3860     <strong>File type</strong> options are WAVE,  WAVE-64, and CAF.
3861   </li>
3862 </ul>
3863
3864 ---
3865 title: Locations Tab
3866 menu_title: Locations Tab
3867 part: subchapter
3868 ---
3869
3870 <img src="/images/a4_session_properties_locations.png" alt="session properties locations tab"/>
3871
3872 <p>
3873   These options add file locations that will be searched to find the audio and
3874   midi files used by the session. This is useful when the files have been
3875   imported into the session but not copied into the session.
3876 </p>
3877
3878 <p>
3879   To add a location, navigate to the directory where the files are stored.
3880   Drill down into the directory and then click open.  The directory will
3881   show up in the dialog.  The remove button next to the added directory can be used
3882   to remove it from the search path.
3883 </p>
3884
3885 ---
3886 title: Filenames Tab
3887 menu_title: Filenames Tab
3888 part: subchapter
3889 ---
3890
3891 <img src="/images/a4_session_properties_filenames.png" alt="session properties filenames tab"/>
3892
3893 <p>
3894   This tab is used to change how Ardour names recorded regions.
3895   If <dfn>Prefix track number</dfn> is selected a unique number will appear on each track
3896   in the <dfn>Editor</dfn> window and will prefix the region name. If the track number
3897   is 2 and the region would have been Gtr-1.1 with track number prefix turned on the region
3898   will be named 2_Gtr-1.1 instead.  See XX for base of the region name.
3899 </p>
3900
3901 <p>
3902   If <dfn>Prefix take name</dfn> is selected and the <dfn>Take name</dfn> has Take1 the region
3903   will have the name Take1_Gtr-1.1 instead.  If both boxes are checked the name will be
3904   Take1_2_Gtr-1.1 instead.
3905 </p>
3906
3907 <p>
3908   When <dfn>Prefix take name</dfn> is enabled, the first time a track is recorded it will
3909   have the specified take name.  When recording is stopped, any trailing number on the
3910   end of the take name will incremented by 1. If the track name specified doen't have
3911   a number on the end, the number 1 will be suffixed.
3912 </p>
3913
3914 ---
3915 title: Monitoring Tab
3916 menu_title: Monitoring Tab
3917 part: subchapter
3918 ---
3919
3920 <p>
3921   Provides options affecting monitoring.
3922 </p>
3923
3924 <img src="/images/a4_session_properties_monitoring.png" alt="session properties monitoring tab"/>
3925
3926 <p>
3927   The <strong>Track Input Monitoring automatically follows transport state</strong>
3928   affects how input monitoring is handling. See
3929   <a href="/recording/monitoring/monitor-setup-in-ardour/">Monitor Setup in Ardour</a>.
3930 </p>
3931
3932 <img class="left" src="/images/a4_monitoring_section.png" alt="monitoring section"/>
3933
3934 <p>
3935   The 'Use monitor section' displays an extra section in the <strong>Mixer</strong>
3936   window that is modelled on the similiarly named section on large analog consoles.
3937 </p>
3938
3939 ---
3940 title: Meterbridge Tab
3941 menu_title: Meterbridge Tab
3942 part: subchapter
3943 ---
3944
3945 <p>
3946   The meters from audio tracks always display in the <dfn>Meterbridge</dfn>.
3947   This tab changes what additional controls are also displayed.
3948 </p>
3949
3950 <img src="/images/a4_session_properties_meterbridge.png" alt="session properties meterbridge tab"/>
3951
3952 <ul>
3953   <li>
3954     <dfn>Route Display</dfn> has options for showing midi tracks, busses, and the master bus.
3955   </li>
3956   <li>
3957     <dfn>Button Area</dfn> has options for adding record enable, mute, solo, and input monitor buttons.
3958   </li>
3959   <li>
3960     <dfn>Name Labels</dfn> adds the track name and, if numbers are enabled on the filenames tab, the number.
3961   </li>
3962 </ul>
3963
3964 <img src="/images/a4_meterbridge_full.png" alt="image of meterbidge with all options on"/>
3965
3966 ---
3967 title: Session Misc Tab
3968 menu_title: Misc Tab
3969 part: subchapter
3970 ---
3971
3972 <p>
3973   This tab has several things that don't fit on the other tabs.
3974 </p>
3975
3976 <img src="/images/a4_session_properties_misc.png" alt="session properties misc tab"/>
3977
3978 <ul>
3979   <li>
3980     <dfn>MIDI Options</dfn>
3981     <ul>
3982       <li>
3983         If <dfn>MIDI region copies are independent</dfn> is selected, when a
3984         MIDI region is copied or duplicated, the new region is not linked to
3985         the region it was copied from. If it is not selected, the copied regions
3986         are linked and any editing of one of the linked regions changes all
3987         of the linked regions.
3988       </li>
3989       <li>
3990         The <dfn>Editor</dfn> can be configured to handle overlapping MIDI notes
3991         several ways.
3992         <ul>
3993           <li>never allow them</li>
3994           <li>don't do anything in particular</li>
3995           <li>replace any overlapped existing notes</li>
3996           <li>shorten the overlapped existing note</li>
3997           <li>shorten the overlapped new note</li>
3998           <li>replace both overlapping notes with a single note</li>
3999         </ul>
4000       </li>
4001     </ul>
4002   </li>
4003   <li>
4004     <dfn>Glue to bars and beats</dfn>
4005     <ul>
4006       <li>New markers can be glued to bars and beats</li>
4007       <li>New regions can be glued to bars and beats</li>
4008     </ul>
4009   </li>
4010   <li>
4011     Settings from the session properties dialogs can be saved to the
4012     default session template.
4013   </li>
4014 </ul>
4015
4016
4017 ---
4018 title: Peripherals
4019 part: chapter
4020 ---
4021
4022
4023 ---
4024 title: Controlling Ardour with OSC
4025 include: controlling-ardour-with-osc.html
4026 exclude: yes
4027 part: subchapter
4028 ---
4029
4030 ---
4031 title: Controlling Ardour with OSC (Ardour 4.7 and Prior)
4032 include: controlling-ardour-with-osc-4.7-and-prior.html
4033 exclude: yes
4034 part: subchapter
4035 ---
4036
4037 ---
4038 title: OSC Feedback With Ardour
4039 part: subchapter
4040 ---
4041
4042 <p>
4043   Feedback from the Ardour to the the control surface is very useful for
4044   a number of things. Motor faders need to know where the the track
4045   they have been attached to is at before they were assigned otherwise
4046   the DAW fader will jump to where the controller fader is. Likewise,
4047   the buttons on each strip need to know what their value is so they can
4048   light their LED correctly. Transport controls should let you know if
4049   they are active too. This is what feedback is all about.
4050 </p>
4051
4052 <p>
4053   Ardour does feedback by sending the same path back that is used to
4054   control the same function. As such any controls that have feedback
4055   have a parameter that is the value of the control or it's state
4056   (on or off). In the case of OSC paths listed on the main OSC page
4057   as having no parameter, if they have feedback, they will also work
4058   with a 1 for button press and 0 for button release. This is because
4059   many OSC controllers will only use exactly the same path for feedback
4060   as for control. For example:
4061 </p>
4062
4063 <dl class="bindings">
4064   <dt><kbd class="osc">/transport_stop</kbd></dt>
4065   <dd></dd>
4066 </dl>
4067
4068 <p>can be used also in the form:</p>
4069
4070 <dl class="bindings">
4071   <dt><kbd class="osc">/transport_stop <em>press</em></kbd></dt>
4072   <dd>where <em>press</em> is an int/bool indicating if the button is pressed or not.</dd>
4073 </dl>
4074
4075 <p>
4076   The feedback does not have the same meaning as the control message.
4077   Where the button release sent to Ardour will be ignored and has no
4078   meaning. Both states have meaning in feedback to the controller.
4079   The feedback will be:
4080 </p>
4081
4082 <dl class="bindings">
4083   <dt><kbd class="osc">/transport_stop <em>state</em></kbd></dt>
4084   <dd>where <em>state</em> is an int/bool indicating if the transport is stopped or not.</dd>
4085 </dl>
4086 <p>
4087   With feedback turned on, OSC control commands that try to change a
4088   control that does not exist will get feedback that resets that control
4089   to off. For example, sending a /strip/recenable to a buss will not work
4090   and Ardour will try to turn the controller LED off in that case. Also
4091   note that Pan operation may be limited by pan width in some cases.
4092   That is with pan width at 100% (or -100%) there is no pan position
4093   movement available.
4094 </p>
4095 <p>
4096   It may come as a surprise, but feedback often generates more network
4097   traffic than control itself does. Some things are more obvious like
4098   head position or meters. But even a simple button push like transport
4099   start sends not only a signal to turn on the play LED, but also one to
4100   turn off the stop LED, the Rewind LED, the Fast Forward LED and the
4101   Loop LED. That is still minor, think instead of a surface refresh
4102   such as happens when the surface is first connected and then most of
4103   that happens every time the fader strips are banked. This is why
4104   feedback is enabled in sections so that as little feedback as is
4105   actually needed is sent. This is also a consideration if the surface
4106   is connected via wifi.
4107 </p>
4108 <h2>List of OSC feedback messages</h2>
4109
4110 <h3>Feedback only</h3>
4111 <p>
4112   These messages are feedback only. They are sent as status from Ardour
4113   and some of them may be enabled separately from other feedback. See:
4114   <a href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
4115   Calculating Feedback and Strip-types Values.</a>
4116 </p>
4117 <p class="note">
4118   See strip section below for info about ssid and wrapping it into the
4119   path. Also /master and /monitor support what the /strip does.
4120 </p>
4121 <p>
4122   In the case where Gainmode is set to position, the track name will
4123   show the dB value while values are changing.
4124 </p>
4125 <dl class="bindings">
4126   <dt><kbd class="osc">/strip/name <em>ssid</em> <em>track_name</em></kbd></dt>
4127   <dd>where <em>track_name</em> is a string representing the name of the track</dd>
4128   <dt><kbd class="osc">/session_name <em>session_name</em></kbd></dt>
4129   <dd>where <em>session_name</em> is a string representing the name of the session</dd>
4130   <dt><kbd class="osc">/strip/meter <em>ssid</em> <em>meter</em></kbd></dt>
4131   <dd>where <em>meter</em> is a value repesenting the current audio level.
4132   (the exact math used is determined by the feedback bits set)</dd>
4133   <dt><kbd class="osc">/strip/signal <em>ssid</em> <em>signal</em></kbd></dt>
4134   <dd>where <em>signal</em> is a float indicating the instantaneous
4135   audio level is -40dB or higher.</dd>
4136   <dt><kbd class="osc">/position/smpte <em>time</em></kbd></dt>
4137   <dd>where <em>time</em> is a string with the current play head time. Seconds as per smpte.</dd>
4138   <dt><kbd class="osc">/position/bbt <em>beat</em></kbd></dt>
4139   <dd>where <em>beat</em> is a string with the current play head bar/beat.</dd>
4140   <dt><kbd class="osc">/position/time <em>time</em></kbd></dt>
4141   <dd>where <em>time</em> is a string with the current play head time. Seconds are in milliseconds</dd>
4142   <dt><kbd class="osc">/position/samples <em>samples</em></kbd></dt>
4143   <dd>where <em>samples</em> is a string with the current play head position in samples.</dd>
4144   <dt><kbd class="osc">/heartbeat <em>LED</em></kbd></dt>
4145   <dd>where <em>LED</em> is a float that cycles 1/0 at 1 second intervals.</dd>
4146   <dt><kbd class="osc">/record_tally <em>state</em></kbd></dt>
4147   <dd>Some record enable is true or "ready to record". For a "Recording" sign at studio door.</dd>
4148 </dl>
4149
4150 <h3>Transport Control</h3>
4151 <dl class="bindings">
4152   <dt><kbd class="osc">/transport_stop <em>state</em></kbd></dt>
4153   <dd><em>state</em> is true when transport is stopped</dd>
4154   <dt><kbd class="osc">/transport_play <em>state</em></kbd></dt>
4155   <dd><em>state</em> is true when transport speed is 1.0</dd>
4156   <dt><kbd class="osc">/ffwd <em>state</em></kbd></dt>
4157   <dd><em>state</em> is true when transport is moving forward but not at speed 1.0</dd>
4158   <dt><kbd class="osc">/rewind <em>state</em></kbd></dt>
4159   <dd><em>state</em> is true when transport speed is less than 0.0</dd>
4160   <dt><kbd class="osc">/loop_toggle <em>state</em></kbd></dt>
4161   <dd><em>state</em> is true when loop mode is true</dd>
4162   <dt><kbd class="osc">/cancel_all_solos <em>state</em></kbd></dt>
4163   <dd>Where <em>state</em> true indicates there are active solos that can be canceled.</dd>
4164 </dl>
4165
4166 <h3>Recording control</h3>
4167 <dl class="bindings">
4168   <!--dt><kbd class="osc">/toggle_punch_in</kbd></dt>
4169   <dd></dd>
4170   <dt><kbd class="osc">/toggle_punch_out</kbd></dt>
4171   <dd></dd-->
4172   <dt><kbd class="osc">/rec_enable_toggle <em>state</em></kbd></dt>
4173   <dd>Master record enabled.</dd>
4174 </dl>
4175
4176 <h3>Master and monitor strips</h3>
4177 <p>
4178   Master and monitor strips are similar to track strips but do not use
4179   the SSID. Rather they use their name as part of the path:
4180 </p>
4181 <dl class="bindings">
4182   <dt><kbd class="osc">/master/gain <em>dB</em></kbd></dt>
4183   <dd>where <em>dB</em> is a float ranging from -193 to +6 representing the actual gain of master in dB</dd>
4184   <dt><kbd class="osc">/master/fader  <em>position</em></kbd></dt>
4185   <dd>where <em>position</em> is an int ranging from 0 to 1023 representing the fader control position</dd>
4186   <dt><kbd class="osc">/master/trimdB <em>dB</em></kbd></dt>
4187   <dd>where <em>dB</em> is a float ranging from -20 to +20 representing the actual trim for master in dB</dd>
4188   <dt><kbd class="osc">/master/pan_stereo_position <em>position</em></kbd></dt>
4189   <dd>where <em>position</em> is a float ranging from 0 to 1 representing the actual pan position for master</dd>
4190   <dt><kbd class="osc">/master/mute  <em>yn</em></kbd></dt>
4191   <dd>where <em>yn</em> is a bool/int representing the actual mute state of the Master strip</dd>
4192   <dt><kbd class="osc">/monitor/gain <em>dB</em></kbd></dt>
4193   <dd>where <em>dB</em> is a float ranging from -193 to 6 representing the actual gain of monitor in dB</dd>
4194   <dt><kbd class="osc">/monitor/fader  <em>position</em></kbd></dt>
4195   <dd>where <em>position</em> is an int ranging from 0 to 1023 representing the fader control position</dd>
4196 </dl>
4197
4198 <h3>Track specific operations</h3>
4199 <p>
4200   For each of the following, <em>ssid</em> is the surface strip ID for the track
4201 </p>
4202 <p class="note">
4203   Some Surfaces (many Android applets) are not able to deal with more
4204   than one parameter in a command. However, the two parameter commands
4205   below can also be sent as /strip/command/ssid param. Feedback can be
4206   set to match this with the /set_surface/feedback <em>state</em>
4207   command. See <a
4208   href="/using-control-surfaces/controlling-ardour-with-osc/calculating-feedback-and-strip-types-values/">
4209   Calculating Feedback and Strip-types Values.</a>
4210 </p>
4211
4212 <dl class="bindings">
4213   <dt><kbd class="osc">/bank_up <em>LED</em></kbd></dt>
4214   <dd>where <em>LED</em> is a bool that indicates another bank_up operation is possible.</dd>
4215   <dt><kbd class="osc">/bank_down <em>LED</em></kbd></dt>
4216   <dd>where <em>LED</em> is a bool that indicates another bank_down operation is possible.</dd>
4217   <dt><kbd class="osc">/strip/name <em>ssid</em> <em>track_name</em></kbd></dt>
4218   <dd>where <em>track_name</em> is a string representing the name of the track
4219   (note there is no coresponding command to set the track name)</dd>
4220   <dt><kbd class="osc">/strip/mute <em>ssid</em> <em>mute_st</em></kbd></dt>
4221   <dd>where <em>mute_st</em> is a bool/int representing the actual mute state of the track</dd>
4222   <dt><kbd class="osc">/strip/solo <em>ssid</em> <em>solo_st</em></kbd></dt>
4223   <dd>where <em>solo_st</em> is a bool/int representing the actual solo state of the track</dd>
4224   <dt><kbd class="osc">/strip/monitor_input <em>ssid</em> <em>monitor_st</em></kbd></dt>
4225   <dd>where <em>monitor_st</em> is a bool/int. True/1 meaning the track is force to monitor input</dd>
4226   <dt><kbd class="osc">/strip/monitor_disk <em>ssid</em> <em>monitor_st</em></kbd></dt>
4227   <dd>where <em>monitor_st</em> is a bool/int. True/1 meaning the track is force to monitor disk,
4228   where both disk and input are false/0, auto monitoring is used.</dd>
4229   <dt><kbd class="osc">/strip/recenable <em>ssid</em> <em>rec_st</em></kbd></dt>
4230   <dd>where <em>rec_st</em> is a bool/int representing the actual rec state of the track</dd>
4231   <dt><kbd class="osc">/strip/record_safe <em>ssid</em> <em>rec_st</em></kbd></dt>
4232   <dd>where <em>rec_st</em> is a bool/int representing the actual record safe state of the track</dd>
4233   <dt><kbd class="osc">/strip/gain <em>ssid</em> <em>gain</em></kbd></dt>
4234   <dd>where <em>gain</em> is a float ranging from -193 to 6 representing the actual gain of the track in dB.</dd>
4235   <dt><kbd class="osc">/strip/fader <em>ssid</em>  <em>position</em></kbd></dt>
4236   <dd>where <em>position</em> is an float ranging from 0 to 1 representing the actual fader position of the track.</dd>
4237   <dt><kbd class="osc">/strip/trimdB <em>ssid</em>  <em>trim_db</em></kbd></dt>
4238   <dd>where <em>trim_db</em> is a float ranging from -20 to 20 representing the actual trim of the track in dB.</dd>
4239   <dt><kbd class="osc">/strip/pan_stereo_position <em>ssid</em> <em>position</em></kbd></dt>
4240   <dd>where <em>position</em> is a float ranging from 0 to 1 representing the actual pan position of the track</dd>
4241 </dl>
4242 <h3>Selection Operations</h3>
4243 <p>
4244   Selection feedback is the same as for strips, only the path changes
4245   from <em>/strip</em> to <em>/select</em> and there is no <em>ssid</em>.
4246   there are some extra feedback and commands that will be listed here.
4247 </p>
4248 <dl class="bindings">
4249   <dt><kbd class="osc">/select/n_inputs <em>number</em></kbd></dt>
4250   <dd>where <em>number</em> number of inputs for this strip</dd>
4251   <dt><kbd class="osc">/select/n_outputs <em>number</em></kbd></dt>
4252   <dd>where <em>number</em> number of outputs for this strip</dd>
4253   <dt><kbd class="osc">/select/comment <em>text</em></kbd></dt>
4254   <dd>where <em>text</em> is the strip comment</dd>
4255   <dt><kbd class="osc">/select/solo_iso <em>state</em></kbd></dt>
4256   <dd>where <em>state</em> is a bool/int representing the Actual solo isolate state of the track</dd>
4257   <dt><kbd class="osc">/select/solo_safe <em>state</em></kbd></dt>
4258   <dd>where <em>state</em> is a bool/int representing the actual solo safe/lock state of the track</dd>
4259   <dt><kbd class="osc">/select/polarity <em>invert</em></kbd></dt>
4260   <dd>where <em>invert</em> is a bool/int representing the actual polarity of the track</dd>
4261   <dt><kbd class="osc">/select/pan_stereo_width <em>width</em></kbd></dt>
4262   <dd>where <em>width</em> is a float ranging from 0 to 1 representing the actual pan width of the track</dd>
4263   <dt><kbd class="osc">/select/send_gain", <em>sendid</em> <em>send_gain</em></kbd></dt>
4264   <dd>where <em>sendid</em> = nth_send, <em>send_gain</em>is a float
4265   ranging from -193 to +6 representing the actual gain in dB for the send</dd>
4266   <dt><kbd class="osc">/select/send_fader", <em>sendid</em> <em>send_gain</em></kbd></dt>
4267   <dd>where <em>sendid</em> = nth_send, <em>send_gain</em>is a float
4268   ranging from 0 to 1 representing the actual position for the send as a fader</dd>
4269   <dt><kbd class="osc">/select/send_name <em>sendid</em> <em>send_name</em></kbd></dt>
4270   <dd>where <em>send_name</em> is a string representing the name of the buss
4271   this send goes to.</dd>
4272 </dl>
4273 <h3>Menu actions</h3>
4274 <p>
4275   Every single menu item in Ardour's GUI is accessible via OSC. However,
4276   there is no provision for returning the state of anything set this way.
4277   This is not a bad thing as most menu items either do not have an on/off
4278   state or that state is quite visible. Binding that affect other parameters
4279   that OSC does track will show on those OSC controls. Examples of this
4280   might be track record enable for tracks 1 to 32, play or stop.
4281 </p>
4282
4283 ---
4284 title: Calculating Feedback and Strip-types Values
4285 part: subchapter
4286 ---
4287
4288 <p>
4289   <em>/set_surface</em> has two values the user needs to calculate before
4290   use. In general these will not be calculated at run time, but
4291   beforehand. There may be more than one button with different values
4292   to turn various kinds of feedback on or off or to determine which
4293   kinds of strips are currently viewed/controlled.
4294 </p>
4295
4296 <p>
4297   Both ,<em>feedback</em> and <em>strip-types</em> use bitsets to keep
4298   track what they are doing. Any number in a computer is made out of
4299   bits that are on or off, but we represent them as normal base 10
4300   numbers. Any one bit turned on will add a unique value to the
4301   number as a whole. So for each kind of feedback or strip type
4302   to be used, that number should be added to the total.
4303 </p>
4304
4305 <h3>strip_types</h3>
4306
4307 <p>
4308   strip_types is an integer made up of bits. The easy way to
4309   deal with this is to think of strip_types items being worth a number and
4310   then adding all those numbers together for a value to send.
4311   Strip Types will determine What kind of strips will be included in
4312   bank. This would include: Audio, MIDI, busses, VCAs, Master, Monitor
4313   and hidden or selected strips.
4314 </p>
4315
4316 <ul>
4317         <li>
4318                 1       - AudioTracks.
4319         </li>
4320         <li>
4321                 2       - MidiTracks.
4322         </li>
4323         <li>
4324                 4       - AudioBuses.
4325         </li>
4326         <li>
4327                 8       - MidiBuses.
4328         </li>
4329         <li>
4330                 16      - VCAs.
4331         </li>
4332         <li>
4333                 32      - Master.
4334         </li>
4335         <li>
4336                 64      - Monitor.
4337         </li>
4338         <li>
4339                 128     - Audio Aux.
4340         </li>
4341         <li>
4342                 256     - Selected.
4343         </li>
4344         <li>
4345                 512     - Hidden.
4346         </li>
4347   </ul>
4348 <p class="note">
4349   Selected and Hidden bits are normally not needed as Ardour defaults to
4350   showing Selected strips and not showing Hidden strips. The purpose of
4351   these two flags is to allow showing only Selected strips or only
4352   Hidden strips. Using Hidden with other flags will allow Hidden strips
4353   to show inline with other strips.
4354 </p>
4355 <p>
4356   Some handy numbers to use might be: 15 (all tracks and buses), 31
4357   (add VCAs to that). Master or Monitor strips are generally not useful
4358   on a surface that has dedicated controls for these strips as there are
4359   /master* and /monitor* commands already. However, on a surface with
4360   just a bank of fader strips, adding master or monitor would allow
4361   access to them within the banks. Selected would be useful for working
4362   on a group or a set of user selected strips. Hidden shows strips the
4363   GUI has hidden.
4364 </p>
4365 <p class-"note">
4366   Audio Aux? say what? I am sure most people will have noticed that they
4367   can find no <em>Aux</em> strips in the Ardour mixer. There are none.
4368   There are buses that can be used a number of ways. From analog days,
4369   in OSC a bus is something that gets used as a sub mix before ending up
4370   going to Master. An auxiliary bus is used like a separate mixer and
4371   it's output goes outside the program or computer to be used as:
4372   a monitor mix, a back up recording, or what have you. In OSC where
4373   controller strips may be limited, it may be useful not to use up a
4374   strip for an aux that is not really a part of the mix. It is also
4375   useful to get a list of only aux buses if the control surface is a
4376   phone used to provide talent monitor mix control on stage. Each
4377   performer would be able to mix their own monitor. The user is free
4378   to enable both buses and auxes if they would prefer.
4379 </p>
4380
4381 <h3>feedback</h3>
4382 <p>Feedback is an integer made up of bits. The easy way to
4383   deal with this is to think of feedback items being worth a number and
4384   then adding all those numbers together for a value to send.
4385 </p>
4386   <ul>
4387         <li>
4388                 1 - Button status for strips.
4389         </li>
4390         <li>
4391                 2 - Variable control values for strips.
4392         </li>
4393         <li>
4394                 4 - Send SSID as path extension.
4395         </li>
4396         <li>
4397                 8 - heartbeat to surface.
4398         </li>
4399         <li>
4400                 16 - Enable master section feedback.
4401         </li>
4402         <li>
4403                 32 - Send Bar and Beat.
4404         </li>
4405         <li>
4406                 64 - Send timecode.
4407         </li>
4408         <li>
4409                 128 - Send meter as dB (-193 to +6) or 0 to 1 depending on gainmode
4410         </li>
4411         <li>
4412                 256 - Send meter a 16 bit value where each bit is a level
4413                 and all bits of lower level are on. For use in a LED strip. This
4414                 will not work if the above option is turned on.
4415         </li>
4416         <li>
4417                 512 - Send signal present, true if level is higher than -40dB
4418         </li>
4419         <li>
4420                 1024 - Send position in samples
4421         </li>
4422         <li>
4423                 2048 - Send position in time, hours, minutes, seconds and milliseconds
4424         </li>
4425         <li>
4426                 8192 - Turn on extra select channel feedback beyond what a /strip supports
4427         </li>
4428   </ul>
4429 <p>
4430   So using a value of 19 would turn on feedback for strip and master
4431   controls, but leave meters, timecode and bar/beat feedback off.
4432 </p>
4433
4434 ---
4435 title: Parameter Types in OSC
4436 part: subchapter
4437 ---
4438
4439 <p>
4440   An OSC message is laid out in this form:
4441 </p>
4442
4443 <kbd>
4444         /path/of/command type parameter
4445 </kbd>
4446
4447 <p>
4448         The type is there to indicate what the parameter is. This gives
4449         the idea that parameter types are quite strict and if the command
4450         requires an Integer <em>"i"</em> then the controller had better send it.
4451         However, the checking of the parameter type is left to the receiving
4452         software.
4453 </p>
4454
4455 <p>
4456         What this means in practical terms is that the surface can get away
4457         with sending the wrong type of parameter. There are some places
4458         where that just doesn't make sense. For example, a parameter that
4459         is specified as a Float with a range of 0 to 1, could be sent as
4460         an Integer, but would only have full scale and minimum value with
4461         nothing in between. This is not much use for a fader, though ok for
4462         a button.
4463 </p>
4464
4465 <p>
4466         There are a number of OSC controllers based on iOS and Android
4467         tablets that only send or receive parameters as floats or text.
4468         These controllers should have no problem sending bool or int values
4469         as floats. Ardour will interpret the values as required.
4470 </p>
4471
4472 ---
4473 title: Selection/Feedback Expansion Considerations in OSC
4474 part: subchapter
4475 ---
4476
4477 <p>
4478   Ardour does not send every possible feedback value for each channel.
4479   It does send expanded information on the selected channel. There are
4480   also extra commands for the selected strip. All the feedback and
4481   select commands have their own path <em>/select</em>.
4482   This means that for the selected channel the surface does not have to
4483   keep track of the strip ID. The /select strip will follow the
4484   "current mixer strip" in the GUI editor window.
4485 </p>
4486 <p>
4487   There are two major uses for this:
4488   <ol>
4489         <li>Single strip control surfaces. Using
4490           <em>/access_action Editor/select-next-route</em> or
4491           <em>/access_action Editor/select-prev-route</em>
4492           to step through the mixer strips.</li>
4493         <li>Using a "Super strip" section of knobs to control parts
4494         of the strip that are changed less often such as polarity, sends or
4495         plugin parameters.</li>
4496   </ol>
4497 </p>
4498 <p>
4499   Selection in Ardour's OSC implementation are complicated by the
4500   possibility of using more than one OSC controller at the same time.
4501   User "A" may select strip 4 and use a selected controller to make
4502   changes to that strip. User "B" may subsequently select strip 7 to
4503   make changes on. This leaves user "A" making changes to strip 7
4504   which they did not choose.
4505 </p>
4506
4507 <p>
4508   For this reason Ardour offers local expansion aside from the GUI
4509   selection. Local expansion only affects the one OSC controller. GUI
4510   selection is global and affects all controllers using GUI selection
4511   as well as the GUI.
4512 </p>
4513
4514 <p>
4515   In general, in a one user situation where that one user may use either
4516   the OSC surface or the GUI, using GUI based selection makes the most
4517   sense. This is the default because this is the more common use.
4518 </p>
4519
4520 <p>
4521   When there is more than one operator, then expansion only is the
4522   mode of choice. It may make sense for one of the surfaces to
4523   use GUI selection where the operator is also using the GUI for some
4524   things. However, the set up should be carefully analyzed for the
4525   possibility of selection confusions. Expansion should be
4526   considered the <em>safe</em> option.
4527 </p>
4528
4529 <p>
4530   It is always ok to use expansion on the surface even in a one
4531   user scenario. This allows the user to use GUI and surface selection
4532   for different uses.
4533 </p>
4534
4535 <p>
4536   It is also possible to use both if desired. /strip/select will ways
4537   set the GUI select, but /strip/expand will set the select feedback
4538   and commands locally without changing the GUI select. Another
4539   /strip/expand or a /strip/select will override that expand command
4540   and releasing the /strip/expand or /select/expand (setting it to 0 or
4541   false) will set the /select set of commands/feedback back to whichever
4542   strip the GUI has selected at that time. This could be used to switch
4543   between the GUI select and the local expand to compare two strips
4544   settings.
4545 </p>
4546
4547 ---
4548 title: Using the OSC Setup Dialog
4549 part: subchapter
4550 ---
4551
4552 <p>
4553   Starting with Ardour 5.1 OSC has a graphic setup dialog. This dialog
4554   can be accessed from Preferences->Control Surfaces. Select OSC and
4555   click on the Show Protocol Settings.
4556 </p>
4557
4558 <p>
4559   The Ardour OSC dialog has three tabs. The main tab, the Strip Types
4560   tab and the Feedback tab.
4561 </p>
4562
4563 <p>
4564   Many OSC devices get their IP from a DHCP making it difficult to set
4565   an IP in Ardour's OSC settings. Therefore, most of the settings are
4566   <em>default</em> settings. Values are set and the next OSC surface to
4567   send a /set_surface* message to Ardour will use those settings. An OSC
4568   surface that has previously sent a message to Ardour will retain the
4569   settings it already had. The <em>Clear OSC Devices</em> will reset all
4570   device settings. A <em>/refresh</em> message will both reset the
4571   device settings as well as set that device to any new settings. The
4572   Use of <em>/set_surface</em> will override all settings except
4573   <em>Port Mode</em>.
4574 </p>
4575
4576 <h2>Dialog settings</h2>
4577
4578 <h3>OSC setup tab</h3>
4579
4580 <p>
4581 <img alt="the OSC configuration dialog"
4582      src="/images/osc-dialog.png">
4583 </p>
4584
4585 <h4>Connection:</h4>
4586
4587 <p>
4588   This field is informational only. It shows where Ardour will receive
4589   OSC messages. The system Name and the Port are the most important parts.
4590 </p>
4591
4592 <h4>Port Mode:</h4>
4593
4594 <p>
4595   This drop down allows the choice of Auto or Manual outbound port
4596   setting. The default Auto port mode, will send OSC messages back to
4597   the port messages from that surface are received from. This setting
4598   allows two surfaces on the same IP to operate independently. However,
4599   there are a number of OSC control surfaces that do not monitor the
4600   same port they send from and in fact may change ports they send from
4601   as well. Manual allows the outgoing port (the port the surface will
4602   receive on, to be manually set. In Manual port mode only one control
4603   surface per IP can work. Most phone or tablet OSC controllers like
4604   touchOSC or Control need Manual port mode. More than one controller
4605   can be used so long as each has it's own IP.
4606 </p>
4607
4608 <h4>Manual Port:</h4>
4609
4610 <p>
4611   This is an Entry box for setting the outgoing port when in
4612   Manual port mode.
4613 </p>
4614
4615 <h4>Bank Size:</h4>
4616
4617 <p>
4618   This sets the default bank size for the next surface to send a
4619   <em>/set_surface/*</em> OSC message. Bank size 0 (the default) sets
4620   no banking and allows controlling all strips included in strip_types
4621   at once.
4622 </p>
4623
4624 <h4>Gain Mode:</h4>
4625
4626 <p>
4627   Sets the faders (and sends faders) feedback math to position where a
4628   value between 0 and 1 represents the fader position of the same fader
4629   in the mixer GUI or dB where the feedback from fader movement will be
4630   returned as a dB value. When the Gain Mode is set to position, the
4631   /*/name feedback for the channel will show dB values in text while the
4632   fader is being adjusted and then return the the name text.
4633 </p>
4634 <h4>Debug:</h4>
4635 <p>
4636   For debugging purposes this allows logging either good OSC messages
4637   Ardour receives or invalid messages received or none.
4638 </p>
4639 <h4>Preset:</h4>
4640 <p>
4641   Ardour now allows the use of preset settings. The default settings
4642   used are the settings from the last session or the factory defaults
4643   the first time OSC is enabled. As soon as any of these settings are
4644   changed, the Preset will change to "User" and the new settings will be
4645   save to the osc directory Ardour configuration directory as
4646   <em>user.preset</em>. This preset file can be renamed for future use.
4647   It is suggested to also change the name value inside to avoid confusion
4648   in the preset listing. Ardour will ship with some of it's own presets
4649   that go with some popular OSC control and map combinations.
4650 </p>
4651 <h4>Clear OSC Devices</h4>
4652 <p>
4653   This button clears operating device profiles so that Ardour will reset
4654   all devices settings to use the new defaults from changed settings. a
4655   device may still override these new settings with the /set_surface set
4656   of commands. The reason for setting defaults settings is that some OSC
4657   controllers are not able to send more than one parameter at a time and
4658   so having correct defaults allows one "Connect" button rather than 4.
4659 </p>
4660 <h3>Default Strip Types tab</h3>
4661 <p>
4662 <img alt="the Default Strip Types tab"
4663      src="/images/osc-strip-types.png">
4664 </p>
4665 <p>
4666   This allows selecting which of Ardour's mixer strips will be available
4667   for control. The Factory default is all strips except master, monitor
4668   and hidden strips. If it is desired to only see input tracks the
4669   others can be deselected. It is also possible to change these settings
4670   from the control surface. A set of buttons could select showing only
4671   inputs or only buses. If a group is selected in the GUI then showing
4672   only selected strips will show only that group. Showing hidden tracks
4673   is handy for cases where a groups of tracks that grouped to a bus or
4674   controlled by a VCA are hidden, but one of those tracks needs a tweak.
4675 </p>
4676
4677 <h3>Default Feedback tab</h3>
4678
4679 <p>
4680 <img alt="the Default Feedback tab"
4681      src="/images/osc-feedbackdefault.png">
4682 </p>
4683
4684 <p>
4685   This allows setting up which controls provide feedback. The Factory
4686   default is none. If the controller is unable to receive feedback, this
4687   should be left blank. In the case of metering, Metering as a LED strip
4688   only works if Metering as a Float is disabled.
4689 </p>
4690
4691 ---
4692 title: Querying Ardour with OSC
4693 part: subchapter
4694 ---
4695
4696 <p>
4697   In order to make a custom controller that knows what strips Ardour
4698   has, the controller needs to be able to query Ardour for that
4699   information. These set of commands are for smarter control surfaces
4700   That have the logic to figure out what to do with the information.
4701   These are not of value for mapped controllers like touchOSC and
4702   friends. The controller will need to send these queries to ardour
4703   as often as it needs this information. It may well make sense to use
4704   regular feedback for things that need to be updated often such as
4705   position or metering.
4706   Here are the commands used to query Ardour:
4707 </p>
4708
4709 <dl class="bindings">
4710   <dt><kbd class="osc">/strip/list</kbd></dt>
4711   <dd>Ask for a list of strips</dd>
4712   <dt><kbd class="osc">/strip/sends <em>ssid</em></kbd></dt>
4713   <dd>Asks for a list of sends on the strip <em>ssid</em></dd>
4714   <dt><kbd class="osc">/strip/receives <em>ssid</em></kbd></dt>
4715   <dd>Asks for a list of tracks that have sends to the strip <em>ssid</em> points to</dd>
4716   <dt><kbd class="osc">/strip/plugin/list <em>ssid</em></kbd></dt>
4717   <dd>Asks for a list of plug-ins for strip <em>ssid.</em></dd>
4718   <dt><kbd class="osc">/plugin/descriptor <em>ssid</em> <em>piid</em></kbd></dt>
4719   <dd>Asks for a list of descriptors for plug-in <em>piid</em> on strip <em>ssid</em></dd>
4720 </dl>
4721
4722 <h3>A list of strips</h3>
4723
4724 <p>
4725   <code>/strip/list</code> asks Ardour for a list of strips that the
4726   current session has. Ardour replies with a message for each
4727   strip with the following information:
4728   <ul>
4729     <li>Strip type</li>
4730     <li>Strip name</li>
4731     <li>Number of inputs</li>
4732     <li>Number of outputs</li>
4733     <li>Muted (bool)</li>
4734     <li>Soloed (bool)</li>
4735     <li>Ssid (strip number)</li>
4736     <li>Record enabled (bool)</li>
4737   </ul>
4738   After all the strip messages have been sent, one final message is
4739   sent with:
4740   <ul>
4741     <li>The text <code>end_route_list</code></li>
4742     <li>The session frame rate</li>
4743     <li>The last frame number of the session</li>
4744   </ul>
4745 </p>
4746 <p class="note">A bus will not have a record enable and so a bus message
4747   will have one less parameter than a track. It is the controllers
4748   responsability to deal with this.
4749 </p>
4750
4751 <h3>A list of sends</h3>
4752 <p>
4753   <code>/strip/sends <em>ssid</em></code> asks Ardour for a list of
4754   sends for strip number ssid. The reply is sent back to the
4755   controller as one message with the following information:
4756   <ul>
4757     <li>Ssid that information is for</li>
4758     <li>Each send's information:</li>
4759     <ul>
4760       <li>The send's target bus ssid</li>
4761       <li>The send's target bus name</li>
4762       <li>The send id for this strip</li>
4763       <li>The send gain as a fader possition</li>
4764       <li>The Send's enable state</li>
4765     </ul>
4766   </ul>
4767 </p>
4768 <p>
4769   The controller can tell how many sends there are from the number of
4770   parameters as each send has 5 parameters and there is one extra for
4771   ssid.
4772 </p>
4773
4774 <h3>A list if tracks that send audio to a bus</h3>
4775 <p>
4776   <code>/strip/receives <em>ssid</em></code> will return a list of
4777   tracks that have sends to the bus at the ssid. The reply will
4778   contain the following information for each track conntected to this
4779   bus:
4780   <ul>
4781     <li>The ssid of the track sending</li>
4782     <li>The name of the sending track</li>
4783     <li>The id of the send at that track</li>
4784     <li>It's gain in fader possition</li>
4785     <li>The send's enable state</li>
4786   </ul>
4787 </p>
4788
4789 <h3>A list of plug-ins for strip</h3>
4790 <p>
4791   <code>/strip/plugin/list <em>ssid</em></code> will return a list of
4792   plug-ins that strip ssid has. The reply will contain the following
4793   information:
4794   <ul>
4795     <li>Ssid that information is for</li>
4796     <li>Each plugin's information:</li>
4797     <ul>
4798       <li>The plug-in's id</li>
4799       <li>The plug-in's name</li>
4800     </ul>
4801   </ul>
4802 </p>
4803
4804 <h3>A list of a plug-in's parameters</h3>
4805 <p>
4806   <code>/plugin/descriptor <em>ssid</em> <em>piid</em></code> will
4807   return the plug-in parameters for ppid plug-in on the ssid strip. The
4808   reply will contain the following information:
4809   <ul>
4810     <li>Ssid of the strip the plug-in is in</li>
4811     <li>The plug-in id for the plug-in</li>
4812     <li>The plug-in's name</li>
4813     <li>Information about each parameter</li>
4814     <ul>
4815       <li>The parameter id</li>
4816       <li>The parameter's name</li>
4817       <li>A bitset of flags (see below)</li>
4818       <li>Data type</li>
4819       <li>Minimum value</li>
4820       <li>Maximum value</li>
4821       <li>The number of scale points</li>
4822       <li>zero or more scale points of one value and one string each</li>
4823       <li>The current parameter value</li>
4824     </ul>
4825   </ul>
4826 </p>
4827
4828 <p>
4829   The flag bitset above has been defined as (from lsb):
4830   <ul>
4831     <li>0 - enumeration</li>
4832     <li>1 - integer step</li>
4833     <li>2 - logarithmic</li>
4834     <li>3 - max unbound</li>
4835     <li>4 - min unbound</li>
4836     <li>5 - sample rate dependent</li>
4837     <li>6 - toggled</li>
4838     <li>7 - controllable</li>
4839   </ul>
4840 </p>
4841
4842 <p>
4843   While this seems complex, it is really not that bad. Minimum, maximum and value will in most cases give you all you need.
4844 </p>
4845
4846 ---
4847 title: Devices using Mackie/Logic Control Protocol
4848 menu_title: Mackie/Logic Control Devices
4849 part: subchapter
4850 ---
4851
4852 <p>
4853   This will walk you through the process of configuring and using
4854   a MIDI control surface with Ardour that uses the <dfn>Mackie Control
4855   protocol</dfn> (MCP) or <dfn>Logic Control protocol</dfn>. Devices that
4856   have been tested and are known to work include the SSL Nucleus, Mackie
4857   Control Pro (plus extenders), Behringer devices in Mackie/Logic mode,
4858   and Steinberg CMC devices.
4859 </p>
4860
4861 <h2>Enabling Mackie Control in Ardour</h2>
4862
4863 <p>
4864   Navigate to <kbd class="menu">Edit &gt; Preferences &gt; Control Surfaces</kbd>.
4865   Double-click on <kbd class="menu">Mackie Control</kbd> to see the setup dialog:
4866 </p>
4867
4868 <img src="/images/missing.png" alt="Mackie Control Setup Dialog" />
4869
4870 <p>
4871   From the selector at the top, choose the type of device you are using.
4872   (<a
4873   href="/using-control-surfaces/devices-using-mackielogic-control-protocol/devices-not-listed/">
4874   What to do if your device is not listed</a>).
4875 </p>
4876
4877 <p>
4878   Once your setup is complete, click "OK" to close the dialog. Now click
4879   on the enable checkbox for "Mackie Control".
4880 </p>
4881
4882 <h2>Connecting control surface and Ardour MIDI ports</h2>
4883
4884 <p>
4885   If you are using a device that uses ipMIDI, such as the SSL Nucleus, no
4886   MIDI port connections are required&mdash;Ardour and your control
4887   surface will be able to talk to each other automatically.
4888 </p>
4889
4890 <p>
4891   If you are using a device that uses normal MIDI (via a standard MIDI or
4892   USB cable), you need to connect Ardour's Mackie Control in and out ports
4893   to the MIDI ports leading to and coming from the control surface.
4894 </p>
4895
4896 <p>
4897   When you have made these connections once, Ardour will recreate them
4898   for you in the future, as long as you leave Mackie Control enabled.
4899 </p>
4900
4901 <h2>Customizing your control surface</h2>
4902
4903 <p>
4904   Every possible Mackie Control button can be bound to any action present
4905   in Ardour's GUI. Please check your control surface page for suggestions.
4906 </p>
4907
4908 <h2>Preparing your device for use with Ardour</h2>
4909
4910 <p>
4911   Most interfaces will require some configuration to send and respond to
4912   MCP.
4913 </p>
4914
4915 <p class="note">
4916   When setting up the control surface, do <em>not</em> use "Pro Tools"
4917   mode. Pro Tools is the only DAW that still requires HUI. The rest of
4918   world uses Mackie Control Protocol. Ardour does not support HUI.
4919 </p>
4920
4921 ---
4922 title: Behringer devices in Mackie/Logic Control Mode
4923 menu_title: Behringer devices
4924 part: subchapter
4925 ---
4926
4927 <h2>Behringer BCF-2000 Faders Controller</h2>
4928
4929 <p>
4930   <img alt="Digramatic Image of the BCF2000"
4931      src="/images/BCF2000.png">
4932 </p>
4933
4934 <p>
4935   The Behringer BCF-2000 Fader Controller is a control surface with 8 motorized
4936   faders, 8 rotary encoders and 30 push buttons. The device is a class
4937   compliant USB Midi Interface and also has standard Midi DIN IN/OUT/THRU  ports.
4938   The device has included a Mackie/Logic Control Emulation Mode since firmware v1.06.
4939   If you're devices firmware is older than v1.06 it will require an update before
4940   Mackie Control Emulation will work as described here.
4941 </p>
4942
4943 <p>
4944   <img alt="Digramatic Image of the BCF2000 in Edit Global Mode"
4945      src="/images/BCF2000-EG.png">
4946 </p>
4947
4948 <p>
4949   In order to put the controller into Mackie/Logic control mode turn on the
4950   unit while holding third button from the left in the top most row
4951   of buttons (under the rotary encoder row). Hold the button down until <dfn>EG</dfn>
4952   or edit global mode is displayed on the LCD screen of the unit. The global parameters
4953   can then be edited using the 8 rotary encoders in the top row.
4954 </p>
4955   <ul>
4956     <li><code>
4957       Encoder #1 sets the operating mode and should be set to <dfn>U-1</dfn> or
4958       USB mode 1 if using with a USB cable connection.
4959     </li></code>
4960     <li><code>
4961       Encoder #3 sets the foot switch mode and should most likely be set to
4962       <dfn>Auto</dfn> to detect how the foot switch is wired.
4963     </li></code>
4964     <li><code>
4965       Encoder #5 sets the device id, if you are using only 1 device the id
4966       should be set to <dfn>ID 1</dfn>. If you are using multiple BCF/BCR2000 each
4967       device is required to be set up sequentially and one at a time.
4968     </li></code>
4969     <li><code>
4970       Encoder #7 controls the MIDI <dfn>Dead Time</dfn> or the amount of milliseconds
4971       after a move has been made that the device ignores further changes, this
4972       should be set to <dfn>100</dfn>.
4973     </li></code>
4974     <li><code>
4975       Encoder #8 controls the MIDI message <dfn>Send Interval</dfn> in milliseconds
4976       and should be set to <dfn>10</dfn>
4977     </li></code>
4978   </ul>
4979 <p>
4980   To exit the <dfn>EG</dfn> mode press the <dfn>Exit</dfn> button. The device is now
4981   ready to use with Ardour.
4982 </p>
4983
4984 <h3>Modes of Operation</h3>
4985 <p>
4986   <img alt="Digramatic Image of the BCF2000 Control Modes"
4987      src="/images/BCF2000-Modes.png">
4988 </p>
4989 <p>
4990   The four buttons arranged in a rectangle and located under the Behringer logo
4991   are the mode selection buttons in Logic Control Emulation Mode,
4992   currently Ardour has implemented support for two of these modes.
4993 </p>
4994 <p>
4995 The surface can be broken into 8 groups of controls.
4996 </p>
4997
4998 <ol>
4999   <li>The rotary encoders at the top of the device</li>
5000   <li>The first row of buttons under the encoders</li>
5001   <li>The second row of buttons under the encoders</li>
5002   <li>The row of motorized faders<li>
5003   <li>
5004     The group of 4 buttons at the top right that will be
5005     referred to here as the <dfn>Shift Group</dfn>
5006   </li>
5007   <li>
5008     The group of 4 buttons under the <dfn>Shift Group</dfn>
5009     referred to here as the <dfn>Mode Group</dfn>
5010   </li>
5011   <li>
5012     The group of 2 buttons under the <dfn>Mode Group</dfn>
5013     referred to here as the <dfn>Select Group</dfn>
5014   </li>
5015   <li>
5016     The group of 4 buttons under the <dfn>Select Group</dfn>
5017     referred to here as the <dfn>Transport Group</dfn>
5018   </li>
5019 </ol>
5020
5021 <h3>Mixer Pan Mode</h3>
5022 <p>
5023   <img alt="Digramatic Image of the BCF2000 Control Modes"
5024      src="/images/BCF2000-Pan.png">
5025 </p>
5026 <p>
5027   This is the standard work mode that organizes the control surface to emulate
5028   a standard mixer layout where controls for each track/bus are arranged vertically.
5029   The order of the faders is either controlled by the order of the tracks in the
5030   mixer or can be set manually by the user.
5031 </p>
5032 <dl>
5033   <dt>Encoders</dt>
5034   <dd>Mixer Pans. The red LEDs show the amount of pan left or right</dd>
5035   <dt>First Row of Buttons</dt>
5036   <dd>Mixer Mutes. The button led lights if the track is currently muted</dd>
5037   <dt>Second Row of Buttons</dt>
5038   <dd>Select Active Track/Bus. Currently selected track/bus is indicated by the button led</dd>
5039   <dt>Faders</dt>
5040   <dd>Mixer Gains</dd>
5041   <dt>Shift Group</dt>
5042   <dd>
5043     The top and bottom left buttons are the simply shifts to change the function of other buttons
5044   </dd>
5045   <dd>
5046     The top right is the <dfn>Fine Control</dfn> button that allows the increment values sent by
5047     by rotary encoders and faders to be a small value for more precise editing. This button
5048     can also act as a shift button.
5049   </dd>
5050   <dd>
5051     The bottom right is the <dfn>Global Shift</dfn> button that allows you to change back to the
5052     standard Mixer Pan view from other views and modes. This button can also act as a shift button.
5053   </dd>
5054   <dt>Mode Group</dt>
5055   <dd>The top two buttons functions are not currently implemented in Ardour.</dd>
5056   <dd>The bottom left button sets the device to <dfn>Pan</dfn> mode and should currently be lit</dd>
5057   <dd>
5058     The bottom right button sets the device to <dfn>Send</dfn> mode but will only allow the switch
5059     if the currently selected track/bus has a send or sends to control.
5060   </dd>
5061   <dt>Select Group</dt>
5062   <dd>
5063     In this mode they function as bank select left and right. If your session has more than 8 tracks
5064     the next set of 8 tracks is selected with the right button and the faders will move to match the
5065     current gain settings of that bank of 8 tracks/busses. If the last bank contains less than 8
5066     tracks/busses the unused  faders will move to the bottom and the pan lights will all turn
5067     off. An unlimited amount of tracks can be controlled with the device.
5068   </dd>
5069   <dt>Transport Group</dt>
5070   <dd>The upper left button controls <dfn>Rewind<dfn>.
5071   <dd>The upper right button controls <dfn>Fast Foreword</dfn>
5072   <dd>The lower left button controls stop</dd>
5073   <dd>The lower right button controls play</dd>
5074 </dl>
5075 <h3>Send Mode</h3>
5076 <p>
5077   <img alt="Digramatic Image of the Send Mode"
5078      src="/images/BCF2000-Send.png">
5079 </p>
5080 <p>
5081   Send mode allows for the top row of encoders to control the sends for a selected channel.
5082   One interesting option is to flip the controls from the encoders to the faders by pressing
5083   the shift 1 button and the global view button at the same time.
5084 </p>
5085 <dl>
5086   <dt>Encoders</dt>
5087   <dd>
5088     In send mode, the encoders control sends from left to right instead of mixer pans.
5089     If there are less than 8 sends the behavior of the encoder will be to continue controlling
5090     the mixer pan. Visually it's indicated by the change in the LED from originating at the 12
5091     o'clock position to originating at the 7 o'clock position. If <dfn>FLIP</dfn> is pressed
5092     the encoder will control the mixer gain for the selected track/bus.
5093   </dd>
5094   <dt>First row of buttons</dt>
5095   <dd>No Change</dd>
5096   <dt>Second row of buttons</dt>
5097   <dd>No Change.</dd>
5098   <dt>Faders</dt>
5099   <dd>
5100     No change unless <dfn>FLIP</dfn>is pressed then it controls the send for the selected track/bus.
5101   </dd>
5102   <dt>Shift Group</dt>
5103   <dd>No Change</dd>
5104   <dt>Select Group</dt>
5105   <dd>No Change</dd>
5106   <dt>Transport Group</dt>
5107   <dd>No Change</dd>
5108 </dl>
5109 <h3>Mixer Pan While Holding Shift 1</h3>
5110 <p>
5111   <img alt="Digramatic Image of the Mixer Mode while holding down shift 1"
5112      src="/images/BCF2000-Shift1.png">
5113 </p>
5114 <p>
5115   The operations of various buttons change while holding down the <dfn>Shift 1</dfn> button
5116 </p>
5117 <dl>
5118   <dt>Encoders</dt>
5119   <dd>No Change</dd>
5120   <dt>First row of buttons</dt>
5121   <dd>These now control the Soloing of each track/bus in the current bank</dd>
5122   <dt>Second row of buttons</dt>
5123   <dd>These now control the Enable Record for each track</dd>
5124   <dt>Faders</dt>
5125   <dd>No Change</dd>
5126   <dt>Shift Group</dt>
5127   <dd>No change</dd>
5128   <dt>Mode Group</dt>
5129   <dd>No Change</dd>
5130   <dt>Select Group</dt>
5131   <dd>
5132     These now change the current bank of tracks being controlled over by
5133     one. So if you where controlling tracks 1-8 a push the right
5134     button the surface would now control tracks 2-9 pressing the left
5135     would then shift back to controlling tracks 1-8.
5136   </dd>
5137   <dt>Transport Group</dt>
5138   <dd>The upper left now controls turning on and off <dfn>Loop</dfn> mode.</dd>
5139   <dd>
5140     The upper right now toggles
5141     <dfn>Click</dfn>.
5142   </dd>
5143   <dd>The lower left toggles <dfn>Replace</dfn>.</dd>
5144   <dd>
5145     The lower right toggles
5146     <dfn>Global Record</dfn>.
5147   </dd>
5148 </dl>
5149 <h3>Mixer Pan While Holding Shift 2</h3>
5150 <p>
5151   <img alt="Digramatic Image of the Mixer Mode while holding down shift 2"
5152      src="/images/BCF2000-Shift2.png">
5153 </p>
5154 <p>
5155   The operations of various buttons change while holding down the <dfn>Shift 2</dfn> button
5156 </p>
5157 <dl>
5158   <dt>Encoders</dt>
5159   <dd>No Change</dd>
5160   <dt>First row of buttons</dt>
5161   <dd>FIX ME</dd>
5162   <dt>Second row of buttons</dt>
5163   <dd>These now control setting up different <dfn>Views</dfn>. See bellow for more info</dd>
5164   <dt>Faders</dt>
5165   <dd>No Change</dd>
5166   <dt>Shift Group</dt>
5167   <dd>No change</dd>
5168   <dt>Mode Group</dt>
5169   <dd>No Change</dd>
5170   <dt>Select Group</dt>
5171   <dd>Left button controls <dfn>Undo</dfn>(NEEDS VERIFIED)</dd>
5172   <dt>Transport Group</dt>
5173   <dd>FIX ME</dd>
5174   <dd>FIX ME</dd>
5175   <dd>FIX ME</dd>
5176   <dd>FIX ME</dd>
5177 </dl>
5178
5179 <h3>Views</h3>
5180
5181 <p>
5182   <img alt="Digramatic Image of the LED display for different Views"
5183      src="/images/BCF2000-Views.png">
5184 </p>
5185
5186 <p class="fixme">FIX ME</p>
5187
5188 ---
5189 title: SSL Nucleus
5190 part: subchapter
5191 ---
5192
5193 <p>
5194   The Nucleus, from Solid State Logic, is a 16 fader Mackie Control
5195   device that includes many buttons, separate meters, two LCD displays
5196   and other features. The device is not cheap (around US$5000 at the
5197   time of writing), and has some <a href="#design">design features</a>
5198   (or lack thereof) which some Ardour developers find
5199   questionable. Nevertheless, it is a very flexible device, and makes
5200   a nice 16 fader surface without the need to somehow attach an
5201   extender to your main surface.
5202 </p>
5203
5204 <h2>Pre-configuring the Nucleus</h2>
5205
5206 <p>
5207   Your Nucleus comes complete with a number of "profiles" for a few
5208   well-known DAWs. At the time of writing it does not include one for
5209   Ardour (or related products such as Harrison Mixbus).
5210 </p>
5211 <p>
5212   We have prepared a profile in which as many buttons as possible send
5213   Mackie Control messages, which makes the device maximally useful
5214   with Ardour (and Mixbus). You can
5215   download <a href="https://community.ardour.org/files/ArdourNucleusProfile.zip">the
5216   profile</a>
5217   and load it to your Nucleus using the <code>Edit Profiles</code>
5218   button in SSL's Nucleus Remote application. Be sure to select it for
5219   the active DAW layer in order to make Ardour work as well as
5220   possible. <em>Note: unfortunately, the Nucleus Remote application
5221   only runs on OS X or Windows, so Linux users will need access to
5222   another system to load the profile. We will provide notes on the
5223   profile settings at a future time.</em>
5224 </p>
5225
5226 <h2>Connecting the Nucleus</h2>
5227
5228 <p>
5229   Unlike most Mackie Control devices, the Nucleus uses an ethernet
5230   connection to send and receive the MIDI messages that make up the
5231   Mackie Control protocol. Specifically, it uses a technology called
5232   "ipMIDI" which essentially "broadcasts" MIDI messages on a local
5233   area network, so that any connected devices (computers, control
5234   surfaces, tablets etc.) can participate.
5235 </p>
5236 <p>
5237   All other DAWs so far that support the Nucleus have chosen to do so
5238   by using a 3rd party MIDI driver called "ipMIDI", which creates a
5239   number of "virtual" MIDI ports on your computer. You, the user,
5240   tells the DAW which ports to connect to, and ipMIDI takes care of
5241   the rest.
5242 </p>
5243 <p>
5244   Ardour has builtin ipMIDI support, with no need of any 3rd party
5245   packages, and no need to identify the "ports" to connect to in order
5246   to communicate with the Nucleus. This makes setting it up a bit
5247   easier than most other systems.
5248 </p>
5249 <p>
5250   Unless ... you already installed the ipMIDI driver in order to use
5251   some other DAW with your Nucleus. If ipMIDI is configured to create
5252   any "ports", it is not possible for Ardour's own ipMIDI support to
5253   function. We decided to offer both methods of communicating with
5254   your Nucleus. If you regularly use other DAWs, and appreciate having
5255   ipMIDI permanently set up to communication with the Nucleus&mdash;that's
5256   OK, you can tell Ardour to use the ipMIDI driver you already
5257   have. But if you're not using other DAWs with the Nucleus (and thus
5258   have not installed the ipMIDI driver), then you can ignore the
5259   ipMIDI driver entirely, and let Ardour connect directly with no
5260   configuration.
5261 </p>
5262
5263 <h3>Connecting via Ardour's own ipMIDI support</h3>
5264
5265 <p class="alert alert-info">
5266   This is usable only on computers with no 3rd party ipMIDI
5267   driver software installed and configured. If you have the OS X or
5268   Windows ipMIDI driver from nerds.de, it <strong>MUST</strong> be
5269   configured to offer <strong>ZERO</strong> ports before using this
5270   method.
5271 </p>
5272
5273 <p>
5274   Open <code>Preferences > Control Surfaces</code>. Ensure that the
5275   Mackie protocol is enabled, then double-click on it to open the
5276   Mackie Control setup dialog.
5277 </p>
5278 <p>
5279   Ensure that the device selected is "SSL Nucleus". The dialog should
5280   show a single numerical selector control below it, defining the
5281   ipMIDI port number to use (it should almost always be left at the
5282   default value of 21928).
5283 </p>
5284 <p>
5285   Communication is automatically established with the Nucleus and you
5286   need do nothing more.
5287 </p>
5288 <p>
5289   If this does not work, then make sure your network cables are
5290   properly connected, and that you are <strong>not</strong> running
5291   other ipMIDI software on the computer.
5292 </p>
5293
5294 <h3>Connecting via 3rd party ipMIDI support</h3>
5295
5296 <p class="alert alert-info">
5297   This is usable only on computers with 3rd party ipMIDI
5298   driver software installed and configured for (at least) 2 ports.
5299 </p>
5300
5301 <p>
5302   Open <code>Preferences > Control Surfaces</code>. Ensure that the
5303   Mackie protocol is enabled, then double-click on it to open the
5304   Mackie Control setup dialog.
5305 </p>
5306 <p>
5307   Ensure that the device selected is "SSL Nucleus (via platform MIDI)". The dialog should
5308   show four combo/dropdown selectors, labelled (respectively):
5309 </p>
5310   <ul>
5311     <li><code>Main Surface receives via</code></li>
5312     <li><code>Main Surface sends via</code></li>
5313     <li><code>1st extender receives via</code></li>
5314     <li><code>1st extender sends via</code></li>
5315   </ul>
5316 <p>
5317   You should choose "ipMIDI port 1", "ipMIDI port 1", "ipMIDI port 2"
5318   and "ipMIDI port 2" for each of the 4 combo/dropdown selectors.
5319 </p>
5320 <p>
5321   Communication should be automatically established with the Nucleus.
5322 </p>
5323 <p>
5324   If this does not work, then make sure your network cables are
5325   properly connected, and that you are running the approprate ipMIDI
5326   driver and have configured it for 2 (or more) ports.
5327 </p>
5328
5329 <h2><a name="design">Nucleus Design Discussion</a></h2>
5330
5331 <p>
5332   You might be reading this part of the manual seeking some guidance
5333   on whether the Nucleus would make a suitable control surface for
5334   your workflows. We don't want to try to answer that question
5335   definitively, since the real answer depends on the very specific
5336   details of your workflow and situation, but we would like to point
5337   out a number of design features of the Nucleus that might change
5338   your opinion.
5339 </p>
5340
5341 <h3>Cons</h3>
5342 <dl>
5343   <dt>No Master Faster</dt>
5344   <dd>It is not possible to control the level of the Master bus or
5345   Monitor section. Really don't know what SSL was thinking here.</dd>
5346   <dt>No dedicated rec-enable buttons</dt>
5347   <dd>You have to press the "Rec" button and convert the per-strip
5348     "Select" buttons into rec-enables</dd>
5349   <dt>No dedicated automation buttons</dt>
5350   <dd>You have to press the "Auto" button and convert the first 4
5351   vpots into 4 automation-related buttons, losing your current view
5352     of the session.</dd>
5353   <dt>No buttons with Mackie-defined "Marker" functionality</dt>
5354   <dd>Mackie's design intentions for the interoperation of the
5355     Marker, rewind and ffwd buttons requires profile editing in order
5356     to function properly.
5357   </dd>
5358   <dt>No "Dyn" button</dt>
5359   <dd>This is hard to assign in an edited profile. To be fair, other
5360     Mackie Control devices also lack this button.
5361   </dd>
5362 </dl>
5363
5364 <h3>Pros</h3>
5365 <dl>
5366   <dt>Single cable connectivity</dt>
5367   <dd>No need for multiple MIDI cables to get 16 faders</dd>
5368   <dt>Broadcast connectivity</dt>
5369   <dd>Connecting to multiple computers does not require recabling</dd>
5370   <dt>16 faders from a single box</dt>
5371   <dd>No need to figure out how to keep extenders together</dd>
5372   <dt>Meters separated from displays</dt>
5373   <dd>Contrast with the Mackie Control Universal Pro, where meters
5374     interfere with the display
5375   </dd>
5376   <dt>DAW profiles</dt>
5377   <dd>Easy to flip profiles for use by different DAWs.</dd>
5378 </dl>
5379
5380
5381 <h3>Ambiguous</h3>
5382 <dl>
5383   <dt>Ability to make buttons generate USB keyboard events</dt>
5384   <dd>The extent to which this is useful reflects the target DAWs
5385     inability to manage all of its functionality via Mackie Control
5386   </dd>
5387   <dt>Sophisticated "profile" editing</dt>
5388   <dd>It is nice to be able to reassign the functionality of most
5389     buttons, but this is only necessary because of the relatively few
5390     global buttons on the surface.
5391   </dd>
5392   <dt>Builtin analog signal path</dt>
5393   <dd>SSL clearly expects users to route audio back from their
5394   computer via the Nucleus' own 2 channel output path, and maybe even
5395   use the input path as well. They take up a significant amount of
5396   surface space with the controls for this signal path, space that
5397   could have been used for a master fader or more Mackie Control
5398   buttons. The USB audio device requires a proprietary driver, so
5399   Linux users can't use this, and OS X/Windows users will have to
5400   install a device driver (very odd for a USB audio device these
5401   days). The analog path also no doubt adds notable cost to the
5402   Nucleus. There's nothing wrong with this feature for users that
5403   don't already have a working analog/digital signal path for their
5404   computers. But who is going to spend $5000 on a Nucleus that
5405   doesn't have this already?</dd>
5406 </dl>
5407
5408 ---
5409 title: Mackie Control Setup on Linux
5410 part: subchapter
5411 ---
5412
5413 <h2>Devices using ipMIDI</h2>
5414
5415 <p>
5416   If you are using a device like the SSL Nucleus that uses ipMIDI,
5417   no set up is required other than to ensure that your control surface
5418   and computer are both connected to the same network.
5419 </p>
5420
5421 <h2>Devices using conventional MIDI</h2>
5422
5423 <p>
5424   Before attempting to use a Mackie Control device that communicates via
5425   a standard MIDI cable or a USB cable, you should ensure that
5426   <a href="/setting-up-your-system/setting-up-midi/midi-on-linux">your Linux
5427   MIDI environment is setup</a>.
5428 </p>
5429
5430 ---
5431 title: What to do if your Device is not Listed
5432 menu_title: Unlisted devices
5433 part: subchapter
5434 ---
5435
5436 <p>
5437   All Mackie Control devices are based on the original Logic Control and the
5438   documentation in the user manual that came with it. The Mackie Control and
5439   the Mackie Control Pro and so on, all use this same protocol. Any units
5440   from other manufactures will also use the same encoding as best the
5441   hardware will allow. If the unit in use has more than one Mackie Control
5442   option, it is best to choose Logic Control or LC. Any Templates for the
5443   buttons should be chosen the same way as the Function key Editor uses these
5444   button names. The "Mackie Control" option should be considered default and
5445   should be tried with any unlisted device before attemping to create a
5446   custom definition file.
5447 </p>
5448
5449 ---
5450 title: Working With Extenders
5451 menu_title: Working With Extenders
5452 part: subchapter
5453 ---
5454
5455 <p>
5456   Extenders will require a custom file as there are no combinations listed
5457   at this time. The best way is to start with the mc.device file and copy it
5458   to a new name such as xt+mc.device and then edit that file. It is best to
5459   name the file with the order the devices are expected to be used in as
5460   the position of the master device is specified in this file.
5461 </p>
5462
5463 <p>
5464   The two lines of interest are:
5465 <p>
5466
5467 <pre>
5468  &lt;Extenders value="0"/&gt;
5469  &lt;MasterPosition value="0"/&gt;
5470 </pre>
5471
5472 <p>
5473   Add these two lines if they are not present. The <code>Extenders</code>
5474   value is the number of extenders used and should not include the master in
5475   that number.
5476 </p>
5477
5478 <p>
5479   When an <code>Extenders</code> value of greater than 0 is used, extra midi
5480   ports will appear for the extenders to be connected to. The MIDI ports
5481   for the controllers will be named <code>mackie control #1</code>,
5482   <code>mackie control #2</code> and up. The numbers will go from left to
5483   right. That is, from lowest number channel to highest.
5484 </p>
5485
5486 <p>
5487   The <code>MasterPosition</code> value is the port number the master unit
5488   (with the master fader) is connected to. So if there are three surfaces,
5489   <code>&lt;MasterPosition value="1"/&gt;</code> will expect the master on
5490   the left, <code>&lt;MasterPosition value="2"/&gt;</code> would be master
5491   in the middle and <code>&lt;MasterPosition value="3"/&gt;</code> would be
5492   master on the right. So the position matches the port name.
5493 </p>
5494
5495 <p class="note">
5496   The default value of <code>&lt;MasterPosition value="0"/&gt;</code> has
5497   the same effect as <code>&lt;MasterPosition value="1"/&gt;</code>.
5498 </p>
5499
5500 <p>
5501   If the <code>MasterPosition</code> value does not properly match the
5502   physcal position and MIDI port, the master fader and global controls will
5503   not work. The master unit will act like an extender.
5504 </p>
5505
5506 ---
5507 title: MIDI Binding Maps
5508 part: subchapter
5509 ---
5510
5511 <p>
5512   Ardour 2.X supported
5513   <a href="/using-control-surfaces/midi-learn"><dfn>MIDI learning</dfn></a>
5514   for more or less any control. This was a nice feature that quite a few other
5515   DAWs are providing by now, but it didn't allow Ardour to work "out of the
5516   box" with sensible defaults for existing commercial MIDI
5517   controllers. In Ardour 3 and later versions, we have augmented the
5518   MIDI learn feature with the ability to load a <dfn>MIDI binding map</dfn>
5519   for a given controller, which can set up an arbitrary number of physical
5520   controls with anything inside Ardour that can be controlled.
5521 </p>
5522
5523 <p>
5524   Currently (August 2016), we have presets for the following devices/modes:
5525 </p>
5526
5527 <ul>
5528   <li>AKAI MPD-32</li>
5529   <li>AKAI MPK61</li>
5530   <li>AKAI MPKmini</li>
5531   <li>Behringer BCF2000</li>
5532   <li>Behringer BCF2000 (Mackie Emulation mode; better to use
5533     Ardour's actual Mackie Control Protocol support)</li>
5534   <li>Behringer DDX3216</li>
5535   <li>Korg nanoKONTROL (2 layouts)</li>
5536   <li>Korg nanoKONTROL 2 (2 layouts)</li>
5537   <li>Korg Taktile</li>
5538   <li>M-Audio Axiom 25 (2 layouts)</li>
5539   <li>M-Audio Axiom 61</li>
5540   <li>M-Audio Oxygen 49</li>
5541   <li>M-Audio Oxygen 61v3</li>
5542   <li>M-Audio Oxygen 25</li>
5543   <li>M-Audio Oxygen 8v2</li>
5544   <li>Novation Impulse 49</li>
5545   <li>Novation Impulse 61</li>
5546   <li>Novation LaunchControl XL</li>
5547   <li>Novation LaunchKey 25</li>
5548   <li>Roland SI-24</li>
5549   <li>Roland V Studio 20</li>
5550   <li>Yamaha KX25</li>
5551 </ul>
5552   At this time, new binding maps need to be created with a text editor.
5553 <p>
5554   MIDI binding maps are accessible by double-clicking <kbd class="menu">Edit
5555   &gt; Preferences &gt; Control Surfaces &gt; Generic MIDI</kbd>. Ardour will
5556   retain your selection after you choose one.
5557 </p>
5558
5559 <h2>Creating new MIDI maps</h2>
5560 <h3>The Basic Concept</h3>
5561 <p>
5562   Since the beginning of time (well, sometime early in the 2.X series),
5563   Ardour has had the concept of identifying each track and bus with a
5564   <dfn>remote control ID</dfn>. This ID uniquely identifies a track or bus
5565   so that when messages arrive from elsewhere via MIDI or OSC , we can determine
5566    which track or bus they are intended to control. Ardour has a
5567    <a
5568   href="/working-with-tracks/controlling-track-ordering/track-ordering-and-remote-control-ids/">number
5569    of ways of assigning remote control IDs</a>, but they don't really matter
5570    very much when creating MIDI binding maps, so we won't discuss that here.
5571    You just need to know that there is a "first track" and its remote control
5572    ID is 1, and so on.
5573 </p>
5574 <h3>Getting Started</h3>
5575 <p>
5576   MIDI bindings are stored in files with the suffix ".map" attached to their
5577   name. The minimal content looks like this:
5578 </p>
5579 <pre>
5580 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
5581 &lt;ArdourMIDIBindings version="1.0.0" name="The name of this set of
5582 bindings"&gt;
5583 &lt;/ArdourMIDIBindings&gt;
5584 </pre>
5585 <p>
5586   So, to start, create a file with that as the initial contents.
5587 </p>
5588 <p>
5589   On OS X, Ardour loads midi maps from its binary-bundle folder in
5590   <code>Ardour-&lt;version&gt;/midi_maps/</code> and checks
5591   various other locations as well (defined by the ARDOUR_MIDIMAPS_PATH
5592   environment variable). On GNU/Linux the easiest is to save the file to
5593   <code>~/.config/ardour3/midi_maps/</code>.
5594 </p>
5595
5596 <h3>Finding out what your MIDI control surface sends</h3>
5597 <p>
5598   This is the most complex part of the job, but its still not very hard.
5599   You need to connect the control surface to an application that will show
5600   you the information that the device sends each time you modify a knob,
5601   slider, button etc. There are a variety of such applications (notably
5602   <code>gmidimon</code> and <code>kmidimon</code>, but you can actually use
5603   Ardour for this if you want. Start Ardour in a terminal window, connect
5604   MIDI ports up, and in the Preferences window, enable "Trace Input" on the
5605   relevant MIDI port. A full trace of the MIDI data received will show up in
5606   the terminal window. (Note: in Ardour3, you get a dedicated, custom dialog
5607   for this kind of tracing.)
5608 </p>
5609 <h3>Types of Bindings</h3>
5610 <p>
5611   There are two basic kinds of bindings you can make between a MIDI message
5612   and something inside Ardour. The first is a binding to a specific parameter
5613   of a track or bus. The second is a binding to a function that will change
5614   Ardour's state in some way.
5615 </p>
5616 <h4>Binding to Track/Bus controls</h4>
5617 <p>
5618   A track/bus binding has one of two basic structures
5619 </p>
5620 <code>
5621   &lt;Binding <em>msg specification</em>  uri="<em>... control address ...</em>"/&gt;
5622   &lt;Binding <em>msg specification</em>  function="<em>... function name ...</em>"/&gt;
5623 </code>
5624
5625 <h4>Message specifications</h4>
5626 <p>
5627   You can create a binding for either 3 types of channel messages, or for a
5628   system exclusive ("sysex") message.  A channel message specification looks
5629   like this:
5630 </p>
5631 <code>
5632    &lt;Binding channel="1" ctl="13" ....
5633 </code>
5634 <p>
5635   This defines a binding for a MIDI Continuous Controller message involving
5636   controller 13, arriving on channel 1. There are 16 MIDI channels, numbered
5637   1 to 16. Where the example above says <code>ctl</code>, you can alternatively
5638   use <code>note</code> (to create binding for a Note On message) or
5639   <code>pgm</code>  (to create a binding for a Program Change message).
5640 </p>
5641 <p>
5642   As of Ardour 4.2, <code>enc-r</code>, <code>enc-l</code>, <code>enc-2</code> and
5643   <code>enc-b</code> may be used for surfaces that have encoders that send
5644   offsets rather than values. These accept Continuous Controller messages
5645   but treat them as offsets. These are good for banked controls as they are
5646   always at the right spot to start adjusting. (
5647    <a href="/using-control-surfaces/midi-binding-maps/working-with-encoders/">
5648    Learn more about working with encoders
5649    </a>)
5650 </p>
5651 <p>
5652   You can also bind sysex messages:
5653 </p>
5654 <code>
5655   &lt;Binding sysex="f0 0 0 e 9 0 5b f7" ....
5656   &lt;Binding sysex="f0 7f 0 6 7 f7" ....
5657 </code>
5658 <p>
5659   The string after the <code>sysex=</code> part is the sequence of MIDI bytes,
5660   as hexadecimal values, that make up the sysex message.
5661 </p>
5662 <p>
5663   Finally, you can bind a totally arbitrary MIDI message:</p>
5664 <code>
5665   &lt;Binding msg="f0 0 0 e 9 0 5b f7" ....
5666   &lt;Binding msg="80 60 40" ....
5667 </code>
5668 <p>
5669   The string after the <code>msg=</code> part is the sequence of MIDI bytes, as
5670   hexadecimal values, that make up the message you want to bind. Using this is
5671   slightly less efficient than the other variants shown above, but is useful for
5672   some oddly designed control devices.
5673 </p>
5674
5675 <p class="note">
5676   As of Ardour 4.6 it is possible to use multi-event MIDI strings such as
5677   two event CC messages, RPN or NRPN.
5678 </p>
5679
5680 <p class="note">
5681   The <code>sysex=</code> and <code>msg=</code> bindings will only work with
5682   <code>function=</code> or <code>action=</code> control addresses. They
5683   will <em>not</em> work with the <code>uri=</code> control addresses.
5684   Controls used with <code>uri=</code> require a <em>Value</em> which is
5685   only available in a known place with channel mode MIDI events.
5686 </p>
5687
5688 <h4>Control address</h4>
5689 <p>
5690   A <dfn>control address</dfn> defines what the binding will actually control.
5691   There are quite a few different things that can be specified here:
5692 </p>
5693 <dl class="wide-table">
5694 <dt>/route/gain</dt>
5695 <dd>the gain control ("fader") for the track/bus</dd>
5696 <dt>/route/trim</dt>
5697 <dd>the trim control for the track/bus (new in 4.1)</dd>
5698 <dt>/route/solo</dt>
5699 <dd>a toggleable control for solo (and listen) of the track/bus</dd>
5700 <dt>/route/mute</dt>
5701 <dd>a toggleable control to mute/unmute the track/bus</dd>
5702 <dt>/route/recenable</dt>
5703 <dd>a toggleable control to record-enable the track</dd>
5704 <dt>/route/panwidth</dt>
5705 <dd>interpreted by the track/bus panner, should control image "width"</dd>
5706 <dt>/route/pandirection</dt>
5707 <dd>interpreted by the track/bus panner, should control image "direction"</dd>
5708 <dt>/route/plugin/parameter</dt>
5709 <dd>the Mth parameter of the Nth plugin of a track/bus
5710 </dd>
5711 <dt>/route/send/gain</dt>
5712 <dd>the gain control ("fader") of the Nth send of a track/bus</dd>
5713 </dl>
5714 <p>Each of the specifications needs an address, which takes various forms too. For track-level controls (solo/gain/mute/recenable), the address is one the following:</p>
5715 <dl class="wide-table">
5716 <dt>a number, eg. "1"
5717 </dt>
5718 <dd>identifies a track or bus by its remote control ID
5719 </dd>
5720 <dt>B, followed by a number
5721 </dt>
5722 <dd>identifies a track or bus by its remote control ID within the current bank (see below for more on banks)
5723 </dd>
5724 <dt>one or more words
5725 </dt>
5726 <dd>identifies a track or bus by its name
5727 </dd>
5728 </dl>
5729 <p>
5730   For send/insert/plugin controls, the address consists of a track/bus
5731   address (as just described) followed by a number identifying the plugin/send
5732   (starting from 1). For plugin parameters, there is an additional third
5733   component: a number identifying the plugin parameter number (starting from
5734   1).
5735 </p>
5736 <p>
5737   One additional feature: for solo and mute bindings, you can also add
5738   <code>momentary="yes"</code> after the control address. This is useful
5739   primarily for NoteOn bindings&mdash;when Ardour gets the NoteOn it
5740   will solo or mute the targetted track or bus, but then when a NoteOff
5741   arrives, it will un-solo or un-mute it.
5742 </p>
5743
5744 <h4>Bindings to Ardour "functions"</h4>
5745 <p>
5746   Rather than binding to a specific track/bus control, it may be useful to
5747   have a MIDI controller able to alter some part of Ardour's state. A
5748   binding definition that does this looks like this:
5749 </p>
5750 <code>
5751   &lt;Binding channel="1" note="13" function="transport-roll"/&gt;
5752 </code>
5753 <p>
5754   In this case, a NoteOn message for note number 13 (on channel 1) will
5755   start the transport rolling. The following function names are available:
5756 </p>
5757 <dl class="narrower-table">
5758 <dt>
5759 <code>transport-stop</code>
5760 </dt>
5761 <dd>stop the transport
5762 </dd>
5763 <dt>
5764 <code>transport-roll</code>
5765 </dt>
5766 <dd>start the transport "rolling"
5767 </dd>
5768 <dt>
5769 <code>transport-zero</code>
5770 </dt>
5771 <dd>move the playhead to the zero position
5772 </dd>
5773 <dt>
5774 <code>transport-start</code>
5775 </dt>
5776 <dd>move the playhead to the start marker
5777 </dd>
5778 <dt>
5779 <code>transport-end</code>
5780 </dt>
5781 <dd>move the playhead to the end marker
5782 </dd>
5783 <dt>
5784 <code>loop-toggle</code>
5785 </dt>
5786 <dd>turn on loop playback
5787 </dd>
5788 <dt>
5789 <code>rec-enable</code>
5790 </dt>
5791 <dd>enable the global record button
5792 </dd>
5793 <dt>
5794 <code>rec-disable</code>
5795 </dt>
5796 <dd>disable the global record button
5797 </dd>
5798 <dt>
5799 <code>next-bank</code>
5800 </dt>
5801 <dd>Move track/bus mapping to the next bank (see Banks below)
5802 </dd>
5803 <dt>
5804 <code>prev-bank</code>
5805 </dt>
5806 <dd>Move track/bus mapping to the previous bank (see Banks below)
5807 </dd>
5808 </dl>
5809
5810 <h4>Binding to Ardour "actions"</h4>
5811 <p>
5812   You can also bind a sysex or arbitrary message to any of the items
5813   that occur in Ardour's main menu (and its submenus).  The best place
5814   to look for the (long) list of how to address each item is in your
5815   keybindings file, which will contain lines that look like this:
5816 </p>
5817 <code>
5818 (gtk_accel_path "&lt;Actions&gt;/Editor/temporal-zoom-in" "equal")
5819 </code>
5820 <p>
5821   To create a binding between an arbitrary MIDI message (we'll use a
5822   note-off on channel 1 of MIDI note 60 (hex) with release velocity
5823   40 (hex)), the binding file would contain:
5824 </p>
5825 <code>
5826    &lt;Binding msg="80 60 40" action="Editor/temporal-zoom-in"/&gt;
5827 </code>
5828 <p>
5829   The general rule, when taken an item from the keybindings file and
5830   using it in a MIDI binding is to simply strip the
5831   <code>&lt;Action&gt;</code> prefix of the second field in the
5832   keybinding definition.
5833 </p>
5834
5835 <h3>Banks and Banking</h3>
5836 <p>
5837   Because many modern control surfaces offer per-track/bus controls
5838   for far fewer tracks &amp; busses than many users want to control,
5839   Ardour offers the relatively common place concept of <dfn>banks</dfn>. Banks
5840   allow you to control any number of tracks and/or busses easily,
5841   regardless of how many faders/knobs etc. your control surface has.<br />
5842   To use banking, the control addresses must be specified using the
5843   <dfn>bank relative</dfn> format mentioned above ("B1" to identify
5844   the first track of a bank of tracks, rather than "1" to identify
5845   the first track).
5846 </p>
5847 <p>
5848   One very important extra piece of information is required to use
5849   banking: an extra line near the start of the list of bindings
5850   that specifies how many tracks/busses to use per bank. If the
5851   device has 8 faders, then 8 would be a sensible value to use for
5852   this. The line looks like this:</p>
5853 <code>
5854    &lt;DeviceInfo bank-size="8"/&gt;
5855 </code>
5856 <p>
5857   In addition, you probably want to ensure that you bind something
5858   on the control surface to the <code>next-bank</code> and
5859   <code>prev-bank</code> functions, otherwise you and other users
5860   will have to use the mouse and the GUI to change banks, which
5861   rather defeats the purpose of the bindings.
5862 </p>
5863 <h2>A Complete (though muddled) Example</h2>
5864 <pre>
5865 &lt;?xml version="1.0" encoding="UTF-8"?&gt;
5866 &lt;ArdourMIDIBindings version="1.0.0" name="pc1600x transport controls"&gt;
5867   &lt;DeviceInfo bank-size="16"/&gt;
5868   &lt;Binding channel="1" ctl="1"   uri="/route/gain B1"/&gt;
5869   &lt;Binding channel="1" ctl="2"   uri="/route/gain B2"/&gt;
5870   &lt;Binding channel="1" ctl="3"   uri="/route/send/gain B1 1"/&gt;
5871   &lt;Binding channel="1" ctl="4"   uri="/route/plugin/parameter B1 1 1"/&gt;
5872   &lt;Binding channel="1" ctl="6"   uri="/bus/gain master"/&gt;
5873
5874   &lt;Binding channel="1" note="1"  uri="/route/solo B1"/&gt;
5875   &lt;Binding channel="1" note="2"  uri="/route/solo B2" momentary="yes"/&gt;
5876
5877   &lt;Binding channel="1" note="15"  uri="/route/mute B1" momentary="yes"/&gt;
5878   &lt;Binding channel="1" note="16"  uri="/route/mute B2" momentary="yes"/&gt;
5879
5880   &lt;Binding sysex="f0 0 0 e 9 0 5b f7" function="transport-start"/&gt;
5881   &lt;Binding sysex="f0 7f 0 6 7 f7" function="rec-disable"/&gt;
5882   &lt;Binding sysex="f0 7f 0 6 6 f7" function="rec-enable"/&gt;
5883   &lt;Binding sysex="f0 0 0 e 9 0 53 0 0 f7" function="loop-toggle"/&gt;
5884
5885   &lt;Binding channel="1" note="13" function="transport-roll"/&gt;
5886   &lt;Binding channel="1" note="14" function="transport-stop"/&gt;
5887   &lt;Binding channel="1" note="12" function="transport-start"/&gt;
5888   &lt;Binding channel="1" note="11" function="transport-zero"/&gt;
5889   &lt;Binding channel="1" note="10" function="transport-end"/&gt;
5890 &lt;/ArdourMIDIBindings&gt;
5891 </pre>
5892 <p>
5893   Please note that channel, controller and note numbers are specified as
5894   decimal numbers in the ranges 1-16, 0-127 and 0-127 respectively
5895   (the channel range may change at some point).
5896 </p>
5897
5898 ---
5899 title: Working With Encoders in Ardour
5900 menu_title: Working With Encoders
5901 part: subchapter
5902 ---
5903
5904 <p>
5905   Encoders are showing up more frequently on controllers. However, they use
5906   the same MIDI events as Continuous Controllers and they have no standard
5907   way of sending that information as MIDI events. Ardour 4.2 has implemented
5908   4 of the more common ways of sending encoder information.
5909 </p>
5910 <p>
5911   Encoders that send the same continuous values as a pot would are not
5912   discussed here as they are already supported by <code>ctl</code>.
5913 </p>
5914 <P>
5915   Encoders as this page talks about them send direction and offset that the
5916   DAW will add to or subtract from the current value.
5917 </p>
5918 <p>
5919   The 4 kinds of encoder supported are:
5920 </p>
5921 <ul>
5922 <li>
5923   enc-r:  On the bcr/bcf2000 this is called "Relative Signed Bit". The most
5924   significant bit sets positive and the lower 6 signifcant bits are the
5925   offset.
5926 </li>
5927 <li>
5928   enc-l: The bcr2000 calls this "Relative Signed Bit 2". The most
5929   significant bit sets negative and the lower 6 signifcant bits are the
5930   offset. If you are using one of these two and the values are right but
5931   reversed, use the other. This one is the one the Mackie Control Protocol
5932   uses.
5933 </li>
5934 <li>
5935   enc-2: The bcr2000 calls this one "Relative 2s Complement". Positive
5936   offsets are sent as normal from 1 to 64 and negative offsets are sent as
5937   2s complement negative numbers.
5938 </li>
5939 <li>
5940   enc-b: The bcr2000 calls this one "Relative Binary Offset". Positive
5941   offsets are sent as offset plus 64 and negative offsets are sent as 64
5942   minus offset.
5943 </li>
5944 </ul>
5945 <p>
5946   If the wrong one is chosen, either the positive or negative side will act
5947   incorrectly. It is not really possible to auto detect which one the
5948   controller is using. Trial and error is the only way if the specification
5949   of the controller is not known.
5950 </p>
5951 <p>
5952   Many controllers have more than one choice as well, check the manual for
5953   the surface.
5954 </p>
5955
5956 ---
5957 title: MIDI Learn
5958 part: subchapter
5959 ---
5960
5961 <h2>Philosophy</h2>
5962
5963 <p>
5964   There are no "best" ways to map an arbitrary MIDI controller for controlling Ardour. There may be very legitimate reasons for different users to prefer quite different mappings.
5965 </p>
5966
5967 <p>
5968   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 connection/patch managers, we prefer to leverage their existence by having users rely on them to actually connect Ardour to other MIDI devices and software. On OS X, we recommend Pete Yandell's MIDI Patchbay. On Linux, a wide variety of tools are available including QJackctl, aconnect, Patchage, and more.
5969 </p>
5970
5971 <h2>Basics</h2>
5972
5973 <ol>
5974   <li>Enable Generic MIDI control: <kbd class="menu">Edit &gt; Preferences
5975   &gt; Control Surfaces &gt; Generic MIDI</kbd></li>
5976   <li>Connect Ardour's MIDI port named <samp>control</samp> to whatever
5977   hardware or software you want (using a MIDI patchbay app)</li>
5978   <li><kbd class="mod1 mouse">Middle</kbd>-click on whatever on-screen
5979   fader, plugin parameter control, button etc. you want to control</li>
5980   <li>A small window appears that says "Operate Controller now"</li>
5981   <li>Move the hardware knob or fader, or press the note/key.</li>
5982   <li>The binding is complete. Moving the hardware should control the Ardour fader etc. </li>
5983 </ol>
5984
5985 <h2>Avoiding work in the future</h2>
5986
5987 <p>
5988   If you want the bindings you set up to be used automatically in every session, the simplest thing to do is to use <kbd class="menu">Session &gt; Save Template</kbd>. Then, when creating new sessions, select that template and all the bindings will be automatically set up for you.
5989 </p>
5990
5991 ---
5992 title: Using the Presonus Faderport
5993 menu_title: Presonus Faderport
5994 part: subchapter
5995 ---
5996
5997 <p>
5998   Since version 4.5, Ardour has had full support for the Presonus
5999   Faderport. This is a compact control surface featuring a single
6000   motorized fader, a single knob (encoder) and 24 buttons with fixed
6001   labels. It is a relatively low-cost device that functions very well
6002   to control a single (selected) track or bus, along with a variety of
6003   other "global" settings and conditions.
6004 </p>
6005
6006 <h2>Connecting the Faderport</h2>
6007
6008 <p>
6009   The Faderport comes with a single USB socket on the back. Connect a
6010   suitable USB cable from there to a USB port on your computer. As of
6011   the end of 2015, you should avoid USB3 ports&mdash;these cause erratic
6012   behaviour with the device. This issue might get fixed by Presonus in
6013   the future.
6014 </p>
6015
6016 <p class="well">
6017   Ardour uses the Faderport in what Presonus calls "native" mode. You
6018   do not need to do anything to enable this&mdash;Ardour will set the
6019   device to be in the correct mode. In native mode, the Faderport
6020   sends and receives ordinary MIDI messages to/from the host, and the
6021   host understands the intended meaning of these messages. We note
6022   this detail to avoid speculation about whether Ardour supports the
6023   device via the HUI protocol&mdash;it does not.
6024 </p>
6025
6026 <p>
6027   The Faderport will be automatically recognized by your operating
6028   system, and will appear in any of the lists of possible MIDI ports
6029   in both Ardour and other similar software.
6030 </p>
6031
6032 <p>
6033   To connect the Faderport to Ardour, open the Preferences dialog, and
6034   then click on "Control Surfaces". Click on the "Enable" button
6035   in the line that says "Faderport" in order to activate Ardour's
6036   Faderport support. Then double click on the line that says
6037   "Faderport". A new dialog will open, containing (among other things)
6038   two dropdown selectors that will allow you to identify the MIDI
6039   ports where your Faderport is connected.
6040 </p>
6041
6042 <p>
6043 <img alt="the Faderport configuration dialog"
6044      src="/images/faderport_dialog.png">
6045 </p>
6046
6047 <p>
6048   Once you select the input and output port, Ardour will initialize
6049   the Faderport and it will be ready to use. You only need do this
6050   once: once these ports are connected and your session has been
6051   saved, the connections will be made automatically in this and other
6052   future sessions.
6053 </p>
6054
6055 <p>
6056   You do not need to use the power supply that comes with the
6057   Faderport but without it, the fader will not be motorized. This
6058   makes the overall experience of using the Faderport much less
6059   satisfactory, since the fader will not move when Ardour tells it
6060   to, leading to very out-of-sync conditions between the physical
6061   fader position and the "fader position" inside the program.
6062 </p>
6063
6064 <h2>Using the Faderport</h2>
6065
6066 <p>
6067   The Faderport's controls can be divided into three groups:
6068   <ol>
6069     <li>Global controls such as the transport buttons</li>
6070
6071     <li>Controls which change the settings for particular track or
6072       bus</li>
6073
6074     <li>Controls which alter which track or bus is modified by the
6075       per-track/bus controls.</li>
6076   </ol>
6077 </p>
6078 <p>
6079   Because the Faderport has only a single set of per-track controls,
6080   by default those controls operate on the first selected track or
6081   bus. If there is no selected track or bus, the controls will do
6082   nothing.
6083 </p>
6084
6085 <h3>Transport Buttons</h3>
6086 <p>
6087   The transport buttons all work as you would expect.
6088   <dl>
6089     <dt>Rewind</dt>
6090     <dd>
6091       <p>
6092       When pressed on its own, starts the transport moving backwards. Successive presses
6093       speed up the "rewind" behaviour.
6094       </p>
6095       <p>
6096         If pressed while also holding the Stop button, the playhead will
6097         return to the zero position on the timeline.
6098       </p>
6099       <p>
6100         If pressed while also holding the Shift button, the playhead will
6101         move to the session start marker.
6102       </p>
6103     </dd>
6104     <dt>Fast Forward</dt>
6105     <dd>
6106       <p>
6107         When pressed on its own, starts the transport moving faster than normal. Successive presses
6108         speed up the "fast forward" behaviour.
6109       </p>
6110       <p>
6111         If pressed while also holding the Shift button, the playhead
6112         will move to the session end marker.
6113       </p>
6114     </dd>
6115     <dt>Stop</dt>
6116     <dd>
6117       Stops the transport. Also used in combination with the Rewind
6118       button to "return to zero".
6119     </dd>
6120     <dt>Play</dt>
6121     <dd>
6122       Starts the transport. If pressed while the transport is
6123       already rolling at normal speed, causes the playhead to jump to
6124       the start of the last "roll" and continue rolling ("Poor man's
6125       looping").
6126     </dd>
6127     <dt>Record Enable</dt>
6128     <dd>Toggles the global record enable setting
6129     </dd>
6130   </dl>
6131 </p>
6132
6133 <h3>Other Global Controls</h3>
6134 <p>
6135   The Mix, Proj, Trns buttons do not obviously correspond any
6136   particular functions or operations in Ardour. We have therefore
6137   allowed users to choose from a carefully curated set of possible
6138   actions that seem related to the button labels in some clear
6139   way. This can be done via the Faderport configuration dialog
6140   accessed via <code>Preferences &gt; Control Surfaces</code>. Each
6141   button has 3 possible actions associated with it:
6142   <ul>
6143     <li>Plain Press: action to be taken when the button is pressed on
6144       its own.</li>
6145     <li>Shift-Press: action to be taken when the button is pressed in
6146       conjunction with the Shift button.</li>
6147     <li>Long Press: action to be taken when the button is pressed on
6148       its own and held down for more than 0.5 seconds.</li>
6149   </ul>
6150   Click on the relevant drop-down selector to pick an action as you
6151   prefer.
6152 </p>
6153 <p>
6154   The User button also has no obvious mapping to specific Ardour
6155   functionality, so we allow users to choose from <em>any</em>
6156   possible GUI action. The menu for selecting the action is somewhat
6157   confusing and it can be hard to find what you're looking
6158   for. However, all possible actions are there, so keep looking!
6159 <p>
6160   <dl>
6161     <dt>Mix</dt>
6162     <dd>
6163       <p>
6164         Possible actions include:
6165         <ul>
6166           <li>Toggle Editor &amp; Mixer visibility</li>
6167           <li>Show/Hide the Editor mixer strip</li>
6168         </ul>
6169       </p>
6170     </dd>
6171     <dt>Proj</dt>
6172     <dd>
6173       <p>
6174         Possible actions include:
6175         <ul>
6176           <li>Toggle Meterbridge visibility</li>
6177           <li>Toggle Session Summary visibility</li>
6178           <li>Toggle Editor Lists visibility</li>
6179           <li>Zoom to session</li>
6180           <li>Zoom in</li>
6181           <li>Zoom out</li>
6182         </ul>
6183       </p>
6184    </dd>
6185     <dt>Trns</dt>
6186     <dd>
6187       <p>
6188         Possible actions include:
6189         <ul>
6190           <li>Toggle Locations window visibility</li>
6191           <li>Toggle Metronome</li>
6192           <li>Toggle external sync</li>
6193           <li>Set Playhead at current pointer position</li>
6194         </ul>
6195       </p>
6196     </dd>
6197     <dt>Undo/Redo</dt>
6198     <dd>
6199       Undo Causes the last operation carried out in the editor to be
6200       undone. When pressed in conjuction with the Shift button, it
6201       causes the most recent undone operation to be re-done.
6202     </dd>
6203     <dt>Punch</dt>
6204     <dd>
6205       <p>
6206         When pressed on its own, toggles punch recording. If there is no
6207         punch range set for the session, this will do nothing.
6208       </p>
6209       <p>
6210         When pressed in conjunction with the Shift button, this moves
6211         the playhead to the previous Marker
6212       </p>
6213     </dd>
6214     <dt>User</dt>
6215     <dd>
6216       <p>
6217         See above. Any and all GUI-initiated actions can be driven with
6218         by pressing this button on its own, or with a "long" press.
6219       </p>
6220       <p>
6221         When pressed in conjunction with the Shift button, this will move
6222         the playhead to the next marker.
6223       </p>
6224     </dd>
6225     <dt>Loop</dt>
6226     <dd>
6227       <p>
6228         When pressed on its own, this toggles loop playback. If the
6229         Ardour preference "Loop-is-mode" is enabled, this does nothing
6230         to the current transport state. If that preference is disabled,
6231         then engaging loop playback will also start the transport.
6232       </p>
6233       <p>
6234         When pressed in conjunction with the Shift button, this will
6235         create a new (unnamed) marker at the current playhead
6236         position.
6237       </p>
6238     </dd>
6239   </dl>
6240 </p>
6241
6242 <h3>Per-track Controls</h3>
6243 <p>
6244   <dl>
6245     <dt>Mute</dt>
6246     <dd>
6247       This toggles the mute setting of the currently controlled
6248       track/bus. The button will be lit if the track/bus is muted.
6249     </dd>
6250     <dt>Solo</dt>
6251     <dd>
6252       This toggles the solo (or listen) setting of the currently
6253       controlled track/bus. The button will be lit if the track/bus is
6254       soloed (or set to listen mode).
6255     </dd>
6256     <dt>Rec</dt>
6257     <dd>
6258       This toggles the record-enabled setting of the currently
6259       controlled track/bus. The button will be lit if the track is
6260       record-enabled. This button will do nothing if the Faderport is
6261       controlling a bus.
6262     </dd>
6263     <dt>Fader</dt>
6264     <dd>
6265       The fader controls the gain applied to the currently controlled
6266       track/bus. If the Faderport is powered, changing the gain in
6267       Ardour's GUI or via another control surface, or via automation,
6268       will result in the fader moving under its own control.
6269     </dd>
6270     <dt>Knob/Dial/Encoder</dt>
6271     <dd>
6272       <p>
6273         The knob controls 1 or 2 pan settings for the current
6274         controlled track/bus. When used alone, turning the knob controls
6275         the "azimuth" or "direction" (between left and right) for the
6276         panner in the track/bus (if any). This is all you need when
6277         controlling tracks/busses with 1 input and 2 outputs.
6278       </p>
6279       <p>
6280         If controlling a 2 input/2 output track/bus, Ardour's panner
6281         has two controls: azimuth (direction) and width. The width
6282         must be reduced to less than 100% before the azimuth can be
6283         changed. Pressing the "Shift" button while turning the knob
6284         will alter the width setting.
6285       </p>
6286       <p>
6287         The knob can also be turned while the "User" button is held,
6288         in order to modify the input gain for the currently controlled
6289         track.
6290       </p>
6291     </dd>
6292     <dt>Read</dt>
6293     <dd>
6294       Enables playback/use of fader automation data by the controlled track/bus.
6295     </dd>
6296     <dt>Write</dt>
6297     <dd>
6298       Puts the fader for the controlled track/bus into automation
6299       write mode. While the transport is rolling, all fader changes
6300       will be recorded to the fader automation lane for the relevant track/bus.
6301     </dd>
6302     <dt>Touch</dt>
6303     <dd>
6304       Puts the fader for the controlled track/bus into automation
6305       touch mode. While the transport is rolling, touching the fader
6306       will initiate recording all fader changes until the fader is
6307       released. When the fader is not being touched, existing
6308       automation data will be played/used to control the gain level.
6309     </dd>
6310     <dt>Off</dt>
6311     <dd>
6312       This disables all automation modes for the currently controlled
6313       track/bus. Existing automation data will be left unmodified by
6314       any fader changes, and will not be used for controlling gain.
6315     </dd>
6316   </dl>
6317 </p>
6318
6319 <h3>Track Selection Controls</h3>
6320 <p>
6321   You can manually change the track/bus controlled by the Faderport by
6322   changing the selected track in Ardour's editor window. If you select
6323   more than 1 track, the Faderport will control the first selected
6324   track and <em>only</em> that track/bus.
6325 </p>
6326 <p>
6327   <dl>
6328     <dt>Left (arrow)</dt>
6329     <dd>
6330       This causes the Ardour GUI to select the previous track/bus
6331       (using the current visual order in the editor window), which
6332       will in turn cause the Faderport to control that track. If there
6333       is no previous track/bus, the selected track/bus is left
6334       unchanged, and the Faderport continues to control it.
6335     </dd>
6336     <dt>Right (arrow)</dt>
6337     <dd>
6338       This causes the Ardour GUI to select the next track/bus
6339       (using the current visual order in the editor window), which
6340       will in turn cause the Faderport to control that track. If there
6341       is no next track/bus, the selected track/bus is left
6342       unchanged, and the Faderport continues to control it.
6343     </dd>
6344     <dt>Output</dt>
6345     <dd>
6346       <p>
6347         Pressing the Output button causes the Faderport to control
6348         the fader, pan, mute and solo settings of the Master bus. If
6349         your session does not contain a Master bus, it does nothing.
6350         This is a toggle button&mdash;pressing it again returns Faderport
6351         to controlling whichever track/bus was selected before the
6352         first press of the Output button.
6353       </p>
6354       <p>
6355         If your session uses Ardour's monitor section, you can use
6356         Shift-Output to assign it to the Faderport in the same way
6357         that Output assigns the Master bus. This is also a toggle
6358         setting, so the second Shift-Output will return the Faderport
6359         to controlling whichever track/bus was selected before.
6360       </p>
6361       <p>
6362         If you press Shift-Output after a single press to Output
6363         (i.e. control the Monitor Section while currently controlling
6364         the Master bus) or vice versa (i.e. control the Master bus
6365         while currently controlling the Monitor Section), the press
6366         will be ignored. This avoids getting into a tricky situation
6367         where it is no longer apparent what is being controlled and
6368         what will happen if you try to change it.
6369       </p>
6370     </dd>
6371     <dt>Bank</dt>
6372     <dd>
6373       The "Bank" button is currently not used by Ardour
6374     </dd>
6375   </dl>
6376 </p>
6377
6378 ---
6379 title: Using the Ableton Push 2
6380 menu_title: Ableton Push 2
6381 part: subchapter
6382 ---
6383
6384 <p>
6385   <img alt="the Ableton Push 2 surface" src="/images/push2-main.jpg">
6386 </p>
6387
6388 <p>
6389   Since version 5.4, Ardour has had extensive support for the Ableton
6390   Push2. This is an expensive but beautifully engineered control
6391   surface primarily targetting the workflow found in Ableton's Live
6392   software and other similar tools such as Bitwig. As of version 5.4, Ardour
6393   does not offer the same kind of workflow, so we have designed our support for the
6394   Push 2 to be used for mixing and editing and musical performance,
6395   without the clip/scene oriented approach in Live. This may change in
6396   future versions of Ardour.
6397 </p>
6398
6399 <h2>Connecting the Push 2</h2>
6400
6401 <p>
6402   Plug the USB cable from the Push 2 into a USB2 or USB3 port on your
6403   computer. For brighter backlighting, also plug in the power supply
6404   (this is not necessary for use).
6405 </p>
6406
6407 <p>
6408   The Push 2 will be automatically recognized by your operating
6409   system, and will appear in any of the lists of possible MIDI ports
6410   in both Ardour and other similar software.
6411 </p>
6412
6413 <p>
6414   To connect the Push 2 to Ardour, open the Preferences dialog, and
6415   then click on "Control Surfaces". Click on the "Enable" button
6416   in the line that says "Ableton Push 2" in order to activate Ardour's
6417   Push 2 support.
6418 </p>
6419
6420 <p>
6421   Once you select the input and output port, Ardour will initialize
6422   the Push 2 and it will be ready to use. You only need do this
6423   once: once these ports are connected and your session has been
6424   saved, the connections will be made automatically in this and other
6425   future sessions.
6426 </p>
6427
6428 <h2>Push 2 Configuration</h2>
6429
6430 <p>
6431   The only configuration option at this time is whether the pads send
6432   aftertouch or polyphonic pressure messages. You can alter this
6433   setting via the Push 2 GUI, accessed by double-clicking on the "Push
6434   2" entry in the control surfaces list.
6435 <p>
6436
6437 <img alt="the Push 2 configuration dialog"
6438      src="/images/push2-gui.png">
6439 </p>
6440
6441 <h2>Basic Concepts</h2>
6442
6443 <p>
6444   With the Push 2 support in Ardour 5.4, you can do the following
6445   things:
6446   <dl>
6447     <dt>Perform using the 8 x 8 pad "grid"</dt>
6448     <dd>The Push 2 has really lovely pressure-sensitive pads that can
6449     also generate either aftertouch or note (polyphonic) pressure.</dd>
6450     <dt>Global Mixing</dt>
6451     <dd>See many tracks at once, and control numerous parameters for each.</dd>
6452     <dt>Track/Bus Mixing</dt>
6453     <dd>View a single track/bus, with even more parameters for the track.</dd>
6454     <dt>Choose the mode/scale, root note and more for the pads</dt>
6455     <dd>37 scales are available. Like Live, Ardour offers both
6456     "in-key" and "chromatic" pad layouts.</dd>
6457   </dl>
6458
6459   &hellip; plus a variety of tasks related to transport control, selection,
6460   import, click track control and more.
6461 </p>
6462
6463 <h2>Musical Performance</h2>
6464
6465 <p>
6466   Messages sent from the 8x8 pad grid and the "pitch bend bar" are
6467   routed to a special MIDI port within Ardour called "Push 2 Pads"
6468   (no extra latency is incurred from this routing). Although you can
6469   manually connect this port to whatever you wish, the normal
6470   behaviour of Ardour's Push 2 support is to connect the pads to the
6471   most recently selected MIDI track.
6472 </p>
6473
6474 <p>
6475   This means that to play a soft-synth/instrument plugin in a given
6476   MIDI track with the Push 2, you just need to select that track.
6477 </p>
6478
6479 <p>
6480   If multiple MIDI tracks are selected at once, the first selected
6481   track will be used. Note that messages originating from all other
6482   controls on the Push 2 will <em>not</em> not be delivered to the
6483   "Push 2 Pads" port. This makes no difference in practice, because
6484   the other controls do not send messages that are useful for musical
6485   performance.
6486 </p>
6487
6488 <h2>Global Mix</h2>
6489
6490 <p>
6491   This is the default mode that Ardour will start the Push 2 in. In
6492   this mode, the 8 knobs at the top of the device, the 8 buttons below
6493   them, the video display and the 8 buttons below that are combined to
6494   provide a global view of the session mix.
6495 </p>
6496
6497 <p>
6498   <img alt="global mix mode on Push2 screen"
6499        src="/images/push2-globalmix.png">
6500 </p>
6501
6502 <p>
6503   The upper buttons are labelled by text in the video display just
6504   below them. Pressing one of the buttons changes the function of the
6505   knobs, and the parameters that will shown for each track/bus in the
6506   display.
6507 </p>
6508
6509 <p>
6510   As of Ardour 5.4, the possible parameters are:
6511   <dl>
6512     <dt>Volumes</dt>
6513     <dd>The display shows a knob and text displaying
6514       the current gain setting for the track, and a meter that
6515       corresponds precisely to the meter shown in the Ardour GUI for
6516       that track. Changing the meter type (e.g. from Peak to K12) in the
6517       GUI will also change it in the Push 2 display. The physical knob
6518       will alter track/bus gain.
6519     </dd>
6520     <dt>Pans</dt>
6521     <dd>The display shows a knob indicating the pan direction/azimuth
6522     for the corresponding track/bus. Turning the physical knob will
6523     pan the track left and right. If the track/bus has no panner
6524     (i.e. it has only a single output), no knob is shown and the
6525     physical knob will do nothing. </dd>
6526     <dt>Pan Widths</dt>
6527     <dd><p>For tracks with 2 outputs, the display will show a knob
6528         indicating the pan width setting for the corresponding
6529         track/bus. The physical knob can be turned to adjust the
6530         width.
6531         </p>
6532
6533         <p>
6534         Unlike many DAWs, Ardour's stereo panners have "width"
6535         parameter that defaults to 100%. You cannot change the pan
6536         direction/azimuth of a track with 100% width, but must first
6537         reduce the width in order to pan it. Similarly, a track panned
6538         anywhere other than dead center has limits on the maximum
6539         width setting. If these concepts are not familiar to you,
6540         please be aware than many DAWs use a "panner" that actually
6541         implement "balance" and not "panning", hence the difference.
6542       </p>
6543     </dd>
6544     <dt>A Sends</dt>
6545     <dd>The display shows a knob indicating the gain level for the
6546       first send in that track. If the track has no send, no knob will
6547       be shown, and the physical knob for that track will do nothing.
6548     </dd>
6549     <dt>B Sends, C Sends, D Sends</dt>
6550     <dd>Like "A Sends", but for the 2nd, 3rd and 4th sends of a
6551       track/bus respectively.
6552     </dd>
6553   </dl>
6554 </p>
6555
6556 <p>
6557   To change which tracks are shown while in global mix mode, use the
6558   left and right arrow/cursor keys just below and to the right of the
6559   display. Tracks and busses that are hidden in Ardour's GUI will also
6560   be hidden from display on the Push 2.
6561 </p>
6562
6563 <p>
6564   To select a track/bus directly from the Push 2, press the
6565   corresponding button below the display. The track name will be
6566   highlighted, and the selection will change in Ardour's GUI as well
6567   (and also any other control surfaces).
6568 </p>
6569
6570 <h3>Soloing and Muting in Global Mix mode</h3>
6571
6572 <p>
6573   The Solo and Mute buttons to the left of the video display can be
6574   used to solo and mute tracks while in Global Mix mode. The operation
6575   will be applied to the <em>first</em> currently selected
6576   track(s).
6577 </p>
6578
6579 <p>
6580   There are two indications that one or more tracks are soloed:
6581   <ol>
6582     <li>The solo button will blink red</li>
6583     <li>Track names will be prefixed by "*" if they are soloed, and
6584       "-" if they are muted due to soloing.</li>
6585   </ol>
6586 </p>
6587
6588 <p>
6589   To cancel solo, either:
6590   <ul>
6591     <li>Select the soloed track(s) and press the solo button
6592       again</li>
6593     <li>Press and hold the solo button for more than 1 second</li>
6594   </ul>
6595 </p>
6596
6597 <h2>Track Mix</h2>
6598
6599 <p>Track Mix mode allows you to focus on a single track in more detail
6600   than is possible in Global Mix mode. To enter (or leave) Track Mix
6601   mode, press the "Mix" button.
6602 </p>
6603
6604 <p>
6605   In Track Mix mode, various aspects of the state of the first
6606   selected track/bus will be displayed on the Push 2. Above the
6607   display, the first 4 knobs control track volume (gain), pan
6608   directiom/azimuth, pan width, and where appropriate, track input
6609   trim.
6610 </p>
6611
6612 <p>
6613   Below the display, 7 buttons provide immediate control of mute,
6614   solo, rec-enable, monitoring (input or disk or automatic), solo
6615   isolate and solo safe state. When a a track is muted due to other
6616   track(s) soloing, the mute button will flash (to differentiate from
6617   its state when it is explicitly muted).
6618 </p>
6619
6620 <p>
6621   The video display also shows meters for the track, which as in
6622   Global Mix mode, precisely match the meter type shown in Ardour's
6623   GUI. There are also two time displays showing the current playhead
6624   position in both musical (beats|bars|ticks) format, and as
6625   hours:minutes:seconds.
6626 </p>
6627
6628 <p>
6629   To change which track is visible in Track Mix mode, use the
6630   left/right arrow/cursor keys just below and to the right of the
6631   video display.
6632 </p>
6633
6634 <h2>Scale Selection</h2>
6635
6636 <p>
6637   Press the Scale button to enter Scale mode. The display will look
6638   like this:
6639 </p>
6640
6641 <p>
6642   <img alt="track mix mode on Push2 screen"
6643        src="/images/push2-scale.png">
6644 </p>
6645
6646 <p>
6647   In the center, 37 scales are presented. Scroll through them by
6648   either using the cursor/arrow keys to the lower right of the
6649   display, or the knobs above the display. The scale will change
6650   dynamically as you scroll. You can also scroll in whole pages using
6651   the upper right and upper left buttons above the display (they will
6652   display "<" and ">" if scrolling is possible).
6653 </p>
6654
6655 <p>
6656   To change the root note of the scale, press the corresponding button
6657   above or below the video display.The button will be lit to indicate
6658   your selection (and the text will be highlighted).
6659 </p>
6660
6661 <p>
6662   By default, Ardour configures the Push 2 pads to use "in-key" mode,
6663   where all pads correspond to notes "in" the chosen scale. Notes
6664   corresponding to the root note, or the equivalent note in higher
6665   octaves, are highlighted with the color of the current target MIDI
6666   track.
6667 </p>
6668
6669 <p>
6670   In
6671   "chromatic" mode, the pads correspond to a continuous sequence of
6672   notes starting with your selected root note. Pads corresponding to
6673   notes in the scale are illuminated; those corresponding to the root
6674   note are lit with the color the current target MIDI track. Other
6675   pads are left dark, but you can still play them.
6676 </p>
6677
6678 <p>
6679   To switch between them, press button on the lower left of the video
6680   display; the text above it will display the current mode (though it
6681   is usually visually self-evident from the pad lighting pattern).
6682 </p>
6683
6684 <p>
6685   To leave Scale mode, press the "Scale" button again. You may also
6686   use the upper left button above the display, though if you have
6687   scrolled left, it may require more than one press.
6688 </p>
6689
6690 <h2>Specific Button/Knob Functions</h2>
6691
6692 <p>
6693   In addition to the layouts described above, many (but not all) of
6694   the buttons and knobs around the edges of the Push 2 will carry out
6695   various functions related to their (illuminated) label. As of Ardour
6696   5.4, this includes:
6697   <dl>
6698     <dt>Metronome (button and adjacent knob)</dt>
6699     <dd>
6700       Enables/disables the click (metronome). The knob directly above
6701       it will control the volume (gain) of the click.
6702     </dd>
6703     <dt>Undo/Redo</dt>
6704     <dd>
6705       Undo or redo the previous editing operation.
6706     </dd>
6707     <dt>Delete</dt>
6708     <dd>
6709       Deletes the currently selected region, or range, or
6710       note. Equivalent to using Ctrl/Cmd-x on the keyboard.
6711     </dd>
6712     <dt>Quantize</dt>
6713     <dd>
6714       If a MIDI region is selected in Ardour, this will open the
6715       quantize dialog.
6716     </dd>
6717     <dt>Duplicate</dt>
6718     <dd>
6719       Duplicates the current region or range selection.
6720     </dd>
6721     <dt>Rec-Enable</dt>
6722     <dd>
6723       Enables and disables Ardour's global record enable state.
6724     </dd>
6725     <dt>Play</dt>
6726     <dd>
6727       Starts and stops the transport. Press Shift-Play to return to the session start.
6728     </dd>
6729     <dt>Add Track</dt>
6730     <dd>
6731       Opens Ardour's Add Track/Bus dialog.
6732     </dd>
6733     <dt>Browse</dt>
6734     <dd>
6735       Open's Ardour's import dialog to select and audition existing
6736       audio and MIDI files.
6737     </dd>
6738     <dt>Master</dt>
6739     <dd>
6740       Pressing this button jumps directly to Track Mix mode, with the
6741       master out bus displayed.
6742     </dd>
6743     <dt>Cursor arrows</dt>
6744     <dd>
6745       These are used by some modes to navigate within the display (e.g
6746       Scale mode). In other modes, the up/down cursor arrows will
6747       scroll the GUI display up and down, while the left/right cursor
6748       arrows will generally scroll within the Push 2 display itself.
6749     </dd>
6750     <dt>Repeat</dt>
6751     <dd>
6752       Enables/disables loop playback. This will follow Ardour's "loop
6753       is mode" preference, just like the loop button in the Ardour
6754       GUI.
6755     </dd>
6756     <dt>Octave buttons</dt>
6757     <dd>
6758       These shift the root note of the current pad scale up or down by
6759       1 octave.
6760     </dd>
6761     <dt>Page buttons</dt>
6762     <dd>
6763       These scroll Ardour's editor display left and right along the
6764       timeline.
6765     </dd>
6766     <dt>Master (top right) knob</dt>
6767     <dd>
6768       This knob controls the gain/volume of Ardour's main output. If
6769       the session has a monitor saec
6770     </dd>
6771   </dl>
6772 </p>
6773
6774
6775 ---
6776 title: Configuring MIDI
6777 part: chapter
6778 ---
6779
6780
6781 ---
6782 title: Using External MIDI Devices
6783 part: subchapter
6784 ---
6785
6786 <p class="fixme">Add content</p>
6787
6788
6789 ---
6790 title: Setting Up MIDI
6791 part: subchapter
6792 ---
6793
6794 <h2>What Can Ardour Do With MIDI?</h2>
6795 <p>
6796   <dfn><abbr title="Musical Instrument Digital
6797   Interface">MIDI</abbr></dfn> is a way to describe musical
6798   performances and to control music hardware and software.
6799 </p>
6800 <p>Ardour can import and record MIDI data, and perform a variety of
6801   editing operations on it. Furthermore, MIDI can be used to control
6802   various functions of Ardour.
6803 </p>
6804
6805 <h2>MIDI Handling Frameworks</h2>
6806 <p>
6807   MIDI input and output for Ardour are handled by the same "engine"
6808   that handles audio input and output. Up to release 3.5, that means
6809   that all MIDI I/O takes place via JACK. JACK itself uses the
6810   native MIDI support of the operating system to receive and send
6811   MIDI data. The native MIDI support  provides device drivers for MIDI
6812   hardware and libraries needed by software applications that want to
6813   work with MIDI.
6814 </p>
6815
6816 <dl>
6817 <dt>OS X</dt>
6818 <dd>  <dfn>CoreMIDI</dfn> is the standard MIDI framework on OSX systems.
6819 </dd>
6820 <dt>Linux</dt>
6821 <dd>
6822   <dfn><abbr title="Advanced Linux Sound API">ALSA</abbr> MIDI</dfn>
6823   is the standard MIDI framework on Linux systems.
6824 </dd>
6825 </dl>
6826
6827 <p class="note">
6828   On Linux systems, <dfn>QJackCtl</dfn> control software displays ALSA MIDI
6829   ports under its "ALSA" tab (it does not currently display CoreMIDI
6830   ports).  By contrast, JACK MIDI ports show up under
6831   the <kbd class="menu">MIDI</kbd> tab in QJackCtl.
6832 </p>
6833
6834 <h2>JACK MIDI Configuration</h2>
6835 <p>
6836 By default, JACK will <strong>not</strong> automatically detect and use existing MIDI
6837 ports on your system. You must choose one of several ways
6838 of <dfn>bridging</dfn> between the native MIDI frameworks
6839 (e.g. CoreMIDI or ALSA) and JACK MIDI, as described in the sections
6840 below.
6841 </p>
6842
6843 ---
6844 title: MIDI on Linux
6845 part: subchapter
6846 ---
6847
6848 <p>The right approach for using MIDI on Linux depends on which version of
6849 JACK you use. The world divides into:</p>
6850
6851 <dl>
6852 <dt>Systems using JACK 1, versions 0.124 or later</dt>
6853 <dd>On these systems, just start JACK with the <code>-X alsa_midi</code> server argument. To support legacy control applications, you can also use the <code>-X seq</code> argument to the ALSA backend of JACK and get the exact same results.</dd>
6854 <dt>All others</dt>
6855 <dd>Use a2jmidid to act as a bridge between ALSA MIDI and JACK. Do not use the <code>-X seq</code> or <code>-X raw</code> arguments&mdash;the timing and performance of these options is not acceptable.
6856 </dd>
6857 </dl>
6858
6859 <h2>a2jmidid</h2>
6860
6861 <p>
6862   <dfn>a2jmidid</dfn> is an application that bridges between the system
6863   <abbr title="Musical Instrument Digital Interface">MIDI</abbr> ports and
6864   <abbr title="JACK Audio Connection Kit">JACK</abbr>.
6865 </p>
6866
6867 <p>
6868   First you should make sure that there is no ALSA sequencer support enabled
6869   in JACK. To do that open QJackCtl's <kbd class="menu">Setup</kbd> window.
6870 </p>
6871
6872 <p>
6873   Set <kbd class="menu">Settings &gt; MIDI Driver</kbd> to <kbd
6874   class="input">none</kbd>.
6875   Then uncheck the <kbd class="optoff">Misc &gt; Enable ALSA Sequencer
6876   support</kbd> option.<br />
6877   Now it's time to restart your jack server before going on.
6878 </p>
6879
6880 <h3>Check for a2jmidid availability</h3>
6881
6882 <p>
6883   First, check whether a2jmidid is already installed in your system. After
6884   starting your JACK server, go to the command line and type
6885 </p>
6886
6887 <kbd class="cmd lin">a2jmidid -e</kbd>
6888
6889 <p>
6890   If a2jmidid does not exist, install it with the software manager of your
6891   Linux distribution and try again.
6892 </p>
6893
6894 <h2>Check available MIDI ports</h2>
6895
6896 <p>
6897   If you have correctly configured JACK for MIDI, then your MIDI ports should appear in
6898   qjackctl under <kbd class="menu">Connections &gt; MIDI </kbd>.
6899 </p>
6900
6901 <h3>Making it automatic</h3>
6902
6903 <p>
6904 Once you've verified that the ports appear in JACK as expected, you
6905 can make this happen whenever you start JACK.
6906 </p>
6907
6908 <p>If you use a newer version of JACK 1, just make sure the -X
6909 alsa_midi or -X seq options are enabled for whatever technique you use
6910 to start JACK.
6911 </p>
6912
6913 <p>
6914 For other versions of JACK,
6915 add <kbd class="input">a2jmidid -e &amp;</kbd> as an "after start-up" script
6916 in the <kbd class="menu">Setup &gt; Options</kbd> tab of QJackCtl, so
6917 that it is started automatically whenever you start JACK.
6918 </p>
6919
6920 <p class="fixme">Is this true anymore in Ardour 5? This section may have been relevant in Ardour 3, but it might not be relevant anymore.</p>
6921
6922 ---
6923 title: MIDI on OS X
6924 part: subchapter
6925 ---
6926
6927 <p>
6928   In order for CoreMIDI to work with Jack MIDI, a CoreMIDI-to-JACK-MIDI
6929   <dfn>bridge</dfn>
6930   is required. This feature is available on versions equal to or great than
6931   version 0.89 of JackOSX.
6932 </p>
6933
6934 <h2>Routing MIDI</h2>
6935
6936 <h3>Inside Ardour</h3>
6937
6938 <p>
6939   MIDI ports show up in Ardour's MIDI connection matrix in multiple
6940   locations. Bridged CoreMIDI ports as well as JACK MIDI ports that have
6941   been created by other software clients will show up under the "Other" tab.
6942   Bridged CoreMIDI hardware ports show up under the "Hardware" tab.
6943 </p>
6944
6945 <h3>External Applications</h3>
6946
6947 <p>
6948   There are multiple options for connecting MIDI ports outside of Ardour.
6949 </p>
6950
6951 <ul>
6952   <li><a href="http://www.snoize.com/MIDIMonitor/">MIDI Monitor</a> is a handy
6953   tool for doing various MIDI-related tasks.</li>
6954   <li><a href="http://notahat.com/midi_patchbay">MIDI Patchbay</a> lets you
6955   connect ports and filters MIDI data.</li>
6956 </ul>
6957
6958
6959
6960
6961 ---
6962 title: Ardour's Interface
6963 part: part
6964 ---
6965
6966
6967 ---
6968 title: About Ardour's Interface
6969 part: chapter
6970 ---
6971
6972 <p>
6973   In Ardour, you work in two main windows: the <dfn>Editor</dfn> and the
6974   <dfn>Mixer</dfn>.
6975 </p>
6976 <figure>
6977         <img src="/images/editor_split.png" alt="Ardour's mixer window">
6978         <img src="/images/mixer_split.png" alt="Ardour's editor window">
6979         <figcaption>
6980                 <ol class="multicol4">
6981                         <li>Main menu</li>
6982                         <li>Status bar</li>
6983                         <li>Transport bar & Times</li>
6984 </ol><ol class="multicol4" start="4">
6985                         <li>Mode switch</li>
6986                         <li>The <dfn>Editor</dfn> window</li>
6987                         <li>a track's mixer strip</li>
6988 </ol><ol class="multicol4" start="7">
6989                         <li>Editors List</li>
6990                         <li>The <dfn>Mixer</dfn> window</li>
6991                         <li>Favorite plugins</li>
6992 </ol><ol class="multicol4" start="10">
6993                         <li>Strips list</li>
6994                         <li>Group list</li>
6995                         <li>Master strip</li>
6996                 </ol>
6997         </figcaption>
6998 </figure>
6999 <p>
7000   To switch between those windows, use the buttons (#4 Mode switch in the upper right),
7001   the shortcut <kbd class="mod2">M</kbd>, or the menu
7002   <kbd class="menu">Window > Editor <em>(or Mixer)</em> > Show</kbd>.
7003   Both windows can be visible at the same time (eg. for a multi-monitor
7004   setup) using <kbd class="menu">Detach</kbd> in the same menu.</p>
7005
7006
7007 ---
7008 title: Main Menu
7009 part: chapter
7010 ---
7011
7012 <p class="fixme">Add content</p>
7013
7014
7015 ---
7016 title: Status Bar
7017 part: chapter
7018 ---
7019
7020 <img src="/images/status-bar.png" alt="The status bar">
7021 <p>The status bar is an informative bar at the top of the window, showing:</p>
7022 <ul>
7023   <li><dfn>File:</dfn> the file format used in the session, including when recording</li>
7024   <li><dfn>TC:</dfn> is the timecode, i.e. the number of frames per second used by the session (for videos)</li>
7025   <li><dfn>Audio:</dfn> gives the sample rate used in the session, and the latency computed from the buffer size</li>
7026   <li><dfn>Buffers:</dfn> decribe how much data is buffered, see below</li>
7027   <li><dfn>DSP:</dfn> for Digital Sound Processing, shows how much of the CPU is used by Ardour and its plugins</li>
7028   <li><dfn>X:</dfn> shows the number of xruns since Ardour's launch, see below</li>
7029   <li><dfn>Disk:</dfn> reports the remaining hard disk space as the time that can be recorded with the current session setting</li>
7030   <li><dfn>a Clock</dfn> showing the system time</li>
7031   <li><dfn>a Log button</dfn> that indicates if Ardour has encountered any warning or error.</li>
7032 </ul>
7033
7034 <p>The buffers are labelled as <kbd class="menu">p</kbd> for playback and <kbd class="menu">c</kbd> for capture. If the
7035 system is fast enough, these buffers should be 100% full at all times, showing the system has time to precompute
7036 all the data before delivering it to the audio system. A buffer constantly under 20% is a sign of an underpowered
7037 computer system or of too much processing.</p>
7038
7039 <p>An Xrun (short for buffer over- or under-run) happens when the system has been forced to skip audio frames, e.g. if the latency
7040 asked is too short for the computing power of the machine. It usually results in clicks, pops and crackles if it happens while recording.</p>
7041
7042 <p>The log button turns yellow when a warning is shows, and red when an error occurs. Clicking the log button gives acces to the log.</p>
7043
7044 ---
7045 title: Transport bar and times
7046 part: chapter
7047 ---
7048
7049 <p>
7050   Ardour offers many ways to <dfn>control playback</dfn> of your session, including the transport bar, key bindings and remote controls. You can also use markers to define locations or ranges within the session and rapidly move around between them.
7051 </p>
7052
7053 <img src="/images/transport-bar.png" alt="Ardour's transport bar" />
7054
7055 <p class="note">
7056   If you synchronize Ardour with other devices then some or all of these control methods may be unavailable&mdash;depending on the synchronization protocol, Ardour may respond only to commands sent from its master device(s).
7057 </p>
7058
7059 <p>
7060   The <dfn>Transport Bar</dfn> at the top of the window is made of:
7061 </p>
7062
7063 <ul>
7064   <li><a href="/controlling-playback/using-the-transport-bar/">the Transport Controls</a></li>
7065   <li><a href="/ardours-interface/using-ardour-clock-displays/">the Clocks</a></li>
7066   <li>3 status indicators:
7067     <ul>
7068       <li><dfn>Solo</dfn>: Blinks when one or more tracks are being soloed, see <a href="/mixing/muting-and-soloing/">Muting and Soloing</a>. Clicking this button disables any active explicit and implicit solo on all tracks and busses.</li>
7069       <li><dfn>Audition</dfn>: Blinks when using the import dialog to audition material.</li>
7070       <li><dfn>Feedback</dfn>: Blinks when Ardour detects a <dfn>feedback loop</dfn>, which happens when the output of an audio signal chain is plugged back to its input. This is probably not wanted and can be dangerous for the hardware and the listener.</li>
7071     </ul></li>
7072   <li>A global Meter, showing the level of the Master Output, see <a href="/ardours-interface/meters/">Metering in Ardour</a></li>
7073   <li>the Mode Selector, allowing to switch between Editor and Mixer views, or edit the Preferences.</li>
7074 </ul>
7075
7076 ---
7077 title: The Transport Bar
7078 part: subchapter
7079 ---
7080
7081 <p>
7082   The <dfn>Transport Bar</dfn> groups all the actions regarding the control of playback and recording.
7083 </p>
7084
7085 <p class="center"><img src="/images/transport.png" alt="The transport controls" /></p>
7086
7087 <p>
7088   This bar is made of (from left to right):
7089 </p>
7090
7091 <ul>
7092   <li>
7093     <dfn>Midi Panic</dfn>: Immediately stops all midi output.
7094   </li>
7095   <li>
7096     <dfn>Enable/disable Audio Click</dfn>: Toggles (on/off) a click track (metronome) along the <a href="/tempo-meter/tempo-and-meter/">tempo</a>.
7097   </li>
7098   <li>
7099     <dfn>Go to Start of the Session</dfn>: Jumps back at the beginning of the session, as defined by the <a href="/working-with-markers/">start marker</a>.
7100   </li>
7101   <li>
7102     <dfn>Go to End of the Session</dfn>: Jumps forward to the end of the session, as defined by the <a href="/working-with-markers/">end marker</a>.
7103   </li>
7104   <li>
7105     <dfn>Play Loop Range</dfn>: Repeats the defined <a href="/controlling-playback/looping-the-transport/">loop</a> as defined by the <a href="/working-with-markers/loop-range/">Loop range</a>, until the "Stop playback" button is pressed. Clicking the "Play loop Range" button while already active switches to normal Play mode, which exits the loop without stopping and restarting playback.
7106   </li>
7107   <li>
7108     <dfn>Play Range/Selection</dfn>: If a range has been defined using the Range Mode button, plays the range, of if an audio or MIDI region is selected, plays this region. In both cases, the playback stops at the end of the range or selected region.
7109   </li>
7110   <li>
7111     <dfn>Play from playhead</dfn>: Starts the playback and optionally record (more below).
7112   </li>
7113   <li>
7114     <dfn>Stop</dfn>: Whatever the playing mode (loop, range, &hellip;) stops all playback. Depending on other settings, some effects (like chorus or reverb) might still be audible for a while.
7115   </li>
7116   <li>
7117     <dfn>Toggle Record</dfn>: Global switch button to activate/deactivate recording. While active, the button blinks red. The button doesn't start recording by itself: if one or more tracks are marked as record-enabled, pressing the "Play from Playhead" starts recording on those tracks. See <a href="/recording/">Recording</a>.
7118   </li>
7119 </ul>
7120
7121 <p class="fixme">Add default keyboard shortcuts to the above.</p>
7122
7123 <p class="note">
7124   All these actions are bound to keyboard shortcuts, which allows for speedier use and more focused work.
7125 </p>
7126
7127 <p>
7128   Under these buttons is the <dfn>Shuttle Speed Control</dfn> that allows to scrub through the audio quickly.
7129 </p>
7130
7131 <p>
7132   The Shuttle Speed Control supports 2 operating modes, that can be chosen with right click > Mode:
7133 </p>
7134
7135 <ul>
7136   <li><dfn>Sprung mode</dfn> that allows for a temporary scrub: it only scubs while the mouse is left clicked on the control.</li>
7137   <li><dfn>Wheel mode</dfn> that allows to set a playback speed until the "Stop" button is pressed, which stops the playback and resets its speed.
7138 </ul>
7139
7140 <p>
7141   The mode is displayed on the right of the control. The current playback speed is shown by a green slider, that is square and centered when the playback speed is normal (1X) and becomes a circle when its changed. The further from the center the slider is set, the faster the playback will scrub in both directions, as displayed on the left of the control.
7142 <p>
7143
7144 <p>
7145   The 3 vertical buttons on the right of the transport bar control the behaviour of the playhead:
7146 </p>
7147
7148 <ul>
7149   <li>
7150      The positional sync button (which might show <dfn>Internal</dfn>, or <dfn>MTC</dfn> or several other values) can be used to control whether or not the transport position and start is controlled by Ardour, or by an external positional synchronization source, such as MIDI Time Code (MTC), Linear Time Code (LTC) or JACK. (see <a href="/synchronization/timecode-generators-and-slaves/">Timecode Generators and Slaves</a>).
7151   </li>
7152   <li>
7153     <dfn>Follow Edits</dfn> is a toggle that can be used to control whether or not making a selection (range or object) will move the playhead to the start of the selection.
7154   </li>
7155   <li>
7156     <dfn>Auto Return</dfn> is a toggle switch too. When active, pressing the Stop button returns the playhead to its previous position, and when inactive, pressing Stop keeps the playhead at its current location. Activating Auto Return can be useful for hearing the same piece of audio before and after tweaking it, without having to set a loop range on it.
7157   </li>
7158 </ul>
7159
7160 ---
7161 title: Times
7162 part: subchapter
7163 ---
7164
7165 <p>
7166   <dfn>Clocks</dfn> in Ardour are used to display <dfn>time values</dfn> precisely.
7167   In many cases, they are also one way to edit (change) time values, and in a few
7168   cases, the only way. All clocks share the same basic appearance and functionality,
7169   which is described below, but a few clocks serve particularly important roles.
7170 </p>
7171
7172 <h2>Transport Clocks</h2>
7173
7174 <p>
7175   In the transport bar of the editor window there are two clocks (unless you
7176   are on a very small screen), that display the current position of the playhead
7177   and additional information related to transport control and the timeline. These
7178   are called the <dfn>transport clocks</dfn>; the left one is the primary
7179   transport clock and the right one is the secondary transport clock.
7180   They look like this:
7181 </p>
7182
7183 <img src="/images/a3_new_main_clocks.png" alt="An image of the transport clocks in Ardour 3" />
7184
7185 <p>
7186   Editing the time in the transport clocks will reposition the playhead in the same
7187   way that various other editing operations will.
7188 </p>
7189
7190 <h3>The Big Clock</h3>
7191 <p>
7192   To show the current playhead position in a big, resizable window, activate
7193   <kbd class="menu">Window &gt; Big Clock</kbd>. The big clock is very useful
7194   when you need to work away from the screen but still want to see the playhead
7195   position clearly (such as when working with a remote control device across
7196   a room). The big clock will change its visual appearance to indicate when active
7197   recording is taking place. Below on the left is a screenshot showing a fairly
7198   large big clock window filling a good part of the display, and on the right,
7199   the same clock during active recording.
7200 </p>
7201 <a href="/images/bigclock.png"><img src="/images/bigclock.png" height="100" alt="an image of the big clock filling a screen" /></a> <a href="/images/bigclock-recording.png"><img src="/images/bigclock-recording.png" height="100" alt="an image of the big clock while recording"
7202 /></a>
7203
7204 <h3>The Special Role of the Secondary Transport Clock</h3>
7205 <p>
7206   On a few occasions Ardour needs to display time values to the user, but there
7207   is no obvious way to specify what units to use. The most common case is the big
7208   cursor that appears when dragging regions. For this and other similar cases,
7209   Ardour will display time using the same units as the secondary clock.
7210 </p>
7211 <h4>Why are there two transport clocks?</h4>
7212 <p>
7213   Having two transport clocks lets you see the playhead position in two different
7214   time units without having to change any settings. For example, you can see the
7215   playhead position in both timecode units and BBT time.
7216 </p>
7217
7218 <h3>Selection and Punch Clocks</h3>
7219 <p>
7220   The transport bar also contains a set of 5 clocks that show the current
7221   <dfn>selection range</dfn> and <dfn>punch ranges</dfn>. Clicking on the punch
7222   range clocks will locate to either the beginning or end of the punch range.
7223   Similarly, clicking on the range clocks will locate to either the beginning
7224   or end of the current selection. In this screen shot there is no current
7225   selection range, so the selection clocks show an "off" state.
7226 </p>
7227
7228 <img src="/images/selectionpunchclocks.png" alt="An image of the the selection and punch clocks in Ardour 3" />
7229
7230 <h2>Clock Modes</h2>
7231 <p>
7232   Every clock in Ardour has four different, selectable <dfn>clock
7233   modes</dfn>. Each mode displays time using different units.
7234   You can change the clock mode by <kbd class="mouse">Right</kbd>-clicking
7235   on the clock and selecting the desired mode from the menu. Some clocks are
7236   entirely independent of any other clock's mode; others are linked so that
7237   changing one changes all clocks in that group. The different modes are:
7238 </p>
7239 <dl>
7240   <dt>Timecode</dt>
7241   <dd>Time is shown as <dfn><abbr title="Society of Motion Picture and Television
7242   Engineers">SMPTE</abbr> timecode</dfn> in Hours:Minutes:Seconds:Frames,
7243   measured from the timecode zero point on the timeline (which may not
7244   correspond to the session start and/or absolute zero on the timeline,
7245   depending on configurable timecode offsets).
7246   The frames value is dictated by either the session <abbr title="Frames Per
7247   Second">FPS</abbr> setting, or, if slaved to an external timecode master,
7248   the master's setting. In the transport clocks, the FPS value is shown below
7249   the time display, along with an indication of the current timecode source
7250   (<samp>INT</samp> means that Ardour is its own timecode source).</dd>
7251   <dt>BBT</dt>
7252   <dd>Time is shown as Bars:Beats:Ticks, indicating <dfn>musical time</dfn> measured
7253   from the start of the session. The transport clocks show the current tempo
7254   in <abbr title="Beats Per Minute">bpm</abbr> and meter below the time
7255   display.</dd>
7256   <dt>Minutes:Seconds</dt>
7257   <dd>Time is shown as Hours:Minutes:Seconds.Milliseconds, measured from the
7258   absolute start of the timeline (ignoring the session start and any timecode
7259   offsets).</dd>
7260   <dt>Samples</dt>
7261   <dd>Time is shown as a <dfn>sample count</dfn> from the absolute start of the timeline
7262   (ignoring the session start and any timecode offsets). The number of
7263   samples per second is given by the current sample rate, and in the transport
7264   clocks, this rate is shown below the time display along with any
7265   pullup/pulldown adjustment.</dd>
7266 </dl>
7267
7268 <h3>Special Modes for the Transport Clocks</h3>
7269 <p>
7270   In addition to the time-unit modes mentioned above, each of the two transport
7271   clocks (if you work on a small screen, you may only have one) can be
7272   independently set to display <dfn>Delta to Edit Point</dfn> in whatever time
7273   units its current mode indicates. This setting means that the clock shows the
7274   distance between the playhead and the current edit point, and it may show a
7275   positive or negative value depending on the temporal order of these two points.
7276   The clocks will use a different color when in this mode to avoid confusion.
7277 </p>
7278 <p>
7279   To switch either (or both!) of the transport clocks into this mode, use
7280   <kbd class="menu"> Edit &gt; Preferences &gt; Transport</kbd> and select
7281   the relevant checkboxes.
7282 </p>
7283 <p>
7284   Note that when in <samp>Delta to Edit Point</samp> mode, the transport clocks
7285   cannot be edited.
7286 </p>
7287
7288 <h2>Changing clock values with the keyboard</h2>
7289 <p>
7290   New values for the clock can be typed in after clicking on the relevant clock.
7291   Clicking on the clock will show a thin vertical cursor bar just to the right
7292   of the next character to be overwritten. Enter time in the same order as the
7293   current clock mode&mdash;if the clock is in Timecode mode, you need to enter
7294   hours, minutes, seconds, frames. So, to change to a time of 12:15:20:15 you
7295   would type <kbd class="input">1 2 1 5 2 0 1 5</kbd>. Each number you type will
7296   appear in a different color, from right to left, overwriting the existing value.
7297   Mid-edit, after typing <kbd class="input">3 2 2 2</kbd> the clock might look like this:
7298 </p>
7299 <img src="/images/clockedit.png" alt="An image of a clock being edited in Ardour 3" />
7300 <p>
7301   To finish the edit, press <kbd>&crarr;</kbd> or <kbd>Tab</kbd>. To exit an
7302   edit without changing the clock press <kbd>ESC</kbd>. If you mis-type an entry
7303   so that the new value would be illegal (for example, resulting in more than 30
7304   frames when Timecode is set to 30 frames per second), the clock will reset at
7305   the end of the edit, and move the cursor back to the start so that you can
7306   start over.
7307 </p>
7308
7309 <h3>Avoiding the mouse entirely</h3>
7310 <p>
7311   There is a shortcut available for those who wish to be able to edit the transport
7312   clocks entirely without the mouse. It can be found in
7313   <kbd class="menu">Window &gt; Key Bindings &gt; Transport &gt; Focus On
7314   Clock</kbd>. If bound to a key (<kbd>&divide;</kbd> on the numerical
7315   keypad is the
7316   default), then pressing that key is equivalent to clicking on the primary (left)
7317   transport clock, and editing can begin immediately.
7318 </p>
7319
7320 <h3>Entering Partial Times</h3>
7321 <p>
7322   One detail of the editing design that is not immediately obvious is that it is
7323   possible to enter part of a full time value. Suppose that the clock is in BBT
7324   mode, displaying <samp>024|03|0029</samp>, and you want to alter the value to
7325   the first beat of the current bar. Click on the clock and type
7326   <kbd class="input">0 1 0 0 0 0</kbd>. Similarly, if it is in Minutes:Seconds
7327   mode, displaying <samp>02:03:04.456</samp>, and you want to get to exactly 2
7328   hours, click on the clock and type <kbd class="input">0 0 0 0 0 0 0</kbd> to
7329   reset the minutes, seconds and milliseconds fields.
7330 </p>
7331
7332 <h3>Entering Delta Times</h3>
7333 <p>
7334   You can also type values into the clock that are intended as a relative change,
7335   rather than a new absolute value. Simply end the edit by pressing
7336   <kbd>+</kbd> or <kbd>-</kbd> (the ones on any keypad will also work). The plus
7337   key will add the entered value to the current value of the clock, minus will
7338   subtract it. For example, if the clock is in Samples mode and displays
7339   <samp>2917839</samp>, you move it back 2000 samples by typing
7340   <kbd class="input">2 0 0 0</kbd> and <kbd>-</kbd>, rather than ending with
7341   Enter or Tab. </p>
7342
7343 <h2>Changing clock values with the mouse</h2>
7344
7345 <h3>Using a scroll wheel</h3>
7346
7347 <p>
7348   Position the mouse pointer over the clock, and move the scroll wheel. Moving
7349   the scroll wheel up (<kbd class="mouse">&uArr;</kbd>) increases the value
7350   shown on the clock, moving it down  (<kbd class="mouse">&uArr;</kbd>)
7351   decreases it. The step size is equal to the unit of the field
7352   you are hovering over (seconds, hours, etc.).
7353 </p>
7354
7355 <h3>Dragging the mouse</h3>
7356
7357 <p>
7358   Position the mouse pointer over the clock, press the left mouse button and drag.
7359   Dragging upwards increases the value shown on the clock, dragging downwards
7360   decreases it, again with a step size equal to the unit of the field you
7361   began the drag on.
7362 </p>
7363
7364
7365 ---
7366 title: The Editor
7367 part: chapter
7368 ---
7369
7370 <p>
7371   The <dfn>Editor</dfn> window includes the editor track <dfn>canvas</dfn>
7372   where you can arrange audio and MIDI data along a timeline. This is the
7373   window you will be in while editing and arranging a project. The window
7374   has a general "horizontal" sense to it: the timeline flows from left to
7375   right, the playhead showing the current position in the session moves
7376   from left to right &mdash; the window really represents <dfn>time</dfn>
7377   in a fairly literal way.
7378 </p>
7379
7380 <p>
7381   It is possible to show a single channel strip in the editor window, and
7382   some people find this enough to work on mixing without actually opening
7383   the mixer window. Most of the time though, you will want both of these
7384   windows at various stages of a session's lifetime &mdash; sometimes
7385   you'll be focused on editing, sometimes on mixing and possibly some of
7386   the time on both.
7387 </p>
7388
7389 <p>
7390   This section is a description of the Editor window. To learn more about the
7391   editing workflow, see <a href="fixme">Editing</a>.
7392 </p>
7393
7394
7395 ---
7396 title: The Editor - The Toolbar
7397 part: chapter
7398 ---
7399
7400 <figure>
7401         <img src="/images/toolbar_split.png" alt="Ardour's editor toolbar">
7402         <figcaption>
7403                 <ol class="multicol5">
7404                         <li>Toolbar</li>
7405     </ol><ol class="multicol5" start="2">
7406                         <li>Zoom Control</li>
7407                 </ol><ol class="multicol5" start="3">
7408                         <li>Grid Control</li>
7409                 </ol><ol class="multicol5" start="4">
7410                         <li>Edit Point</li>
7411     </ol><ol class="multicol5" start="5">
7412                         <li>Nudge</li>
7413                 </ol>
7414         </figcaption>
7415 </figure>
7416
7417 <p>
7418   The Toolbar is made of 5 "zones"
7419 </p
7420
7421 ---
7422 title: The Toolbar
7423 part: subchapter
7424 ---
7425
7426 <img src="/images/toolbar-tools.png" alt="Editor toolbar's tools">
7427
7428 <h2>Global Edit mode</h2>
7429
7430 <p>
7431   Ardour has a global <dfn>edit mode</dfn> selector at the left of the
7432   Editing toolbar, which affect how regions are moved or copied:
7433 </p>
7434
7435 <dl>
7436   <dt><kbd class="menu">Slide</kbd></dt>
7437   <dd>Regions move freely. Ardour creates overlaps when necessary.</dd>
7438   <dt><kbd class="menu">Ripple</kbd></dt>
7439   <dd>Editing affects the regions to the "right" of the edit (see below).</dd>
7440   <dt><kbd class="menu">Lock</kbd></dt>
7441   <dd>No region motion is permitted (except for "nudge").</dd>
7442 </dl>
7443
7444 <p>
7445   Ripple Edit mode provides the following conveniences:
7446   <ul>
7447     <li>Deleting a range will move later regions to compensate for the deleted time</li>
7448     <li>Deleting a region will move later regions to compensate for the deleted region's length</li>
7449     <li>Moving a region will move later regions to compensate for the length of the move</li>
7450     <li>Inserting a new region (via dragging or via Paste) will move later regions to the right to compensate</li>
7451   </ul>
7452 </p>
7453
7454 <p class="note">
7455   If <kbd class="menu">Snap To Grid</kbd> is enabled, then regions can
7456   only move so that they align with locations determined by the current
7457   snap settings (beats, or seconds, or other region boundaries, etc).
7458   See <a href="/editing-and-arranging/snap-to-the-grid">Snap To the Grid</a>
7459   for details.
7460 </p>
7461
7462 <h2>The <em>Smart</em> switch
7463
7464 <p>
7465   The <dfn>Smart Mode</dfn> button to the left of the mouse mode buttons
7466   modifies the <dfn>Grab Mode</dfn>. When enabled, the mouse behaves as if it
7467   is in "Range Mode" in the upper half of a region, and in "Grab Mode" in the
7468   lower half. This allows avoiding constant switching between these two modes.
7469 </p>
7470
7471 <h2>Mouse Modes</h2>
7472
7473 <dl class="wide-table">
7474
7475   <dt id="object">Grab Mode</dt>
7476   <dd>The <dfn>Grab Mode</dfn> is used for selecting, moving, deleting and
7477   copying objects. When in object mode, the mouse pointer appears as a hand
7478   whenever it is over the track canvas or the rulers. The mouse can now be
7479   used to select and perform operations on objects such as regions, markers etc.
7480   This is the most common mode to work in, as it allows you to select and move regions,
7481   as well as modify automation points on the automation tracks.</dd>
7482
7483   <dt>Range Mode</dt>
7484   <dd>When in <dfn>Range Mode</dfn>, the mouse pointer appears as a vertical line
7485   whenever it is over the track canvas or the rulers. The mouse will now be
7486   able to select a point or range of time. Time ranges can be selected over
7487   one or several tracks, depending on the selection of your tracks.<br>
7488   If none of your tracks are selected, the Range Tool will operate on all the
7489   session track visualized in the Editor.<br>
7490   If you want to edit only particular tracks, select them before you apply
7491   the range tool.</dd>
7492
7493   <dt>Cut Tool Mode</dt>
7494   <dd>When in <dfn>Cut Tool Mode</dfn>, the mouse pointer appears as a pair of scissors
7495   whenever it is over the track canvas or the rulers. This tools allows to cut
7496   any region into 2 regions at the mouse cursor, regardless of the Edit Point.<br>
7497   If one or more track(s) is selected, then all the regions on these tracks will
7498   be split at the mouse cursor position.<br>
7499   If no track is selected, then only the region hovered by the mouse cursor will
7500   be split.</dd>
7501
7502   <dt>Stretch Mode</dt>
7503   <dd>When in <dfn>time fx</dfn> mode, the mouse pointer appears as a
7504   distinctive expanding square symbol whenever it is over the track canvas or
7505   the rulers. This mode is used to resize regions using a timestretch
7506   algorithm. Click on an edge of a region of audio and drag it one way or the other to
7507   stretch or shrink the region.</dd>
7508
7509   <dt>Audition Tool</dt>
7510   <dd>Clicking a region using the <dfn>audition tool</dfn> will play this
7511   region to the control room outputs.<br>
7512   You can also <dfn>scrub</dfn> with this tool by clicking and dragging in
7513   the direction you wish to listen.  The amount you drag in one direction or
7514   the other will determine the playback speed.</dd>
7515
7516   <dt>Draw Tool</dt>
7517   <dd>When in <dfn>Draw Tool</dfn> mode, the mouse pointer will change to
7518   a pencil. You can then click within an audio region to change the <dfn>gain
7519   envelope</dfn> for that region. This curve is separate from fader automation
7520   for individual tracks. It will remain locked to the region's time, so if the
7521   region is moved, the region gain envelope is moved along with it.<br>
7522   The draw tool works on automation too, allowing the creation and modification
7523   of control points on the automation curves.<br>
7524   Last, it is used on a MIDI region to edit the notes.</dd>
7525
7526   <dt>Internal/Region Edit Mode</dt>
7527   <dd>When in <dfn>Internal Edit</dfn> mode, the mouse pointer will change to
7528   cross-hairs. This tool acts on gegion gain and automation as the Draw tool.<br>
7529   On a MIDI region, it allows to lasso-select multiple notes at a time.</dd>
7530 </dl>
7531
7532
7533
7534 <p class="fixme">Make sure the Internal Edit and Draw tool act as described</p>
7535
7536
7537 ---
7538 title: the Zoom Controls
7539 part: subchapter
7540 ---
7541
7542 <img class="left" src="/images/toolbar-zoom.png" alt="Editor toolbar's zoom">
7543
7544 <p>The zoom controls allow to navigate the session along both the time and track axes.</p>
7545
7546 <p>The drop down <kbd class="menu">Zoom Focus</kbd> menu allows to select a focus
7547 point for the zoom, i.e. the center of the zoom. The choices are :</p>
7548
7549 <ul>
7550   <li><dfn>Left</dfn> of the screen</li>
7551   <li><dfn>Right</dfn> of the screen</li>
7552   <li><dfn>Center</dfn> of the screen</li>
7553   <li><dfn>Playhead</dfn></li>
7554   <li><dfn>Mouse</dfn></li>
7555   <li><dfn>Edit Point</dfn> as set in the <a href=" fixme ">Edit point</a> control.</li>
7556 </ul>
7557
7558 <p>The 2 leftmost zoom buttons (<kbd class="menu">&minus;</kbd> and
7559 <kbd class="menu">&plus;</kbd>) use this zoom focus to zoom out and in
7560 respectively.<p>
7561
7562 <p>The <kbd class="menu">Zoom to session</kbd> button is a handy shortcut to zoom
7563 out or in until all the session (as defined by it's <a href=" fixme ">start/end
7564 markers</a>) fits horizontally.</p>
7565
7566 <p>Changing the <kbd class="menu">Number of visible tracks</kbd> dropdown menu
7567 allows to fit this number of tracks vertically in the screen.<p>
7568
7569 <p class="note">There <em>is</em> a minimal track height to keep it visible, so
7570 according to you screen vertical size, some high number can have no effect.</p>
7571
7572 <p>Inside this menu are 2 handy choices :</p>
7573 <ul>
7574   <li><dfn>Selected tracks</dfn> that focus on the selected tracks. If the selected
7575   tracks are not contiguous, the unselected tracks inbetween will be hidden, see
7576   the <a href=" fixme ">Track and Bus list</a>.</li>
7577   <li><dfn>All</dfn> that fits all the tracks of the sessions vertically (provided
7578   there's enough screen estate).</li>
7579 </ul>
7580
7581 <p>The rightmost buttons <kbd class="menu">Shrink tracks</kbd> and
7582 <kbd class="menu">Expand tracks</kbd> reduce or expand the vertical size of the
7583 selected tracks. If no track is selected, all the tracks will be shrunk or
7584 expanded each time the button is pushed.
7585
7586 ---
7587 title: the Grid Controls
7588 part: subchapter
7589 ---
7590
7591 <img class="left" src="/images/toolbar-grid.png" alt="Editor toolbar's grid">
7592
7593 <p>
7594   Ardour's editor utilizes a <dfn>grid</dfn> to assist in the placement
7595   of regions on the timeline, or with editing functions that need to happen
7596   at a specific point in time.  You can choose if you want the cursor and
7597   various objects to snap to this grid, and how you want the snapping to
7598   behave. You can modify the grid units to fit your needs.
7599 </p>
7600
7601 <h2>About Snapping</h2>
7602
7603 <p>There are two ways to think about aligning material to a grid.
7604   The first and most obvious one is where an object's position is clamped
7605   to grid lines. In Ardour, this is called <dfn>absolute snap</dfn>
7606   and is commonly used when working with sampled material where audio
7607   begins exactly at the beginning of a file, note or region.</br>
7608   The second, <dfn>relative snap</dfn>, is used when an object's position
7609   relative to the grid lines is important. In music, this allows you to
7610   move objects around without changing the "feel" (or timing) of a performance.</br>
7611   Absolute snap is the default method of snapping in Ardour.</br>
7612   While dragging objects you may switch from absolute to relative snap by
7613   pressing the absolute snap modifier key(s).</br>
7614   You may also disable snap entirely by using the snap modifier (see below).</br>
7615   Note that in relative snap mode the reference point is taken to be the distance
7616   to the nearest grid line.</br>
7617   Note also that when an object lies exactly on a grid line, there will be no difference
7618   between relative and absolute snap modes.</br>
7619   The realtive snap and snap modifiers (along with other modifier keys) may be set in
7620   <kbd class="menu">Edit &gt; Preferences &gt; User Interaction</kbd></br>
7621   For common use patterns, it is recommended that you assign a unique key for
7622   one snap modifier and two keys for the other in such a way that they share an otherwise unused key.
7623   For example, you may choose the snap modifier to be the <kbd class="mod2">&nbsp;</kbd> key and the
7624   relative snap modifier to be the <kbd class="mod2">&nbsp;</kbd> and <kbd class="mod4">&nbsp;</kbd> keys.
7625 </p>.
7626
7627 <h2>Snap Modes</h2>
7628 <p>
7629   Using the above modifications, Ardour supports three different modes of snapping to the grid:
7630 </p>
7631
7632 <dl class="wide-table">
7633   <dt><kbd class="menu">No Grid</kbd></dt>
7634   <dd>disables the grid. All objects move freely in this mode.</br>
7635   In <kbd class="menu">No Grid</kbd> mode, you may temporarily activate the grid by pressing the
7636   snap modifier (for absolute snap) or switch to relative snap by pressing the relative snap modifier.</dd>
7637   <dt><kbd class="menu">Grid</kbd></dt>
7638   <dd>activates normal snapping. All positions of objects snap to
7639   the grid. (See <a href="#gridunits">Grid Units</a> below
7640   to change the grid). If you try to move an object in "Grid"-mode, it
7641   does not change its position until you move the mouse far enough for the
7642   object to reach the next grid line.</br>
7643   Sometimes you may wish to maintain an objects' position relative to the grid line.
7644   In order to do this, use the "snap relative" modifier.
7645   When holding down this modifier during a drag, the dragged object will jump
7646   while maintaining its original distance from the line.</br>
7647   New objects will always be created at grid points.</br>
7648   Holding down the snap modifier will disable the current grid setting and allow you to move the object freely.</br>
7649   </dd>
7650   <dt><kbd class="menu">Magnetic</kbd></dt>
7651   <dd>is a less strict type of snapping. Objects can still be moved to any
7652   position, but positions close to the relative or absolute grid points will snap.
7653   In order to move an object very close to a snap point, it may be necessary
7654   to zoom in to prevent snapping to that point, or to use the snap modifier to disable snap completely.</br>
7655   As with Grid mode, the snap modifier will disable snap completely while the
7656   absolute snap modifier will move the "notch" of Magnetic snap to the grid lines.</dd>
7657 </dl>
7658
7659 <h2>Syncing Regions to the Grid</h2>
7660 <p>
7661   By default, a region's beginning will be used as the reference for both types of snapping,
7662   but you can change this behaviour by setting a <dfn>sync point</dfn> in
7663   the region. Select the region(s) and press <kbd>V</kbd>. This will set
7664   the sync point to your edit point.</p>
7665
7666 <h2 id="gridunits">Grid Units</h2>
7667 <p>
7668   The selector next to the grid mode selector defines the size of the grid
7669   elements. You can set your grid to several different units:
7670 </p>
7671 <dl class="wide-table">
7672   <dt><kbd class="menu">CD Frames</kbd></dt>
7673   <dd>A CD Frame is 1/75th of a second. Snapping to CD Frames (using absolute snap) can be used to avoid issues with CD track
7674   lengths.</dd>
7675   <dt><kbd class="menu">Timecode Frames/Seconds/Minutes</kbd></dt>
7676   <dd>The duration of a frame depends on the timecode settings for the
7677   session.</dd>
7678   <dt><kbd class="menu">Seconds/Minutes</kbd></dt>
7679   <dd>These are absolute time units, unaffected by sample rate or timecode settings</dd>
7680   <dt><kbd class="menu">Beats/N</kbd></dt>
7681   <dd>Set the grid to units of 1/N beats, where N can be 128, 64, 32, 16, 8, 7, 6, 5, 4, 3, 2. The duration of a grid unit will depend on the tempo and meter in effect at that point in the timeline.</dd>
7682   <dt><kbd class="menu">Beats</kbd></dt>
7683   <dd>Set the grid to whole beats. The duration of a grid unit will depend on the tempo and meter in effect at that point in the timeline.</dd>
7684   <dt><kbd class="menu">Bars</kbd></dt>
7685   <dd>Set the grid to whole bars. The duration of a grid unit will depend on the tempo and meter in effect at that point in the timeline.</dd>
7686   <dt><kbd class="menu">Markers</kbd></dt>
7687   <dd>The grid lines are the markers.</dd>
7688   <dt><kbd class="menu">Region Starts</kbd></dt>
7689   <dd>The grid lines are constructed from region start points (see below).</dd>
7690   <dt><kbd class="menu">Region Ends</kbd></dt>
7691   <dd>The grid lines are constructed from region end points (see below).</dd>
7692   <dt><kbd class="menu">Region Syncs</kbd></dt>
7693   <dd>The grid lines are constructed from region sync points.</dd>
7694   <dt><kbd class="menu">Region Bounds</kbd></dt>
7695   <dd>The grid lines are constructed from region start or end points.</dd>
7696 </dl>
7697
7698 <p>
7699   To use Region starts/ends/syncs/bounds as snap choices, you must have
7700 either
7701 </p>
7702
7703 <ul>
7704   <li><em>No</em> tracks selected, which means that Ardour snaps to regions on any track, or </li>
7705   <li>Several tracks selected, which means that Ardour only snaps to regions on those selected tracks.</li>
7706 </ul>
7707
7708 <p>
7709   If you are moving items on a track, and only the current track is selected,
7710   then you will only be able to snap to other regions on the same track.
7711   This means that enabling
7712   <kbd class="menu">Edit &gt; Preferences &gt; Editor &gt; Link Selections of Regions and
7713   Tracks</kbd> will make the "Region" grid unit unusable.  Avoid the use of this option if
7714   you are going to use any of the Region grid units.
7715 </p>
7716
7717
7718 ---
7719 title: the Edit Point Control
7720 part: subchapter
7721 ---
7722
7723 <img class="left" src="/images/toolbar-editpoint.png" alt="Editor toolbar's Edit Point">
7724
7725 <p>
7726   Editing operations in a Digital Audio Workstation like Ardour can be broken
7727   down according to how many points on the timeline are required to carry the
7728   operation out. Splitting a region for example, requires just one position
7729   on the timeline (the one where the split will happen). Cutting out a time
7730   range requires two positions, one for the start of the cut and one for the end.
7731 </p>
7732
7733 <p>
7734   In Ardour the <dfn>edit point</dfn> is the location where most single-point
7735   editing operations take place. It can be set to either of the following:
7736 </p>
7737
7738 <ul>
7739   <li>the <dfn>Playhead</dfn> position</li>
7740   <li>the selected (or "active") <dfn>Marker</dfn></li>
7741   <li>the position of the <dfn>Mouse</dfn> (or touch) pointer</li>
7742 </ul>
7743
7744 <p>
7745   The default edit point is the location of the pointer.
7746 </p>
7747
7748 <p>
7749   There are 2 keybindings available to cycle through the edit point options.
7750   The most common workflow tends to involve switching back and forth between
7751   the playhead and mouse as the edit point. Press the grave accent key
7752   <kbd>`</kbd> to switch between these two. Use <kbd class="mod1">`</kbd> to
7753   cycle through all three choices (including the selected marker).  You can
7754   also switch the edit point using a combo-selector just right of the snap/grid
7755   unit selector.
7756 </p>
7757
7758
7759 ---
7760 title: the Nudge Controls
7761 part: subchapter
7762 ---
7763
7764 <img class="left" src="/images/toolbar-nudge.png" alt="Editor toolbar's Nudge">
7765
7766 <p>
7767   The <dfn>nudge controls</dfn> will move the selected region(s) by a fixed amount
7768   of time. The left and right buttons move either backward or forward in time, and the small
7769   clock to the left of these buttons sets the amount of time to nudge by.
7770   As with all other clocks, you can right-click on the clock to choose the
7771   time representation you want to use.
7772 </p>
7773
7774 <p>
7775   If there are no selected objects, the nudge controls can be
7776   used to move the playhead backward or forward by the amount shown on the clock.
7777 </p>
7778
7779
7780
7781 ---
7782 title: The Editor - The Editor's Lists
7783 part: chapter
7784 ---
7785
7786 <p>
7787   At the right of the editor window is an optional area which provides one of a
7788   range of useful lists of parts of your session. It is not shown by default
7789   when you first start using Ardour. The <dfn>Editor list</dfn> can be hidden
7790   or shown using <kbd class="menu">View &gt; Show Editor List</kbd>. The very
7791   right-hand side of the list gives a selection of tabs which are used to
7792   choose the list to view. The left-hand border of the list can be dragged to
7793   vary the width of the list.
7794 </p>
7795
7796
7797 ---
7798 title: Region List
7799 part: subchapter
7800 ---
7801
7802 <p>
7803   The region list shows all the regions in the session. The left-hand column gives the region name, and there are a range of times given for information:
7804 </p>
7805
7806 <dl>
7807   <dt>Position</dt><dd>position of the start of the region on the global timeline</dd>
7808   <dt>End</dt><dd>position of the region on the global timeline</dd>
7809   <dt>Length</dt><dd>duration of the region</dd>
7810   <dt>Sync</dt><dd>position of the sync point, relative to the start of region (can be negative)</dd>
7811   <dt>Fade In</dt><dd>duration of the fade in. Can't be less than 1 ms, to avoid clipping.</dd>
7812   <dt>Fade Out</dt><dd>duration of the fade out (positive value, &ge; 1 ms).</dd>
7813 </dl>
7814
7815 <p>
7816   The units used to display those times are those used for the clock, so changing the units on the clocks change the display of this values.
7817 </p>
7818
7819 <p>
7820   At the right of the list are four columns of flags that can be altered:
7821 </p>
7822
7823 <dl>
7824   <dt>L</dt>
7825   <dd>whether the region position is locked, so that it cannot be moved.</dd>
7826   <dt>G</dt>
7827   <dd>whether the region's position is &lsquo;glued&rsquo; to bars and beats. If so, the region will stay at the same position in bars and beats even if the tempo and/or time signature change.</dd>
7828   <dt>M</dt>
7829   <dd>whether the region is muted, so that it will not be heard.</dd>
7830   <dt>O</dt>
7831   <dd>whether the region is opaque; opaque regions &lsquo;block&rsquo; regions below them from being heard, whereas &lsquo;transparent&rsquo; regions have their contents mixed with whatever is underneath. </dd>
7832 </dl>
7833
7834 <p>
7835   Hovering the mouse pointer over a column heading shows a tool-tip which can be handy to remember what the columns are for.
7836 </p>
7837
7838 <p>
7839   A handy feature of the region list is that its regions can be dragged and dropped into a suitable track in the session.
7840 </p>
7841
7842 ---
7843 title: Tracks &amp; Busses List
7844 part: subchapter
7845 ---
7846
7847 <p>
7848   This lists the tracks and busses that are present in the session. The list order reflects the order in the editor, and you can drag-and-drop track or bus names in the editor list to re-order them in the editor. The columns in the list represent the following:
7849 </p>
7850
7851 <dl>
7852   <dt id="visible">V</dt>
7853   <dd>whether the track or bus is visible; they can be hidden, in which case they will still play, but just not be visible in the editor; this can be useful for keeping the display uncluttered.</dd>
7854   <dt id="active">A</dt>
7855   <dd>whether the track or bus is active; unactive tracks will not play, and will not consume any CPU.</dd>
7856   <dt id="input">I</dt>
7857   <dd>for MIDI tracks, whether the MIDI input is enabled; this dictates whether MIDI data from the track's inputs ports will be passed through the track.</dd>
7858   <dt id="record">R</dt>
7859   <dd>whether the track is record-enabled.</dd>
7860   <dt id="record-safe">RS</dt>
7861   <dd>whether the track is record safe; a record safe track cannot be armed for recording, to protect against a mistake.</dd>
7862   <dt id="mute">M</dt>
7863   <dd>whether the track is muted.</dd>
7864   <dt id="solo">S</dt>
7865   <dd>track solo state.</dd>
7866   <dt id="solo-isolated">SI</dt>
7867   <dd>track solo-isolated state.</dd>
7868   <dt id="solo-safe">SS</dt>
7869   <dd>solo safe state. </dd>
7870 </dl>
7871
7872 <p class="note">
7873   Each icon in these columns can be clicked to toggle the track/bus state, which is a very fast way to set multiple tracks/busses state at once.
7874 </p>
7875
7876 <p>
7877   As with the region list, hovering the mouse pointer over a column heading shows a tool-tip which can be handy to remember what the columns are for.
7878 </p>
7879
7880 ---
7881 title: Snapshot List
7882 part: subchapter
7883 ---
7884
7885 <p>
7886   This list gives the snapshots that exist of this session. Clicking on a snapshot
7887   name will load that snapshot.
7888 </p>
7889
7890 <p>
7891   See <a href="/working-with-sessions">Working with Sessions</a> for more
7892   information on snapshots.
7893 </p>
7894
7895 ---
7896 title: Track &amp; Bus Group List
7897 part: subchapter
7898 ---
7899
7900 <p>
7901   This shows the track/bus groups that exist in the session. These groups allow related tracks to share various properties (such as mute or record enable state). For full details, see the section called <a href="/working-with-tracks/track-and-bus-groups/">Track and Bus Groups</a>.
7902 </p>
7903
7904 <p>
7905   The columns in this list are as follows:
7906 </p>
7907
7908 <dl>
7909   <dt>Col</dt>
7910   <dd>the colour that the group uses for its tab in the editor.</dd>
7911   <dt>Name</dt>
7912   <dd>the group name.</dd>
7913   <dt>V</dt>
7914   <dd>whether the tracks and busses in the group are visible.</dd>
7915   <dt>On</dt>
7916   <dd>whether the group is enabled.</dd>
7917   <dt>G</dt>
7918   <dd>ticked if the constituents of the group are sharing gain settings.</dd>
7919   <dt>Rel</dt>
7920   <dd>ticked if shared gains are relative.</dd>
7921   <dt>M</dt>
7922   <dd>ticked if the constituents share mute status.</dd>
7923   <dt>S</dt>
7924   <dd>ticked if the constituents share solo status.</dd>
7925   <dt>Rec</dt>
7926   <dd>ticked if the constituents share record-enable status.</dd>
7927   <dt>Mon</dt>
7928   <dd>whether the constituents share monitor settings.</dd>
7929   <dt>Sel</dt>
7930   <dd>whether the constituents are selected together.</dd>
7931   <dt>A</dt>
7932   <dd>whether the constituents share active status. </dd>
7933 </dl>
7934
7935 ---
7936 title: Ranges &amp; Marks List
7937 part: subchapter
7938 ---
7939
7940 <p>
7941   The <dfn>Ranges &amp; Marks List</dfn> is a tab in the <dfn>Editor
7942   Lists</dfn> area on the right of the Editor window. If the editor
7943   list area isn't visible it can be enabled by checking
7944   <kbd class="option">View &gt; Show Editor List</kbd>.
7945   The Ranges &amp; Marks list can be used as a single point
7946   of control for all range and location markers (including the punch and
7947   loop ranges), or as a supplement to other methods of working with them.
7948 </p>
7949
7950 <h2>Common elements</h2>
7951
7952 <p>
7953   Each section has a set of <dfn>editable <a
7954   href="/ardours-interface/using-ardour-clock-displays/">clock widgets</a></dfn>
7955   which display
7956   the location of a marker, or the start, end, and duration times of a range,
7957   respectively.<br />
7958   The <kbd class="menu">Use PH</kbd> buttons allow you to set
7959   the corresponding clock to the current playhead position.
7960   A <kbd class="mouse">Middle</kbd> click on any of the clocks will move
7961   the playhead to that location. Both functions are also available from the
7962   clock context menus.<br />
7963   Right clicking on any of the clocks brings up a context menu that allows
7964   changing of the display between Timecode, Bars:Beats, Minutes:Seconds,
7965   and Samples.<br />
7966 </p>
7967 <p>
7968  The <kbd class="menu">&mdash;</kbd> (subtract) button in front of each
7969  user-defined range or marker in the list allows that particular item to
7970  be removed. The name fields of custom ranges and markers can be edited.
7971 </p>
7972 <p>
7973   The <kbd class="option">Hide</kbd> checkboxes make markers and ranges invisible
7974   on the respective ruler to reduce visual clutter; the markers remain
7975   active however, and can be used normally.<br />
7976   Selecting <kbd class="option">Lock</kbd> prevents the respective marker
7977   from being moved until unlocked.
7978   Where applicable, <kbd class="option">Glue</kbd> fixes the marker position
7979   relative to the current musical position expressed in bars and beats, rather
7980   than the absolute time. This will make the respective marker follow
7981   changes in the tempo map.
7982 </p>
7983 <p>
7984   At the bottom of the list are buttons to add new markers or ranges.
7985 </p>
7986  <h2>List sections</h2>
7987
7988 <dl>
7989   <dt>Loop/Punch Ranges</dt>
7990   <dd>This list shows the current <dfn>loop</dfn> and <dfn>punch</dfn> range
7991   settings. Since these are built-in ranges, you cannot rename or remove them.</dd>
7992   <dt>Markers (Including CD Index)</dt>
7993   <dd>This section lists the session's <dfn>markers</dfn>. By ticking <kbd
7994   class="option">CD</kbd>, you instruct Ardour to create a <dfn>CD track
7995   index</dfn> from this marker, which will be included in the TOC or CUE file when you
7996   export.</dd>
7997   <dt>Ranges (Including CD Track Ranges)</dt>
7998   <dd>This is the list of <dfn>ranges</dfn> (including <dfn>CD track
7999   ranges</dfn>). Ticking <kbd class="option">CD</kbd> will convert
8000   the range to a <dfn>CD track</dfn>, which will again be included in
8001   exported TOC or CUE files. This is relevant for Disk-At-Once recordings
8002   that may contain audio data between tracks.</dd>
8003 </dl>
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027 ---
8028 title: The Mixer
8029 part: chapter
8030 ---
8031
8032 <p>
8033   The <dfn>Mixer</dfn> window on the other hand represents signal flow and
8034   is the window you will probably be using most when mixing a session. It
8035   includes <dfn>channel strips</dfn> for each track and bus in your session.
8036   It has a general "vertical" sense to it: signals flow from the top of each
8037   channel strip through the processing elements in the strip to reach the
8038   output listed at the bottom.
8039 </p>
8040
8041
8042
8043 ---
8044 title: The Mixer - Favorite Plugins Window
8045 part: subchapter
8046 ---
8047
8048 <img class="right" src="/images/favorite-plugins.png" alt="Favorite Plugins window">
8049
8050 <p>
8051   The <dfn>Favorite Plugins</dfn> window is on the top-left side of the <dfn>Mixer Window</dfn>. Like other elements in that window it has variable height and can be hidden by dragging it to zero-height. If it is not visible, the top-handle can be grabbed and dragged down to reveal it.
8052 </p>
8053
8054 <p>
8055   Plugin names that have a right facing triangle next to them have presets associated with them; clicking on the triangle will cause all presets associated with the plugin to show in the list.
8056 </p>
8057
8058 <h2>Features</h2>
8059
8060 <img class="right" src="/images/mixer-to-fav-dnd.png" alt="Dragging plugin to Favorites window">
8061 <p>
8062   The Favorite Plugins window provides easy access to frequently used plugins:
8063 </p>
8064
8065 <ul>
8066   <li>Plugins can be dragged from the window to any track or bus <a href="/working-with-plugins/processor-box/"><dfn>processor box</dfn></a>, which will add the plugin to that track or bus at the given position.</li>
8067   <li>The list includes user-presets for the plugins. Dragging a preset to a given track or bus will load that preset after adding the plugin.</li>
8068   <li>Double-clicking on a plugin or preset adds the given plugin to all selected tracks/busses pre-fader. Other insert positions are available from the context menu (right click).</li>
8069   <li>Dragging a plugin from a track into the window will add it to the list and optionally create a new preset from the current settings. The horizontal line in the list shows the spot where the plugin will land.</li>
8070   <li>The context-menu allows the deletion of presets or removal of the plugin from the list.</li>
8071   <li>Plugins in the list can be re-ordered using drag &amp; drop. The custom order is saved.</li>
8072 </ul>
8073
8074 <p class="note">
8075   When favorites are added with the <a href="/working-with-plugins/plugin-manager">Plugin Manager</a>, they are appended to the bottom of the list.
8076 </p>
8077
8078
8079
8080 ---
8081 title: The Mixer - The Strips list
8082 part: subchapter
8083 ---
8084
8085 <p class="fixme">add content</p>
8086
8087 ---
8088 title: The Mixer - The Groups list
8089 part: subchapter
8090 ---
8091
8092 <p class="fixme">add content</p>
8093
8094 ---
8095 title: The Mixer - The Master Strip
8096 part: subchapter
8097 ---
8098
8099 <p class="fixme">add content</p>
8100
8101
8102 ---
8103 title: The Mixer - The Monitor Section
8104 part: subchapter
8105 ---
8106
8107 <p class="fixme">add content</p>
8108
8109
8110
8111
8112
8113 ---
8114 title: Sessions & Tracks
8115 part: part
8116 ---
8117
8118
8119 ---
8120 title: Sessions
8121 part: chapter
8122 ---
8123
8124
8125 ---
8126 title: New/Open Session Dialog
8127 part: subchapter
8128 ---
8129 <p class="fixme">Info is out of date, image needs updating</p>
8130
8131 <p>
8132   The initial <dfn>Session</dfn> dialog consists of several consecutive pages:
8133 </p>
8134
8135 <h2>Open Session Page</h2>
8136 <p>
8137   On this page, you can open an <dfn>existing session</dfn>.  You can also
8138   open any <a href="/working-with-sessions/snapshots/">snapshot</a> of a
8139   particular session by clicking on the arrow next to the session name to
8140   display all snapshots, and then selecting one.  If your session is
8141   not displayed in the Recent Sessions list, the <kbd class="menu">Other
8142   Sessions</kbd> button will bring up a file selection dialog to navigate
8143   your hard drive.<br />
8144   Alternatively, you can opt to create a <kbd class="menu">New
8145   Session</kbd>.
8146 </p>
8147
8148 <h2>New Session page</h2>
8149 <p>
8150   Here you can type in the name of a session, select a folder to save in, and
8151   optionally use an existing <a href="/working-with-sessions/session-templates/">template</a>.
8152 </p>
8153 <p>
8154   Under <dfn>Advanced Options</dfn>, you can select whether you wish to create
8155   a Master Bus, or a Control Bus, and how many channels you wish either to have.
8156   You can also decide whether you want Ardour to automatically connect all inputs
8157   to the physical ports of your hardware. Ardour will do so
8158   sequentially and in round-robin fashion, connecting the first track's
8159   input to the first input of your hardware and so on. When Ardour has used
8160   all available hardware inputs, it will begin again with the first physical
8161   input.
8162   You can limit the number of channels on your physical hardware that Ardour
8163   uses.
8164 </p>
8165 <p>
8166   By default Ardour will connect all tracks and busses to the Master Bus if
8167   there is one. However you can also tell it to automatically connect each
8168   output to the physical outputs of your interface or sound card, and limit
8169   the number of physical outputs used, as above.
8170 </p>
8171
8172 <h3>Audio/MIDI Setup</h3>
8173
8174 <img class="right" src="/images/Audio-MIDI_Setup.png" alt="The Audio+MIDI
8175 Setup Dialog"/>
8176
8177 <p>
8178   This page is not displayed if <abbr title="JACK Audio Connection
8179   Kit">JACK</abbr> is already running when you start
8180   Ardour. It provides a simple interface to configure JACK, which
8181   will then be started by Ardour. For more control and options regarding
8182   JACK, it is recommended that you start JACK before using Ardour, via a
8183   JACK control application such as QJackCtl (sometimes called "Jack
8184   Control"), JackPilot, etc.
8185 </p>
8186 <dl>
8187   <dt>Audio System</dt>
8188   <dd>Currently, the only option here is <kbd class="menu">JACK</kbd>. In the future, native
8189   hardware access may be supported.</dd>
8190   <dt>Driver</dt>
8191   <dd>
8192     On Mac OS X this will typically be <kbd class="menu">CoreAudio</kbd>. On Linux usually
8193     this will be either <kbd class="menu"><abbr title="Free Firewire Audio Driver fOr
8194     linux">FFADO</abbr></kbd>
8195     or <kbd class="menu"><abbr title="Advanced Linux Sound
8196     Architecture">ALSA</abbr></kbd>, depending on whether or not you are
8197     utilizing a firewire device. Advanced users on all platforms may also
8198     use <kbd class="menu">NetJack</kbd> which provides network audio I/O.
8199   </dd>
8200   <dt>Device</dt>
8201   <dd>The selector should show all availiable interfaces provided by the
8202   driver above and which are capable of duplex operation.
8203   <p class="warning">
8204     If you are using an Intel Mac running OS X and the builtin audio
8205     interface, you must
8206     first <a href="setting-up-your-system/using_more_than_one_audio_device/">merge
8207     its separate input and output devices into a single "aggregate
8208     device"</a> before Ardour will be able to use it.
8209    </p>
8210   </dd>
8211   <dt>Sample Rate</dt>
8212   <dd>
8213     The selector will allow you to select from any sample rate
8214     supported by the device selected above it.
8215   </dd>
8216   <dt>Buffer Size</dt>
8217   <dd>
8218     You can adjust the size of the buffer used by your audio interface
8219     to allow for either lower latency, or lower CPU usage and higher
8220     latency.
8221   </dd>
8222   <dt>Input/Output Channels</dt>
8223   <dd>
8224     Here you can specify the number of hardware channels to use. The
8225     default is <kbd class="menu">all available channels</kbd>.</dd>
8226   <dt>Hardware Input/Output Latency</dt>
8227   <dd>Specify the hardware delay in samples for precise latency compensation.</dd>
8228   <dt>Calibrate</dt>
8229   <dd>
8230     This button guides you through a semi-automated process to obtain
8231     precise hardware latency measurements for the above option.</dd>
8232   <dt>MIDI System</dt>
8233   <dd>
8234     Select the MIDI driver to use. On Mac OS X, this will be <kbd
8235     class="menu">CoreMIDI</kbd>. On Linux, you can change between two legacy
8236     ALSA drivers or the (preferred) new JACK+ALSA implementation.</dd>
8237 </dl>
8238
8239 ---
8240 title: What's in a Session?
8241 part: subchapter
8242 ---
8243
8244 <p>
8245   The <dfn>Session</dfn> is the fundamental document type that is created and
8246   modified by the Ardour workstation.  A Session is a folder on your computer
8247   filesystem that contains all the items that pertain to a particular project
8248   or "recording/editing/mixing session".
8249 </p>
8250
8251 <p>
8252   The Session folder includes these files and folders:
8253 </p>
8254
8255 <ul>
8256   <li><code><em>session_name</em>.ardour</code> the main session snapshot</li>
8257   <li><code>*.ardour</code>, any additional snapshots </li>
8258   <li><code><em>session_name</em>.ardour.bak</code>, the auto-backup snapshot</li>
8259   <li><code><em>session_name</em>.history</code>, the undo history for the session </li>
8260   <li><code>instant.xml</code>, which records the last-used  zoom scale and other metadata</li>
8261   <li><code>interchange/</code>, a folder which holds your raw audio and MIDI
8262   files (whether imported or recorded)</li>
8263   <li><code>export/</code>, a folder which contains any files created by the
8264   <kbd class="menu">Session &gt; Export</kbd> function</li>
8265   <li><code>peaks/</code>, a folder which contains waveform renderings of
8266   all audio files in the session</li>
8267   <li><code>analysis/</code>, a folder which contains transient and pitch
8268   information of each audio file that has been analysed</li>
8269   <li><code>dead sounds/</code>, a folder which contains sound files which
8270   Ardour has detected are no longer used in the session (during a <kbd
8271   class="menu">Session &gt; Clean-up &gt; Clean-up Unused Sources</kbd>
8272   operation, will be purged by <kbd class="menu">Flush Waste Basket</kbd>)</li>
8273 </ul>
8274 <p>
8275   A session combines some setup information (such as audio and MIDI routing,
8276   musical tempo &amp; meter, timecode synchronization, etc.) with one or more
8277   Tracks and Buses, and all the Regions and Plug-Ins they contain.
8278 </p>
8279
8280 ---
8281 title: Where Are Sessions Stored?
8282 part: subchapter
8283 ---
8284
8285 <p>
8286   <dfn>Sessions</dfn> are stored in a single folder on your computer's filesystem.
8287 </p>
8288
8289 <p>
8290   The first time you run Ardour, you will be asked where you would like the
8291   default location for sessions to be, with the initial choice being your
8292   home folder.
8293 </p>
8294
8295 <p>
8296   After the first-run dialog, you can still change the default location at
8297   any time via <kbd class="menu">Edit &gt; Preferences &gt; Misc &gt; Session
8298   Management</kbd>. You can also specify a particular (different) location for
8299   a session when creating it, in the
8300   <a href="/working-with-sessions/new-session-dialog/">New Session dialog</a>.
8301 </p>
8302
8303 ---
8304 title: Backup and Sharing of Sessions
8305 part: subchapter
8306 ---
8307
8308 <p>
8309   An Ardour session is stored in a single folder on your computer's filesystem.
8310   This makes <dfn>backup</dfn> very easy&mdash;any tool capable of backing up
8311   a folder can be used to backup a session. You pick the location of a session
8312   when it is created&mdash;by default it will be in your default session location,
8313   which can be altered via <kbd class="menu">Edit &gt; Preferences &gt; Misc &gt; Session
8314   Management</kbd>.
8315 </p>
8316
8317 <p class="warning">
8318   There is one complication: a session may reference media files that are stored
8319   outside of the session folder, if the user has opted not to select <kbd
8320   class="optoff">Session &gt; Import &gt; Copy to Session</kbd> during
8321   import. Backing up a session with embedded files will not create a
8322   copy of the session containing those files.
8323 </p>
8324
8325 <p>
8326   The single folder approach also makes sharing a project easy. Simply copy the session
8327   folder (onto a storage device, or across a network) and another Ardour user (on any
8328   platform) will be able to use it. The limitation regarding embedded files applies to
8329   session sharing as well.
8330 </p>
8331
8332 ---
8333 title: Interchange with other DAWs
8334 part: subchapter
8335 ---
8336
8337 <p>
8338   It has never been particularly easy to move sessions or projects from one
8339   <abbr title="Digital Audio Workstation">DAW</abbr> to another. There are two
8340   <dfn>interchange standards</dfn> that have reasonably widespread support:</p>
8341 <ul>
8342   <li>OMF (Open Media Framwwork), also known as OMFI. Developed and controlled
8343   by Avid, never standardized</li>
8344   <li>AAF (Advanced Authoring Format). Developed by a consortium of media-related
8345   corporations.</li>
8346 </ul>
8347 <p>
8348   In practice both of these standards have such complex and/or incomplete
8349   specifications that different DAWs support them only partially,
8350   differently, or not at all.
8351 </p>
8352 <h2>Moving an Ardour session to another DAW</h2>
8353 <p>To move an Ardour session to another DAW, you have 3 basic choices:</p>
8354 <ul>
8355   <li>Copy the interchange folder</li>
8356   <li>Stem exports</li>
8357   <li>Use AATranslator</li>
8358 </ul>
8359 <h3>Moving another DAW session to Ardour</h3>
8360 <p>To move a session from another DAW to Ardour, you have 2 basic choices:</p>
8361 <ul>
8362 <li>Stem exports</li>
8363 <li>Use AATranslator</li>
8364 </ul>
8365
8366 ---
8367 title: Copying The Interchange Folder
8368 part: subchapter
8369 ---
8370
8371 <p>
8372   All media in a session folder is stored in a sub-folder called
8373   <samp>interchange</samp>. Below that is another folder with the name
8374   of the session. You can copy either of these to another location and
8375   use the files within them with any other application, importing them
8376   all into a project/session. You will lose all information about regions,
8377   tracks, and timeline positioning, but all the data that Ardour was working
8378   with will be present in the other DAW. Nothing below the interchange
8379   folder is specific to Ardour&mdash;any DAW or other audio/MIDI
8380   application should be able to handle the files without any issues.
8381 </p>
8382
8383 ---
8384 title: Stem Exports
8385 part: subchapter
8386 ---
8387
8388 <p>
8389   <dfn>Stem exports</dfn> are covered fully in the
8390   <a href="/exporting">Export</a> chapter. A stem export creates one file
8391   per track, starting at the beginning of the session. You can then import
8392   each track into another DAW and begin working on it. You lose all data
8393   except the actual audio/MIDI (no plugins, no automation). This is one of
8394   the most common methods of interchange because it works between all DAWs.
8395 </p>
8396
8397 ---
8398 title: Using AATranslator
8399 part: subchapter
8400 ---
8401
8402 <p>
8403   <dfn>AATranslator</dfn> is a Windows
8404   application that can convert sessions/projects from many diffferent DAWs
8405   into other formats. At the present time (December 2016), it can read and
8406   write Ardour 2.X sessions, and can read Ardour 3 sessions.
8407 </p>
8408 <p>
8409   The program runs very well on Linux using
8410   <a href="http://www.winehq.org/">Wine</a> (a Windows environment for Linux).
8411   There are equivalent solutions for running Windows applications on OS X,
8412   but we have no experience with them at this time. Ardour users have reported
8413   great results using AATranslator on Ardour 2.X sessions.</p>
8414 <p>
8415   The <a href="http://www.aatranslator.com.au/">AATranslator website</a>
8416   has full details on supported formats and DAWs. The list includes
8417   ProTools, Live, Reaper, OMF, AAF and many more.
8418 </p>
8419 <p class="warning">
8420   AATranslator is closed-source, non-free software (as of this writing, Dec. 2016, the cost is 60 USD for the "Standard" version, and 200 USD for the "Enhanced" version).
8421 </p>
8422
8423 ---
8424 title: Renaming a Session
8425 part: subchapter
8426 ---
8427
8428 <p>
8429   Use <kbd class="menu">Session &gt; Rename</kbd> to give your session a
8430   new name. A dialog will appear to ask you for the new name.
8431 </p>
8432
8433 <p>
8434   This operation does <strong>not</strong> make a new session folder &mdash;
8435    the existing session folder and relevant contents are renamed. If your
8436    session was not saved before a rename operation, it will be saved
8437    automatically and then renaming will continue.
8438 </p>
8439
8440 <p class="warning">
8441   Ardour's <kbd class="menu">Session &gt; Save As</kbd> operation will not
8442   make a new copy of the session folder and its contents. All it does is
8443   create a new session file.
8444 </p>
8445
8446 ---
8447 title: Session Templates
8448 part: subchapter
8449 ---
8450
8451 <p>
8452   <dfn>Session templates</dfn> are a way to store the setup of a session
8453   for future use. They do not store any <em>audio</em> data but can store:
8454 </p>
8455
8456 <ul>
8457   <li>The number of tracks and busses, along with their names</li>
8458   <li>The plugins present on each track or bus (if any)</li>
8459   <li>All I/O connections</li>
8460 </ul>
8461
8462 <h2>Creating a Session Template</h2>
8463
8464 <p>
8465   Choose <kbd class="menu">Session &gt; Save Template</kbd>. A dialog will ask
8466   you for the name of the new template.
8467 </p>
8468
8469 <h2>Using a Session Template</h2>
8470
8471 <p>
8472   In the New Session dialog, choose the desired template from the combo
8473   selector.
8474 </p>
8475
8476 <p>
8477   Note that you can also use an existing session as a template, without
8478   saving it as one. This is available as an option in the New Session dialog.
8479   Doing this will not alter the existing session at all, but will use its track,
8480   bus and plugin configuration just like a template.
8481 </p>
8482
8483 <p>
8484   See also <a href="/missing">Track &amp; Bus templates</a> for information
8485   on templates for individual tracks or busses.
8486 </p>
8487
8488 <p class="fixme">Broken link</p>
8489
8490 ---
8491 title: Snapshots
8492 part: subchapter
8493 ---
8494
8495 <p>
8496   Sometimes you will want to save a <dfn>snapshot</dfn> of the current state of a session for possible
8497   use in the future. For example, you may be about to change the entire
8498   arrangement of a piece, or drastically alter the signal processing, and
8499   want a reference to come back to, should that not work out.
8500 </p>
8501
8502 <p>
8503   This is easily accomplished using <kbd class="menu">Session &gt;
8504   Snapshot</kbd>.
8505   A small dialog will appear, allowing you to enter a name for the snapshot.
8506   The default name is based on the current date and time.<br />
8507   You can create any number of snapshots.
8508 </p>
8509
8510 <p class="warning">
8511   Creating a snapshot does <strong>not</strong> modify your session,
8512   nor does it save your session. Instead, it saves an alternate version
8513   of the session, within the session folder. The snapshot shares all data
8514   present in the session.
8515 </p>
8516
8517 <p>
8518   After creating a snapshot, you can continue working on the session and
8519   save it normally using <kbd class="menu">Session &gt; Save</kbd> and any
8520   existing snapshots will remain unchanged.
8521 </p>
8522
8523 <h2>Switching to a Snapshot</h2>
8524
8525 <p>
8526   If you are already working on a session and want to to switch to an
8527   existing snapshot, navigate the Snapshots tab of the
8528   <a href="/ardours-interface/introducing-the-editor-window/editor-lists">Editor List</a>.
8529   Find the name of the snapshot in the list and click it. Ardour will switch
8530   to the snapshot. If there are unsaved changes in the  current session, Ardour will
8531   ask what you want to do.
8532 </p>
8533
8534 <h2>Starting Ardour With a Snapshot</h2>
8535
8536 <p>
8537   Since a snapshot is just another session file stored within the session
8538   folder, you can specify that "version" when loading an existing session.
8539   The browser in the "Open Session" dialog will show an expander arrow for
8540   sessions that have more than 1 session file (i.e. snapshots) present&mdash;click on it to see the list, and then click on the name of the
8541   snapshot you want to load.
8542 </p>
8543
8544 <h2>Saving and Switching to a Snapshot</h2>
8545
8546 <p>
8547   Sometimes you may want to create a snapshot and then have all future
8548   edits and modifications saved to that snapshot rather than the main
8549   session. This is easily done using <kbd class="menu">Session &gt; Save
8550   As</kbd>. This does not create a new session folder,  but saves your
8551   session as a new snapshot and then switches the "current snapshot"
8552   to the newly created one. All subsequent saves of the session will
8553   be stored in this new snapshot, and existing snapshots (and the main
8554   session) will be left unaffected.
8555 </p>
8556
8557 ---
8558 title: Metadata
8559 part: subchapter
8560 ---
8561
8562 <p>
8563   Sessions can have various items of metadata attached to them, via
8564   <kbd class ="menu">Session &gt; Metadata &gt; Edit Metadata...</kbd> and
8565   <kbd class ="menu">Session &gt; Metadata &gt; Import Metadata...</kbd>.
8566 </p>
8567
8568 <h2>Edit Session Metadata Dialog</h2>
8569
8570 <img src="/images/edit-session-metadata.png" />
8571
8572 <p class="fixme">Add content</p>
8573
8574 ---
8575 title: Cleaning up Sessions
8576 part: subchapter
8577 ---
8578
8579 <p>
8580   Recording and editing any serious session might leave the session with some
8581   unused or misplaced files here and there. Ardour can help deal with this clutter thanks
8582   to the tools located in the <kbd class="menu">Session &gt; Clean-up</kbd> menu.
8583 </p>
8584
8585 <h2 id="bring_all_media_into_session_folder">Bring all media into session folder</h2>
8586
8587 <p>
8588   When <a href="/adding-pre-existing-material/">importing media files</a>, if
8589   the <kbd class="option">Copy files to session</kbd> hasn't been checked, Ardour uses
8590   the source file from its original destination, which can help avoiding file duplication.
8591   Nevertheless, when the session needs to be archived or transfered to another computer, moving
8592   the session folder won't move those <em>external</em> files as they are not in the folder, as seen
8593   in <a href="/working-with-sessions/backup-and-sharing-of-sessions/">Backup and sharing of sessions</a>.
8594 </p>
8595
8596 <p>
8597   Using the <kbd class="menu">Bring all media into session folder</kbd> menu ensures
8598   that all media files used in the session are located inside the session's folder, hence avoiding
8599   any missing files when copied.
8600 </p>
8601
8602 <h2 id="reset_peak_files">Reset Peak Files</h2>
8603
8604 <p>
8605   Ardour represents audio waveforms with peak files, that are graphical images generated from the
8606   sound files. This generation can be time and CPU consuming, so it uses a cache of the generated
8607   images to speed up the display process. To watch for files modification, Ardour relies on the file-modification
8608   time. If an external file is embedded in the session and that file changes, but the system-clock is skewed
8609   or it is stored on an external USB disk (VFAT), Ardour can't know the change happend, and will still use its
8610   deprecated peak files.
8611 </p>
8612
8613 <p>
8614   Using the <kbd class="menu">Reset Peak Files</kbd> menu allows to reset this cache, which frees up disk space,
8615   and forces the re-creation of the peak files used in the session. It can prove useful if some waveforms
8616   are not used anymore, or if a graphical or time glitch happens.
8617 </p>
8618
8619 <h2 id="clean_up_unused_sources">Clean-up Unused Sources...</h2>
8620
8621 <p>
8622   Recording usually lefts a lot of unused takes behind, be it in midi or audio form, that can clutter
8623   the Region List, and eat up a lot of hard drive space. While its generally a good practice to keep as
8624   many things as possible while recording, when transferring or archiving the session, some clean up can
8625   help a lot in reducing the sessions clutter and size.
8626 <p>
8627
8628 <p>
8629   Selecting <kbd class="menu">Clean-up Unused Sources...</kbd> will force Ardour to detect those unused waveforms
8630   by looking for unused regions, and (through a prompt) for unused playlists. The media files won't be destroyed, though.
8631   At this stage, they are just copied in a particular place of the session path (namely, in the <code>dead sounds/</code>
8632   sub-folder).
8633 </p>
8634
8635 <h2 id="flush_wastebasket">Flush Wastebasket</h2>
8636
8637 <p>
8638   Although Ardour is a <em>non-destructive</em> audio-editor, it allows for a very careful destruction of unused media materials.
8639   This function is closely linked to the previous one. When the unused sources have been cleaned up and quarantined, the
8640   <kbd class="menu">Flush Wastebasket</kbd> menu will allow for their physical destruction.
8641 </p>
8642
8643 <p>
8644   As a safeguarding mechanism though, Flushing the wastebasket in impossible in the same working session as the Cleaning up of unused sources:
8645   the user needs to close the session and reload it before flushing. It allows to test the playback of the session and ensure both that Ardour didn't commit
8646   any mistake (unlikely, but better safe than sorry), and that the user is absolutely sure of what he does.
8647 </p>
8648
8649 <p class="warning">
8650   Notice that all media destroyed this way is not sent to the system's <em>trash can</em> but permanently deleted. If a file is mistakenly destroyed this way, the user will have to rely on data recovery techniques to try getting it back.
8651 </p>
8652
8653 ---
8654 title: Copying versus Linking
8655 part: subchapter
8656 ---
8657
8658 <p>
8659   <dfn>Copying</dfn> and <dfn>linking</dfn> are two different methods of
8660   using existing audio files on your computer (or network file system)
8661   within a session. They differ in one key aspect:
8662 </p>
8663
8664 <h2>Copying</h2>
8665
8666 <p>
8667   An existing media file is copied to the session's audio folder, and
8668   if necessary converted into the session's native format.
8669 </p>
8670
8671 <p>
8672   For audio files, you can control the choice of this format (eg. WAVE
8673   or Broadcast WAVE). Audio files will also be converted to the session
8674   sample rate if necessary (which can take several minutes for larger
8675   files).
8676 </p>
8677
8678 <p>
8679   MIDI files will already be in SMF format, and are simply copied into
8680   the session's MIDI folder.
8681 </p>
8682
8683 <h2>Linking</h2>
8684
8685 <p>
8686   A link to an existing media file somewhere on the disk is used as a the
8687   source for a region, but the data is <strong>not copied or modified</strong>
8688   in any way.
8689 </p>
8690
8691 <p class="warning">
8692   While linking is handy to conserve disk space, it means that your session
8693   is <dfn>no longer self-contained</dfn>. If the external file moves, it
8694   will become unavailable, and any changes to it from elsewhere will affect
8695   the session. A backup of the session directory will miss linked files.
8696 </p>
8697
8698 <p>
8699   You can choose to copy or link files into your session with the
8700   <kbd class="option">Copy file to session</kbd> option in the Import
8701   dialog window.
8702 </p>
8703
8704 <p>
8705   <img class="left" src="/images/225-ARDOUR_1_2_1.png" />
8706   &larr; This file will be imported in the audio/MIDI folder of your session.
8707 </p>
8708
8709 <p>
8710   <img class="left" src="/images/226-ARDOUR_1_2_1.png" />
8711   &larr; This file won't be copied.
8712 </p>
8713
8714 <p class="note">
8715   There is a global preference <kbd class="menu">Edit &gt; Preferences &gt; Misc &gt; Session Management &gt; Always copy imported files</kbd>. If it is enabled, you will not be able to link a file.
8716 </p>
8717
8718 ---
8719 title: Adding Pre-existing Material
8720 part: subchapter
8721 ---
8722
8723 <p>
8724   There are several ways to importing an audio or MIDI file into a
8725   session:
8726 </p>
8727 <ul>
8728   <li><kbd class="menu">Session &gt; Import</kbd></li>
8729   <li>Region List context menu: <kbd class="menu">Import To Region List</kbd></li>
8730   <li>Track context menu: <kbd class="menu">Import Existing Media</kbd>
8731 </li>
8732 </ul>
8733 <p>
8734   These methods are all equivalent: they open the <a
8735   href="/adding-pre-existing-material/import-dialog/">Add Existing Media</a>
8736   dialog.
8737 </p>
8738 <p>
8739   Finally, you can also easily import files into your project by dragging
8740   and dropping a file from some other application (e.g. your platform's
8741   file manager). You can drag onto the
8742   <dfn>Region List</dfn>, into the desired <dfn>track</dfn> or into empty
8743   space in the editor track display.<br />
8744   The file will be imported and copied
8745   into your session, and placed at the position where the drag ended.
8746 </p>
8747
8748 ---
8749 title: Import Dialog
8750 part: subchapter
8751 ---
8752
8753 <p>
8754   Many sessions will require the use of <dfn>existing material</dfn>,
8755   whether it consists of audio and/or MIDI data. Using existing samples,
8756   loops and riffs from files stored on your system can be the basis for
8757   a new session, or a way to deepen and improve one that is already
8758   underway.
8759 </p>
8760
8761 <p>
8762   You can import audio and MIDI data into your session with the
8763   <dfn>Add Existing Media</dfn> dialog.
8764 </p>
8765
8766 <p class="fixme">Update image, possibly update content if out of date</p>
8767 <img src="/images/209-ARDOUR_1_2_1.png" />
8768
8769 <h2>The Soundfile Information Box</h2>
8770
8771 <p>
8772   This box will display information about the currently selected file:
8773 </p>
8774
8775 <ul>
8776   <li>number of channels,</li>
8777   <li>sample rate,</li>
8778   <li>file format,</li>
8779   <li>length,</li>
8780   <li>embedded timestamp (applies to some professional formats such as
8781   Broadcast WAVE), and</li>
8782   <li>tags (attached metadata to help categorize files in a library).</li>
8783 </ul>
8784
8785 <p>
8786   If the sample rate differs from the current session rate, it is displayed
8787   in red, which indicates that the file must be resampled before
8788   importing. Resampling is controlled by the <kbd class="menu">Conversion quality</kbd> option described below.
8789 </p>
8790
8791 <h2>Auditioner</h2>
8792
8793 <p>
8794   Files can be auditioned before importing. The slider under the play and
8795   stop buttons allows you to scrub around, a fader on the right side allows
8796   you to control the playback volume.
8797 </p>
8798
8799 <h2>Importing options</h2>
8800
8801 <p>
8802   You can import files into new, automatically created tracks, to the region
8803   list (from where you can manually drag them into a track), or as new
8804   <a href="/working-with-tracks/track-types/">Tape tracks</a> with the
8805   <kbd class="menu">Add new files as...</kbd> option.
8806 </p>
8807
8808 <p>
8809   New files will be inserted at either the file timestamp (if available,
8810   zero by default), at the <a href="/missing">edit point</a>, at the
8811   playhead, or at the start of the session, as specified in <kbd
8812   class="menu">Insert at...</kbd>.
8813 </p>
8814
8815 <p>
8816   The Channel <kbd class="menu">mapping</kbd> is either "one track/region per
8817   file", or "one track/region per channel". The latter splits multichannel
8818   source files into mono regions. If you have selected multiple files and are importing them into a track,
8819   you can also choose whether to sequence all files into a single track in
8820   the order of selection, or to create as many tracks as there are files to
8821   import.
8822 </p>
8823
8824 <p>
8825   The <kbd class="menu">Conversion quality</kbd> drop-down controls the
8826   quality of the resampling process, if the sampling rate of the source file
8827   differs from the session rate.
8828 </p>
8829
8830 <p>
8831   Finally, and most importantly, you can decide whether to <kbd
8832   class="option">Copy files to session</kbd>, or to link them. Please read
8833   <a href="/adding-pre-existing-material/copying-versus-linking/">Copying
8834   versus Linking</a> for details.
8835 </p>
8836
8837 ---
8838 title: Searching and Importing From Freesound
8839 menu_title: Freesound Search/Import
8840 part: subchapter
8841 ---
8842
8843 <p class="fixme">This section is irrelevant now, as the Freesound import function has been removed due to changes done on Freesound's end</p>
8844
8845 <p>
8846   <a href="http://www.freesound.org"
8847   title="http://www.freesound.org"><dfn>Freesound</dfn></a>
8848   is an online repository of searchable sound files licensed under
8849   Creative-Commons term. The <kbd class="menu">Search  Freesound</kbd> tab
8850   of the import dialog allows you to search the Freesound database,
8851   and to download and audition files directly.
8852 </p>
8853
8854 <dl>
8855   <dt>Tags</dt>
8856   <dd>Enter metadata tags that you would like to search for. You may enter
8857   multiple search terms separated by spaces. For example,
8858   <kbd class="input">drums 120bpm</kbd> will search for files that are tagged
8859   <samp>drums</samp>, <samp>120bpm</samp>, or both.</dd>
8860   <dt>Sort</dt>
8861   <dd>Choosing one of the sort options will cause Freesound to return the list
8862   of available files sorted accordingly. This can save time if you know (for
8863   example) the sound you need is very short.</dd>
8864   <dt>Search</dt>
8865   <dd>Click this button to initiate the search. Freesound will begin returning
8866   pages of information, with 20 items per page. The <kbd
8867   class="menu">Stop</kbd> button interrupts the download.</dd>
8868   <dt>The file list</dt>
8869   <dd>Click on a file to download it from Freesound. Double-click the file to
8870   auto-play it in the auditioner.</dd>
8871 </dl>
8872
8873 <p>
8874   Files imported with Freesound will automatically include any tags that are
8875   associated with the file, and these tags will be included in a search when
8876   you use the <kbd class="menu">Search Tags</kbd> tab.
8877 </p>
8878
8879 ---
8880 title: Searching for Files Using Tags
8881 part: subchapter
8882 ---
8883
8884 <p>
8885   A <dfn>tag</dfn> is bit of information, or metadata, that is associated
8886   with a data file. Specifically, tags are keywords or terms that you feel
8887   have some relevance to a particular soundfile. Ardour can store these tags
8888   in a searchable <dfn>database</dfn> so that you can quickly search for sounds
8889   based on the tags that you have assigned to them.
8890 </p>
8891
8892 <p>
8893   For example you can assign the term <kbd class="input">120bpm</kbd> to a
8894   sound, and then when you search for this tag, the file will appear in the
8895   search list. Tags are independent of the filename or anything else about
8896   the file. Tags, and the file paths that they are associated with, are
8897   stored in a file called <samp>sfdb</samp> in your Ardour user folder.
8898 </p>
8899
8900 <p>
8901   To <dfn>add tags</dfn> to a given file, open the <kbd class="menu">Session &gt;
8902   Import</kbd> dialog, select the file in the browser, and type new tags into tag
8903   area in the soundfile information box on the right. Tags are stored when the
8904   input box loses focus, there is no need to explicitly save them.
8905 </p>
8906
8907 <p>
8908   You can <dfn>search</dfn> for specific tags in the <kbd
8909   class="menu">Search Tags</kbd> tab of the same dialog. Files which have
8910   been tagged with the relevant terms will appear in the results window.
8911   Selected files can be auditioned and marked with additional tags if
8912   required.
8913 </p>
8914
8915 ---
8916 title: Supported File Formats
8917 part: subchapter
8918 ---
8919
8920 <p>
8921   The list of audio file formats that Ardour can understand is quite long.
8922   It is based on the functionality offered by <dfn>libsndfile</dfn>, an excellent and
8923   widely used software library by Australian programmer Erik de Castro Lopo.
8924   As libsndfile's capabilities expand, so will Ardour's abilities to import
8925   (and export) new formats. Ardour supports all common audio file formats,
8926   including WAV, AIFF, AIFC, CAF, W64 and BWF, with all typical sample formats
8927   (8-, 16-, 24-, 32-bit integer, floating point, and more).
8928 </p>
8929
8930 <p>
8931   You can find a full list of libsndfile's supported formats
8932   <a href="http://www.mega-nerd.com/libsndfile/#Features">here</a>.
8933 </p>
8934
8935 <p>
8936   For MIDI import, Ardour will read any Standard MIDI Format (SMF) file.
8937 </p>
8938
8939
8940 ---
8941 title: Tracks
8942 part: chapter
8943 ---
8944
8945
8946 ---
8947 title: Track Types
8948 part: subchapter
8949 ---
8950
8951 <p>
8952   Ardour offers three <dfn>track types</dfn> depending on the type of
8953   data they contain, and differentiates between three <dfn>track modes</dfn>,
8954   depending on their recording behaviour.
8955 </p>
8956
8957 <h2>Track types</h2>
8958
8959 <p>
8960   An Ardour track can be of type <dfn>audio</dfn> or <dfn>MIDI</dfn>,
8961   depending on the <dfn>data</dfn> that the track will primarily record
8962   and play back. <em>However, either type of track can pass either
8963   type of data.</em> Hence, for example, one might have a MIDI track that
8964   contains an instrument plugin; such a track would record and play back
8965   MIDI data from disk but would produce audio, since the instrument plugin
8966   would turn MIDI data into audio data.
8967 </p>
8968
8969 <p>
8970   Nevertheless, when adding tracks to a session, you typically have an idea
8971   of what you need to use the new tracks for, and Ardour offers you three
8972   choices:
8973 </p>
8974
8975 <dl class="narrower-table">
8976   <dt>Audio</dt>
8977   <dd>An <dfn>Audio Track</dfn> is created with a user-specified number of
8978   inputs. The number of outputs is defined by the master bus channel count
8979   (for details see <a href="#channelconfiguration">Channel Configuration</a>
8980   below). This is the type of track to use when planning to work with
8981   existing or newly recorded audio.</dd>
8982   <dt>MIDI</dt>
8983   <dd>A <dfn>MIDI track</dfn> is created with a single MIDI input, and a
8984   single MIDI output. This is the type of track to use when planning to
8985   record and play back MIDI. There are several methods to enable playback
8986   of a MIDI track: add an instrument plugin to the track, connect the
8987   track to a software synthesizer, or connect it to external MIDI hardware.
8988   <p class="note">
8989     If you add an instrument plugin, the MIDI track outputs audio instead
8990     of MIDI data.
8991   </p></dd>
8992   <dt>Audio/MIDI</dt>
8993   <dd>There are a few notable plugins that can usefully accept both <dfn>Audio
8994   and MIDI</dfn> data (Reaktor is one, and various "auto-tune" like plugins
8995   are another). It can be tricky to configure this type of track manually,
8996   so Ardour allows you to select this type specifically for use with such
8997   plugins. It is <em>not</em> generally the right choice when working normal
8998   MIDI tracks, and a dialog will warn you of this.</dd>
8999 </dl>
9000
9001 ---
9002 title: Adding Tracks, Busses and VCAs
9003 part: subchapter
9004 ---
9005
9006 <img class="right" src="/images/add-track-or-bus.png" alt="the add-track dialog" />
9007
9008 <p>
9009   A track, bus or VCA can be added to a session in various ways:
9010 </p>
9011
9012 <ul>
9013   <li>Choose <kbd class="menu">Track &gt; Add Track, Bus or VCA...</kbd>.</li>
9014   <li><kbd class="mouse">Right</kbd>-click in an empty part of the track controls area.</li>
9015   <li>Click the <kbd class="menu">Plus (+)</kbd> button underneath the list of tracks in the mixer.</li>
9016 </ul>
9017
9018 <p>
9019   Any of these actions will open the Add Track/Bus/VCA dialog.
9020 </p>
9021
9022 <dl>
9023   <dt>Add</dt>
9024   <dd>Here you can select the number of tracks, busses or VCAs you wish to create, and
9025   their <a href="/working-with-tracks/track-types/">types</a>.</dd>
9026   <dt>Name</dt>
9027   <dd>Defines the name of the new track(s). If multiple tracks are created, or if a track with the same name already exists, a space and number will be happened at the end (e.g.: Audio 1, Audio 2...)</dd>
9028   <dt>Configuration</dt>
9029   <dd>This menu lets you choose from a number of route templates, which determine the number of input ports and optionally contain plugins and other mixer strip configuration. The most common choices here are <em>mono</em> and <em>stereo</em>.</dd>
9030   <dt>Record mode</dt>
9031   <dd>This option is only available for audio tracks and affects how it behaves when recording. See <a href="/working-with-tracks/track-types/#trackmodes">Track Modes</a> for details.</dd>
9032   <dt>Instrument</dt>
9033   <dd>This option is only available for MIDI tracks and busses and lets you select a
9034   default instrument from the list of available plugins.</dd>
9035   <dt>Group</dt>
9036   <dd>Tracks and busses can be assigned groups so that a selected range of
9037   operations are applied to all members of a group at the same time (selecting
9038   record enable, or editing, for example). This option lets you assign to an
9039   existing group, or create a new group.</dd>
9040   <dt>Insert</dt>
9041   <dd>Defines where in the track list is the track created. The default is <em>Last</em>, i.e. after all the tracks and busses, and can also be <em>First</em>, <em>Before Selection</em> (to place it just above the selected track) or <em>After selection</em>.</dd>
9042   <dt>Output Ports</dt>
9043   <dd>Defines how the number of output responds to adding a plugin with a different number of outputs than the track itself. in <em>Strict I/O</em> mode, the track will only use a few of the plugins I/O and will keep its own number of output fixed, while in <em>lexible I/O</em> mode, it will automatically adapt to the I/O of its plugins. See <a href="/signal-routing/signal-flow/">Signal flow</a> to learn more about those options.</dd>
9044 </dl>
9045
9046 <p>
9047   New tracks appear in both the editor and mixer windows. The editor window
9048   shows the timeline, with any recorded data, and the mixer shows just the
9049   processing elements of the track (its plugins, fader and so on).
9050 </p>
9051
9052 <h2>Removing Tracks and Busses</h2>
9053
9054 <p>
9055   To <dfn>remove</dfn> tracks and busses, select them, <kbd
9056   class="mouse">right</kbd>-click and choose <kbd
9057   class="menu">Remove</kbd>
9058   from the menu. A warning dialog will pop up, as track removal cannot be undone;
9059   use this option with care!
9060 </p>
9061
9062 ---
9063 title: Selecting Tracks
9064 part: subchapter
9065 ---
9066
9067 <p>
9068   Tracks are <dfn>selected</dfn> by clicking on the Track header at the left
9069   of the Editor window. You can select multiple tracks with <kbd class="mod1
9070   mouse">Left</kbd> clicks, or a range of consecutive tracks with <kbd
9071   class="mod3 mouse">Left</kbd>.
9072 </p>
9073 <p>
9074   By default, <dfn>selecting regions</dfn> has no impact on
9075   <dfn>track selection</dfn>.
9076   You can select a track, then select a region in another track
9077   (or vice versa) and both selections will co-exist happily.
9078   Operations that are applied to tracks will use the track selection,
9079   and those that apply to regions will use the region selection.
9080   Similarly, deselecting a region will not deselect the track it
9081   is in (if that track was selected).
9082 </p>
9083 <p>
9084   In some workflows, and particularly if you have experience with
9085   other <abbr title="Digital Audio Workstation">DAW</abbr>s, this
9086   is not the most comfortable way to work. You may prefer to work
9087   in a style where selecting a region will also select the track
9088   that the region is in. Similarly, when the last selected region
9089   in a track is deselected, the track will also become unselected.
9090 </p>
9091 <p>
9092   To control this behaviour, set <kbd class="menu">Edit &gt;
9093   Preferences &gt; Editor &gt; Link selection of regions and tracks</kbd>.
9094 </p>
9095
9096 ---
9097 title: Controlling Track Appearance
9098 part: subchapter
9099 ---
9100
9101 <p>
9102   Ardour offers many options for controlling the appearance of tracks, including color, height, waveform style and more. These can all be found in the <kbd class="menu">Edit &gt; Preferences &gt; Editor</kbd> menu.
9103 </p>
9104
9105 ---
9106 title: Layering Display
9107 part: subchapter
9108 ---
9109
9110 <img class="right" style="clear:both" src="/images/track-layer-dialog.png"
9111 alt="Track layering menu" />
9112
9113 <p>
9114   Ardour allows arbitrary <dfn>layering</dfn> of regions&mdash;you can
9115   have as many regions you wish at a given position. By default, the regions are
9116   <dfn>overlaid</dfn> in the editor window, to save vertical space.
9117 </p>
9118
9119 <p>
9120   However, this display mode can be confusing for tracks with many overdubs,
9121   because its not obvious in which order the overdubs are layered. Although
9122   there are other methods of moving particular regions to the top of an
9123   overlapping set, and although Ardour also has playlists to let you manage
9124   <a href="/working-with-playlists/playlist_usecases/">takes</a> a bit more
9125   efficiently than just continually layering,
9126   there are times when being able to clearly see all regions in a track without
9127   any overlaps is reassuring and useful.
9128 </p>
9129
9130 <p>
9131   Here is an image of a track with a rather drastic overdub situation,
9132   viewed in normal <dfn>overlaid mode</dfn>:
9133 </p>
9134
9135 <img src="/images/a3_overlaps_layered.png" alt="overlapping regions in overlaid mode" />
9136
9137 <p>
9138   To change this display, right click on the track header, and you'll see
9139   the menu displayed above. There are two choices for layers. <kbd
9140   class="menu">overlaid</kbd> is currently selected. Click on <kbd
9141   class="menu">stacked</kbd> and the track display changes to this:
9142 </p>
9143
9144 <img src="/images/a3_layers_stacked.png" alt="overlapping regions in stacked mode" />
9145
9146 <p>
9147   You can still move regions around as usual, and in fact you can
9148   even drag them so that they overlay each again, but when you
9149   release the mouse button, things will flip back to them all being
9150   stacked cleanly. The number of <dfn>lanes</dfn> for the track is determined by
9151   the maximum number of regions existing in any one spot throughout
9152   the track, so if you have really stacked up 10 overdubs in one spot,
9153   you'll end up with 10 lanes. Obviously, using a large track height
9154   works much better for this than a small one.
9155 </p>
9156
9157 ---
9158 title: Track Color
9159 part: subchapter
9160 ---
9161
9162 <p>
9163   New tracks in Ardour are assigned a random color from a pastel color
9164   palette, so they should never end up being particularly bright or
9165   particularly dark.
9166 </p>
9167
9168 <h2>Changing the color of specific tracks</h2>
9169
9170 <p>
9171   Select the tracks whose color you wish to change. Context-click
9172   on the track header of one of them. From the context menu, select
9173   <kbd class="menu">Color</kbd> and pick a hue to your taste in the
9174   color dialog. Every selected track will be re-colored.
9175 </p>
9176
9177 <p>
9178   Note that if you are only changing one track, context-clicking on
9179   that track's header will be enough to select it, saving the extra
9180   mouse click.
9181 </p>
9182
9183 <h2>Changing the color of all tracks in a group</h2>
9184
9185 <p>
9186   Tracks that belong to a
9187   <a href="/working-with-tracks/track-and-bus-groups">track/bus group</a>
9188   can share a common color by enabling the <kbd
9189   class="option">Color</kbd> option for the group. With this enabled,
9190   any color change will be propagated to all group members.
9191 </p>
9192
9193 <p>
9194   You can also explicitly change the group color by context-clicking
9195   on the group tab in the Mixer, selecting <kbd class="menu">Edit
9196   Group...</kbd> and then clicking on the Color selector in that dialog
9197   that is displayed.
9198 </p>
9199
9200 ---
9201 title: Track Height
9202 part: subchapter
9203 ---
9204
9205 <p>
9206   Depending on the stage of your production, you may require a quick
9207   overview over as many tracks as possible, a detailed view into just a
9208   few, or a combination of the two. To facilitate this, the
9209   <dfn>height</dfn> may be configured individually for each track in
9210   the editor window.
9211 </p>
9212
9213 <p>
9214   A context click on a track header will display the
9215   <kbd class="menu">Height</kbd> menu, and allow you to choose from a
9216   list of standard sizes. All selected tracks will be redrawn using that
9217   height.
9218 </p>
9219
9220 <p>
9221   Alternatively, select the tracks you wish to resize. Move the pointer
9222   to the bottom edge of one track header. The cursor will change to a
9223   two-way vertical arrow shape. <kbd class="mouse">Left</kbd>-drag to
9224   dynamically resize all selected tracks.
9225 </p>
9226
9227 <h2>Fit to the Editor Window</h2>
9228
9229 <p>
9230   Select the tracks you wish to display in the Editor window.
9231   Choose <kbd class="menu">Track &gt; Height &gt; Fit Selected Tracks</kbd>
9232   or use the keyboard shortcut, <kbd>f</kbd>. Ardour adjusts the track
9233   heights and view so that the selected tracks completely fill the vertical
9234   space available, unless the tracks cannot be made to fit even at the smallest
9235   possible size.
9236 </p>
9237
9238 <p class="note">
9239   You can use <dfn>Visual Undo</dfn> (default shortcut: <kbd class="mod3">Z</kbd>
9240   to revert this operation.
9241 </p>
9242
9243 ---
9244 title: Waveform display
9245 part: subchapter
9246 ---
9247
9248 <p>
9249   The display of <dfn>waveforms</dfn> (or, more correctly, <dfn>peak
9250   envelopes</dfn>, since the actual waveform is only visible at the highest
9251   zoom levels) is configurable via the <kbd
9252   class="menu">Edit &gt; Preferences &gt; Editor</kbd> dialog, to support
9253   different usecases and user preferences. The following options are
9254   available:
9255 </p>
9256
9257 <dl class="wide-table">
9258   <dt>Show waveforms in regions</dt>
9259   <dd>By default, Ardour draws waveforms within audio regions. Disable this
9260   option to hide them.</dd>
9261   <dt>Waveform scale</dt>
9262   <dd>
9263     <dl>
9264       <dt>Linear</dt>
9265       <dd>This is the traditional <dfn>linear</dfn> (1:1) display of the
9266       peak envelope, or, at higher zoom levels, the individual samples.</dd>
9267       <dt>Logarithmic</dt>
9268       <dd>Alternatively, you can use a <dfn>logarithmic</dfn> display of the
9269       peak envelope. This will give you a better idea of program loudness (it is similar
9270       to dBs) and plot soft passages more clearly, which is useful for soft
9271       recordings or small track height.</dd>
9272     </dl>
9273   </dd>
9274   <dt>Waveform shape</dt>
9275   <dd>
9276     <dl>
9277       <dt>Traditional</dt>
9278       <dd>The <dfn>zero</dfn> line appears in the middle of the display and waveforms
9279       appear as positive and negative peaks above <em>and</em> below.</dd>
9280       <dt>Rectified</dt>
9281       <dd>The zero line appears at the bottom of the display and waveforms appear
9282       as absolute peaks <em>above</em> the line only.</dd>
9283     </dl>
9284   </dd>
9285 </dl>
9286
9287 ---
9288 title: Controlling Track Ordering
9289 part: subchapter
9290 ---
9291
9292 <p>
9293   Ardour does not impose any particular ordering of tracks and busses in
9294   either the editor or mixer windows. The default arrangements are as follows:
9295 </p>
9296
9297 <p>
9298   In the <dfn>Editor</dfn>, the Master bus will always be on top unless
9299   hidden. Tracks and busses will appear in their initial order, from top to
9300   bottom. The monitor section (if used) will never be visible in the editor
9301   window.
9302 </p>
9303
9304 <p>
9305   In the <dfn>Mixer</dfn>, the tracks and busses will be displayed in their
9306   initial order, from left to right. The Master bus is always on the far
9307   right and occupies its own pane, so that it is always visible no matter
9308   how you scroll the other mixer strips. If a Monitor section is used,
9309   it shows up at the right edge of the mixer window, from where it can be
9310   torn off into a separate window.
9311 </p>
9312
9313 ---
9314 title: Reordering Tracks
9315 part: subchapter
9316 ---
9317
9318 <p>
9319   The <dfn>track ordering</dfn> of the Editor and Mixer is <dfn>synchronized</dfn>: if you
9320   reorder in one window, the ordering in the other window will follow.
9321 </p>
9322
9323 <h2>Reordering in the Editor Window</h2>
9324
9325 <p>
9326   Select the tracks you want to move. Then use<br />
9327   <kbd class="menu">Track &gt; Move Selected Tracks Up</kbd>
9328   (shortcut: <kbd class="mod1">&uarr;</kbd>) or<br />
9329   <kbd class="menu">Track &gt; Move Selected Tracks Down</kbd>
9330   (shortcut: <kbd class="mod1">&darr;</kbd>).
9331 </p>
9332
9333 <p>
9334   Alternatively, you can use the <kbd class="menu">Tracks &amp; Busses</kbd>
9335   panel of the
9336   <a href="/ardours-interface/introducing-the-editor-window/editor-lists/">Editor
9337   Lists</a>, if visible.
9338   Here, you can freely drag-and-drop tracks and busses into any order you prefer.
9339 </p>
9340
9341 <h2>Reordering in the Mixer Window</h2>
9342
9343 <p>
9344   Within the <kbd class="menu">Strips</kbd> pane at the top left of the
9345   Mixer window, you can freely drag-and-drop tracks and busses into any
9346   desired order.
9347 </p>
9348
9349 <h2>"Collecting" Group Members</h2>
9350
9351 <p>
9352   Tracks and Busses that are members of a group can be reordered so that they
9353   display contiguously within the Editor and Mixer windows. Context-click on
9354   the group tab and choose <kbd class="menu">Collect</kbd>.
9355 </p>
9356
9357 <h2>Ordering of New Tracks</h2>
9358
9359 <p>
9360   When <dfn>adding new tracks</dfn>, the current selection determines their
9361   placement. New tracks will be placed after the rightmost (in the mixer) or
9362   bottom-most (in the editor) selected track. If no tracks are selected, new
9363   tracks will be added at the end.
9364 </p>
9365
9366 <p class="note">
9367   Because new tracks are automatically selected, you can quickly reorder them
9368   in the editor window via the keyboard shortcuts after adding them (see above).
9369 </p>
9370
9371 ---
9372 title: Track Ordering and Remote Control IDs
9373 part: subchapter
9374 ---
9375
9376 <p>
9377   Every track and bus in Ardour is assigned a <dfn>remote control ID</dfn>.
9378   When a <a href="/using-control-surfaces/">control surface</a> or any other
9379   remote control is used to control Ardour, these IDs are used to identify
9380   which track(s) or buss(es) are the intended target of incoming commands.
9381 </p>
9382
9383 <p>
9384   By default, remote IDs will be assigned to tracks and busses in the order
9385   that they are created, starting from 1. The master bus and monitor section
9386   have their own unique IDs (318 and 319).
9387 </p>
9388
9389 <p>
9390   Ardour provides two methods to control remote control IDs, which can be
9391   chosen via <kbd class="menu">Edit &gt; Preferences &gt; Control Surfaces
9392   &gt; Control surface remote ID</kbd>:
9393 </p>
9394
9395 <dl class="wide-table">
9396   <dt>follows order of mixer</dt>
9397   <dd>This will reset the remote control IDs to match the mixer and editor
9398   track order order, starting with rcID 1. Manual assignment of rcIDs is
9399   not possible.</dd>
9400   <dt>assigned by user</dt>
9401   <dd>When enabled, the remote control ID is completely independent of the
9402   ordering in either window, and may be changed manually by the user via the
9403   <kbd class="menu"><em>trackname</em> &gt; Remote Control ID...</kbd>
9404   dialog in each mixer strip.
9405   </dd>
9406 </dl>
9407
9408 ---
9409 title: Bus Controls
9410 part: subchapter
9411 ---
9412
9413 <p>A typical control area or <dfn>bus header<dfn> is shown below:</p>
9414
9415 <img src="/images/typical-bus-controls.png" alt="bus controls" />
9416
9417 <p>
9418   At the top-left of the controls is the name of the bus, which can be
9419   edited by double-clicking on it. The new name must be unique within the
9420   session. Underneath the name is a copy of the bus' main level fader.
9421   The control buttons to the right-hand side are:
9422 </p>
9423
9424 <dl>
9425   <dt id="mute">M</dt>
9426   <dd><dfn>Mute</dfn>&mdash;click to mute the bus. Right-click to display
9427   a menu which dictates what particular parts of the bus should be muted.</dd>
9428   <dt id="solo">S</dt>
9429   <dd><dfn>Solo</dfn>&mdash;solo the bus. The behaviour of the solo system
9430   is described in detail in the section <a
9431   href="/mixing/muting-and-soloing/">Muting and Soloing</a>.</dd>
9432   <dt id="automation">A</dt>
9433   <dd><dfn>Automation</dfn>&mdash;opens the automation menu for the
9434   bus. For details see <a href="/automation/">Automation</a>.</dd>
9435   <dt id="group">G</dt>
9436   <dd><dfn>Group</dfn>&mdash;lets you assign the bus to an existing or a
9437   new group. For details see <a href="/working-with-tracks/track-and-bus-groups/">Track and bus groups</a>. </dd>
9438 </dl>
9439
9440 ---
9441 title: Audio Track Controls
9442 part: subchapter
9443 ---
9444
9445 <p>
9446   A typical control area or <dfn>track header</dfn> for an audio track is
9447   shown below:
9448 </p>
9449
9450 <img src="/images/typical-audio-track-controls.png" alt="audio track controls"
9451   />
9452
9453 <p>
9454   An audio track has the same
9455   <a href="/working-with-tracks/bus-controls">controls as a bus</a>, with the
9456   addition of two extras.
9457 </p>
9458
9459 <dl>
9460   <dt id="record" style="color:red;font-weight:bold;">[&bull;]</dt>
9461   <dd><dfn>Record</dfn>&mdash;The button with the pink circle arms the track
9462   for recording. When armed, the entire button will turn pink, and change to
9463   bright red as soon as the transport is rolling and the track is recording.</dd>
9464   <dt id="playlist">p</dt>
9465   <dd><dfn>Playlist</dfn>&mdash;Opens a playlist menu when clicked. The menu
9466   offers various operations related to the track's <a
9467   href="/working-with-playlists/">playlist</a>.
9468   </dd>
9469 </dl>
9470
9471 ---
9472 title: MIDI Track Controls
9473 part: subchapter
9474 ---
9475
9476 <p>A typical <dfn>MIDI track header</dfn> looks like this:</p>
9477
9478 <img src="/images/typical-midi-track-controls.png" alt="midi track controls"
9479   />
9480
9481 <p>
9482   To see the full set of MIDI track controls, you need to increase the
9483   <a href="/working-with-tracks/controlling-track-appearance/track-height/">track height</a>
9484   beyond the default. MIDI tracks show only a few of the control elements
9485   when there is insufficient vertical space.
9486 </p>
9487
9488 <p>
9489   A MIDI track has the same basic
9490   <a href="/working-with-tracks/audio-track-controls">controls as an audio track</a>,
9491   with the addition of two extra elements. The set of buttons below the main track
9492   controls the <dfn>MIDI channel</dfn>(s) that will be visible in the editor. A MIDI track's
9493   data may span any number of the 16 available MIDI channels, and sometimes it is
9494   useful to view only a subset of those channels; different instruments may,
9495   for example, be put on different channels. Clicking on a channel number toggles
9496   its visibility.
9497 </p>
9498
9499 <p>
9500   To the right of the MIDI track controls is a representation of a piano keyboard
9501   called the <dfn>scroomer</dfn> (a portmanteau of scrollbar and zoomer). This performs several functions:
9502 </p>
9503
9504 <ul>
9505   <li>The scrollbar controls the range of pitches that are visible on the
9506   track, as visualized by the piano keyboard.</li>
9507   <li>Dragging the body of the scrollbar up and down displays higher or lower
9508   pitches.</li>
9509   <li>Dragging the scrollbar handles zooms in and out and increases and decreases the range of visible pitches.</li>
9510   <li>Clicking on the piano plays the corresponding MIDI note for reference.</li>
9511 </ul>
9512
9513 <p>
9514   To edit the contents of a MIDI track see <a href="/editing-and-arranging/edit-midi/">Edit
9515   MIDI</a>.
9516 </p>
9517
9518 ---
9519 title: Track Context Menu
9520 part: subchapter
9521 ---
9522
9523 <p>
9524   Within the editor window, context-click (right-click) on either a region
9525   or empty space within a track to display the <dfn>track context menu</dfn>.
9526   The context menu provides easy access to many track-level operations.
9527 </p>
9528
9529 <p>
9530   If you click on a <dfn>region</dfn>, the first item in the menu is the name of the
9531   region. If you click on a
9532   <a href="/working-with-tracks/controlling-track-appearance/layering-display/">layered region</a>,
9533   the next item in the menu is <kbd class="menu">Choose Top</kbd>. If selected,
9534   you will see a dialog that allows you to change the vertical order of layers
9535   at that point. See <a href="/missing">Controlling Region Layering</a> for more details.
9536   <p class="fixme">Broken link</p>
9537 </p>
9538
9539 <p>
9540   The rest of the track context menu is structured as follows:
9541 </p>
9542
9543 <dl class="narrower-table">
9544   <dt>Play</dt>
9545   <dd>
9546     <dl class="narrower-table">
9547       <dt>Play from Edit Point</dt>
9548       <dd>Play from the location of the current <a href="/editing-and-arranging/edit-point">edit point</a>.</dd>
9549       <dt>Play from Start </dt>
9550       <dd>Play from the start of the session</dd>
9551       <dt>Play Region(s)</dt>
9552       <dd>Plays the duration of the session from the start of the earliest selected region to the end of the latest selected region</dd>
9553     </dl>
9554   </dd>
9555   <dt>Select</dt>
9556   <dd>
9557     <dl class="narrower-table">
9558       <dt>Select All in Track</dt>
9559       <dd>Selects all regions in a track</dd>
9560       <dt>Select All Objects</dt>
9561       <dd>Selects all regions in the session</dd>
9562       <dt>Invert Selection in Track</dt>
9563       <dd></dd>
9564       <dt>Invert Selection</dt>
9565       <dd></dd>
9566       <dt>Set Range to Loop Range</dt>
9567       <dd></dd>
9568       <dt>Set Range to Punch Range</dt>
9569       <dd></dd>
9570       <dt>Select All After Edit Point</dt>
9571       <dd></dd>
9572       <dt>Select All Before Edit Point</dt>
9573       <dd></dd>
9574       <dt>Select All After Playhead</dt>
9575       <dd></dd>
9576       <dt>Select All Before Playhead</dt>
9577       <dd></dd>
9578       <dt>Select All Between Playhead and Edit Point</dt>
9579       <dd></dd>
9580       <dt>Select All Within Playhead and Edit Point</dt>
9581       <dd></dd>
9582       <dt>Select Range Between Playhead and Edit Point</dt>
9583       <dd></dd>
9584     </dl>
9585   </dd>
9586   <dt>Edit</dt>
9587   <dd>
9588     <dl class="narrower-table">
9589       <dt>Cut</dt>
9590       <dd></dd>
9591       <dt>Copy</dt>
9592       <dd></dd>
9593       <dt>Paste</dt>
9594       <dd></dd>
9595       <dt>Align</dt>
9596       <dd></dd>
9597       <dt>Align Relative</dt>
9598       <dd></dd>
9599     </dl>
9600   </dd>
9601   <dt>Insert Selected Region</dt>
9602   <dd></dd>
9603   <dt>Insert Existing Media</dt>
9604   <dd></dd>
9605   <dt>Nudge</dt>
9606   <dd>
9607     <dl class="narrower-table">
9608       <dt>Nudge Entire Track Later</dt>
9609       <dd></dd>
9610       <dt>Nudge Track After Edit Point Later</dt>
9611       <dd></dd>
9612       <dt>Nudge Entire Track Earlier</dt>
9613       <dd></dd>
9614       <dt>Nudge Track After Edit Point Earlier</dt>
9615       <dd></dd>
9616     </dl>
9617   </dd>
9618   <dt>Freeze</dt>
9619   <dd></dd>
9620 </dl>
9621
9622 <p>
9623 <i>This text here to prevent following FIXME from corrupting the above table</i>
9624 </p>
9625 <p class="fixme">Add missing content</p>
9626
9627
9628 ---
9629 title: Grouping Tracks
9630 part: chapter
9631 ---
9632
9633
9634 ---
9635 title: Track and Bus Groups
9636 part: subchapter
9637 ---
9638
9639 <p>
9640   Tracks and busses can be put into <dfn>groups</dfn>. Members of a group
9641   can share various settings&mdash;useful for managing tracks that are closely
9642   related to each other. Examples might include tracks that contain
9643   multiple-microphone recordings of a single source (an acoustic guitar,
9644   perhaps, or a drum-kit).
9645 </p>
9646
9647 <p>
9648   You can group tracks and busses in various ways. In the editor window,
9649   a track's controls might look like these:
9650 </p>
9651
9652 <img class="left" src="/images/track-in-group.png" alt="track headers for a group" />
9653
9654 <p>
9655   The green tab to the left of the track header indicates that this track
9656   is in a group called <samp>Fred</samp>. You can drag these tabs to add
9657   adjacent tracks to a group.
9658 </p>
9659
9660 <h2>Create New Groups</h2>
9661
9662 <p>
9663   There are several ways to <dfn>create groups</dfn> for tracks and bussess:
9664 </p>
9665
9666 <ul>
9667   <li>Context-click on the group tab and use one of the <kbd
9668   class="menu">Create...</kbd> options there. You can create a group with
9669   no members, or one that starts with the currently selected tracks, or
9670   record-enabled tracks, or soloed tracks.</li>
9671   <li>Alternatively, click the â€˜g’ button on a track header to open the
9672   Group menu. The menu lists the available groups. Selecting one of these
9673   groups will add the track or bus to that group. The menu also lets you
9674   create a new group.</li>
9675   <li>Finally, the Groups tab of the
9676   <a href="/ardours-interface/introducing-the-editor-window/editor-lists">Editor Lists</a>
9677   or the Mixer Window has a <kbd class="menu">plus (+)</kbd> button at the
9678   bottom of the list. Click on the plus sign to create a new group.</li>
9679 </ul>
9680
9681 <h2>Remove Groups</h2>
9682
9683 <p>
9684   Context-click on a <dfn>group tab</dfn> and select <kbd class="menu">Remove
9685   Group</kbd> from the menu. Removing a group does <em>not</em> remove
9686   the members of a group.
9687 </p>
9688
9689 <p>
9690   You can also remove groups by selecting them in the Groups tab of the
9691   <a href="/ardours-interface/introducing-the-editor-window/editor-lists">Editor Lists</a>
9692   or Mixer Window and then pressing the <kbd class="menu">minus (-)</kbd>
9693   button at the bottom of the list.
9694 </p>
9695
9696 <h2>Add/Remove Tracks and Busses From a Group</h2>
9697
9698 <p>
9699   Click the <kbd class="menu">g</kbd> button to display a menu with a list
9700   of the available groups. Select one of these groups to add the track or bus
9701   to that group. Select <kbd class="menu">No Group</kbd> to remove it.
9702 </p>
9703
9704 <p>
9705   Alternatively, you can also drag a group tab to add or remove tracks from
9706   the group.
9707 </p>
9708
9709 <h2>Activate/Deactivate Groups via the Group Tab</h2>
9710
9711 <p>
9712   Clicking on a group tab toggles the group between being active and inactive.
9713   An inactive group has no effect when editing its members. An active group
9714   will share its configured properties across its members. Tabs for disabled
9715   groups are coloured grey.</p>
9716
9717 <h2>Modify Group Properties</h2>
9718
9719 <p>
9720   To edit the properties of a group, context-click on its tab and choose
9721   <kbd class="menu">Edit Group…</kbd>. This opens the track/bus group dialog,
9722   which is also used when creating new groups:
9723 </p>
9724
9725 <img class="right" src="/images/route-group-dialogue.png" alt="the track/bus group dialog" />
9726
9727 <h3>Group Color</h3>
9728
9729 <p>
9730   Click on the color selector button to change a group's colour. This affects
9731   the colour of the group's tab in the editor and mixer windows. The color does
9732   <em>not</em> affect the color of the group members unless you also enable the
9733   shared <kbd class="menu">Color</kbd> property.
9734 </p>
9735
9736 <h3>Shared Properties</h3>
9737
9738 <p>
9739   <kbd class="option">Gain</kbd> means that the track faders will be synced to
9740   always have the same value; <kbd class="option">Relative</kbd> means that the
9741   gain changes are applied relative to each member's current value. If, for
9742   example, there are two tracks in a group with relative gain sharing, and their
9743   faders are set to -3&nbsp;dB and -1&nbsp;dB, a change of the first track to a
9744   gain of -6&nbsp;dB will result in the second track having a gain of
9745   -4&nbsp;dB (the <em>difference</em> of the gains remains the same).
9746 </p>
9747
9748 <p>
9749   <a href="/working-with-tracks/bus-controls/#mute"><kbd class="option">Muting</kbd></a>,
9750   <a href="/working-with-tracks/bus-controls/#solo"><kbd class="option">Soloing</kbd></a>,
9751   <a href="/working-with-tracks/audio-track-controls/#record"><kbd class="option">record enable</kbd></a>,
9752   <a href="/ardours-interface/introducing-the-editor-window/editor-lists/tracks--busses-list/#active"><kbd class="option">active state</kbd></a>,
9753   <a href="/working-with-tracks/controlling-track-appearance/track-coloring/"><kbd class="option">colour</kbd></a> and
9754   <a href="/recording/monitoring/"><kbd class="option">monitoring</kbd></a>
9755   are all straightforward. They simply mean that all member tracks or busses will
9756   share the same settings in these respects.
9757 </p>
9758
9759 <p>
9760   <kbd class="option">Selection</kbd> means that if a region is selected or
9761   deselected on one member track, <a
9762   href="/working-with-regions/corresponding-region-selection/">corresponding
9763   regions</a> on other member tracks
9764   will be similarly selected. Since region editing operations are applied to all
9765   currently selected regions, this is the way to make edits apply across all tracks in the group.
9766 </p>
9767
9768 <p class="fixme">Broken link</p>
9769
9770 <h3>Group Tab Context Menu</h3>
9771
9772 <p>Context-clicking on the group tab offers a further menu of group-related actions. </p>
9773
9774 <dl class="wide-table">
9775         <dt>Create a New Group</dt>
9776         <dd>create a new group</dd>
9777         <dt>Create New Group from...</dt>
9778         <dd> create a new group and automatically add ...
9779         <dl class="narrower-table">
9780                 <dt>Selected</dt>
9781                 <dd>all currently selected tracks and busses</dd>
9782                 <dt>Rec-enabled</dt>
9783                 <dd>all currently record-enabled tracks</dd>
9784                 <dt>Soloed</dt>
9785                 <dd>all currently soloed tracks and busses</dd>
9786         </dl>
9787         </dd>
9788         <dt>Collect Group</dt>
9789         <dd>moves all the member tracks so that they are together in the editor window</dd>
9790         <dt>Remove Group</dt>
9791         <dd>removes the group (and only the group, not its members).</dd>
9792         <dt>Add New Subgroup Bus</dt>
9793         <dd> creates a bus (giving it the name of the group) and connects the output of each member to the new bus.
9794         </dd>
9795         <dt>Add New Aux Bus</dt>
9796         <dd>adds a bus and gives each member a send to that bus. There are two options for this, specifying whether the sends should be placed pre- or post-fader.</dd>
9797         <dt>Fit to Window</dt>
9798         <dd> will zoom the member tracks so that they fill the editor window.</dd>
9799         <dt>Enable All Groups</dt>
9800         <dd>makes all group active, including any hidden groups.</dd>
9801         <dt>Disable All Groups</dt>
9802         <dd>makes all groups inactive, including any hidden groups.</dd>
9803 </dl>
9804
9805
9806 ---
9807 title: Importing and Exporting Session Data
9808 part: chapter
9809 ---
9810
9811
9812 ---
9813 title: File and Session Management and Compatibility
9814 part: chapter
9815 ---
9816
9817
9818
9819
9820 ---
9821 title: Playback & Recording
9822 part: part
9823 ---
9824
9825
9826 ---
9827 title: Playing Back Track Material
9828 part: chapter
9829 ---
9830
9831
9832
9833
9834 ---
9835 title: Looping the Transport
9836 part: subchapter
9837 ---
9838
9839 <p>
9840   When the <dfn>loop transport</dfn> button is pressed, the playhead will
9841   jump the start of the loop range, and continue to the end of that range
9842   before returning to the start and repeating.
9843   While looping, a light green area is displayed in the time ruler over
9844   the tracks to show the loop range.
9845 </p>
9846
9847 <p>
9848   By default, looping is bound to the <kbd>l</kbd> key.
9849 </p>
9850
9851 <p>
9852   For more information on defining and altering the loop range see
9853   <a href="/working-with-markers/the-loop-range">Loop Range Markers</a>.
9854 </p>
9855
9856 <p class="fixme">Broken link</p>
9857
9858 ---
9859 title: Positioning the Playhead
9860 part: subchapter
9861 ---
9862
9863 <p>
9864   The <dfn>playhead</dfn> is a vertical line with two arrows at each end
9865   that indicates the current position of playback.
9866 </p>
9867
9868 <h2>Positioning the playhead at the current pointer position</h2>
9869
9870 <p>
9871   Pressing <kbd>P</kbd> will set the playhead to the current position of
9872   the mouse pointer, if it is within the editor track area.
9873 </p>
9874
9875 <h2>Positioning the playhead on the timeline</h2>
9876
9877 <p>
9878   A <kbd class="mouse">Left</kbd> click anywhere on the timeline (rulers)
9879   will move the playhead to that position.
9880 </p>
9881
9882 <h2>Positioning the playhead with the transport clocks</h2>
9883
9884 <p>
9885   Click on either the primary or secondary transport clock and
9886   <a href="/ardours-interface/using-ardour-clock-displays">edit their value</a>
9887   to move the playhead to a specific position.
9888 </p>
9889
9890 <h2>Positioning the playhead at a marker</h2>
9891
9892 <p>
9893   Click <kbd class="mouse">Right</kbd> on the marker and select either
9894   <kbd class="menu">Locate to here</kbd> or <kbd class="menu">Play from
9895   here</kbd>.
9896 </p>
9897
9898 <p>
9899    The playhead can also be moved backward and forward through the markers by
9900    respectively pressing the <kbd>Q</kbd> and <kbd>W</kbd> keys. Pressing
9901    <kbd>Home</kbd> and <kbd>End</kbd> will move the playhead to the special
9902    markers <dfn>start</dfn> and <dfn>end</dfn>, respectively.
9903 </p>
9904
9905 ---
9906 title: Using Key Bindings
9907 part: subchapter
9908 ---
9909
9910 <p>
9911   Ardour has many available commands for playback control that can be bound
9912   to keys. Many of them have default bindings, some do not, so the list below
9913   shows both the default bindings and internal command names.
9914 </p>
9915
9916 <dl class="wide-table">
9917   <dt><kbd>Space</kbd></dt>
9918   <dd>switch between playback and stop.</dd>
9919   <dt><kbd>Home</kbd></dt>
9920   <dd>Move playhead to session start marker</dd>
9921   <dt><kbd>End</kbd></dt>
9922   <dd>Move playhead to session end marker</dd>
9923   <dt><kbd>&rarr;</kbd></dt>
9924   <dd></dd>
9925   <dt><kbd>&larr;</kbd></dt>
9926   <dd></dd>
9927   <dt><kbd>0</kbd></dt>
9928   <dd>Move playhead to start of the timeline</dd>
9929 </dl>
9930
9931 <p>Commands without default bindings include:</p>
9932
9933 <p class="fixme">Add content</p>
9934
9935
9936
9937 ---
9938 title: Record Setup
9939 part: chapter
9940 ---
9941
9942
9943 ---
9944 title: Track Recording Modes
9945 part: subchapter
9946 ---
9947
9948 <p>
9949   The <dfn>Recording mode</dfn> is a per-track property (applies to audio
9950   tracks only) that affects the way that recording new material on top of
9951   existing material ("overdubbing") operates <em>in that track</em>.
9952 </p>
9953
9954 <h2 id="trackmodes">Track Modes</h2>
9955
9956 <p>
9957   Audio tracks in Ardour have a <dfn>mode</dfn> which affects how they behave
9958   when recording:
9959 </p>
9960
9961 <dl class="narrower-table">
9962   <dt>Normal</dt>
9963   <dd>Tracks in <dfn>normal mode</dfn> will record non-destructively&mdash;new
9964   data is written to new files, and when overdubbing, new regions will be
9965   layered on top of existing ones. This is the recommended mode for most
9966   workflows.
9967   </dd>
9968   <dt>Non-Layered</dt>
9969   <dd>Tracks using <dfn>non-layered mode</dfn> will record non-destructively&mdash;new data is written to new files, but when overdubbing,
9970   the existing
9971   regions are trimmed so that there are no overlaps. This does not affect
9972   the previously recorded audio data, and trimmed regions can be expanded
9973   again at will. Non-layered mode can be very useful for spoken word material,
9974   especially in combination with <a href="/editing-and-arranging/change-region-lengths/pushpull-trimming">push/pull trimming</a>.
9975
9976   <p class="fixme">Broken link</p>
9977
9978   </dd>
9979   <dt>Tape</dt>
9980   <dd><dfn>Tape-mode</dfn> tracks do <strong>destructive</strong> recording:
9981   all data is recorded to a single file and if you overdub a section of existing
9982   data, the existing data is destroyed irrevocably&mdash;there is no undo.
9983   Fixed crossfades are added at every punch in and out point. This mode can be
9984   useful for certain kinds of re-recording workflows, but it not suggested for normal
9985   use.</dd>
9986 </dl>
9987
9988 <img class="right" src="/images/a3_nonlayered_example.png" alt="normal and non-layered overdubbing comparision"
9989 />
9990
9991 <p>
9992   The screenshot on the right shows the subtle difference between an overdub
9993   in <dfn>normal mode</dfn> (upper track) and one in <dfn>non-layered mode</dfn>
9994   (lower track). Both tracks were created using identical audio data.
9995 </p>
9996
9997 <p>
9998   The upper track shows a new region which has been <dfn>layered on
9999   top</dfn> of the the existing (longer) region. You can see this if you look
10000   carefully at the region name strips. The lower track has split the existing
10001   region in two, trimmed each new region to create space for the new overdub,
10002   and inserted the overdub region in between.
10003 </p>
10004
10005 <h2 id="channelconfiguration">Channel Configuration</h2>
10006
10007 <p>
10008   Ardour tracks can have any number of inputs and any number of outputs, and
10009   the number of either can be changed at any time (subject to restrictions
10010   caused by any plugins in a track). However it is useful to not have to
10011   configure this sort of thing for the most common cases, and so the
10012   <a href="/working-with-tracks/adding-tracks">Add Tracks</a> dialog allows you
10013   to select "Mono", "Stereo" and few other typical multichannel presets.
10014   The name of the preset describes the number of <dfn>input channels</dfn>
10015   of the track or bus.
10016 </p>
10017
10018 <p>
10019   If you have configured Ardour to automatically connect new tracks and
10020   busses for you, the number of outputs will be determined by the number of
10021   inputs of the <dfn>master <a
10022   href="/introducing-ardour/understanding-basic-concepts-and-terminology/#busses">bus</a></dfn>,
10023   to which the track outputs will be connected.
10024 </p>
10025
10026 <p>
10027   For example, if you have a two-channel master bus, then a Mono track has one
10028   input and two outputs; a Stereo track has two inputs and two outputs.
10029 </p>
10030
10031 <p class="note">
10032   Setting <kbd class="menu">Edit &gt; Preferences &gt; Audio
10033   &gt; Connection of Tracks and Busses</kbd> to <kbd
10034   class="menu">manual</kbd> will leave tracks disconnected by default
10035   and there will be as many outputs as there are inputs. It is up to you to
10036   connect them as you wish. This is not a particularly useful way to work
10037   unless you are doing something fairly unusual with signal routing and
10038   processing. It is almost always preferable to allow Ardour to make
10039   connections automatically, even if some of them have to be changed manually
10040   at some point.
10041 </p>
10042
10043
10044 ---
10045 title: Audio Recording
10046 part: chapter
10047 ---
10048
10049
10050 ---
10051 title: Monitoring
10052 part: subchapter
10053 ---
10054
10055 <p>
10056   When recording, it is important that performers hear themselves, and to
10057   hear any pre-recorded tracks they are performing with.
10058   Audio recorders typically let you <dfn>monitor</dfn> (i.e. listen to)
10059   the input signal of all tracks that are armed for recording, and playing
10060   back the unarmed tracks.
10061 </p>
10062
10063 ---
10064 title: Latency Considerations
10065 menu_title: Latency
10066 part: subchapter
10067 ---
10068
10069 <p>
10070   In the days of analog tape recording, the routing of monitor signals was
10071   performed with relays and other analog audio switching devices.  Digital
10072   recorders have the same feature, but may impart some
10073   <a
10074   href="/synchronization/latency-and-latency-compensation/"><dfn>latency</dfn></a>
10075   (delay) between the time you make a noise and the time that you hear it
10076   come back from the recorder.
10077 </p>
10078
10079 <p>
10080   The latency of <em>any</em> conversion from analog to digital and back to
10081   analog is about 1.5&ndash;2&nbsp;ms. Some musicians claim that even the
10082   basic <abbr title="Analog to Digital to Analog">A/D/A</abbr> conversion
10083   time is objectionable. However even acoustic instruments such as the piano
10084   can have approximately 3&nbsp;ms of latency, due to the time the sound
10085   takes to travel from the instrument to the musician's ears. Latency below
10086   5&nbsp;ms should be suitable for a professional recording setup. Because
10087   2&nbsp;ms are already used in the A/D/A process, you must use extremely low
10088   <dfn>buffer sizes</dfn> in your workstation <abbr title="Input/Output">I/O</abbr>
10089   setup to keep the overall latency below 5ms. Not all
10090   <a href="/setting-up-your-system/the-right-computer-system-for-digital-audio">computer audio systems</a>
10091   are able to work reliably at such low buffer sizes.
10092 </p>
10093
10094 <p>
10095   For this reason it is sometimes best to route the monitor signal
10096   through an external mixing console while recording, an approach taken by
10097   most if not all professional recording studios. Many computer I/O devices
10098   have a hardware mixer built in which can route the monitor signal "around"
10099   the computer, avoiding the system latency.
10100 </p>
10101
10102 <p>
10103   In either case, the monitoring hardware may be digital or analog.  And in
10104   the digital case you will still have the A-D-A conversion latency of
10105   1&ndash;2&nbsp;ms.
10106 </p>
10107
10108 ---
10109 title: Monitor Signal Flow
10110 menu_title: Signal Flow
10111 part: subchapter
10112 ---
10113
10114 <p>
10115   There are three basic ways to approach monitoring:
10116 </p>
10117
10118 <h3>External Monitoring</h3>
10119
10120 <p><img class="right" src="/images/external-monitoring.png" /></p>
10121
10122 <p>
10123   When using <dfn>external monitoring</dfn>, Ardour plays no role in monitoring at all. Perhaps the recording set-up has an external mixer which can be used to set up monitor mixes, or perhaps the sound-card being used has a "listen to the input" feature. This approach yields zero or near-zero latency. On the other hand it requires external hardware, and the monitoring settings are less flexible and not saved with the session.
10124 </p>
10125
10126 <h3>JACK-Based Hardware Monitoring</h3>
10127
10128 <p><img class="right" src="/images/jack-monitoring.png" /></p>
10129
10130 <p>
10131   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, 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.
10132 </p>
10133
10134 <p class="fixme">Broken link</p>
10135
10136 <h3>Software Monitoring</h3>
10137
10138 <p><img class="right" src="/images/ardour-monitoring.png" /></p>
10139
10140 <p>
10141   With the <dfn>software monitoring</dfn> approach, all monitoring is performed by Ardour&mdash;it makes track inputs available at track 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.
10142 </p>
10143
10144 ---
10145 title: Monitor Setup in Ardour
10146 menu_title: Setup in Ardour
10147 part: subchapter
10148 ---
10149
10150 <p>
10151   Ardour has three main settings which affect how
10152   monitoring is performed. The first is
10153   <kbd class="menu">Edit &gt; Preferences &gt; Audio &gt;
10154   Record monitoring handled by</kbd>.  There are two or three
10155   options here, depending on the capabilities of your hardware.
10156 </p>
10157
10158 <p>
10159   The other two settings are more complex.  One is
10160   <kbd class="menu">Tape machine mode</kbd>, found in the
10161   same dialog, and the other is the
10162   <kbd class="option">Session &gt; Properties &gt; Monitoring
10163   automatically follows transport state</kbd> setting.
10164 </p>
10165
10166 <p>
10167   Monitoring also depends on the state of the track's record-enable button,
10168   the session record-enable button, and on whether or not the transport is
10169   rolling.
10170 </p>
10171
10172 <h2>Software or Hardware Monitoring Modes</h2>
10173
10174 <p>
10175   If Ardour is set to <dfn>external monitoring</dfn>, the explanation of
10176   Ardour's monitoring behaviour is simple: it does not do any.
10177 </p>
10178
10179 <h2>Monitoring in Non-Tape-Machine Mode</h2>
10180
10181 <p>
10182   When <dfn>Tape-Machine mode is off</dfn>, and a track is armed,
10183   Ardour <em>always</em> monitors the live input, except in one case:
10184   the transport is rolling, the session is not recording, and
10185   <dfn>auto-input</dfn>
10186   is active. In this case only, you will hear playback from an armed track.
10187 </p>
10188
10189 <p>
10190   Unarmed tracks will play back their contents from disc, unless the
10191   transport is stopped <em>and</em> <dfn>auto-input</dfn> is enabled.
10192   In this case, the track monitors its live input.
10193 </p>
10194
10195 <h2>Monitoring in Tape-Machine Mode</h2>
10196
10197 <p>
10198   In <dfn>Tape-Machine mode</dfn>, things are slightly simpler: when a
10199   track is armed, its behaviour is the same as in non-tape-machine mode.
10200 </p>
10201
10202 <p>
10203   Unarmed tracks however will always just play back their contents from
10204   disk; the live input will never be monitored.
10205 </p>
10206
10207
10208 ---
10209 title: MIDI Recording
10210 part: chapter
10211 ---
10212
10213
10214 ---
10215 title: Punch Recording Modes
10216 part: chapter
10217 ---
10218
10219
10220 ---
10221 title: Working With Markers
10222 part: subchapter
10223 ---
10224
10225 <p>
10226   It is very useful to be able to tag different locations in a session for
10227   later use when editing and mixing. Ardour supports both
10228   <dfn>locations</dfn>, which define specific positions in time,
10229   and <dfn>ranges</dfn> which define a start and end position in time.
10230 </p>
10231
10232 <p>
10233   In addition to the standard location markers, there are three kinds of
10234   special markers:
10235 </p>
10236
10237 <ul>
10238   <li>
10239     <dfn>CD markers</dfn> are locations that are restricted to legal
10240     <dfn>CD sector boundaries</dfn>. They can be used to add track index
10241     markers to compact disc images.
10242   </li>
10243   <li>
10244     The <dfn>Loop range</dfn> defines the start end end points for Looping.
10245   </li>
10246   <li>
10247     The <dfn>punch range</dfn> defines the in and out points for punch
10248     recording.
10249   </li>
10250 </ul>
10251
10252 ---
10253 title: Creating Location Markers
10254 part: subchapter
10255 ---
10256
10257 <p>
10258   <dfn>Location Markers</dfn> appear in the <dfn>Locations ruler</dfn> at the top
10259   of the timeline. The <dfn>start</dfn> and <dfn>end</dfn> markers appear
10260   automatically, but you can create custom markers at any position in a
10261   session.
10262 </p>
10263
10264 <p>
10265   To add a marker at the <strong>current playhead position</strong>, press
10266   <kbd>Num-&crarr;</kbd> (the Enter key on the numeric  keypad).
10267   Alternatively, use <kbd class="menu">Transport &gt; Markers &gt; Add
10268   Mark from Playhead</kbd>.
10269 </p>
10270
10271 <p>
10272   To add a marker at an <strong>arbitrary location</strong> on the timeline,
10273   navigate to the desired position, right-click on the Locations ruler and
10274   select <kbd class="menu">New Location Marker</kbd>.
10275   You can also go to the Editor list, click <kbd class="menu">New
10276   Marker</kbd> and use the clock widget to set its position.
10277 </p>
10278
10279 <p>
10280   For details see
10281   <a href="/working-with-markers/rangesmarks-list/">Ranges &amp; Marks
10282   List</a>
10283   and <a href="/ardours-interface/using-ardour-clock-displays/"> Using
10284   Ardour Clock Displays</a>.
10285 </p>
10286
10287 ---
10288 title: Creating Range Markers
10289 part: subchapter
10290 ---
10291
10292 <p class="fixme">Add images</a>
10293
10294 <p>
10295   <dfn>Range markers</dfn> are essentially two location markers the are grouped
10296   together to mark the beginning and end of a section in the timeline.
10297 </p>
10298
10299 <h2>Creating a Range on the timeline</h2>
10300
10301 <p>
10302   To create a new <dfn>range</dfn>, right-click on the
10303   Ranges ruler at the top of the timeline, then select
10304   <kbd class="menu">New Range</kbd>.
10305   Two markers with the same name will appear along the ruler.
10306   Both marks can be moved along the timeline by clicking and dragging
10307   them to the desired location.
10308 </p>
10309
10310 <p>
10311   It is also possible to create range markers from a selected range or
10312   region in the Editor window, or to use the <kbd class="menu">Ranges
10313   &amp; Marks List</kbd> in the Editor list.
10314 </p>
10315
10316
10317 ---
10318 title: Moving Markers
10319 part: subchapter
10320 ---
10321
10322 <h2>Single marker</h2>
10323
10324 <p>
10325   <kbd class="mouse">Left</kbd>-click and drag to move a single marker to a
10326   new location on the timeline.
10327 </p>
10328
10329 <h2>Multiple markers</h2>
10330
10331 <p>
10332   It is possible to move multiple markers by the same distance. <kbd
10333   class="mouse mod1">Left</kbd>-click each marker you want to move, then drag
10334   one of the selected markers to a new location. All selected markers will
10335   then move together. Note that the markers are bounded by the zero point on
10336   the timeline. In other words, the first marker in your selection cannot move
10337   to the left of zero on the timeline.
10338 </p>
10339
10340 <h2>Both ends of a range marker</h2>
10341
10342 <p>
10343   <kbd class="mod1 mouse">Left</kbd>-drag either end of the range marker. The
10344   other end will move by the same distance.
10345 </p>
10346
10347 ---
10348 title: The Loop Range
10349 part: subchapter
10350 ---
10351
10352 <p class="fixme">Missing content</a>
10353
10354 <p>
10355   The <dfn>loop range</dfn> is a special range that defines the start and end points
10356   for loop play, which can be enabled in the transport bar.
10357 </p>
10358
10359 <p>
10360   It can be defined via the <a href="/missing">timeline</a> or the <a
10361   href="/working-with-markers/rangesmarks-list/">Ranges &amp; Marks
10362   list</a>.
10363 </p>
10364
10365 <p class="fixme">Broken links</a>
10366
10367 ---
10368 title: Marker Context Menu
10369 part: subchapter
10370 ---
10371
10372 <p>
10373   <kbd class="mouse">Right</kbd>-clicking a marker in the timeline opens the
10374   marker context menu. From this menu, you can:
10375 </p>
10376 <dl>
10377   <dt>Locate to Here</dt>
10378   <dd>Move the playhead to this marker's position.</dd>
10379   <dt>Play from Here</dt>
10380   <dd>start playback from this marker's position.</dd>
10381   <dt>Move Mark to Playhead</dt>
10382   <dd>Move this marker to the current playhead position.</dd>
10383   <dt>Create Range to Next Marker</dt>
10384   <dd>Create a range marker between this location and the next one along on
10385   the timeline.</dd>
10386   <dt>Hide</dt>
10387   <dd>Hide this marker from the view. It can be made visible again from the
10388   <kbd class="menu">Window &gt; Locations</kbd> window or the <a
10389   href="/working-with-markers/rangesmarks-list/">Ranges &amp; Marks
10390   list</a>.</dd>
10391   <dt>Rename</dt>
10392   <dd>Change the name of the marker.</dd>
10393   <dt>Lock</dt>
10394   <dd>If this is ticked, it will be impossible to drag the marker's
10395   position; useful if you want to prevent accidental movements.</dd>
10396   <dt>Glue to Bars and Beats</dt>
10397   <dd>If this is ticked, the marker will maintain its position in bars and
10398   beats even if there are changes in tempo and meter.</dd>
10399   <dt>Remove</dt>
10400   <dd>Removes the marker. </dd>
10401 </dl>
10402
10403 <p>
10404   There are also a few options in <kbd class="menu">Transport &gt; Active
10405   Mark</kbd>. These options apply to the currently selected location marker,
10406   and move it to a nearby region boundary, region sync point, or to the
10407   playhead or mouse.
10408 </p>
10409
10410 ---
10411 title: Punch Range
10412 part: subchapter
10413 ---
10414
10415 <p class="fixme">Missing content</a>
10416
10417 <p>
10418   The <dfn>punch range</dfn> is a special range used to define where
10419   recording will start and/or stop during a <dfn>punch</dfn>.
10420 </p>
10421
10422 <p>
10423   It can be defined on the <a href="/missing">timeline</a> or in the
10424   <a href="/working-with-markers/rangesmarks-list/">Ranges &amp; Marks</a>
10425   list.
10426 </p>
10427
10428 <p class="fixme">Broken links</a>
10429
10430
10431
10432
10433 ---
10434 title: Editing
10435 part: part
10436 ---
10437
10438
10439 ---
10440 title: Editing Basics
10441 part: chapter
10442 ---
10443
10444
10445 ---
10446 title: Working With Regions
10447 part: subchapter
10448 ---
10449
10450 <h2>Working With Regions</h2>
10451
10452 <p>
10453   <dfn>Regions</dfn> are the basic elements of editing and composing in
10454   Ardour. In most cases, a region represents a single contiguous section
10455   of one or more media files. Regions are defined by a fixed set of attributes:
10456 </p>
10457 <ul>
10458   <li>the audio or
10459   <abbr title="Musical Instrument Digital Interface">MIDI</abbr>
10460   <dfn>source file(s)</dfn> they represent,</li>
10461   <li>an <dfn>offset</dfn> (the "start point") in the audio or MIDI file(s), and</li>
10462   <li>a <dfn>length</dfn>.</li>
10463 </ul>
10464 <p>
10465   When placed into a playlist, they gain additional attributes:
10466 </p>
10467 <ul>
10468   <li>a <dfn>position</dfn> along the timeline, and</li>
10469   <li>a <dfn>layer</dfn>.</li>
10470 </ul>
10471 <p>
10472   There are other attributes as well, but they do not <em>define</em> the
10473   region. Things you should know about regions:
10474 </p>
10475
10476 <h3>Regions Are Cheap</h3>
10477 <p>
10478   By themselves, regions consume very little of your computer's resources.
10479   Each region requires a small amount of memory, and represents a rather
10480   small amount of CPU work if placed into an active track. So, don't worry
10481   about creating regions whenever you need to.
10482 </p>
10483
10484 <h3>Regions Are Not Files</h3>
10485 <p>
10486   Although a region can represent an entire audio file, they are never
10487   equivalent to an audio file. Most regions represent just parts of an audio
10488   file(s) on disk, and removing a region from a track has nothing to do with
10489   removing the audio file(s) from the disk (the <kbd
10490   class="menu">Destroy</kbd> operation, one of Ardour's few destructive
10491   operations, can affect this). Changing the length of a region has no effect
10492   on the audio file(s) on disk. Splitting and copying regions does not alter
10493   the audio file in anyway, nor does it create new audio files (only
10494   <dfn>recording</dfn>,
10495   and the <kbd class="menu">Export</kbd>, <kbd class="menu">Bounce</kbd> and
10496   <kbd class="menu">Reverse</kbd> operations create new audio files).</p>
10497
10498 ---
10499 title: Region Naming
10500 part: subchapter
10501 ---
10502
10503 <p>
10504   <dfn>Region names</dfn> are initially derived from either</p>
10505 <ul>
10506   <li>the name of the playlist for which they were recorded,</li>
10507   <li>the name of the track for which they were recorded, or</li>
10508   <li>the name of the embedded/imported file they represent.</li>
10509 </ul>
10510 <p class="fixme">
10511   It appears that recorded regions are always named after the track, not the
10512   active playlist in that track.
10513 </p>
10514
10515 <h2>Whole File Region Names</h2>
10516 <p>
10517   These are not audio files, but regions that represent the full extent of an
10518   audio file. Every time a new recording is done, or a new file is imported
10519   to the session, a new region is created that represents the <dfn>entire audio
10520   file</dfn>. This region will have the name of the track/playlist/original file,
10521   followed by a "-", then a number plus a dot and then a number.
10522 </p>
10523 <p>
10524   For <dfn>recorded regions</dfn>, the number will increase each time a new recording
10525   is made. So, for example, if there is a playlist called
10526   <samp>Didgeridoo</samp>, the
10527   first recorded whole file region for that playlist will be called
10528   <samp>Digderidoo-1</samp>. The next one will be <samp>Digeridoo-2</samp> and so on.
10529 </p>
10530 <p>
10531   For <dfn>imported regions</dfn>, the region name will be based on the original file
10532   name, but with any final suffix (e.g. ".wav" or ".aiff") removed.
10533 </p>
10534 <p>
10535   Normally, whole file regions are not inserted into tracks or playlists,
10536   but regions derived from them are. The whole-file versions live in the
10537   editor region list where they act as an organizing mechanism for regions
10538   that are derived from them.
10539 </p>
10540
10541 <h2>Normal Region Names</h2>
10542 <p>
10543   When a region is inserted into a track and playlist, its initial name will
10544   end in a <dfn>version number</dfn>, such as <samp>.1</samp>. For a recorded region,
10545   if the whole file region was <samp>Hang drum-1</samp>, then the region in
10546   the track will appear with the name <samp>Hang drum-1.1</samp>. For an
10547   imported region, if the whole file region was <samp>Bach:Invention3</samp>,
10548   then the region in the track will appear with the name
10549   <samp>Bach:Invention3.1</samp>.
10550 </p>
10551
10552 <h2>Copied Region Names</h2>
10553 <p>
10554   If you <dfn>copy a region</dfn>, it initially shares the same name as the original.
10555   When you perform an operation modifies one of the copies, Ardour will
10556   increment the version number on the particular copy that changed.
10557 </p>
10558
10559 <h2>Renaming Regions</h2>
10560 <p>
10561   You can <dfn>rename a region</dfn> at any time. Use the region context menu to
10562   pop up the <kbd class="menu">Rename</kbd> dialog. The new name does not need to
10563   have a version number in it (in fact, it probably should not). Ardour will add a
10564   version number in the future if needed (e.g. if you copy or split the region).
10565 </p>
10566
10567 ---
10568 title: Corresponding Regions Selection
10569 part: subchapter
10570 ---
10571
10572 <p>
10573   <a href="/working-with-tracks/track-and-bus-groups/">Track Groups</a> have
10574   a property titled <kbd class="option">Select</kbd> which, if enabled, cause
10575   Ardour to propagate a region selection in one track of a group to the
10576   <dfn>corresponding regions</dfn> of the other tracks in that group.
10577  </p>
10578 <p>
10579   For example, let's assume you have used multiple microphones to record a
10580   drum kit to multiple tracks. You have created a track group, added all the
10581   drum tracks, enabled the group and enabled the Select property for the group.
10582   When you select a region in one of the drum tracks, Ardour will select the
10583   corresponding region in every other drum track in the group, which in turn
10584   means that a subsequent edit operation will affect all the grouped drum
10585   tracks together.
10586 </p>
10587
10588 <h2>How Ardour Decides Which Regions are "Corresponding"</h2>
10589 <p>
10590   Regions in different tracks are considered to be corresponding for the purposes
10591   of sharing <dfn>selection</dfn> if they satisfy <em>all</em> the following criteria:
10592 </p>
10593 <ol>
10594   <li>Each region starts at the <dfn>same offset</dfn> within its source file,</li>
10595   <li>each region is located at the <dfn>same position</dfn> on the timeline, and</li>
10596   <li>each region has the <dfn>same length</dfn>.</li>
10597 </ol>
10598
10599 <h2>Overlap Correspondence</h2>
10600 <p>
10601   Sometimes, the rules outlined above are too strict to get Ardour to do what you
10602   want. Regions may have been trimmed to slightly different lengths, or positioned
10603   slightly differently, and this will cause Ardour to not select regions in other
10604   grouped tracks.</p>
10605 <p>
10606   In this case, change
10607   <kbd class="menu">Edit &gt; Preferences &gt; Editor &gt; Regions in
10608   active edit groups are edited together:</kbd> to <kbd
10609   class="menu">whenever they overlap in time</kbd>. With this option enabled, r
10610   egions in different tracks will be considered equivalent for the purposes of selection if they
10611   <dfn>overlap</dfn>. This is much more flexible and will cover almost all of the
10612   cases that the fixed rules above might make cumbersome.
10613 </p>
10614
10615 ---
10616 title: Region Context Menu
10617 part: subchapter
10618 ---
10619
10620 <p class="fixme">Need to add detail to the context menu table to describe what the options do</p>
10621
10622 <p>
10623   In the editor window, right clicking (context clicking) on a region
10624   displays a menu with <dfn>track and region operations</dfn>. The menu begins with the
10625   name of the region, or <kbd class="menu">Selected Regions</kbd> if multiple
10626   regions are selected.
10627 </p>
10628 <p>
10629   If there is more than one region layered at the point where you clicked, the
10630   menu will also contain an item <kbd class="menu">Choose Top</kbd>. This
10631   dialog lets you select which region you want on the top <dfn>layer</dfn>. See
10632   <a href="manual/region_layering">Adjusting Region Layering</a> for more details.
10633 </p>
10634 <p>
10635   Below these items is the rest of the
10636   <a href="/working-with-tracks/track-context-menu">Track Context Menu</a>, which
10637   provides access to <dfn>track-level operations</dfn>. To see the contents
10638   of the region context menu, select the region name or "Selected Regions", and
10639   the following submenu structure appears:
10640 </p>
10641 <dl class="narrower-table">
10642   <dt>Play</dt>
10643   <dd></dd>
10644   <dt>Loop</dt>
10645   <dd></dd>
10646   <dt>Properties</dt>
10647   <dd></dd>
10648   <dt>Rename</dt>
10649   <dd></dd>
10650   <dt>Edit</dt>
10651   <dd>
10652     <dl class="wide-table">
10653       <dt>Combine</dt>
10654       <dd></dd>
10655       <dt>Uncombine</dt>
10656       <dd></dd>
10657       <dt>Split</dt>
10658       <dd></dd>
10659       <dt>Make Mono Regions</dt>
10660       <dd></dd>
10661       <dt>Opaque</dt>
10662       <dd></dd>
10663       <dt>Mute</dt>
10664       <dd></dd>
10665       <dt>Pitch Shift</dt>
10666       <dd></dd>
10667       <dt>Reverse</dt>
10668       <dd></dd>
10669       <dt>Close Gaps</dt>
10670       <dd></dd>
10671       <dt>Place Transients</dt>
10672       <dd></dd>
10673       <dt>Rhythm Ferret</dt>
10674       <dd></dd>
10675       <dt>Strip Silence</dt>
10676       <dd></dd>
10677     </dl>
10678   </dd>
10679   <dt>Position</dt>
10680   <dd>
10681     <dl class="wide-table">
10682       <dt>Move To Original Position</dt>
10683       <dd></dd>
10684       <dt>Lock</dt>
10685       <dd></dd>
10686       <dt>Glue to Bars and Beats</dt>
10687       <dd></dd>
10688       <dt>Snap Position to Grid</dt>
10689       <dd></dd>
10690       <dt>Set Sync Position</dt>
10691       <dd></dd>
10692       <dt>Remove Sync</dt>
10693       <dd></dd>
10694 <dt>Nudge Later</dt>
10695 <dd></dd>
10696 <dt>Nudge Earlier</dt>
10697 <dd></dd>
10698 <dt>Nudge Later by capture offset</dt>
10699 <dd></dd>
10700 <dt>Nudge Earlier by capture offset</dt>
10701 <dd></dd>
10702 </dl>
10703 </dd>
10704 <dt>Trim</dt>
10705 <dd>
10706 <dl class="wide-table">
10707 <dt>Trim Start at Edit Point</dt>
10708 <dd></dd>
10709 <dt>Trim End at Edit Point</dt>
10710 <dd></dd>
10711 <dt>Trim to Loop</dt>
10712 <dd></dd>
10713 <dt>Trim to Punch</dt>
10714 <dd></dd>
10715 <dt>Trim to Previous</dt>
10716 <dd></dd>
10717 <dt>Trim to Next</dt>
10718 <dd></dd>
10719 </dl>
10720 </dd>
10721 <dt>Layering</dt>
10722 <dd>
10723 <dl class="wide-table">
10724 <dt>Raise to Top</dt>
10725 <dd></dd>
10726 <dt>Raise</dt>
10727 <dd></dd>
10728 <dt>Lower</dt>
10729 <dd></dd>
10730 <dt>Lower to Bottom</dt>
10731 <dd></dd>
10732 </dl>
10733 </dd>
10734 <dt>Ranges</dt>
10735 <dd>
10736 <dl class="wide-table">
10737 <dt>Set Loop Range</dt>
10738 <dd></dd>
10739 <dt>Set Punch Range</dt>
10740 <dd></dd>
10741 <dt>Add Single Range Marker</dt>
10742 <dd></dd>
10743 <dt>Add Range Marker per Region</dt>
10744 <dd></dd>
10745 <dt>Set Range Selection</dt>
10746 <dd></dd>
10747 </dl>
10748 </dd>
10749 <dt>Gain</dt>
10750 <dd>
10751 <dl class="wide-table">
10752 <dt>Normalize</dt>
10753 <dd></dd>
10754 <dt>Boost</dt>
10755 <dd></dd>
10756 <dt>Cut</dt>
10757 <dd></dd>
10758 <dt>Reset Envelope</dt>
10759 <dd></dd>
10760 <dt>Envelope Active</dt>
10761 <dd></dd>
10762 </dl>
10763 </dd>
10764 <dt>Fades</dt>
10765 <dd>
10766 <dl class="wide-table">
10767 <dt>Fade In</dt>
10768 <dd></dd>
10769 <dt>Fade Out</dt>
10770 <dd></dd>
10771 <dt>Fades        </dt>
10772 <dd></dd>
10773 </dl>
10774 </dd>
10775 <dt>Duplicate</dt>
10776 <dd>
10777 <dl class="wide-table">
10778 <dt>Duplicate</dt>
10779 <dd></dd>
10780 <dt>Multi-Duplicate</dt>
10781 <dd></dd>
10782 <dt>Fill Track</dt>
10783 <dd></dd>
10784 </dl>
10785 </dd>
10786 <dt>Export</dt>
10787 <dd></dd>
10788 <dt>Bounce (without processing)</dt>
10789 <dd></dd>
10790 <dt>Bounce (with processing)</dt>
10791 <dd></dd>
10792 <dt>Spectral Analysis</dt>
10793 <dd></dd>
10794 <dt>Remove</dt>
10795 <dd></dd>
10796 </dl>
10797
10798 ---
10799 title: Common Region Edit Operations
10800 menu_title: Region Editing
10801 part: subchapter
10802 ---
10803
10804 <p>
10805   This section covers a set of <dfn>region editing operations</dfn>
10806   that you are likely to use often while working on a session.
10807   Depending on your work habits (and experience of other
10808   <abbr title="Digital Audio Workstation">DAW</abbr>s) you will find
10809   some of these operations critical while others are used only rarely.
10810 </p>
10811
10812 <p>
10813   You can carry out all of these operations from the keyboard (see
10814   <a href="/default-keyboard-bindings">Default Keyboard Shortcuts</a>
10815   for a list). Equivalent operations can be performed with the mouse
10816   in most cases.
10817 </p>
10818
10819 <p>
10820   You may want to review your understanding of
10821   <a href="/editing-and-arranging/edit-point">the edit point/range</a> and
10822   <a href="/editing-and-arranging/which-regions-are-affected">which regions will be affected by region operations</a>.
10823 </p>
10824
10825 <dl class="wide-table">
10826 <dt><kbd class="menu">Spot (Align)</kbd></dt>
10827 <dd>Move selected regions to the edit point.</dd>
10828 <dt><kbd class="menu">Split</kbd></dt>
10829 <dd>Split selected regions at the edit point.</dd>
10830 <dt><kbd class="menu">Trim Start</kbd></dt>
10831 <dd>Adjust the start of selected regions to the edit point (or as close as
10832 possible).</dd>
10833 <dt><kbd class="menu">Trim End</kbd></dt>
10834 <dd>Adjust the end of selected regions to the edit point (or as close as
10835 possible).</dd>
10836 <dt><kbd class="menu">Duplicate</kbd></dt>
10837 <dd>Make a copy of each selected region and position it immediately after the
10838 original.</dd>
10839 <dt><kbd class="menu">Crop</kbd></dt>
10840 <dd>Truncate selected regions to the edit range.</dd>
10841 <dt><kbd class="menu">Separate</kbd></dt>
10842 <dd>Split selected regions at both ends of the edit range.</dd>
10843 <dt><kbd class="menu">Set Fade In</kbd></dt>
10844 <dd>Adjust selected audio regions' fade in to end at the edit point.</dd>
10845 <dt><kbd class="menu">Set Fade Out</kbd></dt>
10846 <dd>Adjust selected audio regions' fade out to end at the edit point.</dd>
10847 <dt><kbd class="menu">Toggle Fade In</kbd></dt>
10848 <dd>Turn selected audio regions' fade in on or off.</dd>
10849 <dt><kbd class="menu">Toggle Fade Out</kbd></dt>
10850 <dd>Turn selected audio regions' fade out on or off.</dd>
10851 <dt><kbd class="menu">Play Region</kbd></dt>
10852 <dd>Play session from the start of the earliest selected region.</dd>
10853 <dt><kbd class="menu">Zoom To Region</kbd></dt>
10854 <dd>Zoom horizontally so that the selected regions span the editor track
10855 view.</dd>
10856 <dt><kbd class="menu">Set Sync Point</kbd></dt>
10857 <dd>Set the sync point of all selected regions to the edit point.</dd>
10858 <dt><kbd class="menu">Insert</kbd></dt>
10859 <dd>Inserts the currently selected regions in the Region List at the edit
10860 point.</dd>
10861 </dl>
10862
10863 ---
10864 title: Copy Regions
10865 part: subchapter
10866 ---
10867
10868 <h2>Copy a Single Region</h2>
10869
10870 <p>
10871   To copy a region, make sure you are in object mouse mode. Move the mouse
10872   pointer into the region and <kbd class="mouse mod1">left</kbd>-drag. Ardour
10873   creates a new region and follows the mouse pointer as it moves. See
10874   <a href="/editing-and-arranging/move-regions/">Move Regions</a> for more
10875   details on moving the copied region.
10876 </p>
10877
10878 <h2>Copy Multiple Regions</h2>
10879
10880 <p>
10881   To copy multiple regions, select them before copying. Then
10882   <kbd class="mouse mod1">left</kbd>-drag one of the selected regions. All the
10883   regions will be copied and as they move. The copied regions will keep their
10884   positions relative to each other.
10885 </p>
10886
10887 <h2>Fixed-Time Copying</h2>
10888
10889 <p>
10890   If you want to copy region(s) to other track(s) but keep the copies at the
10891   exact position on the timeline as the originals, simply use
10892   <kbd class="mouse mod1">Middle</kbd>-drag instead.
10893 </p>
10894
10895
10896 ---
10897 title: Move Regions With the Mouse
10898 part: subchapter
10899 ---
10900
10901 <p>
10902   To move or copy a region, make sure you are in object mode. If you are
10903   using smart mode, the pointer must be in the lower half of the region
10904   to begin a move or copy operation.
10905 </p>
10906
10907 <p>
10908   Move the pointer into the region, use a <kbd class="mouse">Left</kbd>-drag.
10909   The region will follow the pointer as you move it around. By default,
10910   the region can move freely along the timeline.
10911 </p>
10912
10913 <p>
10914   To move a region from one track to another, simply start a move as
10915   described above, but move the pointer into the desired track. The
10916   region will follow the pointer. Note that if you have other kinds of
10917   tracks visible, the region will remain where it is as the pointer
10918   moves across them, and will then jump to the new track. This serves as
10919   a visual reminder that you cannot drag an audio region into an automation
10920   track or a bus, for example.
10921 </p>
10922
10923 <h2>Move Multiple Regions</h2>
10924
10925 <p>
10926   To move multiple regions, select them before moving. Then
10927   <kbd class="mouse">Left</kbd>-drag one of the selected regions. All the
10928   regions will move, keeping their positions relative to each other.
10929 </p>
10930
10931 <h2>Fixed-Time Motion</h2>
10932
10933 <p>
10934   Sometimes, you want to move a region to another track, but keeping its
10935   position along the timeline exactly the same. To do this, use
10936   <kbd class="mouse">Middle</kbd>-drag instead.
10937 </p>
10938
10939 ---
10940 title: Align (Spot) Regions
10941 part: subchapter
10942 ---
10943
10944 <p>
10945   Aligning regions (sometimes called "spotting") means moving one or more
10946   regions based on a defined location, which in Ardour is always the
10947   <a href="/editing-and-arranging/edit-point">edit point</a>. An
10948   alignment operation moves the region(s) so that some part of the region
10949   is positioned at the edit point. Available alignment commands include:
10950 </p>
10951
10952 <dl class="wide-table">
10953   <dt>Align Region starts <kbd class="mod14">a</kbd></dt>
10954   <dd>Selected region(s) are moved so that their start is located at the current edit point</dd>
10955   <dt>Align Region ends <kbd class="mod2">a</kbd></dt>
10956   <dd>Selected region(s) are moved so that the end is located at the current edit point</dd>
10957   <dt>Align Region sync points <kbd>Shift-a</kbd></dt>
10958   <dd>Selected region(s) are moved so that their sync point is located at the current edit point</dd>
10959   <dt>Align Region starts relative <kbd class="mod4">a</kbd></dt>
10960   <dd>Selected region(s) are moved so that the start of the earliest region is located at the current edit point, and all others maintain their relative position relative to that region</dd>
10961 </dl>
10962
10963
10964 ---
10965 title: Edit Mode and Tools
10966 part: chapter
10967 ---
10968
10969
10970 ---
10971 title: Which Regions Are Affected?
10972 menu_title: Affected Regions
10973 part: subchapter
10974 ---
10975
10976 <p class="fixme">This one is alone in its chapter. Find him a place somewhere else.</p>
10977
10978 <p>
10979   This section explains the rules used to decide which regions are affected
10980   by editing operations. You don't really have to understand them&mdash;hopefully
10981   things will Just Work&trade;&mdash;but it may be useful eventually to understand the rules.
10982 </p>
10983
10984 <p>
10985   Editing operations in Ardour either operate on a single point in time
10986   (<kbd class="menu">Split</kbd> being the obvious example) or on two
10987   points (which can also be considered to be a range of sorts); <kbd
10988   class="menu">Separate</kbd> is a good example of this.
10989 </p>
10990
10991 <p>
10992   Most operations will operate on the currently selected region(s), but if
10993   no regions are selected, the region that the mouse is in will be used
10994   instead. Single-point operations will generally pick a set of regions to
10995   use based on the following rules:
10996 </p>
10997
10998 <ul>
10999   <li> If the edit point is 'mouse', then
11000     <ul>
11001      <li>if the mouse is over a selected region, or no region, use all selected
11002      regions, or</li>
11003      <li>if the mouse is over an unselected region, use just that region.</li>
11004     </ul>
11005   </li>
11006   <li> For all other edit points
11007     <ul>
11008       <li>
11009         use the selected regions <em>and</em> those that are both
11010         under the edit position <em>and</em> on a selected track,
11011         or on a track which is in the same active edit-enabled route group
11012         as a selected region.
11013       </li>
11014     </ul>
11015   </li>
11016 </ul>
11017
11018 <p>
11019   The rationale here for the two different rules is that the mouse edit point
11020   is special in that its position indicates both a time and a track; the other
11021   edit points (Playhead, Marker) indicate a time only.
11022 </p>
11023
11024
11025 ---
11026 title: Making Selections
11027 part: chapter
11028 ---
11029
11030
11031 ---
11032 title: Select Regions
11033 part: subchapter
11034 ---
11035
11036 <p class="fixme">Remove all "you" references FFS</p>
11037
11038 <p>
11039   Many editing operations in Ardour require you to first <dfn>select one or more
11040   regions</dfn> that you want to change in some way. You can select a single region,
11041   or multiple regions, including regions in different tracks. When you select
11042   a region, it will appear in a darker color than unselected regions.
11043 </p>
11044
11045 <p>
11046   Note that if a track is a member of a group that is active and has the
11047   <kbd class="option">Select</kbd> property enabled, then Ardour will attempt to
11048   match whatever selections you make in one track across every other track of the
11049   group. See
11050   <a href="/working-with-regions/corresponding-regions-selection/">Corresponding
11051   Regions Selection</a> for more information on precisely how selections will be
11052   propagated to other tracks.
11053 </p>
11054
11055 <h2>Region Selection and Track Selection</h2>
11056
11057 <p>
11058   Please read
11059   <a href="/working-with-tracks/selecting-tracks/region-and-track-selection">Region &amp; Track Selection</a>
11060   for more information on how selecting regions and selecting tracks interact.
11061 </p>
11062
11063 <p class="fixme">Broken link</p>
11064
11065 <h2>Select a Region</h2>
11066
11067 <p>
11068   Confirm that you are using the
11069   <a href="/ardours-interface/introducing-the-editor-window/the-editing-toolbar/#object">Object tool</a>,
11070   then click on a region to select it. If
11071   <a href="/ardours-interface/introducing-the-editor-window/the-editing-toolbar/#smartmode">smart mode</a>
11072   is enabled, click in the lower half of the region.
11073 </p>
11074
11075 <h2>Deselect a Region</h2>
11076
11077 <p>
11078   Confirm you are using the
11079   <a href="/ardours-interface/introducing-the-editor-window/the-editing-toolbar/#object">Object tool</a>,
11080   then <kbd class="mouse mod1">Left</kbd>-click the region. If
11081   <a href="/ardours-interface/introducing-the-editor-window/the-editing-toolbar/#smartmode">smart mode</a>
11082   is enabled, click in the lower half of the region.
11083 </p>
11084
11085 <p>
11086   Note that a <kbd class="mouse mod1">left</kbd> click simply toggles the
11087   selected status of an object, so it can be used to select unselected regions
11088   too.
11089 </p>
11090
11091 <h2>Select Multiple Regions in a Track</h2>
11092
11093 <p>Do one of the following:</p>
11094
11095 <ul>
11096   <li><kbd class="mouse mod1">Left</kbd>-click each region, or</li>
11097   <li>
11098     drag a rubberband box from an empty point in a track before the first
11099     region you wish to select to a point within or after the last region
11100     you wish to select (you can <kbd class="mouse mod1">left</kbd>-drag to do this
11101     multiple times), or,
11102   </li>
11103   <li>
11104     if the regions are all adjacent to one another, click the first region
11105     you wish to select, then <kbd class="mouse mod3">Left</kbd>-click the last
11106     region you wish to select.
11107   </li>
11108 </ul>
11109
11110 <h2>Select All Regions in a Track</h2>
11111
11112 <p>
11113   Context-click the track, and in the context menu, navigate to
11114   <kbd class="menu">Select &gt; Select All In Track</menu>.
11115 </p>
11116
11117 <p>
11118   See the <a href="/working-with-tracks/the-track-context-menu">Track Context Menu</a>
11119   for more information on other per-track selection operations that are available.
11120 </p>
11121
11122 <p class="fixme">Broken link</p>
11123
11124 <h2>Select Multiple Regions Across Different Tracks</h2>
11125
11126 <p>
11127   <kbd class="mouse mod1">Left</kbd>-click or <kbd class="mouse
11128   mod3">Left</kbd>-click the regions you wish to select.
11129 </p>
11130
11131 <h2>Select a Region From the Region List</h2>
11132
11133 <p>
11134   Click the name of the region in the
11135   <a href="/ardours-interface/introducing-the-editor-window/editor-lists/region-list/">Region List</a>.
11136   Note that this will do nothing for whole-file regions, since they do not exist
11137   anywhere in a playlist or track.
11138 </p>
11139
11140
11141 ---
11142 title: Editing Regions and Selections
11143 part: chapter
11144 ---
11145
11146 ---
11147 title: Trimming Regions
11148 part: subchapter
11149 ---
11150
11151 <p class="fixme">Add images, description of mouse cursor changes that signal this type of editing</p>
11152
11153 <p>
11154   Changing the <dfn>length</dfn> of a region is a very common editing
11155   operation, often known as <dfn>trimming</dfn>. There are several ways
11156   to accomplish this with Ardour, and some very useful specialized trimming
11157   operations.
11158 </p>
11159
11160 <h2>Drag-Trimming With the Mouse</h2>
11161
11162 <p>
11163   In object mode, move the pointer near the beginning or end of the region.
11164   The cursor will change to indicate that trimming is possible, and you then
11165   <kbd class="mouse">Left</kbd>-drag the edge of the region.
11166 </p>
11167
11168 <p>
11169   Trimming will obey <a href="/editing-and-arranging/snap-to-the-grid/">Snap settings</a>.
11170 </p>
11171
11172 <h2>Click Trimming With the Mouse</h2>
11173
11174 <p>
11175   <kbd class="mouse">Left</kbd>-click in the colored bar at the bottom of a region.
11176   If you are nearer to the start of a region, this will trim the start time to the
11177   position of the pointer. If you are nearer to the end of a region, it will trim the
11178   end time.
11179 </p>
11180
11181 <h2>Keyboard Shortcuts for Trimming</h2>
11182 <p>
11183   There are several commands for region trimming. Some use the
11184   <a href="/editing-and-arranging/edit-point">edit point</a> to determine where
11185   to trim to. Some are not bound to any keys by default (but could be via the
11186   Keybindings Editor).
11187 </p>
11188
11189 <dl class="wide-table">
11190   <dt><kbd class="menu">Region/trim-front</kbd> <kbd>j</kbd></dt>
11191   <dd>Trim selected region(s) start to edit point.</dd>
11192   <dt><kbd class="menu">Region/trim-end</kbd> <kbd>k</kbd></dt>
11193   <dd>Trim selected region(s) end to edit point.</dd>
11194 </dl>
11195
11196 <h2 id="trimtonextprevious">Trim to Next/Previous Region</h2>
11197
11198 <p>
11199   Sometimes you just want to extend the start or end of region so that it reaches
11200   the end or start of an adjacent region. There is now an operation accessible
11201   from the region context menu, under <kbd class="menu">Edit &gt;Trim &gt; Trim to
11202   Next</kbd> or <kbd class="menu">Edit &gt; Trim &gt; Trim to Previous</kbd>. This
11203   will extend the selected regions so they directly adjoin their neighbours, unless
11204   their source files are not long enough, in which case they will be extended to the
11205   maximum possible. Trim to Next will extend the end of the selected regions to the
11206   start of the next region; Trim to Previous will extend the start of the selected
11207   regions to the end of the previous region.
11208 </p>
11209
11210 <dl class="wide-table">
11211   <dt><kbd class="menu">Region/trim-to-previous-region</kbd> <kbd class="mod1">j</kbd></dt>
11212   <dd>Trim the start of selected region(s) to the end of the previous
11213   region.</dd>
11214   <dt><kbd class="menu">Region/trim-to-next-region</kbd> <kbd class="mod1">k</kbd></dt>
11215   <dd>Trim the end of selected region(s) to the start of the following
11216   region.</dd>
11217 </dl>
11218
11219 <h2>Other Possible Commands for Trimming</h2>
11220
11221 <p>
11222   These are not bound to any keys by default, but could be via the Keybindings
11223   Editor. They can also be sent via OSC or other control protocols.
11224 </p>
11225
11226 <dl class="wide-table">
11227   <dt><kbd class="menu">Region/trim-region-to-loop</kbd></dt>
11228   <dd>Trim region to match the current loop range.</dd>
11229   <dt><kbd class="menu">Region/trim-region-to-punch</kbd></dt>
11230   <dd>Trim region to match the current punch range.</dd>
11231 </dl>
11232
11233 ---
11234 title: Push/Pull Trimming
11235 part: subchapter
11236 ---
11237
11238 <p>
11239   Normally, when you trim regions by dragging with the mouse, it affects
11240   only the selected regions. Their lengths are directly affected by the
11241   trim operation, but nothing else is. Sometimes though, you might like
11242   to trim a region that directly adjoins another, and keep this relationship
11243   the same&mdash;you are not trying to make one of the regions extend
11244   over the other&mdash;you would like the junction to move in one
11245   direction or the other as part of the trim. This requires trimming both
11246   regions on either side of the junction, in opposite directions.
11247   <dfn>Push/Pull trim</dfn>, activated by pressing shift key before
11248   starting the drag, will do just that. Here's a few pictures to show the
11249   difference in the results of a normal trim and push/pull trim. First,
11250   the initial situation:
11251 </p>
11252
11253 <p class="center"><img src="/images/a3_before_trim.png" alt="region arrangement before trim" /></p>
11254
11255 <p>
11256   Here is what happens after we trim the right hand (selected) region by
11257   dragging its starting position earlier:
11258 </p>
11259
11260 <p class="center"><img src="/images/a3_after_trim.png" alt="region arrangement after a trim" /></p>
11261
11262 <p>
11263   You can see that it now overlaps the earlier region and a crossfade has
11264   been created between them.
11265 </p>
11266
11267 <p>
11268   Lets look now at what happens if we do the same trim, but <kbd
11269   class="mouse mod3">Left</kbd>-dragging to turn it into a push-pull trim instead:
11270 </p>
11271
11272 <p class="center"><img src="/images/a3_after_push_trim.png" alt="region arrangement after a push trim" /></p>
11273
11274 <p>
11275   There is no overlap, and the end of the earlier region has been moved
11276   along with the start of the later region, so that they still directly
11277   adjoin each other.
11278 </p>
11279
11280 ---
11281 title: Separate Under
11282 part: subchapter
11283 ---
11284
11285 <p>
11286   You may have a situation where you have positioned one region over another,
11287   and you just want to cut the lower region so that it directly adjoins both
11288   ends of the overlapping one, with no overlaps. To do this, select the upper
11289   region, then choose <kbd class="menu">Edit &gt; Separate &gt; Separate
11290   Under</kbd>. This will split the lower region so that it no longer overlaps
11291   the upper region at all.
11292 </p>
11293
11294 <p>
11295   Here is an example where we start with a short region placed so that it
11296   overlaps a longer region:
11297 </p>
11298
11299 <p class="center"><img src="/images/a3_before_separate_under.png" alt="region arrangement before separate under" /></p>
11300
11301 <p>
11302   When we perform the <dfn>Separate Under</dfn> edit, the lower region splits
11303   in two, with boundaries exactly positioned at the edges of the upper region:
11304 </p>
11305
11306 <p class="center"><img src="/images/a3_after_separate_under.png" alt="region arrangement after separate under" /></p>
11307
11308 <p>
11309   If the upper region covers only one end of the lower region, then this
11310   operation is equivalent to
11311   <a href="/editing-and-arranging/change-region-lengths/#trimtonextprevious">Trim to Next/Previous Region</a>, depending on which end is covered.
11312 </p>
11313
11314 ---
11315 title: Separate Range
11316 part: subchapter
11317 ---
11318
11319 <p class="fixme">Add example with images; 1p &ge; 1,000w</p>
11320
11321 <p>
11322   A final new editing feature is an operation in the context menu of a
11323   range labeled <kbd class="menu">Separate Regions Under Range</kbd>.
11324   This splits any selected regions that are covered by the range at both
11325   ends of the range (or just one, if the range only covers part of the
11326   region). This makes it easy to generate regions that correspond
11327   precisely to a range.
11328 </p>
11329
11330 ---
11331 title: Strip Silence from Audio Regions
11332 menu_title: Stripping Silence
11333 part: subchapter
11334 ---
11335
11336 <p>
11337   From the region context menu, choose <kbd class="menu">Edit &gt; Strip
11338   Silence</kbd> to detect silence (based on a user-chosen threshold in
11339   <abbr title="Decibels relative to Full Scale">dBFS</abbr>), split a
11340   region based on the boundaries of the silent segments, and remove the
11341   silence. You can also specify a minimum length for silence&mdash;useful
11342   when editing very percussive material and just needing to automatically trim
11343   the ends of a region. The dialog looks like this:
11344 </p>
11345
11346 <p class="center">
11347   <img src="/images/a3_strip_silence.png" alt="strip silence dialog" />
11348 </p>
11349
11350 <p>
11351   The edit applies to all selected regions, allowing batch processing.
11352   You can also see in the screenshot how the main editor window is used
11353   to show silent segments and report the number and durations of the
11354   shortest segments.
11355 </p>
11356
11357
11358 ---
11359 title: Fades and Crossfades
11360 part: chapter
11361 ---
11362
11363
11364 ---
11365 title: Create Region Fades and Crossfades
11366 part: subchapter
11367 ---
11368
11369 <p class="fixme">Add images--an image is worth more than 1,000 words</p>
11370
11371 <p>
11372   Every Region has a fade-in and fade-out. By default, the region fade
11373   is very short, and serves to de-click the transitions at the start and
11374   end of the region. By adjusting the regions fade length, a more
11375   gradual transition can be accomplished.
11376 </p>
11377
11378 <h2>Region Fades</h2>
11379
11380 <p>
11381   <dfn>Region fades</dfn>  are possible at the beginning and end of
11382   all audio regions. In object mode, a grip appears at the top left and
11383   top right of an audio region when the cursor hovers over it. Placing
11384   the cursor over the top of the grip displays the region fade cursor
11385   tip. Click and drag the grip left or right in the timeline to
11386   adjust the length of the fade.
11387 </p>
11388
11389 <h2>Crossfades</h2>
11390
11391 <p>
11392   <dfn>Crossfades</dfn> refer to the behavior when you want to make
11393   a smooth transition (mix) from one audio region to another on the same
11394   track. Historically, this was done by splicing 2 pieces of analog
11395   tape together, and this concept was carried forward into digital
11396   editing. Each track is a sequence of sound files (regions). If
11397   two regions are butted against each other, there needs to be a method
11398   to splice them smoothly together. The crossfade allows one region
11399   to fade smoothly out, while the next region fades smoothly in, like 2
11400   pieces of tape that have been cut at and angle, and overlapped.
11401 </p>
11402
11403 <p>
11404   But Ardour uses a more refined "layered" editing model, and
11405   therefore it is possible for multiple regions to be stacked on a single
11406   location with arbitrary overlaps between different layers. For
11407   this reason, crossfades must be implemented differently. We can't
11408   assume that a crossfade is an entitry that exists between 2 regions;
11409   instead each region must have its own associated crossfades at each
11410   end, and the topmost region must always crossfade down to the
11411   underlying region(s), if any.
11412 </p>
11413
11414 <p>
11415   Ardour solves this problem by putting a crossfade at the beginning
11416   and end of every region. The fades of the bottom-most region are
11417   first rendered, and then each region is rendered on top of the one
11418   below it, with fades at the end of each region providing a crossfade to
11419   the region(s) beneath it.
11420 </p>
11421
11422 <p>
11423   It is important to understand that region fades <em>are</em> crossfades. When one region has
11424   another region or multiple regions beneath its fade area, then you will
11425   hear the topmost region fade-out be mirrored as a fade-in on the
11426   underlying region(s). The grip for the topmost region will allow
11427   changing the length and type of the crossfade into the underlying
11428   region(s). In this way you can create a complicated series of
11429   crossfades, and then layer another region atop the others, and fade
11430   into <em>that</em> complicated series.
11431 </p>
11432 <p class="fixme">An image here would probably help.</p>
11433
11434 <p>
11435   If a region doesn't have any region(s) under it, then the region is
11436   crossfaded to silence; for convenience we call this a "fade"
11437   rather than a crossfade.
11438 </p>
11439
11440 <h2>Fade Shapes</h2>
11441 <p>
11442   To activate/deactivate or change the shape of a region's fade-in or
11443   fade-out, hover the cursor over the region fade grip till the cursor tip
11444   indicates region fade editing and context-click to bring up a context
11445   menu. In the context menu there is a list of options for the
11446   region fade. <kbd class="menu">Activate/Deactivate</kbd> enables and
11447   disables the region fade.
11448 </p>
11449
11450 <p>
11451   Because each fade is also a crossfade, it has an inverse fade shape
11452   for the audio beneath the fade. It is important to know how the
11453   shapes differ, and which are most suitable for various editing tasks.
11454 </p>
11455
11456 <p>
11457   The different types of fades are:
11458 </p>
11459
11460 <dl class="narrower-table">
11461   <dt><kbd class="menu">Linear</kbd></dt>
11462   <dd>A simple linear coefficient decrease, and its mathematical inverse. A Linear fade starts attentuating quickly and then cuts off even more abruptly at lower levels. When used as a crossfade, the signals are each -6dB attenuated at the midpoint. This is the correct crossfade to use with highly-correlated signals for a smooth transition.</dd>
11463   <dt><kbd class="menu">Constant Power</kbd></dt>
11464   <dd>The constant power curve starts fading slowly and then cuts off abruptly. When used as a crossfade between 2 audio regions, the signals are symetrically attenuated, and they each reach -3dB at the midpoint. This is the correct crossfade to use when you want to splice audio in the general (uncorrelated) case.</dd>
11465   <dt><kbd class="menu">Symmetric</kbd></dt>
11466   <dd>The Symmetric fade starts slowly, then attenuates significantly before transitioning to a slower fade-out near the end of the fade. When used as a crossfade, the Symmetric curve is not mathematically correct like the Equal Power or Linear curves, but it provides a slower fade-out at low volumes. This is sometimes useful when editing two entire works of music together so that the transition is more gradual.</dd>
11467   <dt><kbd class="menu">Fast</kbd></dt>
11468   <dd>The Fast curve is a linear decibel fade; It sounds like a perfectly smooth fader or knob moved to silence. This shape is excellent as a general-purpose fade-in. When used as a crossfade, the inverse fade curve maintains constant power but is therefore non-symmetric; so its use is limited to those cases where the user finds it appropriate.</dd>
11469   <dt><kbd class="menu">Slow</kbd></dt>
11470   <dd>The Slow curve is a modified linear decibel fade. The initial curve starts more gradually so that it has a less abrupt transition near unity. After that, it sounds like a perfectly smooth fader or knob moved to silence. This shape is excellent as a general-purpose fade-out. When used as a crossfade, the inverse fade curve maintains constant power but is therefore non-symmetric; so its use is limited to those cases where the user finds it appropriate.</dd>
11471 </dl>
11472
11473 <p>
11474   Although these fade shapes serve specific purposes, any of the shapes is usable in certain situations. The final decision is an artistic choice rather than a rigidly prescribed one.
11475 </p>
11476
11477 <p>
11478   These fade curves are developed to provide a range of common uses, and
11479   are developed with the least possible amount of changes in the "slope"
11480   of the line. This provides artifact-free crossfades. Some
11481   DAWs provide complicated fade editors with parametric "spline" controls
11482   of the fade curves. While it might be interesting to develop a
11483   fade curve with a faster cutoff, the mathematical difference between
11484   this and simply shortening the fade is vanishingly small; the
11485   amount of effort to shorten the fade is much easier than fooling around with a
11486   crossfade editor dialog.
11487 </p>
11488
11489
11490 ---
11491 title: Playlists
11492 part: chapter
11493 ---
11494
11495
11496 ---
11497 title: Understanding Playlists
11498 part: subchapter
11499 ---
11500
11501 <p>
11502   A <dfn>playlist</dfn> is a list of regions ordered in time. It defines
11503   which parts of which source files should be played and when.  Playlists
11504   are a fairly advanced topic, and can be safely ignored for many types
11505   of audio production. However, the use of playlists allows the audio
11506   engineer more flexibility for tasks like multiple takes of a single
11507   instrument, alternate edits of a given recording, parallel effects such
11508   as reverb or compression, and other tasks.
11509 </p>
11510 <p>
11511   Each audio <dfn>track</dfn> in Ardour is really just a mechanism for
11512   taking a playlist and generating the audio stream that it represents.
11513   As a result, editing a track really means modifying its playlist in
11514   some way. Since a playlist is a list of regions, most of the
11515   modifications involve manipulating regions: their position, length
11516   and so forth. This is covered in the chapter
11517   <a href="/working-with-regions/">Working With Regions</a>.<br />
11518   Here, we cover some of the things you can do with playlists as objects
11519   in their own right.
11520 </p>
11521
11522 <h2>Tracks are not Playlists</h2>
11523 <p>
11524   It is important to understand that a track <em>is not</em> a playlist.
11525   A track <em>has</em> a playlist. A track is a mechanism for generating
11526   the audio stream represented by the playlist and passing it through a
11527   signal processing pathway. At any point in time, a track has a single
11528   playlist associated with it. When the track is used to record, that
11529   playlist will have one or more new regions added to it. When the track
11530   is used for playback, the contents of the playlist will be heard.
11531   You can change the playlist associated with a track at (almost) any
11532   time, and even share playlists between tracks.
11533 </p>
11534
11535 <p>
11536   If you have some experience of other
11537   <abbr title="Digital Audio Workstation">DAW</abbr>s, then you might
11538   have come across the term <dfn>"virtual track"</dfn>, normally defined as a track
11539   that isn't actually playing or doing anything, but can be
11540   mapped/assigned to a real track. This concept is functionally
11541   identical to Ardour's playlists. We just like to be little more
11542   clear about what is actually happening rather than mixing old and
11543   new terminology ("virtual" and "track"), which might be confusing.</p>
11544
11545 <h2>Playlists are Cheap</h2>
11546
11547 <p>
11548   One thing you should be clear about is that playlists are cheap. They
11549   don't cost anything in terms of CPU consumption, and they have very
11550   minimal efforts on memory use. Don't be afraid of generating new
11551   playlists whenever you want to. They are not equivalent to tracks,
11552   which require extra CPU time and significant memory space, or audio
11553   files, which use disk space, or plugins that require extra CPU time.
11554   If a playlist is not in use, it occupies a small amount of memory, and
11555   nothing more.
11556 </p>
11557
11558 ---
11559 title: Playlist Operations
11560 part: subchapter
11561 ---
11562
11563 <p>
11564   In the track header (editor window, left pane) is a button labelled <kbd
11565   class="menu">p</kbd> (for "Playlist"). If you click on this button, Ardour
11566   displays the following menu:
11567 </p>
11568
11569 <dl class="wide-table">
11570   <dt>(Local Playlists)</dt>
11571    <dd>Shows all of the playlists associated with this track, and indicates
11572    the currently selected playlist</dd>
11573   <dt>Rename</dt>
11574   <dd>Displays a dialog to rename the current playlist</dd>
11575   <dt>New</dt>
11576   <dd>Creates a new empty playlist, and the track switches to the new playlist</dd>
11577   <dt>New Copy</dt>
11578   <dd>Creates a new playlist that is a copy of the current playlist; the track switches to the new playlist</dd>
11579   <dt>Clear Current</dt>
11580   <dd>Removes all regions from the current playlist</dd>
11581   <dt>Select From All</dt>
11582   <dd>Displays a playlist browser to manually choose which playlist this track should use. (You can even select playlists from other tracks here)</dd>
11583 </dl>
11584
11585 <h2>Renaming Playlists</h2>
11586
11587 <p>
11588   Playlists are created with the name of the track of which they are
11589   associated, plus a version number. So, the first playlist for a track
11590   called "Cowbell" will be called <samp>Cowbell.1</samp>. This name will
11591   be used to define the names of any regions added to the playlist by
11592   recording. You can change the name at any time, to anything you want.
11593   Ardour does not require that your playlist names are all unique, but it
11594   will make your life easier if they are. Suggested examples of user-assigned
11595   names for a playlist might include <kbd class="input">Lead Guitar, 2nd
11596   take</kbd>, <kbd class="input">vocals (quiet)</kbd>,
11597   and <kbd class="input">downbeat cuica</kbd>. Notice how these might be
11598   different from the associated track names, which for these examples might
11599   be <kbd class="input">Lead Guitar</kbd>,
11600   <kbd class="input">Vocals</kbd> and <kbd class="input">Cuica</kbd>. The
11601   playlist name provides more information because it is about a specific
11602   version of the material that may (or may not) end up in the final version
11603   of the track.
11604 </p>
11605
11606 <p>
11607   If you are going to rename your playlists, do so before recording new
11608   material to them.
11609 </p>
11610
11611 <p class="fixme">
11612   It appears that recorded regions are not named after the playlist, but
11613   after the track.
11614 </p>
11615
11616 <h2>Sharing Playlists</h2>
11617
11618 <p>
11619   It is entirely possible to <dfn>share playlists</dfn> between tracks. The only
11620   slightly unusual thing you may notice when sharing is that edits to the
11621   playlist made in one track will magically appear in the other. If you
11622   think about this for a moment, its an obvious consequence of sharing.
11623   One application of this attribute is parallel processing, described
11624   below.
11625 </p>
11626
11627 <p>
11628   You might not want this kind of behaviour, even though you still want
11629   two tracks to use the same (or substantially the same) playlist. To
11630   accomplish this, select the chosen playlist in the second track, and
11631   then use New Copy to generate an <dfn>independent copy</dfn> of it for
11632   that track. You can then edit this playlist without affecting the original.
11633 </p>
11634
11635 ---
11636 title: Playlist Usecases
11637 part: subchapter
11638 ---
11639
11640 <h3>Using Playlists for Parallel Processing</h3>
11641
11642 <p>
11643   One of the uses of playlists is to apply multiple effects to the same
11644   audio stream. For example, let's say you would like to apply two
11645   different non-linear effects such as distortion or compression to the
11646   same audio source (for linear effects, you could just apply them one after
11647   the other in the same track).<br />
11648   Create a new track, apply the original track's playlist, and
11649   then apply effects to both tracks independently.
11650 </p>
11651
11652 <p class="note">
11653   The same result could be achieved by feeding your track to multiple busses which
11654   then contain the processing, but this increases the overall latency,
11655   complicates routing and uses more space in the Mixer window.
11656 </p>
11657
11658 <h2>Using Playlists for "Takes"</h2>
11659
11660 <p>
11661   Using Playlists for <dfn>takes</dfn> is a good solution if you are going
11662   to need the ability to edit individual takes, and select between them.
11663 </p>
11664
11665 <p>
11666   Each time you start a new take, create a new playlist with
11667   <kbd class="menu">p &gt; New</kbd>
11668   Later, you can Select your way back to previous or later takes as
11669   desired.
11670 </p>
11671
11672 <p>
11673   If you want to create a composite edit from multiple takes, create a new
11674   track to assemble the final version, and "cherry pick" from the playlists
11675   in the original track by copying regions over as required.
11676 </p>
11677
11678 <p>
11679   Alternatively, record each successive take on top of the
11680   others in "layers" and then edit them using the layer tools, explained
11681   later.
11682 </p>
11683
11684 <h2>Using Playlists for Multi-Language Productions</h2>
11685
11686 <p>
11687   The same approach as for takes is useful when you are recording or
11688   editing content in multiple versions, such as dubbed movie dialog in
11689   several languages, and you want all versions on the same track, to
11690   get the same processing. <br />
11691   Select the appropriate language before exporting the session.
11692 </p>
11693
11694
11695 ---
11696 title: Rhythm Ferret
11697 part: chapter
11698 ---
11699
11700
11701
11702
11703 ---
11704 title: MIDI
11705 part: part
11706 ---
11707
11708
11709 ---
11710 title: MIDI Editing
11711 part: chapter
11712 ---
11713
11714
11715 ---
11716 title: Edit MIDI
11717 part: subchapter
11718 ---
11719
11720 <p>
11721   Ardour's handling of <dfn><abbr title="Musical Instrument Digital Interface">MIDI</abbr> editing</dfn> differs from most other <abbr title="Digital Audio Workstation">DAW</abbr>s and MIDI sequencers.
11722 </p>
11723
11724 <h2>Key features of Ardour MIDI handling</h2>
11725
11726 <ul>
11727   <li>
11728     All editing is done in-place, in-window. There is no separate piano roll window or pane. Edit notes right where you see them.
11729   </li>
11730   <li>
11731     All MIDI I/O is done via <abbr title="Jack Audio Connection Kit">JACK</abbr> for sample accurate timing and maximal efficiency when communicating with external software synthesizers.
11732   </li>
11733   <li>
11734     Every MIDI track has its own JACK 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.
11735   </li>
11736   <li>
11737     Full automation for MIDI tracks, integrated with the handling of all MIDI <abbr title="Continuous Controller">CC</abbr> data for each track.
11738   </li>
11739   <li>
11740     Controllers (CC data) can be set to discrete or continuous modes (the latter will interpolate between control points and send additional data).
11741   </li>
11742   <li>
11743     There is a <em>Normal</em> and a <em>Percussive</em> mode for note data editing.
11744   </li>
11745   <li>
11746     The <dfn>scroomer</dfn> is a combination scroll/zoom tool for altering
11747     the zoom level and range of visible MIDI data.
11748   </li>
11749 </ul>
11750
11751 <h2>Notable Differences</h2>
11752
11753 <ul>
11754   <li>
11755     Fader (volume) control currently operates on transmitted MIDI data, not by sending CC #7.
11756   </li>
11757   <li>
11758     All note/data editing is per-region. There are no cross-region operations at this time.
11759   </li>
11760   <li>
11761     By default, copying a MIDI region creates a <dfn>deep link</dfn>&mdash;both regions share the same data source, and edits to the contents of one will affect the other. To break this link, select <kbd class="menu">MIDI &gt; Unlink from other copies</kbd> from the region context menu, after which the selected region(s) will have their own copies of <em>only</em> the data that they visually display on screen. You will not be able to trim the region back its original length after an Unlink operation, and the operation cannot be undone.
11762   </li>
11763 </ul>
11764
11765 ---
11766 title: Fundamental Concepts
11767 part: subchapter
11768 ---
11769
11770 <p class="fixme">Check to see if this is still true for v5</p>
11771
11772 <p>Ardour's MIDI editing is based on two basic principles:</p>
11773
11774 <ol>
11775   <li>Editing should be done without having to enter a new window</li>
11776   <li>
11777     Editing should be able to carried out completely with the keyboard,
11778     or completely with the mouse, or with any combination of the two.
11779   </li>
11780 </ol>
11781
11782 <p>
11783   Currently,  MIDI editing is primarily restricted to note data. Other
11784   kinds of data (controller events, sysex data) are present and can be
11785   added and deleted, but not actually edited.
11786 </p>
11787
11788 <h2>Fundamentals of MIDI Editing in Ardour 3</h2>
11789
11790 <p>
11791   MIDI, just like audio, exists in <dfn>regions</dfn>. MIDI regions
11792   behave like audio regions: they can be moved, trimmed, copied (cloned),
11793   or deleted. Ardour allows either editing MIDI (or audio) regions, or MIDI
11794   region content (the notes), but never both at the same time. The
11795   <kbd>e</kbd> key (by default) toggles between <dfn>region level</dfn>
11796   and <dfn>note level</dfn> editing, as will double-clicking on a MIDI region.
11797 </p>
11798
11799 <p class="note">
11800   One very important thing to note: editing note information in Ardour
11801   occurs in only a single region. There is no way currently to edit in note
11802   data for multiple regions at the same time, so for example you cannot select
11803   notes in several regions and then delete them all, nor can you copy-and-paste
11804   notes from one region to another. You can, of course, copy and paste the
11805   region(s), just as with audio.
11806 </p>
11807
11808 ---
11809 title: Create MIDI Tracks
11810 part: subchapter
11811 ---
11812
11813 <p>
11814   To create a new <dfn>MIDI track</dfn>, choose <kbd class="menu">Session &gt;
11815   Add Track/Bus</kbd>. In the Add Track/Bus dialog, pick <kbd class="menu">MIDI
11816   Track</kbd> from the combo selector at the upper right.
11817 </p>
11818
11819 <p>
11820   You may decide to use a track template if you have one. You may also know the instrument (a plugin that will generate audio in response to receiving MIDI) that you want to use in the track. The Instrument selector will show you a list of all plugins that you have which accept MIDI input and generate audio output.
11821 </p>
11822
11823 <p class="fixme">Remove "you" language</p>
11824
11825 ---
11826 title: Create MIDI Regions
11827 part: subchapter
11828 ---
11829
11830 <p>
11831   Although recording MIDI is a common way to create new MIDI regions, it is
11832   often desirable to do so as part of editing/arranging.
11833 </p>
11834
11835 <p>
11836   To create a new MIDI region, simply <kbd class="mouse">Left</kbd>-click in
11837   a MIDI track. A region will be created that is one bar long. It can
11838   <a href="/editing-and-arranging/changing-region-lengths">trimmed</a> to any
11839   length desired.
11840 </p>
11841
11842 <p class="fixme">Broken link</p>
11843
11844 <p>
11845   Once a region has been created, <a href="/editing-and-arranging/edit-midi/add-new-notes">notes can be added</a> to it.
11846 </p>
11847
11848 ---
11849 title: Add New Notes
11850 part: subchapter
11851 ---
11852
11853 <h2>Adding new notes</h2>
11854
11855 <p>
11856   In general, most MIDI editing will be done with the mouse in object mode. This allows selecting notes, copying, moving or deleting them and altering their properties (see below). <em>Adding</em> notes to a MIDI region using the mouse requires dragging with the mouse if they are to be anything other than a fixed length. Since this would normally be a selection operation if the mouse is in object mode, there needs to be some way to tell Ardour to <dfn>draw</dfn> new notes within a MIDI region. Ardour provides two ways do this: one is to leave the mouse in object mode and <kbd class="mouse mod1">Left</kbd>-drag; the other, useful if entering a lot of notes for a while, is to switch the mouse into <kbd class="menu">Draw Notes</kbd> mode, which will now interpret any drags and clicks as requests to add a new note. For obvious reasons, Draw Notes mode cannot be used while using region-level editing.
11857 </p>
11858
11859 <p>So, to summarize:</p>
11860
11861 <dl class="wide-table">
11862   <dt>Selecting, moving, copying, trimming, deleting <em>regions</em></dt>
11863   <dd>
11864     leave <kbd class="menu">Note Level Editing</kbd> disabled, use object,
11865     range or other mouse modes
11866   </dd>
11867   <dt>Selecting, moving, copying trimming, deleting <em>notes</em></dt>
11868   <dd>enable <kbd class="menu">Note Level Editing</kbd>and use mouse object mode</dd>
11869   <dt>Adding new notes</dt>
11870   <dd>
11871     enable "Note Level Editing" and then either
11872     <ul>
11873       <li>use mouse object mode and <kbd class="mouse mod1">Left</kbd>-drag,
11874       or</li>
11875       <li>use mouse draw mode.</li>
11876     </ul>
11877   </dd>
11878 </dl>
11879
11880 <!-- FIXME: This is needed to keep the table from sucking up the following note's styling. Probably need a fix in the CSS. -->
11881 <p>&nbsp;</p>
11882
11883 <p class="note">
11884   It is also a <a href="/editing-and-arranging/edit-midi/step-entry">a step entry editor</a> allowing entry of notes from a virtual keyboard, and lots more besides.
11885 </p>
11886
11887 ---
11888 title: Change Note Properties
11889 part: subchapter
11890 ---
11891
11892 <p>
11893   Details about a selected note can be viewed by context-clicking on it. The
11894   dialog that pops up will also allow modification of all the properties of the
11895   selected note(s). Individual properties can be modified more efficiently using
11896   the techniques described below:
11897 </p>
11898
11899 <dl>
11900   <dt>Moving notes</dt>
11901   <dd>
11902     Right arrow and Left arrow move the selected note(s) early and later in time.
11903   </dd>
11904   <dt>Changing pitch values</dt>
11905   <dd>
11906     <kbd>&uarr;</kbd> increases the pitch of the selected notes.<br />
11907     <kbd>&darr;</kbd> reduces the pitch of the selected notes.<br />
11908     If any of the selected notes are already at the maximum or minimum value,
11909     no changes will be made to any of the notes, to preserve relative pitches.
11910     This can be overridden with <kbd class="mod2">&zwnj;</kbd>. The default shift
11911     distance is one semitone. Use <kbd class="mod3">&zwnj;</kbd> to alter this to
11912     one octave.
11913   </dd>
11914   <dt>Changing velocity values</dt>
11915   <dd>
11916     <kbd class="mod1">&uarr;</kbd> increases the velocity of the selected notes.
11917     <br/>
11918     <kbd class="mod1">&darr;</kbd> reduces the velocity of the selected
11919     notes.<br />
11920     If any of the selected notes are already at the maximum or minumum value,
11921     no changes will be made to any of the notes, to preserve relative velocities.
11922     This can be overridden with <kbd class="mod2">&zwnj;</kbd>.
11923     Presssing <kbd>v</kbd> will popup a dialog that will allow the setting of
11924     the absolute velocity value of each selected note. Finally, the scroll wheel
11925     <kbd class="mouse">&uArr;</kbd> <kbd class="mouse">&dArr;</kbd> will also
11926     adjust notes in the same way as the arrow keys.
11927     <p class="note">Like the arrow keys, it only affects selected notes, not the note the pointer is over.</p>
11928   </dd>
11929   <dt>Changing channel</dt>
11930   <dd>
11931     Press <kbd>c</kbd> to bring up a dialog that allows viewing and altering the
11932     MIDI channel of the selected notes. If the selected notes use different
11933     channels, they will all be forced to the newly selected channel.
11934   </dd>
11935   <dt>Changing start/end/duration</dt>
11936   <dd>
11937     <kbd>,</kbd> (comma) will alter the start time of the note. <br />
11938     <kbd>.</kbd> (period) will alter the end time of the note. Both keys will by
11939     default make the note longer (either by moving the start earlier or the end
11940     later). For the opposite effect, use <kbd class="mod1">,</kbd>/<kbd
11941     class="mod1">.</kbd>. The note will be altered by the current grid setting.
11942     To change the start/end positions by 1/128th of a beat, use the <kbd
11943     class="mod2">&zwnj;</kbd> modifier in addition to these shortcuts.
11944   </dd>
11945   <dt>Quantization</dt>
11946   <dd>
11947     <kbd>q</kbd> will quantize the selected notes using the current quantize
11948     settings. If the quantize settings have not been set for this session yet,
11949     the quantize dialog will appear. <kbd class="mod2">q</kbd> will display the
11950     quantize dialog to allow resetting of the quantize settings, and then
11951     quantize the selected notes. The default quantize settings are: quantize
11952     note starts to the current grid setting, no swing, no threshold, full
11953     strength.
11954   </dd>
11955   <dt>Step Entry, Quantize etc.</dt>
11956   <dd><em>missing</em></dd>
11957 </dl>
11958
11959 <p class="fixme">Add missing content</p>
11960
11961 ---
11962 title: Handling Overlapping Notes
11963 menu_title: Overlapping Notes
11964 part: subchapter
11965 ---
11966
11967 <p>
11968   Every MIDI note consists of two messages, a NoteOn and a NoteOff. Each one
11969   has a note number and a channel (also a velocity, but that isn't relevant
11970   here). The MIDI standard stresses that it is invalid to send a second NoteOn
11971   for the same note number on the same channel before a NoteOff for the first
11972   NoteOn. It is more or less impossible to do this with a physical MIDI
11973   controller such as a keyboard, but remarkably easy to trigger when editing
11974   in a DAW&mdash;simply overlapping two instances of the same note will do it.
11975 </p>
11976
11977 <p>
11978   Ardour offers many options for how to deal with instances where you overlap
11979   two instances of the same note. Which one to use is a per-session property
11980   and can be modified from <kbd class="menu">Session &gt; Properties &gt; Misc &gt; MIDI
11981   Options</kbd>.
11982 </p>
11983
11984 <dl class="wide-table">
11985   <dt>never allow them</dt>
11986   <dd>Edits that would create note overlaps are not allowed</dd>
11987   <dt>don't do anything in particular</dt>
11988   <dd>Ardour leaves overlapping notes alone&mdash;the behaviour of a MIDI receiver (plugin or hardware) is undefined</dd>
11989   <dt>replace any overlapped existing note</dt>
11990   <dd>When one note is moved to overlap another, remove the one that wasn't being moved</dd>
11991   <dt>shorten the overlapped existing note</dt>
11992   <dd>When one note is moved to overlap another, shorten the one that wasn't moved so that there is no overlap</dd>
11993   <dt>shorten the overlapping new note</dt>
11994   <dd>When one note is moved to overlap another, shorten the one that was moved so that there is no overlap</dd>
11995   <dt>replace both overlapping notes with a single note</dt>
11996   <dd>When one note is moved to overlap another, merge them both to form one (longer) note</dd>
11997 </dl>
11998
11999 <p>
12000   Changing the option in use will not retroactively make changes&mdash;it will
12001   only affect new note overlaps created while the option remains chosen.
12002 </p>
12003
12004 <p class="warning">
12005   Ardour does not check for note overlaps across tracks or even across regions.
12006   If you create these, it is your responsibility to deal with the consequences.
12007 </p>
12008
12009 ---
12010 title: Note Cut, Copy and Paste
12011 part: subchapter
12012 ---
12013
12014 <p>
12015   While in note edit mode, selected notes can be cut using
12016   <kbd class="mod1">x</kbd>, copied with <kbd class="mod1">c</kbd> and
12017   deleted with <kbd>Delete</kbd>, just as regions can. Once cut or
12018   copied, they can be pasted at the edit point using
12019   <kbd class="mod1">v</kbd>.
12020 </p>
12021
12022 ---
12023 title: Note Selection
12024 part: subchapter
12025 ---
12026
12027 <h2>Selecting/Navigating note-by-note</h2>
12028
12029 <p>
12030   Tab selects the next note. <kbd class="mod1">Tab</kbd> selects the previous
12031   note. <kbd class="mod3">Tab</kbd> or <kbd class="mod13">Tab</kbd> adds
12032   the next/previous note to the selection.
12033 </p>
12034
12035 <h2>Selecting notes with the mouse</h2>
12036
12037 <p>
12038   While in mouse object mode, you can click on a note to select it. Once you
12039   have selected one note, <kbd class="mouse mod3">Left</kbd>-click on another
12040   to select all notes between them. To add or remove a note to/from the
12041   selection, click <kbd class="mouse mod1">Left</kbd>. You can also click and
12042   drag outside of a note to <dfn>rubberband select</dfn> a series of notes.
12043 </p>
12044
12045 <p>
12046   Three different selection operations are possible if you switch to mouse
12047   range mode:
12048 </p>
12049
12050 <ul>
12051   <li>
12052     Vertical drags within the MIDI region will select all notes within the
12053     spanned note range.
12054   </li>
12055   <li>
12056     Clicks on the piano header of the track (if visible&mdash;the track must
12057     be tall enough to display it) will select all occurences of that note.
12058   </li>
12059   <li>
12060     Drags on the piano header of the track will select all notes within the
12061     spanned note range.
12062   </li>
12063 </ul>
12064
12065 <h2>Listening to Selected Notes</h2>
12066
12067 <p>
12068   If <kbd class="menu">Edit &gt; Preferences &gt; MIDI &gt; Sound MIDI notes
12069   as they are selected</kbd> is enabled, Ardour will send a pair of
12070   NoteOn/NoteOff messages through the track, which will typically allow you to
12071   hear each note as it is selected.
12072 </p>
12073
12074 ---
12075 title: Quantize MIDI
12076 part: subchapter
12077 ---
12078
12079 <p class="fixme">Needs fleshing out; this is a bit thin at the moment</p>
12080
12081 <p><img class="right" src="/images/a3_quantize.png" alt="quantize dialog" /></p>
12082
12083 <p>Accessed via <kbd>q</kbd>, the dialog includes:</p>
12084
12085 <ul>
12086   <li>Options for grid, legato and groove quantize</li>
12087   <li>Snap note start, or end</li>
12088   <li>Snap to current grid, or many beat subdivisions</li>
12089   <li>Quantize threshold (how far away from a chosen position a note must be in order to be quantized)</li>
12090   <li>Strength (how close to move a note to its new position, as a percentage of the nominal distance)</li>
12091   <li>Swing</li>
12092 </ul>
12093
12094 ---
12095 title: Step Entry
12096 part: subchapter
12097 ---
12098
12099 <p>
12100   Sometimes editing MIDI data directly from a connected MIDI device like a musical
12101   keyboard or pad controller is desired; sometimes using the mouse is. Sometimes
12102   the fine-grained control, precision and speed of entry that comes from using a
12103   custom note entry dialog is; the <dfn>Step Entry</dfn> dialog aims to be the
12104   latter.
12105 </p>
12106
12107 <p>
12108   The step entry dialog is accessed via a right click context menu on the
12109   rec-enable button, because step entry is related to <em>recording</em> MIDI
12110   data&mdash;step editing and recording MIDI via the track's MIDI port cannot be
12111   done simultaneously.
12112 </p>
12113
12114 <p class="center"><img src="/images/a3_step_entry.png" /></p>
12115
12116 <p>The dialog (closely modeled after Logic's) contains:</p>
12117
12118 <ul>
12119   <li>
12120     Chord entry switch (successive notes are stacked in a chord until
12121     it is released)</li>
12122   <li>Note length selectors</li>
12123   <li>Triplet toggle</li>
12124   <li>Normal, single, double and triple dotted note selectors</li>
12125   <li>Sustain button</li>
12126   <li>Buttons to:
12127     <ul>
12128      <li>Insert a rest of the current selected note duration</li>
12129      <li>Insert a rest of the current grid step size</li>
12130      <li>Move back to the last inserted note</li>
12131      <li>Move forward to the next beat, or bar</li>
12132      <li>Move forward to the edit point</li>
12133     </ul>
12134   </li>
12135   <li>Dynamics controls from pianississimo to fortississimo</li>
12136   <li>Channel selector</li>
12137   <li>
12138     Explicit numerical velocity selector, for more precise control
12139     than the dynamics selectors offer
12140   </li>
12141   <li>Octave selector</li>
12142   <li>Buttons to add bank or program change events</li>
12143   <li>a full 10 octave virtual keyboard</li>
12144 </ul>
12145
12146 <p>
12147   More or less all actions in the step entry dialog can be driven directly from
12148   the keyboard, so moving back and forth from keyboard to mouse to do complex data
12149   insertion is unnecessary.
12150 </p>
12151
12152 ---
12153 title: Patch Change
12154 part: subchapter
12155 ---
12156
12157 <p>
12158   A <dfn>patch change</dfn> is Ardour's description for a combination
12159   of MIDI program change and bank select messages, that (typically)
12160   instruct a synthesizer or sampler to select a different sound to use
12161   on a particular channel.
12162 </p>
12163
12164 <p>
12165   Patch changes are shown within MIDI regions as small rectangles or
12166   <dfn>flags</dfn>, as shown below:
12167 </p>
12168
12169 <p class="fixme">Add missing images</p>
12170
12171 <h2>Inserting Patch Changes</h2>
12172
12173 <p>
12174   Ensure that the
12175   <a href="/editing-and-arranging/edit-point">edit point</a> is
12176   located where the patch change should be (within an existing
12177   MIDI region). Context click, and from the MIDI region's context menu,
12178   select <kbd class="menu">MIDI &gt; Insert Patch Change</kbd>. A
12179   dialog will appear allowing the setting of the bank and program values.
12180 </p>
12181
12182 <h2>Modifying Patch Changes</h2>
12183
12184 <p>
12185   Context-clicking on a patch change will bring up the same dialog that
12186   was used to create it, allowing the modification of the program and/or bank
12187   numbers.
12188 </p>
12189
12190 <p>
12191   The mouse wheel can also be used: <kbd class="mouse">&uArr;</kbd>/<kbd
12192   class="mouse">&dArr;</kbd> on the patch change will alter the program
12193   number, <kbd class="mouse mod1">&uArr;</kbd>/<kbd
12194   class="mouse mod1">&dArr;</kbd> will modify the bank number.
12195 </p>
12196
12197 <h2>Moving Patch Changes</h2>
12198
12199 <p>
12200   Just <kbd class="mouse">Left</kbd>-drag on the patch change to move it
12201   around.
12202 </p>
12203
12204 <h2>Removing Patch Changes</h2>
12205
12206 <p>
12207   Put the mouse pointer into the rectangular area, and press <kbd>Del</kbd>
12208   or use the delete mouse button operation. This will remove the patch change
12209   (the operation can be undone).
12210 </p>
12211
12212 <h2>Names for Patch Numbers: MIDNAM files</h2>
12213
12214 <p>
12215   &hellip;mising&hellip;
12216 </p>
12217
12218 <p class="fixme">Add missing content</p>
12219
12220 ---
12221 title: Independent and Dependent MIDI Region Copies
12222 menu_title: Copy MIDI Region
12223 part: subchapter
12224 ---
12225
12226 <p>
12227   When <dfn>copying a MIDI region</dfn>, Ardour has to decide whether to make the
12228   copy refer to the same data as the original or not. If it does refer
12229   to the same data, then editing either the copy or the original will
12230   affect the both of them. If it refers to an independent copy of the
12231   data then each one can be edited without affecting the other.
12232 </p>
12233
12234 <h2>Changing dependent/independent copying for the entire session</h2>
12235
12236 <p>
12237   <kbd class="menu">Sesson &gt; Properties &gt; Misc &gt; MIDI region copies are
12238   independent</kbd> can be used to control the default behaviour when
12239   making a copy of a MIDI region.
12240 </p>
12241
12242 <p>
12243   When enabled, every new copy of a MIDI
12244   region results in a copy being made of the MIDI data used by the
12245   region, and the new copy of the region will refer to that data.
12246 </p>
12247
12248 <p>
12249   When disabled, every new copy of a MIDI region will refer to the same
12250   MIDI data, and thus editing any copy will change the contents of all
12251   of them.
12252 </p>
12253
12254 <p>
12255   Changing the status of this option has no effect on the existing
12256   dependent/independent status of existing region copies.
12257 </p>
12258
12259 <h2>Making an existing copy of a MIDI region independent</h2>
12260
12261 <p>
12262   Context-click on the MIDI region to be made independent. From the context menu, select <kbd class="menu">MIDI &gt; Unlink From Other Copies</kbd>. The copy is now using an independent version of the data, and edits to the copy will affect only the copy. Other linked copies will continue to share data.
12263 </p>
12264
12265 <p class="note">
12266   The copied data only covers the extent of the region when the copy is made. If the region was already trimmed and then a copy is made, an independent copy will have no access to data that is earlier or later than the bounds of the region it was copied from. Put differently, if an independent copy of a trimmed MIDI region is made, it cannot be "untrimmed" to a larger size.
12267 </p>
12268
12269 ---
12270 title: Automating MIDI - Pitch bending and aftertouch
12271 menu_title: Automating MIDI
12272 part: subchapter
12273 ---
12274
12275 <p>
12276   Adding pitch bending or aftertouch can add a lot of subtlety to an otherwise plain sounding midi region and help humanize it.
12277 </p>
12278
12279 <img src="/images/MIDI_pitch_bending.png" alt="Automation: pitch bending" />
12280
12281 <p>
12282   Pitch bending and aftertouch both work the same way, through automation. Right click the MIDI track's header &gt; Automation &gt; Bender <em>(or Pressure)</em> &gt; <em>choose the channel you want to bend</em>.
12283 </p>
12284
12285 <p>
12286   Using the Draw tool, as for all the automation, allows creation of a gradual change from one drawn point to another. A line in the center produces no change to the pitch, while a line above the center will bend the pitch to a higher note (up to 4 semitones) and a line going under the middle will bend the pitch to a lower note.
12287 </p>
12288
12289 <p>
12290   The values can be anything between 0 (-4 semitones) to 16,383 (+4 semitones). No automation or a value of 8,192 means no pitch shifting.
12291 </p>
12292
12293 <p>
12294   Aftertouch works very similarly, though the values are between 0 and 127. It should be noted that aftertouch differs from velocity, as aftertouch allows to slightly change the timbre or create a vibrato, while the velocity sets the power with which the note is played (e.g. on a keyboard, the key is hit).
12295 </p>
12296
12297 ---
12298 title: Transforming MIDI - Mathematical operations
12299 menu_title: Transforming MIDI
12300 part: subchapter
12301 ---
12302
12303 <p>
12304   Considering the numerical nature of MIDI events, it can be tempting to apply mathematical transformations to our MIDI regions by using mathematical operations. Ardour makes it very easy and powerful with the Transform tool.
12305 </p>
12306
12307 <p class="center"><img src="/images/MIDI_transform.png" alt="MIDI transformation" /></p>
12308
12309 <p>
12310   To access the Transform tool, right click the MIDI region &gt; <em>name_of_the_region</em> &gt; MIDI &gt; Transform...
12311 </p>
12312
12313 <p>
12314   First, select the property you want to modify in the 'Set' field, then change the target value using the 2 following fields. If you want to add more operands, click the "+" sign to create new lines. You can remove a superfluous line using the "-" sign on the right of the newly created line.
12315 </p>
12316
12317 <p>
12318   In the picture above, we've used the Transform tool to add a bit of humanization, by slightly changing the velocity of each note of the region, by a random number between -19 and +19 from it's original velocity. So we've used 3 operations:
12319 </p>
12320
12321 <ul>
12322         <li>Set velocity to this note's velocity</li>
12323         <li>+ a random number from 1 to 20</li>
12324         <li>- a random number from 1 to 20</li>
12325 </ul>
12326
12327 <p>Each note will trigger a calculation of its own, so its velocity will be increased by a random number between 1 and 20, then decreased by a random number between 1 and 20.</p>
12328
12329 <p>
12330   The properties that can be computed are:
12331 </p>
12332
12333 <ul>
12334         <li>note number (eg C2 is note number 24, C#2 is 25 and so on)</li>
12335         <li>velocity (the global intensity of the note, between 0 and 127)</li>
12336         <li>start time (in beats)</li>
12337         <li>length (in beats)</li>
12338         <li>channel</li>
12339 </ul>
12340
12341 <p>
12342   and the calculation may be based on the following properties:
12343 </p>
12344
12345 <ul>
12346         <li>this note's</li>
12347         <li>the previous note's</li>
12348         <li>this note's index (number of the note, i.e. the first one is 0, the second is 1, etc.)</li>
12349         <li>exactly (for a constant value, between 1 and 127)</li>
12350         <li>a random number from <em>lower</em> to <em>higher</em> (<em>lower</em> and <em>higher</em> beeing constant values between 1 and 127)</li>
12351         <li>equal steps from <em>lower</em> to <em>higher</em> (<em>lower</em> and <em>higher</em> beeing constant values between 1 and 127)</li>
12352 </ul>
12353
12354 <p>
12355   The mathematical operators can be:
12356 </p>
12357
12358 <ul>
12359         <li>+ (addition)</li>
12360         <li>- (substration)</li>
12361         <li>* (multiplication)</li>
12362         <li>/ (euclidian division)</li>
12363         <li>mod (rest of the euclidian division)</li>
12364 </ul>
12365
12366 <p>
12367   All this operations can be very handy, as long as you find a mathematical way to achieve your goal. Beware though of odd "border cases": division by zero (which does nothing), using the note's index and forgetting it starts at 0 and not 1, etc.
12368 </p>
12369
12370 <p>
12371   You can nevertheless create very interesting results, like humanizing (randomizing the velocity, start time and duration of all the notes), creating arpeggios, automating tedious tasks, transposing, etc.
12372 </p>
12373
12374
12375 ---
12376 title: MIDI Editors
12377 part: chapter
12378 ---
12379
12380
12381 ---
12382 title: MIDI Scene Automation
12383 part: subchapter
12384 ---
12385
12386 <p>
12387   Ardour is capable of being used to both record and deliver MIDI
12388 "scene" automation. These are MIDI messages typically used to switch
12389 presets or "scenes" on a variety of external equipment (or
12390 software), including lighting and other audio/video tools. A common
12391 use case is to automatically change presets between songs or to change
12392 lighting conditions based on a specific position on the timeline.
12393 </p>
12394
12395 <p>
12396   Each change from one scene to another is represented by a marker in
12397 the "Marker" bar.
12398 </p>
12399
12400 <p>
12401   Technically, scene changes are delivered as a combination of bank and
12402 program change MIDI messages. MIDI allows for 16,384 banks, each with
12403 128 programs.
12404 </p>
12405
12406 <h2>Recording Scene Changes</h2>
12407
12408 <p>
12409   Ardour has a dedicated MIDI port named "Scene In". Connect this port
12410 to whatever source(s) of MIDI scene (bank/program change) messages you
12411 wish to record.
12412 </p>
12413
12414 <p>
12415   Whenever the global record enable button is engaged and Ardour's
12416   transport is rolling, a new marker will be created for each scene
12417 change message received via the "Scene In" port.
12418 </p>
12419
12420 <p>
12421   If two different scene changes are received within a certain time
12422 period, only the later one will be recorded as a new marker. The
12423 default threshold for this is one millisecond.
12424 </p>
12425
12426 <p>
12427   If a scene change message is received while the playhead is close to
12428 an existing marker with an associated scene change, the recording
12429 process will alter the scene change in the existing marker rather than
12430 adding a new one. The default threshold for this "proximity" test is one
12431 millisecond.
12432 </p>
12433
12434 <h2>Manually Creating Scene Changes</h2>
12435
12436 <p>
12437   This feature is not currently implemented.
12438 </p>
12439
12440 <h2>Playing back Scene Changes</h2>
12441
12442 <p>
12443   Ardour has a dedicated MIDI port named "Scene Out". Connect this port
12444 to wherever you wish to send MIDI scene (bank/program change) messages.
12445 </p>
12446
12447 <p>
12448   When the global record enable button is
12449 <em>not</em> enabled, the relevant message(s) will be sent via the
12450 "Scene Out" port as the playhead rolls past each marker with a scene
12451 change associated with it.
12452 </p>
12453
12454 <h2>Editing Scene Changes</h2>
12455
12456 <p>
12457   This feature is not currently implemented.
12458 </p>
12459
12460 <h2>Disabling Scene Changes</h2>
12461
12462 <p>
12463   This feature is not currently implemented.
12464 </p>
12465
12466
12467 ---
12468 title: Score Editor
12469 part: chapter
12470 ---
12471
12472
12473 ---
12474 title: MIDI Event List
12475 part: chapter
12476 ---
12477
12478
12479
12480
12481 ---
12482 title: Arranging
12483 part: part
12484 ---
12485
12486
12487 ---
12488 title: Time, Tempo and Meter
12489 part: chapter
12490 ---
12491
12492
12493 ---
12494 title: Tempo and Meter
12495 part: subchapter
12496 ---
12497
12498 <p>
12499   Tempo and meter belong together. without both, there is no way to know where a beat lies in time.
12500 </p>
12501
12502 <p>
12503   Tempo provides a musical pulse, which is divided into beats and bars by a meter. When tempo is changed or an audio-locked meter is moved, all objects on the timeline that are glued to bars and beats (locations, regions) will move in sympathy.
12504 </p>
12505
12506 <p class="note">
12507   When performing meter or tempo operations, it is advised to show the BBT ruler (available by right-clicking an existing marker or ruler name), and that the constraint modifier is set (in Preferences->User Interaction) so that no other modifiers share its key combination.
12508 </p>
12509
12510 <p>
12511   The constraint modifier is the "Constrain drags using:" setting under the "When Beginning a Drag" heading. One viable setting is <kbd class="mod1"></kbd><kbd class="mod3"></kbd>.
12512 </p>
12513
12514 <h3>Tempo</h3>
12515
12516 <p>
12517   Tempo can be adjusted in several ways:
12518 </p>
12519
12520 <ul>
12521   <li>by double clicking on a tempo marker. This opens the tempo dialog which will allow entering the tempo directly into an entry box.</li>
12522   <li>by using the constraint modifier (which is set in Preferences->User Interaction) to drag the beat/bars in the BBT ruler or the tempo/meter lines.
12523   This is the preferred way to match the tempo to previously recorded material.</li>
12524
12525   <p class ="note">
12526     When dragging the BBT ruler, musical snap has no effect, however be warned that non-musical snap is in effect if enabled. Snapping to a minute while dragging a beat may result in some verly slow tempos. Snapping a beat to a video frame however is an incredibly useful way to ensure a soundtrack is punchy and synchronised to the sample.
12527   </p>
12528
12529   <li>by holding down the constaint modifier while dragging a tempo vertically. This is used for more complex tempo solving, as it allows changing the position and tempo of a tempo marker in the same drag; it is, however, a useful way to adjust the first tempo for a quick result.</li>
12530 </ul>
12531
12532 <p>
12533   A tempo may be locked to audio or musical time. This may be changed by right-clicking on a tempo. If a tempo is locked to music, an entry will be available to lock it to audio. Similarly an audio-locked tempo may be locked to music by right clicking it an selecting the "Lock to Music" entry.
12534 </p>
12535
12536 <p>
12537   Audio locked tempo marks stay in their frame position as their neigbours positions are altered. Their pulse (musical) position will change as their neighbours move. Music locked tempo marks move their frame position as their neighbours are moved, but keep their pulse position (they will move as the music is moved).
12538 </p>
12539
12540 <p>
12541   A tempo may be ramped or constant.
12542   <ul>
12543     <li>A constant tempo will keep the sesion tempo constant until the next tempo section, at which time it will jump instantly to the next tempo. These are mostly useful abrupt changes, and is the way in which traditional DAWs deal with tempo changes (abrupt jumps in tempo).</li>
12544     <li>A ramped tempo increases its tempo over time so that when the next tempo section has arrived, the sesion tempo is the same as the second one. This is useful for matching the session tempo to music which has been recorded without a metronome. Ramps may also be used as a compositional tool, but more on this later. Note that a ramp requires two points&mdash;a start and an end tempo. The first tempo in a new session is ramped, but appears to be constant as it has no tempo to ramp to. It is only when a new tempo is added and one of them is adjusted that a ramp will be heard. The same applies to the last tempo in the session&mdash;it will always appear to be constant until a new last tempo is added and changed.
12545   </li>
12546   </ul>
12547 </p>
12548
12549 <p>
12550   <img src="/images/constant-tempo.png" alt="A constant tempo displaying the tempo at the playhead in the audio clock">
12551   <br>
12552   A series of constant tempo markers. The tempo at the playhead position is the same as the previous tempo.
12553 </p>
12554
12555 <p>
12556   <img src="/images/ramped-tempo.png" alt="A ramped tempo displaying the tempo at the playhead in the audio clock">
12557   <br>
12558   A ramped tempo marker. The tempo at the playhead position is approaching the second tempo. Because the playhead is equidistant (in beats) between the
12559   two markers, the tempo at the playhead is the average of the two.
12560 </p>
12561
12562 <p>
12563   To add a new tempo, use the primary modifier and click on the tempo line at the desired position. The new tempo will be the same as the tempo at the position of the mouse click (it will not change the shape of the ramp).
12564 </p>
12565
12566 <p>
12567   To copy a tempo, hold down the primary modifier and drag the tempo desired to be copied.
12568 </p>
12569
12570 <h3>Meter</h3>
12571
12572 <p>
12573   Meter positions beats using the musical pulse of a tempo, and groups them into bars using its number of divisions per bar.
12574 </p>
12575
12576 <p>
12577   The first meter in a new session may be moved freely. It has an associated tempo which cannot be dragged by itself (although all others can). It can be moved freely and is locked to audio.
12578 </p>
12579
12580 <p>
12581   New meters are locked to music. They may only occur on a bar line if music locked.
12582 </p>
12583
12584 <p>
12585   An audio locked meter provides a way to cope with musical passages which have no meter (rubato, pause), or to allow a film composer to insert a break in music which cannot be counted in beats.
12586 </p>
12587
12588 <p>
12589   If a meter is audio-locked, its bar number is fixed from the point at which it left the main score. That bar number cannot be changed, nor can tempo motion allow the previous bar to overlap. If another bar is needed, lock the meter to music again (right click->"Lock to Music"), drag the meter to the desired bar and re-lock to audio. The new bar may be freely moved again.
12590 </p>
12591
12592 <li>To change a meter, double click it. A dialog will appear.</li>
12593 <li>To copy a meter, hold down <kbd class="mod1"></kbd> and drag it.</li>
12594
12595 ---
12596 title: Techniques for Working with Tempo and Meter
12597 part: subchapter
12598 ---
12599
12600 <h3>Techniques </h3>
12601
12602 <p>
12603   As a general approach, the best way to control tempo ramps is to use them in pairs.
12604 </p>
12605
12606 <p>
12607   Lets imagine we want to match the click to a drum performance recorded in 'free time'.
12608 </p>
12609
12610 <p>
12611   The first thing we need to do is determine where the first beat is. Drag the first meter to that position.
12612 </p>
12613
12614 <p>
12615   Now the first click will be in time with the first beat. To get all the other beats to align, we listen to the drums and visually locate the position of bar 4. You may wish to place the playhead here.
12616 </p>
12617
12618 <p>
12619   We then locate bar 4 in the BBT ruler and while holding the constraint modifier, drag it to bar 4 in the drum performance.
12620 </p>
12621
12622 <p>
12623   We notice that the click now matches the first 4 bars, but after that it wanders off. You will see this reflected in the tempo lines.. they won't quite match the drum hits. We now locate the earliest position where the click doesn't match, and place a new tempo just before this. Two bars later, place another new tempo.
12624 </p>
12625
12626 <p>
12627   Now while dragging any beat <strong>after</strong> the second new tempo, watch the drum audio and tempo lines until they align.
12628 </p>
12629
12630 <p class="note">
12631   Notice what is happening here: the tempo previous to your mouse pointer is being changed so that the beat you grabbed aligns with the pointer. Notice that the tempo lines previous to the changed one also move. This is because the previous tempo is ramping <strong>to</strong> the tempo you are changing. Look further to the left. The tempo lines in the first four bars do not move.
12632 </p>
12633
12634 <p>
12635   Again, some time later the click will not align. I didn't say this was easy.
12636 </p>
12637
12638 <p>
12639   Repeat the same technique: add two new tempos and drag the BBT ruler <strong>after</strong> the newest tempo so that the beats align with the audio again.
12640 </p>
12641
12642 <p>
12643   In a general sense, adding tempo markers in pairs allows you to 'pin' your previous work while you move further to the right.
12644 </p>
12645
12646 <h3>Another use case: matching accelerando</h3>
12647
12648 <p>
12649   Imagine you have some video and have located where your music cue begins. Move the first meter to that frame (you may snap to TC frames, but not music with an audio locked meter).
12650 </p>
12651
12652 <p>
12653   Find a starting tempo by listening to the click while you drag the meter's tempo vertically using the constraint modifier.
12654 </p>
12655
12656 <p>
12657   You have the playhead at point where the dude slams the phone down, and your idea was that 4|1|0 would be good for this, but you want an accelerando to that point.
12658 </p>
12659
12660 <p>
12661   Add a tempo at bar 4.
12662 </p>
12663
12664 <p>
12665   Holding down the constraint modifier, and with snap set to 'TC Frames', grab the BBT ruler just <strong>after</strong> 4|1|0. Drag the ruler so that 4|1|0 snaps to the 'phone' frame.
12666 </p>
12667
12668 <p class="note">
12669   Notice what happened: The second tempo was changed.<br />
12670   You had set a musical position for the second tempo marker. It was not aligned with the frame you wanted, so you dragged the BBT ruler, making the second tempo provide enough pulses over the ramp for 4|1|0 to align with the desired frame.
12671 </p>
12672
12673 <p>
12674   If the ramp doesn't feel right, you may add more points within it and keep adjusting beat positions in a similar manner.
12675 </p>
12676
12677 <h3>General</h3>
12678
12679 <p>
12680   Audio locked meters can be useful when composing, as they allow a continuous piece of music to be worked on in isolated segments, preventing the listening fatigue of a fixed form. Reassembly is left as an excercise for the reader.
12681 </p>
12682
12683
12684 ---
12685 title: Memory Locations
12686 part: chapter
12687 ---
12688
12689
12690 ---
12691 title: Arranging Regions
12692 part: chapter
12693 ---
12694
12695
12696 ---
12697 title: Region Loops and Groups
12698 part: chapter
12699 ---
12700
12701
12702
12703
12704 ---
12705 title: Mixing
12706 part: part
12707 ---
12708
12709
12710 ---
12711 title: Basic Mixing
12712 part: chapter
12713 ---
12714
12715
12716 ---
12717 title: Metering in Ardour
12718 part: subchapter
12719 ---
12720
12721 <h2>Introduction</h2>
12722
12723 <p>
12724   An engineer reading and using audio level meters compares to a musician
12725   reading or writing sheet-music. Just like there are virtuoso musicians
12726   who can't read a single note, there are great sound-engineers who just
12727   go by their ears and produce great mixes and masters without ever looking
12728   at a single meter.
12729 </p>
12730
12731 <p>
12732   Yet, if you want to work in or with the broadcast industry, it is
12733   usually unavoidable to use meters.
12734 </p>
12735
12736 <p>
12737   Audio level meters are very powerful tools that are useful in every
12738   part of the entire production chain:
12739 </p>
12740
12741 <ul>
12742   <li>When tracking, meters are used to ensure that the input
12743   signal does not <dfn>overload</dfn> and maintains reasonable
12744   <dfn>headroom</dfn>.</li>
12745   <li>Meters offer a <dfn>quick visual indication</dfn> of a
12746   activity when working with a large number of tracks.</li>
12747   <li>During mixing, meters provide an rough estimate of the
12748   <dfn>loudness</dfn> of each track.</li>
12749   <li>At the mastering stage, meters are used to check
12750   compliance with upstream <dfn>level</dfn> and <dfn>loudness
12751   standards</dfn> and to optimize the <dfn>loudness range</dfn>
12752   for a given medium.</li>
12753 </ul>
12754
12755 <h2>Meter Types</h2>
12756
12757 <p>
12758   A general treatise on metering is beyond the scope of this
12759   manual. It is a complex subject with a history...
12760   For background information and further reading we recommend:
12761 </p>
12762
12763 <ul>
12764   <li><a href="http://www.digido.com/how-to-make-better-recordings-part-2.html">How To Make Better Recordings in the 21st Century&mdash;An Integrated Approach to Metering, Monitoring, and Leveling Practices</a> by Bob Katz. Has a good historic overview of meters and motivates the K-meter</li>
12765   <li><a href="https://en.wikipedia.org/wiki/Peak_programme_meter#Table_of_characteristics">Wikipedia: Peak programme meter</a>&mdash;overview of meter types.</li>
12766   <li>"Audio Metering: Measurements, Standards and Practice: Measurements, Standards and Practics", by Eddy Brixen. ISBN: 0240814673</li>
12767   <li>"Art of Digital Audio", by John Watkinson. ISBN: 0240515870</li>
12768 </ul>
12769
12770 <p>
12771   There are different metering standards, most of which are available in Ardour. In short:
12772 </p>
12773
12774 <dl>
12775   <dt>Digital peak-meter</dt>
12776   <dd>A <dfn>Digital Peak Meter</dfn> displays the absolute maximum signal
12777   of the raw audio PCM signal (for a given time). It is commonly used when
12778   tracking to make sure the recorded audio never clips. To that end, DPMs
12779   are always calibrated to 0&nbsp;<abbr title="DeciBel Full
12780   Scale">dBFS</abbr>, or the maximum level that can be represented digitally
12781   in a given system. This value has no musical reason whatsoever and depends
12782   only on the properties of the signal chain or target medium. There are
12783   conventions  for <dfn>fall-off-time</dfn> and <dfn>peak-hold</dfn>, but no
12784   exact specifications.
12785   <p>
12786   Various conventions for DPM fall-off times and dBFS line-up level can be
12787   chosen in <kbd class="menu">Edit &gt; Preferences &gt; GUI</kbd>.
12788   </p>
12789   </dd>
12790
12791   <dt>RMS meters</dt>
12792   <dd>An <dfn><abbr title="Root Mean Square">RMS</abbr>-type meter</dfn>
12793   is an averaging meter that looks at the energy in the signal. It
12794   provides a general indication of loudness as perceived by humans. Ardour
12795   features three RMS meters, all of which offer additonal peak indication.
12796   <ul>
12797     <li><dfn>K20</dfn>: A meter according to the K-system introduced by Bob
12798     Katz, scale aligned to -20&nbsp;dBFS, rise/fall times and color schema
12799     according to spec.</li>
12800     <li><dfn>K14</dfn>: Same as K20 with scale aligned to -14&nbsp;dBFS.</li>
12801     <li><dfn>K12</dfn>: Same as K20 with scale aligned to -12&nbsp;dBFS (since 3.5.143).</li>
12802     <li><dfn>Peak + RMS</dfn>: standard RMS, customizable via
12803     <kbd class="menu">Edit &gt; Preferences &gt; GUI &gt; Metering</kbd></li>
12804   </ul>
12805   </dd>
12806
12807   <dt>IEC PPMs</dt>
12808   <dd><dfn><abbr title="International Electrontechnical Commission">IEC</abbr>-type
12809   <abbr title="Peak Programme Meters">PPM</abbr>s</dfn> are a mix between DPMs and
12810   RMS meters, created mainly for the purpose of
12811   interoperability. Many national and institutional varieties exist (<abbr
12812   title="European Broadcasting Union">EBU</abbr>, <abbr title="British Broadcasting
12813   Corporation">BBC</abbr>, <abbr title="Deutsche Industrie-Norm">DIN</abbr>).
12814   <p>
12815   These loudness and metering standards provide a common point of
12816   reference which is used by broadcasters in particular so that the
12817   interchange of material is uniform across their sphere of influence,
12818   regardless of the equipment used to play it back.
12819   </p>
12820   <p>
12821   For home recording, there is no real need for this level of
12822   interoperability, and these meters are only strictly required when
12823   working in or with the broadcast industry. However, IEC-type meters have
12824   certain characteristics (rise-time, ballistics) that make them useful
12825   outside the context of broadcast.
12826   </p>
12827   <p>
12828   Their specification is very exact, and consquently, there are no
12829   customizable parameters.
12830   </p>
12831   </dd>
12832
12833   <dt>VU meters</dt>
12834   <dd><dfn><abbr title="Volume Unit">VU</abbr> meters</dfn> are the dinosaurs (1939)
12835   amongst the meters. They react very slowly, averaging out peaks.
12836   Their specification is very strict (300ms rise-time, 1&ndash;1.5% overshoot,
12837   flat frequency response). Ardour's VU meter adheres to that spec, but for
12838   visual consistency it is displayed as a bar-graph rather than needle-style
12839   (more below).
12840   </dd>
12841 </dl>
12842
12843 <h2>Ardour Specifics</h2>
12844
12845 <img class="right" src="/images/mixer-meter-context-menu.png" alt="mixer strip meter context menu" />
12846
12847 <p>
12848   Meters are available in various places in ardour:
12849 </p>
12850
12851 <ul>
12852   <li>The mixer window features fixed height meters for each <dfn>channel strip</dfn>.</li>
12853   <li>There are small (narrow) meters on each <dfn>track-header</dfn> in the editor window.</li>
12854   <li>There are variable height meters in the <dfn>meterbridge window</dfn>.</li>
12855   <li>Optionally, a fixed-size <dfn>master meter</dfn> can be displayed in the main toolbar.</li>
12856   <li>Various other locations (<dfn>file import</dfn>, <dfn>sends</dfn>) have level-meters.</li>
12857 </ul>
12858
12859 <p>
12860   They all share the same configuration and color-theme which is available in
12861   preferences and the theme-manager. Settings for the Peak and RMS+Peak meters
12862   as well as VU meter standards are found in
12863   <kbd class="menu">Edit &gt; Preferences &gt; GUI &gt; Metering</kbd>.
12864 </p>
12865
12866 <p>
12867   The type of meter and the <dfn>metering point</dfn> (the place in the signal chain
12868   where the meter taps the signal) are configurable in the context menu of each meter.
12869   Depending on the <kbd class="menu">Edit &gt; Preferences &gt; GUI &gt; Mixer
12870   Strip</kbd> settings, the metering point is also accessible via a button in
12871   each Mixer strip.
12872 </p>
12873
12874 <img class="right" src="/images/meter-preferences.png" alt="" />
12875
12876 <p>
12877   Regardless of meter type and standard the meter display will highlight red if
12878   the signal on the given channel exceeds the configured peak threshold.
12879 </p>
12880
12881 <p>
12882   <kbd class="mouse">Left</kbd> on the peak-indicator button resets the
12883   <dfn>peak-hold indicator</dfn> of a single channel.<br />
12884   <kbd class="mod1 mouse">Left</kbd> resets a whole <dfn>group</dfn>, and<br/>
12885   <kbd class="mod13 mouse">Left</kbd> resets all meters.
12886 </p>
12887
12888 <h2>Overview of meter types</h2>
12889
12890 <p>
12891   The figure on the left below shows all available meter-types in Ardour 3.4 when fed with a -18&nbsp;dBFS 1&nbsp;kHz sine wave.
12892 </p>
12893
12894 <img class="right" style="max-width:45%;height:400px;" src="/images/needle-meters-18.png"
12895 alt="Needle-style meters as external LV2 plugins" />
12896 <img style="max-width:45%; height:400px" src="/images/meter-types-18.png"
12897 alt="Bar-graph meters in Ardour" />
12898 <br /><br />
12899
12900 <p>
12901   Due to layout concerns and consistent look &amp; feel, all meters available in
12902   Ardour itself are bar-graph type meters. Corresponding needle-style meters&mdash;which take up more visual screen space&mdash;are available as
12903   <a href="https://github.com/x42/meters.lv2/">LV2 plugins</a> (see image on the upper right).
12904 </p>
12905
12906 ---
12907 title: Signal Routing
12908 part: subchapter
12909 ---
12910
12911 <p>
12912   Ardour does most of its internal <dfn>signal routing</dfn> via JACK:
12913   all track and bus inputs and outputs are JACK ports, as are sends and
12914   inserts&mdash;which means they can be tapped into by other JACK clients.
12915   Only the signal flow inside a track or bus (i.e. from <a
12916   href="/working-with-plugins/processor-box/">processor to processor</a>) is
12917   handled internally.
12918 </p>
12919
12920 <p>
12921   By default, Ardour will create the following connections:
12922 </p>
12923
12924 <ul>
12925   <li>
12926     <dfn>Track inputs</dfn> are optionally auto-connected to hardware inputs, in round robin order, depending on the setting you chose in the
12927     <a href="/working-with-sessions/new-session-dialog"><kbd
12928     class="menu">Session &gt; New Session</kbd> dialog</a>.
12929   </li>
12930   <li>
12931     <dfn>Bus inputs</dfn> are left disconnected.
12932   </li>
12933   <li>
12934     The number of <dfn>track and bus outputs</dfn> are equal to the number
12935     of inputs of the master bus.
12936   </li>
12937   <li>
12938     Track and bus outputs are always auto-connected to the master bus inputs.
12939   </li>
12940   <li>
12941     Master bus outputs are connected to hardware outputs.
12942   </li>
12943 </ul>
12944
12945 <p>
12946   This configuration is normally sufficient to do basic tracking and playback of sessions without any adjustments. When changing these connections, be certain that there is good reason for doing so&mdash;it is generally not necessary and can often lead to problems.
12947 </p>
12948
12949 <p>
12950   However, for many workflows during mixing, more complicated signal routing is required. Fortunately, Ardour is very flexible in the ways it offers to connect things to each other.
12951 </p>
12952
12953 ---
12954 title: Busses and VCAs
12955 part: subchapter
12956 ---
12957
12958 <p>
12959   In order to use the process of mixing, Ardour offers two tools traditionally found on hardware mixing consoles: <dfn>Busses</dfn> and <dfn><abbr title="Voltage-Controlled Amplifier">VCA</abbr></dfn>s.
12960 </p>
12961
12962 <h2>Busses</h2>
12963
12964 <p>
12965   An Ardour bus can be considered a virtual track, as in a track that doesn't have a playlist (so, no regions).
12966 </p>
12967
12968 <p>
12969   Its use is to "group" some audio signals to be treated the same way. One simple use case is to group all the audio tracks containing the different drums of a drumkit. Routing all the drums tracks outputs to a bus allows, once the different levels amongst the drums have been set, to adjust the global level of the drumkit in the mix.
12970 </p>
12971
12972 <p>
12973   Bus usage goes way beyond this simple example though: busses, as tracks, can receive plugins for common audio treatment, and be routed themselves as needed. This makes for a very useful tool that is very commonly used both for musical purposes and computing ones: instead of using e.g. 10 discrete delay plugins on 10 different tracks, busses are often used as receivers of <a href="/signal-routing/aux-sends/">sends</a>, and only 1 delay plugin is used on this bus, reducing the processing power needed.
12974 </p>
12975
12976 <p class="note">Note that the Master strip, which by default receives the output from all tracks, <em>is</em> a bus itself.</p>
12977
12978 <h3>Audio Busses vs MIDI Busses</h3>
12979
12980 <p>
12981         Ardour supports 2 types of busses: Audio and MIDI. A MIDI bus differs from an audio bus just by its input (which is 1 midi input instead of <em>n</em> audio), the fact that you can put an instrument on it at creation time, whereas you can't easily add an instrument to an audio bus.
12982 </p>
12983
12984 <p>
12985   MIDI bus are provide a particularly efficient workflow for virtual drumkits where the arrangement uses different MIDI tracks. Moreover, busses with both Audio and MIDI inputs are well suited for vocoders and similar plugins.
12986 </p>
12987
12988 <p>
12989   Depending on the user's workflow and the way busses are used, 2 possibilities exists:
12990 </p>
12991
12992 <h3>Connecting a track to a bus via outputs</h3>
12993
12994 <img class="right" src="/images/connecting_bus_output.png" alt="Connecting a bus through a track's outputs">
12995
12996 <p>
12997         Connecting the output(s) of a track to the input(s) of the bus sends <em>all</em> the audio/MIDI to the bus. In the mixer strip, select (at the bottom) the OUTPUT button (often, by default, "Master"), and in the list, choose the input of a bus. Note that only the bus able to receive this output will show up, e.g. a mono bus wont be able to be connected to the output of a stereo track).
12998 </p>
12999
13000 <p>
13001         Obviously, doing so will (by default) disconnect the output from the Master's input, which means all the        audio/MIDI will be routed to the bus. For more complex routing, the OUTPUT button allows to show the <kbd class="menu">Routing Grid</kbd> that allows to plug the output of the track to multiple outputs at once, be it busses, tracks, Master... The button will then reflect these multiple connections by showing a <em>*number*</em>, number being the number of connections made in the routing grid.
13002 </p>
13003
13004 <h3>Connecting a track to a bus via Sends</h3>
13005
13006 <img class="left" src="/images/connecting_bus_send.png" alt="Connecting a bus through a send">
13007
13008 <p>
13009         This allows not to interrupt the natural flow of the signal, i.e. the track will still output to what its connected to (e.g. Master). The signal is "tapped" at the point of insertion of the send, to be sent to the bus. Right click where in the signal flow you want the send to happen, and select <kdb class="menu">New Aux Send... &gt; name_of_the_bus</kbd>.
13010 </p>
13011
13012 <p>
13013   By <kbd class="mouse">left-clicking</kbd> the send meter, it is possible to adjust the amount of signal sent to the bus. This is often the way tracks are connected to an effect bus, like a Delay bus.
13014 </p>
13015
13016 <p class="note">
13017   Busses can be plugged to other busses, through outputs or sends. Both example workflows discussed previously, i.e. busses for grouping tracks and busses for effects, can both coexist, as e.g. a "grouping" drum bus can have a send to a reverb bus, and be connected to a compressor bus.
13018 </p>
13019
13020 <h2>VCAs</h2>
13021
13022 <img class="left" src="/images/vcas.png" alt="VCAs strips">
13023
13024 <p>
13025    Although track/bus <a href="/working-with-tracks/track-and-bus-groups/">groups</a> offer a certain kind of grouped-control over gain, solo, mute and more, traditional mixing consoles have long had group master channels ("VCAs") which allows to combine both a single fader to control the group level while also allowing you to easily adjust the relative levels inside the group. For large projects, this can make mixing much easier to control.
13026 </p>
13027
13028 <p>
13029   It allows to use either or both of the conventions for combining multiple masters:
13030 </p>
13031
13032 <ul>
13033   <li>Nest VCAs (VCA 2 controls VCA 1 etc.)</li>
13034   <li>Chain VCAs (VCA 1 and VCA2 both control track or bus N)</li>
13035 </ul>
13036
13037 <h3>Using a VCA strip</h3>
13038
13039 <p>
13040   A VCA strip is made of (from top to bottom in the screenshot):
13041 </p>
13042
13043 <ul>
13044   <li><dfn>1</dfn>: number of the VCA</li>
13045   <li><dfn>X</dfn>: allows to hide the VCA strip. Left clicking this button toggles the exclusive visibility of the tracks connected to this VCA</li>
13046   <li><dfn>M</dfn>: mutes the VCA</li>
13047   <li><dfn>S</dfn>: solos the VCA</li>
13048   <li><dfn>A level meter</dfn>: allows to adjust the level of the VCA</li>
13049   <li><dfn>~vca~</dfn>: a VCA button to optionally connect to another VCA</li>
13050 </ul>
13051
13052 <p>
13053   Right-clicking the name button shows a context menus comprised of:
13054 </p>
13055
13056 <ul>
13057   <li><kbd class="menu">Rename</kbd>: Renames the VCA</li>
13058   <li><kbd class="menu">Color...</kbd>: Changes the color of the VCA button in the tracks connected to this one</li>
13059   <li><kbd class="menu">Drop All Slaves</kbd>: Deletes all connections to this VCA, i.e. no tracks are controlled by this VCA anymore</li>
13060   <li><kbd class="menu">Remove</kbd>: Deletes this VCA</li>
13061 </ul>
13062
13063 <h3>Connecting to a VCA strip</h3>
13064
13065 <img class="left" src="/images/connecting_to_vca.png" alt="Connecting to VCA">
13066
13067 <p>
13068   Connecting a track/bus/VCA to a VCA is as simple as clicking the VCA button on any mixer strip and choosing the VCA to connect to.
13069 </p>
13070
13071 <p class="note">
13072   The VCA button only shows up in mixer strips when at least 1 VCA exists, i.e., you have to first create a VCA before connecting it.
13073 </p>
13074
13075 ---
13076 title: Aux Sends
13077 part: subchapter
13078 ---
13079
13080 <p>
13081   <dfn>Auxilliary sends</dfn> are <a
13082   href="/working-with-plugins/processor-box/">processors</a> in a bus or
13083   track channel strip. They tap the signal at a specific point in the signal
13084   flow (pre-fader, post-fader, before or after EQs and other plugins, etc.)
13085   and send a copy of that signal somewhere else, without affecting the
13086   normal signal flow downwards to the channel fader.
13087 </p>
13088
13089 <p>
13090   Usually, aux sends from several tracks are collectively sent to a
13091   dedicated <dfn>Aux bus</dfn> in Ardour, to create a monitor mix for a
13092   musician, or to feed an effect unit. The output of such a bus might
13093   be routed to separate hardware outputs (in the case of headphone or monitor
13094   wedge mixes), or returned to the main mix (in the case of an effect).
13095 </p>
13096
13097 <p>
13098   Since sends are JACK ports, it is also possible to send the tapped signal
13099   somewhere else directly, which is not usually possible on hardware mixers
13100   (see <a href="/signal-routing/external-sends/">External Sends</a>).
13101 </p>
13102
13103 <p>
13104   It may be useful to
13105   <a href="/signal-routing/comparing-aux-sends-and-subgroups">compare and contrast</a>
13106   the use of aux sends with <a href="/signal-routing/subgrouping">subgrouping</a>.
13107 </p>
13108
13109 <h2>Adding a new aux bus</h2>
13110
13111 <p>
13112   Choose <kbd class="menu">Session &gt; Add New Track or Bus</kbd>. In the
13113   <kbd class="menu">New Track &amp; Bus</kbd> dialog, select "Busses" in the Track/Bus
13114   selector at the upper right.
13115 </p>
13116
13117 <h2>Adding a send to an aux bus</h2>
13118
13119 <p>
13120   Context-click on the processor box for the track you want to send to the bus, and
13121   choose <kbd class="menu">New Aux Send</kbd>. From the submenu, choose the bus you
13122   want to send to. A send will be added (and will be visible in the processor box).
13123   Note that the submenu may be empty if you have not created a bus yet.
13124 </p>
13125
13126 <h3>Pre-fader and Post-fader Aux Sends</h3>
13127
13128 <p>
13129   Depending on whether you context-click above or below the fader in the processor box,
13130   the new aux send can be placed before or after the fader in the channel strip.
13131   <dfn>Post-fader</dfn> aux sends are typically used when using an aux for shared signal
13132   processing (FX), so that the amount of effect is always proportional to
13133   the main mix fader. <dfn>Pre-fader</dfn> sends ensure that the level sent to the bus
13134   is controlled <em>only</em> by the send, not the main fader&mdash;this is typical
13135   when constructing headphone and monitor wedge mixes.
13136 </p>
13137
13138 <h2>Adding a new aux bus and sending a Track Group to it</h2>
13139
13140 <p>
13141   You can add aux sends to all members of a group and connect them to a new aux bus
13142   with a single click. After creating the track group (and adding tracks to it),
13143   context-click on the group tab and choose either
13144   <kbd class="menu">Add New Aux Bus (pre-fader)</kbd> or
13145   <kbd class="menu">Add New Aux Bus (post-fader)</kbd>. A new aux bus will be created,
13146   and a new aux send added to every member of the track group that connects to
13147   this  aux bus.
13148 </p>
13149
13150 <p class="fixme">Add images, fix factual inaccuracies</p>
13151 <h2>Altering Send Levels</h2>
13152
13153 <p>
13154   You can alter the amount of the signal received by a send that it delivers to the bus
13155   it connects to. There are three approaches to this:
13156 </p>
13157
13158 <h3>Use the Send Fader</h3>
13159
13160 <p>
13161   Every send processor has a small horizontal fader that can be adjusted in the usual way. It is
13162   not very big and so this can be a little unsatisfactory if you want very fine control
13163   over the send level.
13164 </p>
13165
13166 <h3>Mapping the Main Fader</h3>
13167
13168 <p>
13169   Double-clicking on the send in the processor box will allow you to use the
13170   big fader of the mixer strip to control the send. The visual appearance of
13171   the mixer strip will change to reflect this. Double-click the send again to
13172   revert back to normal function for the strip.
13173 </p>
13174
13175 <h3>Map Aux Sends To Main Faders</h3>
13176
13177 <p>
13178   Pressing the button marked <kbd class="menu">Aux Sends</kbd> on a aux bus will
13179   alter the channel strip for every track or bus that feeds the aux bus. Many
13180   aspects of the strip will become insensitive and/or change their visual
13181   appearance. More importantly, the main fader of the affected channel strips
13182   will now control the send level and <strong>not</strong> the track gain.
13183   This gives a larger, more configurable control to alter the level. Click the
13184   <kbd class="menu">Aux Sends</kbd> button of the aux bus again to revert the
13185   channel strips to their normal use.
13186 </p>
13187
13188 <h2>Disabling Sends</h2>
13189
13190 <p>
13191   Clicking on the small "LED" in the send display in the processor box of the
13192   channel strip will enable/disable the send. When disabled, only silence will
13193   be delivered to the aux bus by this track. When enabled, the signal arriving
13194   at the send will be delivered to the aux bus.
13195 </p>
13196
13197 <h2>Send Panning</h2>
13198
13199 <p>
13200   Send panners can be configured to either be independent of the main
13201   panner, or to follow it. The latter could be useful for Reverb effects, or
13202   for in-ear monitor mixes delivered in stereo.
13203 </p>
13204
13205 ---
13206 title: Comparing Aux Sends and Subgroups
13207 menu_title: Auxes vs. Groups
13208 part: subchapter
13209 ---
13210
13211 <p>
13212   Auxes and Subgroups share a common concept&mdash;they both provide a way
13213   for one or more tracks (or busses) to send their signal to a single bus so
13214   that common signal processing can be applied to the mix of their signals.
13215 </p>
13216
13217 <p>
13218   <dfn>Aux sends</dfn> leave the existing signal routing to the main mix in place,
13219   and are typically used to create a separate mix to send to (for example)
13220   monitors or headphones (for performer monitor mixes):
13221 </p>
13222
13223 <img width="300px" src="/images/a3_aux_routing.png" alt="aux signal routing" />
13224
13225 <p>
13226   <dfn>Subgroups</dfn> usually remove the original signal routing to the main mix and replace it with a new one that delivers the output of the subgroup bus to the main mix instead.
13227 </p>
13228
13229 <img width="300px" src="/images/a3_subgroup_routes.png" alt="sub group signal routing" />
13230
13231 ---
13232 title: External Sends
13233 part: subchapter
13234 ---
13235
13236 <p>
13237   Like a normal aux send, an <dfn>external send</dfn> taps the signal at a
13238   specific within a channel strip, but delivers it to an external application
13239   or piece of hardware rather than an Ardour bus. By itself, an external
13240   send has no effect whatsoever on the audio signals within Ardour&mdash;it is a one-way signal routing that leaves all existing signal processing
13241   just as it was.
13242 </p>
13243
13244 <p>
13245   Most people will not have much use for this, but it can be useful if you
13246   want to experiment with external applications or hardware signal processing
13247   applications.
13248 </p>
13249
13250 <h2>Adding an External Send</h2>
13251
13252 <p>
13253   Context-click on the
13254   <a href="/working-with-plugins/processor-box">processor box</a> in a
13255   channel strip (at the desired location, pre or post fader) and choose
13256   <kbd class="menu">Add new External Send</kbd>. A dialog will appear
13257   containing the standard Ardour
13258   <a href="/signal-routing/the-patchbay"><dfn>patchbay</dfn></a> to allow
13259   you to connect the send to the desired destination.
13260 </p>
13261
13262 <p class="fixme">Broken links</p>
13263
13264 <h2>Removing an External Send</h2>
13265
13266 <p>You can remove an external send in several ways:</p>
13267
13268 <ul>
13269 <li><kbd class="mouse mod3">Right</kbd>-click the send in the processor box.</li>
13270 <li>Position the pointer over the send and press the <kbd>Del</kbd> key.</li>
13271 <li>Position the pointer over the send and press <kbd class="mod1">x</kbd>.</li>
13272 <li>Context-click the send and choose either <kbd class="menu">Cut</kbd> or
13273   <kbd class="menu">Delete</kbd>.</li>
13274 </ul>
13275
13276 <h2>Altering Send Levels</h2>
13277
13278 <p>
13279   Just below the send in the processor box is a small fader that can be used
13280   like all other faders in Ardour to control the gain applied to the signal
13281   delivered by the send. Drag it to alter the level, Shift-click to restore
13282   to unity (0dB) gain.
13283 </p>
13284
13285 <h2>Disabling Sends</h2>
13286
13287 <p>
13288   Click the small "LED" in the send display within the processor box to turn
13289   it on and off. When turned off, silence will be delivered to the send. When
13290   turned on, the signal within the channel strip will be delivered.
13291 </p>
13292
13293 <h2>Editing Send Routing</h2>
13294
13295 <p>
13296   Double-clicking or Edit-clicking on the send in the processor box will
13297   redisplay the patchbay dialog that allows you full control over the routing
13298   of the send.
13299 </p>
13300
13301 ---
13302 title: Inserts
13303 part: subchapter
13304 ---
13305
13306 <p>
13307   <dfn>Inserts</dfn> are signal tap points that can be placed anywhere
13308   inside a channel strip. Unlike Auxes, they will interrupt the signal flow,
13309   feeding the signal from before the insert point to its <dfn>Insert
13310   send(s)</dfn>, and connecting the remainder of the channel strip to the
13311   <dfn>Insert return(s)</dfn>, both of which are JACK ports which are
13312   visible to other JACK applications.
13313 </p>
13314
13315 <p>
13316   Inserts are the JACK equivalents of normalized switching jacks on an
13317   analog console.
13318 </p>
13319
13320 <p>
13321   An insert allows you to either use a special external DSP JACK
13322   application that is not available as a plugin, or to splice an external
13323   analog piece of gear into your channel strip, such as a vintage
13324   compressor, tube equalizer, etc. In the latter case, you would first
13325   connect your inserts to a pair of hardware ports, which are in turn
13326   connected to the outboard gear.
13327 </p>
13328
13329 <p>
13330   To disable (bypass) an insert, click on its LED in the processor box.
13331 </p>
13332
13333 <p class="note">
13334   When you create an insert, the signal will be interrupted until you make
13335   the relevant connections to the insert ports!
13336 </p>
13337
13338 <p class="note">
13339   Inserts will incur an additional JACK period of latency, which can be
13340   measured and compensated for during mixing, but not during tracking!
13341 </p>
13342
13343 ---
13344 title: Subgrouping
13345 part: subchapter
13346 ---
13347
13348 <p>
13349   <dfn>Subgrouping</dfn> (sometimes known as "Grouping" or "Audio Grouping")
13350   is a way to collect related signals together to apply some common
13351   treatment, before sending them on to the main mix. One standard
13352   application is to group several tracks belonging to the same instrument or
13353   section (such as a drumkit or horn section), to be able to adjust their
13354   volume with a single fader, after their inner balance has been set using
13355   the track faders.
13356 </p>
13357
13358 <p>
13359   To create a subgroup from an existing Track/Bus group, context-click on
13360   the relevant <a href="/working-with-tracks/track-and-bus-groups">group tab</a>,
13361   and choose <kbd class="menu">Add new subgroup bus</kbd>. A new bus will be
13362   created and every member of the track group will have its outputs disconnected
13363   from other destinations and then connected to the new bus inputs. The bus
13364   outputs will feed the master bus unless you have selected manual connections
13365   for the session. The bus will be named after the track group name.
13366 </p>
13367
13368 <p>
13369   Alternatively, you can create a group manually, by first adding a new bus,
13370   then, for each track you want to feed the subgroup bus, disconnect its outputs
13371   from the master and connect it to the inputs of the subgroup bus instead.
13372   You can do this in the global audio patchbay or a track by track basis via the
13373   output button of each track's channel strip.
13374 </p>
13375
13376 <p>
13377   To remove a subgroup (bus), context-click on the track group tab, and select
13378   <kbd class="menu">Remove subgroup bus</kbd>. You can also simply delete the
13379   bus itself. Note that this operation will <strong>not</strong> restore signal
13380   routing to the way it was before the addition of the subgroup bus&mdash;tracks
13381   that had been subgrouped will be left with their main outputs disconncted.
13382 </p>
13383
13384 ---
13385 title: Patchbay
13386 part: subchapter
13387 ---
13388
13389 <p>
13390   The <dfn>patchbay</dfn> is the main way to make connections to, from and
13391   within Ardour's mixer.
13392 </p>
13393
13394 <p class="note">
13395   Notable exceptions are internal aux sends and connections to the monitor bus (if
13396   you are using one): these cannot be controlled from a patchbay, and are
13397   basically not under manual control at all.
13398 </p>
13399
13400 <img class="right" src="/images/connection-manager.png" alt="an example patchbay" />
13401
13402 <p>
13403   The patchbay presents two groups of ports; one set of <dfn>sources</dfn>  (which produce data), and one of <dfn>destinations</dfn> (which consume data). Depending on the relative number of each, the sources will be placed on the left or the top of the dialogue, and the destinations on the right or the bottom. Thus, in general, signal flow is from top or left to right or bottom.
13404 </p>
13405
13406 <p>
13407   Both sources and destinations are divided up into groups, with each group being given a tab:
13408 </p>
13409
13410 <dl class="narrower-table">
13411   <dt>Hardware</dt>
13412   <dd>
13413     These are ports which are connected to a physical piece of hardware (a sound card or MIDI interface).</dd>
13414   <dt>Ardour Busses</dt>
13415   <dd>All ports belonging to busses.</dd>
13416   <dt>Ardour Tracks</dt>
13417   <dd>All ports belonging to tracks.</dd>
13418   <dt>Ardour Misc</dt>
13419   <dd>
13420     These are other ports that do not fit into the previous two categories; for example, the ports on which the metronome click is output, and MIDI ports for things like control surfaces and timecode.
13421   </dd>
13422   <dt>Other</dt>
13423   <dd>
13424     If you have 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).</dd>
13425 </dl>
13426
13427 <p>
13428   The main part of the patchbay is a <dfn>matrix grid</dfn>. Within this grid, green dots represent connections, and you can click in any of the squares to make or break connections. You can also click and drag to draw a line of connections, which is sometimes useful for making many connections at once.
13429 </p>
13430
13431 <p>
13432   In the example patchbay shown above we can note various things. We are using the <kbd class="menu">Ardour Tracks</kbd> sources tab, so we see the output ports of the three tracks in our session: Fred, Jim and Foo. Our destinations are from the <kbd class="menu">Ardour Busses</kbd> tab, so we have the inputs of a session bus, Sheila, and the inputs of the master bus. Fred and Jim have stereo outputs, so have L and R connections. Foo is a MIDI track, so it only has one connection, and its squares in the grid are coloured light grey to indicate that no connection can be made between Foo (a MIDI output) and our busses (which are all audio-input).
13433 </p>
13434
13435 <p>
13436   The green dots in the example show that both Foo and Bar are connected to the master bus, left to left and right to right.
13437 </p>
13438
13439 <h2>Variants on the Patchbay</h2>
13440
13441 <p>
13442   Slightly different versions of the patchbay are available from different places in Ardour. For a global view of all JACK audio connections, use <kbd class="menu">Window &gt Audio Patchbay</kbd>, or press <kbd class="mod2">P</kbd>. A corresponding MIDI Connection Manager can be opened using <kbd class="mod23">P</kbd>.
13443 </p>
13444
13445 <p>
13446   There is also a patchbay available when connecting individual tracks; clicking on the input or output buttons of a mixer strip will open a connection manager which has the corresponding track input or output as the only destination or source, with all other ports available for connection to it.
13447 </p>
13448
13449 <h2>Other patchbay features</h2>
13450
13451 <p>
13452   Context-clicking on a port name in the connection manager opens a menu which provides a few handy options:
13453 </p>
13454
13455 <dl class="wide-table">
13456   <dt><kbd class="menu">Add audio port</kbd> and <kbd class="menu">Add MIDI port</kbd></dt>
13457   <dd>
13458     These options add audio or MIDI ports to the thing that you opened the menu over, if this is possible. In this way, for example, tracks and busses can be extended to have more inputs or outputs.
13459   </dd>
13460   <dt><kbd class="menu">Remove</dt>
13461   <dd>
13462     Removes the given port, if possible. <kbd class="mouse mod3">Right</kbd>-clicking a port will do the same.
13463   </dd>
13464   <dt><kbd class="menu">Disconnect all from…</kbd></dt>
13465   <dd>Disconnects everything from the given port.</dd>
13466   <dt><kbd class="menu">Rescan</kbd></dt>
13467   <dd>
13468     Ardour will try to keep abreast of any changes to the JACK ports on your system, and reflect them in any connection managers which are open. If for some reason this fails, use this to re-scan the list of ports and update the manager.
13469   </dd>
13470   <dt><kbd class="menu">Show individual ports</kbd></dt>
13471   <dd>
13472     If you have a session which has lots of multi-channel tracks or busses, it may be an unnecessary detail that you have to connect left to left and right to right every time you make a connection. This obviously gets worse with higher channel counts (such as for 5.1 or Ambisonics). To make life easier with such sessions, you can untick Show individual ports. After that, the channels of tracks and busses will be hidden, and any green dots you add in the connection manager will automatically connect each channel of the source to the corresponding channel of the destination (left to left, right to right and so on). In this mode, a half-circle in the connection grid indicates that some (but not all) of the source's ports are connected to the destination.
13473   </dd>
13474   <dt><kbd class="menu">Flip</kbd></dt>
13475   <dd>
13476     This will flip the visible ports on the vertical axis with those on the horizontal. If, for example, the top of the connection manager is showing <kbd class="menu">Ardour Busses</kbd> and the right is showing <kbd class="menu">Hardware</kbd>, flip will swap the view to the opposite. You can also flip by pressing <kbd>f</kbd>. Note that if there are no matching tabs on both axes, flipping will be impossible.
13477   </dd>
13478 </dl>
13479
13480 ---
13481 title: Track/Bus Signal Flow
13482 part: subchapter
13483 ---
13484
13485 <h2>Overview</h2>
13486
13487 <p>
13488 In each individual Track or Bus the signal flow is top to bottom. Consider the following diagram:
13489 </p>
13490
13491 <p class="center"><img width="360px" src="/images/track_signal_routing.png" alt="track signal routing" /></p>
13492
13493 <p>
13494   Trim, Fader and Panner are provided by Ardour. The Processor-Box can hold 3rd Party Plugins or host-provided redirects (insert, aux-send,..).
13495 </p>
13496
13497 <p class="fixme">Where is the processor box in that image?</p>
13498
13499 <p>
13500   An important aspect is that the signal flow is multi-channel and not fixed throughout the track. For example, a Track can have a mono input, a mono to stereo plugin (e.g. reverb) flowing into a surround panner with 6 outputs. The design of Ardour is that width of the signal flow is defined by the passage through plugins in the processor box, followed by panning.
13501   The number of inputs to the panner is defined by the number outputs of the last plugin in the chain. The number of panner outputs is equal to the track's outputs ports, which can be added and remove dynamically. This schema called <em>Flexible I/O</em>. It's very powerful and a distinct feature of Ardour.
13502 </p>
13503
13504 <p class="note">
13505   The golden rule of processor signal flow:<br/>The number of outputs of one link of the process chain defines the number inputs of the next, until the panner.
13506 </p>
13507
13508 <p>
13509   Due to this rule there is one very common case that is hard to achieve: Keep a mono track mono.  With <em>Flexible I/O</em>, if a stereo plugin is added on a mono track, the signal flow after that plugin becomes stereo.
13510 </p>
13511
13512 <h2>Strict I/O</h2>
13513
13514 <p>
13515   Strict I/O enforces a simple rule: Plugins have the same number of inputs as they have outputs. By induction the track will have as many output-ports as there are input ports.
13516 </p>
13517
13518 <ol>
13519         <li>Adding a Plugin will not modify the signal-flow. The number of plugin outputs is forced to the number of inputs present at the point of insertion.
13520                 If a plugin-pin is missing, it is ignored. If Plugin-pin is unconnected, it is fed with silence. Unconnected plugin outputs are ignored).</li>
13521         <li>Strict I/O enforces the number of output ports.  The number of inputs to the panner (outputs of last plugin) defines the number of track outputs (after panner).
13522                 Required ports are automatically added, excess ports are removed. The user cannot manually add/remove output ports.</li>
13523 </ol>
13524
13525 <p>
13526   Strict I/O is set when creating the track and can later be en/disabled dynamically in the context menu of every mixer strip.
13527 </p>
13528
13529 <p class="center"><img src="/images/strict_io_routing.png" alt="strict i/o routing" /></p>
13530
13531 <p>
13532   There are two exceptions to the above rule 1.
13533 </p>
13534
13535 <ul>
13536 <li>Midi Synths. When adding a synth at a point where there is a Midi port only, the synthesizer plugin will add audio-output ports,
13537   which trickle down the processor chain to all follow up plugins as inputs and in turn force their outputs to match.</li>
13538 <li>Side chain inputs are not affected by strict I/O</li>
13539 </ul>
13540
13541 <h2>Customizing the Signal Flow</h2>
13542
13543 <p>
13544   The signal flow though the mixer can be customized at every processor node via "Pin Configuration" in the context menu of every processor.
13545   User customization override all automatic (flexible/strict I/O mode) inferred output port settings for the given processor.
13546   Non-customized plugins downstream will follow suit depending on the selected route mode, e.g. adding an additional output to a plugin on a track set to strict I/O will trickle down the process chain until the output and result in the addition of an output port.  This is useful for example in case of a mono to stereo reverb.
13547 </p>
13548
13549 <p>
13550   One can also bypass plugin instances with a 'thru' connection. This connection is latency compensated. One example is separate Left/Right channel Equalization using two mono plugins on a stereo track:
13551 </p>
13552
13553 <p class="center"><img src="/images/left_right_eq.png" alt="separate left/right Eq" /></p>
13554
13555 ---
13556 title: Muting and Soloing
13557 part: subchapter
13558 ---
13559
13560 <p>
13561   Each track and bus has two buttons which have important implications
13562   for signal flow: <dfn>mute</dfn> and <dfn>solo</dfn>. The behaviour
13563   of these buttons is configurable in Ardour, to suit different studio
13564   set-ups.
13565 </p>
13566
13567 <h2>Without a monitor bus</h2>
13568
13569 <p>
13570   If you are using Ardour without a monitor bus, there is only one way
13571   in which mute and solo will work:
13572 </p>
13573
13574 <ul>
13575   <li>
13576     Mute on a track or bus will mute that track on the master bus,
13577      so that it will not be heard.
13578   </li>
13579   <li>
13580     Solo on a track or bus will solo that track or bus and mute all
13581     others. Soloing a bus will also solo any tracks or
13582     busses which feed that bus.
13583   </li>
13584 </ul>
13585
13586 <h2>With a monitor bus</h2>
13587
13588 <p>
13589   For setups with a monitor bus, you have more options, mostly
13590   governed by the setting of the
13591   <kbd class="option">Solo controls are Listen controls</kbd> option
13592   in <kbd class="menu">Edit &gt; Preferences &gt; Solo / mute.
13593 </p>
13594
13595 <p>
13596   With <kbd class="optoff">Solo controls are Listen controls</kbd>
13597   unticked, behaviour is almost exactly the same as the situation
13598   without a monitor bus. Mute and solo behave the same, and the monitor
13599   bus is fed from the master bus, so it sees the same thing.
13600 </p>
13601
13602 <p>
13603   With <kbc class="option">Solo controls are Listen controls</kbd>
13604   ticked, the master and monitor busses behave differently. In this
13605   mode, solo controls are more properly called <dfn>listen</dfn>
13606   controls, and Ardour's solo buttons will change their legend from
13607   <samp>S</samp> to either <samp>A</samp> or <samp>P</samp> to
13608   reflect this.
13609 </p>
13610
13611 <p>
13612   Now, without any mute or listen, the monitor bus remains fed by
13613   the master bus. Also:
13614 </p>
13615
13616 <ul>
13617   <li>
13618     Mute will mute the track or bus, so that it will not be heard
13619     anywhere (neither on the master nor monitor busses), much as before.
13620   </li>
13621   <li>
13622     Listen will disconnect the monitor bus from the master bus, so
13623     that the monitor bus now only receives things that are "listened to".
13624     Listen will not perform any muting, and hence the master bus will
13625     not be affected by a listened track or bus.
13626   </li>
13627 </ul>
13628
13629 <p>
13630   When solo controls are listen controls, the listening point can be set
13631   to either After-Fade Listen (AFL) or Pre-Fade Listen (PFL). The precise
13632   point to get the signal from can further be configured using the
13633   <kbd class="menu">PFL signals come from</kbd> and
13634   <kbd class="menu">AFL signals come from</kbd> options.
13635 </p>
13636
13637 <p>
13638   The solo-mute arrangement with a monitor bus is shown below:
13639 </p>
13640
13641 <img src="/images/solo-mute.png" alt="mute/solo signal flow" />
13642
13643 <p>
13644   Here we have a number of tracks or busses (in orange). Each one has an
13645   output which feeds the master bus. In addition, each has PFL and AFL
13646   outputs; we have a choice of which to use. PFL/AFL from each track or
13647   bus are mixed. Then, whenever anything is set to AFL/PFL, the monitor out
13648   becomes just those AFL/PFL feeds; the rest of the time, the monitor out is
13649   fed from the master bus.
13650 </p>
13651
13652 <p>
13653   In this scheme Solo has no effect other than to mute other non-soloed tracks;
13654   with solo (rather then listen), the monitor out is fed from the master bus.
13655 </p>
13656
13657 <h2>Other solo options</h2>
13658
13659 <p>
13660   <kbd class="menu">Edit &gt; Preferences &gt;  Solo / Mute</kbd> has some
13661   more solo options:
13662 </p>
13663
13664 <h3>Solo-in-place mute cut</h3>
13665
13666 <p>
13667   When using solo-in-place (SiP), in other words when soloed tracks are being
13668   listened to on the master bus, this fader specifies the gain that will be
13669   applied to other tracks in order to mute them. Setting this level to
13670   -∞&nbdp;dB will mean that other tracks will not be heard at all; setting to
13671   some higher value less than 0dB means that other non-soloed tracks will be h
13672   eard, just reduced in volume compared to the soloed tracks. Using a value
13673   larger than -∞dB is sometimes called "Solo-In-Front" by other DAWs, because
13674   the listener has the sense that soloed material is "in front" of other
13675   material. In Ardour, this is not a distinct mode, but instead the mute cut
13676   control offers any level of "in-front-ness" that you might want to use.
13677 </p>
13678
13679 <h3>Exclusive solo</h3>
13680
13681 <p>
13682   If this is enabled, only one track or bus will ever be soloed at once; soloing
13683   track B while track A is currently soloed will un-solo track A before soloing
13684   track B.
13685 </p>
13686
13687 <h3>Show solo muting</h3>
13688
13689 <p>
13690   If this is enabled, the mute button of tracks and busses will be drawn
13691   outlined to indicate that the track or bus is muted because something else
13692   is soloed. This is enabled by default, and we recommend that you leave it
13693   that way unless you are extremely comfortable with Ardour's mute/solo
13694   behaviour.
13695 </p>
13696
13697 <h3>Soloing overrides muting</h3>
13698
13699 <p>
13700   If this is enabled, a track or bus that is both soloed and muted will behave
13701   as if it is soloed.
13702 </p>
13703
13704 <h3>Mute affects…</h3>
13705
13706 <p>
13707   These options dictate whether muting the track will affect various routes out
13708   of the track; through the sends, through the control outputs (to the monitor
13709   bus) and to the main outputs.
13710 </p>
13711
13712 ---
13713 title: Panning
13714 part: subchapter
13715 ---
13716
13717 <p>
13718   <dfn>Panning</<dfn> is the process of distributing one or more signals
13719   across a series of outputs so that the listener will have the
13720   experience of them coming from a particular point or area of the
13721   overall listening field.
13722 </p>
13723
13724 <p>
13725   It is used to create a sense of space and/or a sense of motion in an
13726   audio mix. You can spread out different signals across the space, and
13727   make them move over time.
13728 </p>
13729
13730 <h2>Types of Panners</h2>
13731
13732 <p>
13733   The way a panner works depends a great deal on how many signals it
13734   is going to process and how many outputs it will send them to. The
13735   simplest case is distributing a single signal to 2 outputs, which is
13736   the common case when using a "mono" track and a stereo speaker
13737   setup.
13738 </p>
13739
13740 <p>
13741   But panning in Ardour could theoretically involve distributing any
13742   number of signals to any number of ouputs. In reality, Ardour does
13743   not have specific panners for each different situation. Currently,
13744   it has dedicated panners for the following situations:
13745 </p>
13746
13747 <ul>
13748   <li>1 signal distributed to 2 outputs (the mono panner)</li>
13749   <li>2 signals distributed to 2 outputs (the stereo panner)</li>
13750   <li>N signals distributed to M outputs (the VBAP panner)</li>
13751 </ul>
13752
13753 <p>
13754   Even for each of these cases, there are many different ways to
13755   implement panning. Ardour currently offers just one solution to each
13756   of these situations, but in the future will offer more.
13757 </p>
13758
13759 <p>
13760   In addition to the panners, Ardour has a balance control for subtle
13761   corrections to existing stereo images.
13762 </p>
13763
13764 ---
13765 title: Mono Panner
13766 part: subchapter
13767 ---
13768
13769 <p>
13770   The default <dfn>mono panner</dfn> distributes 1 input to 2 outputs. Its
13771   behaviour is controlled by a single parameter, the <dfn>position</dfn>. By
13772   default, the panner is centered.
13773 </p>
13774
13775 <h2>Mono Panner User Interface</h2>
13776
13777 <img src="/images/mono-panner-annotated.png" alt="image of the mono panner"/>
13778
13779 <p class="note">
13780   The mono panner looks a quite similar to the
13781   <a href="/mixing/panning/stereo_panner">stereo panner</a>
13782   interface. The difference is that the L/R labels in the lower half
13783   of the mono panner do not move because there is no "width" to
13784   control.
13785 </p>
13786
13787 <h2>Using the mouse</h2>
13788
13789 <p>To change the position smoothly, press the right button and drag
13790   anywhere within the panner. <em>Note: you do not need
13791   to grab the position indicator in order to drag</em>
13792 </p>
13793
13794 <dl class="faq">
13795
13796 <dt>Reset to defaults</dt>
13797 <dd>Click <kbd class="mod3 mouse">right</kbd></dd>
13798
13799 <dt>Change to a "hard left"</dt>
13800 <dd>Double click <kbd class="mouse">right</kbd> in the left side
13801   of the panner</dd>
13802
13803 <dt>Change to a "hard right"</dt>
13804 <dd>Double click <kbd class="mouse">right</kbd> in the right side
13805   of the panner</dd>
13806
13807 <dt>Set the position to center</dt>
13808 <dd>Double Click <kbd class="mouse">right</kbd> in the middle of the panner</dd>
13809 </dl>
13810
13811 <h2>Keyboard bindings</h2>
13812
13813 <p>
13814   When the pointer is within a mono panner user interface, the following keybindings are available to operate on that panner:
13815 </p>
13816
13817 <dl>
13818   <dt><kbd>&larr;</kbd> / <kbd class="mod1">&larr;</kbd></dt>
13819   <dd>move position 1&deg; / 5&deg; to the left</dd>
13820   <dt><kbd>&rarr;</kbd> / <kbd class="mod1">&rarr;</kbd></dt>
13821   <dd>move position 1&deg; / 5&deg; to the right</dd>
13822   <dt><kbd>0</kbd></dt>
13823   <dd>reset position to center</dd>
13824 </dl>
13825
13826 <h2>Using the scroll wheel/touch scroll</h2>
13827
13828 <p>
13829   When the pointer is within a mono panner user interface, the scroll wheel may be used as follows:
13830 </p>
13831
13832 <dl>
13833   <dt><kbd class="mouse">&uArr;</kbd> or <kbd class="mouse">&lArr;</kbd></dt>
13834   <dd>move position to the left by 1&deg;</dd>
13835   <dt><kbd class="mod1 mouse">&uArr;</kbd> or <kbd class="mod1 mouse">&lArr;</kbd></dt>
13836   <dd>move position to the left by 5&deg;</dd>
13837   <dt><kbd class="mouse">&dArr;</kbd> or <kbd class="mouse">&rArr;</kbd></dt>
13838   <dd>move position to the right by 1&deg;</dd>
13839   <dt><kbd class="mod1 mouse">&dArr;</kbd> or <kbd class="mod1 mouse">&rArr;</kbd></dt>
13840   <dd>move position to the right by 5&deg;</dd>
13841 </dl>
13842
13843 ---
13844 title: Balance Control
13845 part: subchapter
13846 ---
13847
13848 <p>
13849   For stereo tracks, you can now switch between the default stereo panner and a traditional <dfn>balance control</dfn> by right-clicking on the panner widget.
13850 </p>
13851
13852 <img class="left" src="/images/stereo-balance.png" alt="Stereo Balance
13853 control"/>
13854
13855 <p>
13856   When the balance is centered, the incoming signals will be unaffected. Moving it to one side will linearly attenuate the signal of the opposite side.
13857 </p>
13858
13859 <p class="note">
13860   While the balance control is considerably less flexible than the stereo panner, it works with arbitrary content without danger of introducing comb filter artifacts.
13861 </p>
13862
13863 ---
13864 title: Stereo Panner
13865 part: subchapter
13866 ---
13867
13868 <p>
13869   The default <dfn>stereo panner</dfn> distributes two inputs to two outputs. Its
13870   behaviour is controlled by two parameters, <dfn>width</dfn> and
13871   <dfn>position</dfn>. By default, the panner is centered at full width.
13872 </p>
13873
13874 <p>
13875   The stereo panner assumes that the signals
13876   you wish to distribute are either uncorrelated (i.e. totally
13877   independent), or that they contain a stereo image which is
13878   <dfn>mono-compatible</dfn>, such as a co-incident microphone recording, or a
13879   sound stage that has been created with pan pots.<sup><a href="#caveat">*</a></sup>
13880 </p>
13881
13882 <p class="note">
13883   With the default values it is not possible to alter the position,
13884   since the width is already spread entirely across both outputs. To
13885   alter the position, you must first reduce the width.
13886 </p>
13887
13888 <h2>Stereo Panner User Interface</h2>
13889
13890 <img src="/images/stereo-panner-annotated.png" alt=""/>
13891
13892 <p>
13893   The <dfn>panner user interface</dfn> consists of three elements, divided between
13894   the top and bottom half. Click and/or drag in the top half to
13895   control position; click and/or drag in the bottom half to control
13896   width (see below for details).
13897 </p>
13898
13899 <p>
13900   In the top half is the position indicator, which shows where the
13901   center of the stereo image is relative to the left and right
13902   edges. When this is the middle of the panner, the stereo image is
13903   centered between the left and right outputs. When it all the way to
13904   the left, the stereo image collapses to just the left speaker.
13905 </p>
13906
13907 <p>
13908   In the bottom half are two signal indicators, one marked "L" and the
13909   other "R". The distance between these two shows the width of the
13910   stereo image. If the width is reduced to zero, there will only be a
13911   single signal indicator marked "M" (for mono), whose color will
13912   change to indicate the special state.
13913 </p>
13914
13915 <p>
13916   It is possible to invert the outputs (see below) so that whatever
13917   would have gone to the right channel goes to the left and vice
13918   versa. When this happens, the entire movable part of the panner
13919   changes color to indicate clearly that this is the case.
13920 </p>
13921
13922 <h3>Position vs. L/R</h3>
13923
13924 <p>
13925   Although the implementation of the panner uses the "position"
13926   parameter, when the user interface displays it numerically, it shows
13927   a pair of numbers that will be familiar to most audio engineers.
13928 </p>
13929
13930 <table>
13931 <tr><th>Position</th><th>L/R</th><th>English</th></tr>
13932 <tr><td>0</td><td>L=50% R=50%</td><td>signal image is midway between
13933     left and right speakers</td></tr>
13934
13935 <tr><td>-1</td><td>L=100% R=0%</td><td>signal image is entirely
13936     at the left speaker</td></tr>
13937
13938 <tr><td>1</td><td>L=0% R=100%</td><td>signal image is entirely
13939     at the right speaker</td></tr>
13940 </table>
13941
13942 <p>
13943   One way to remember this sort of convention is that the middle of the
13944   USA is not Kansas, but "Los Angeles: 50% New York: 50%".
13945 </p>
13946
13947 <h3>Examples In Use</h3>
13948
13949 <table>
13950 <tr><th>Appearance</th><th>Settings</th></tr>
13951 <tr><td><img src="/images/stereo-panner.png"></td><td>Width=100%,
13952     L=50 R=50</td></tr>
13953 <tr><td><img src="/images/stereo-panner-zero.png"></td><td>Width=0%,
13954     L=50 R=50</td></tr>
13955 <tr><td><img src="/images/stereo-panner-inverted.png"></td><td>Width=-100%, Position = 0 (center)</td></tr>
13956 <tr><td><img src="/images/stereo-panner-right.png"></td><td>Width=36%,
13957     L=44 R=56</td></tr>
13958 <tr><td><img src="/images/stereo-panner-hard-right.png"></td><td>Width=0%,
13959     L=0 R=100</td></tr>
13960 </table>
13961
13962 <h4>Using the mouse</h4>
13963
13964 <p>
13965   Mouse operations in the upper half of the panner adjust the position
13966   parameter, constrained by the current width setting.
13967 </p>
13968 <p>
13969   Mouse operations in the lower half of the panner adjust the width
13970   parameter, constrained by the current position setting.
13971 </p>
13972 <p>
13973   To change the position smoothly, press the right button and drag
13974   within the top half of the panner, then release. The position will
13975   be limited by the current width setting. <em>Note: you do not need
13976   to grab the position indicator in order to drag.</em>
13977 </p>
13978 <p>
13979   To change the width smoothly, press the right button and drag
13980   within the lower half of the panner, then release. The width will be
13981   limited by the current position setting. <em>Note: you do not need to
13982   grab the L/R indicators in order to drag.</em>
13983 </p>
13984
13985 <dl class="faq">
13986
13987 <dt>Reset to defaults</dt>
13988 <dd>Click <kbd class="mod3 mouse">right</kbd></dd>
13989
13990 <dt>Change to hard left</dt>
13991 <dd>Double click <kbd class="mod2 mouse">right</kbd> in the upper left half
13992   of the panner</dd>
13993
13994 <dt>Change to a hard right</dt>
13995 <dd>Double click <kbd class="mod2 mouse">right</kbd> in the upper right half
13996   of the panner</dd>
13997
13998 <dt>Move position as far left as possible, given width</dt>
13999 <dd>Double click <kbd class="mouse">right</kbd> in the upper left half of the
14000   panner</dd>
14001
14002 <dt>Move position as far right as possible, given width</dt>
14003 <dd>Double click <kbd class="mouse">right</kbd> in the upper right half of the
14004   panner</dd>
14005
14006 <dt>Set the position to center</dt>
14007 <dd>Click <kbd class="mouse">right</kbd> in the upper middle of the panner</dd>
14008
14009 <dt>Reset to maximum possible width</dt>
14010 <dd>Double click <kbd class="mouse">right</kbd> on the lower left side</dd>
14011
14012 <dt>Invert (flip channel assignments)</dt>
14013 <dd>Double click <kbd class="mouse">right</kbd> on the lower right side</dd>
14014
14015 <dt>Set width to 0&deg;</dt>
14016 <dd>Double click <kbd class="mouse">right</kbd> in the lower middle</dd>
14017 </dl>
14018
14019 <h4>Keyboard bindings</h4>
14020
14021 <p>
14022   When the pointer is within a stereo panner user interface, the following
14023   keybindings are available to operate on that panner:
14024 </p>
14025
14026 <dl>
14027   <dt><kbd>&uarr;</kbd> / <kbd class="mod1">&uarr;</kbd></dt>
14028   <dd>increase width by 1&deg; / 5&deg;</dd>
14029   <dt><kbd>&darr;</kbd> / <kbd class="mod1">&darr;</kbd></dt>
14030   <dd>decrease width by 1&deg; / 5&deg;</dd>
14031   <dt><kbd>&larr;</kbd> / <kbd class="mod1">&larr;</kbd></dt>
14032   <dd>move position 1&deg; / 5&deg; to the left</dd>
14033   <dt><kbd>&rarr;</kbd> / <kbd class="mod1">&rarr;</kbd></dt>
14034   <dd>move position 1&deg / 5&deg; to the right</dd>
14035   <dt><kbd>0</kbd></dt>
14036   <dd>reset position to center</dd>
14037   <dt><kbd class="mod2">&uarr;</kbd></dt>
14038   <dd>reset width to full (100%)</dd>
14039 </dl>
14040
14041 <h4>Using the scroll wheel/touch scroll</h4>
14042
14043 <p>
14044   When the pointer is within a stereo panner user interface, the scroll
14045   wheel may be used as follows:
14046 </p>
14047
14048 <dl>
14049   <dt><kbd class="mouse">&lArr;</kbd> / <kbd class="mod1 mouse">&lArr;</kbd></dt>
14050   <dd>increase width by 1&deg; / 5&deg;</dd>
14051   <dt><kbd class="mouse">&rArr;</kbd> / <kbd class="mod1 mouse">&rArr;</kbd></dt>
14052   <dd>decrease width by 1&deg; / 5&deg;</dd>
14053   <dt><kbd class="mouse">&uArr;</kbd> / <kbd class="mod1 mouse">&uArr;</kbd></dt>
14054   <dd>move position 1&deg; / 5&deg; to the left</dd>
14055   <dt><kbd class="mouse">&dArr;</kbd> / <kbd class="mod1 mouse">&dArr;</kbd></dt>
14056   <dd>move position 1&deg; / 5&deg;to the right</dd>
14057 </dl>
14058
14059 <h2><a name="caveat"></a>Stereo panning caveats</h2>
14060
14061 <p class="warning">
14062   The stereo panner will introduce unwanted side effects on
14063   material that includes a time difference between the channels, such
14064   as A/B, ORTF or NOS microphone recordings, or delay-panned mixes.<br />
14065   When you reduce the width, you are effectively summing two highly
14066   correlated signals with a delay, which will cause <dfn>comb filtering</dfn>.
14067 </p>
14068
14069 <p>
14070   Let's take a closer look at what happens when you record a source at 45° to the
14071   right side with an ORTF stereo microphone array and then manipulate the width.
14072 </p>
14073
14074 <p>
14075   For testing, we apply a <dfn>pink noise</dfn> signal to both inputs of an Ardour stereo
14076   bus with the stereo panner, and feed the bus output to a two-channel analyser.
14077   Since pink noise contains equal energy per octave, the expected readout is a
14078   straight line, which would indicate that our signal chain does not color the
14079   sound:
14080 </p>
14081
14082 <img src="/images/stereo-panner-with-ORTF-fullwidth.png" />
14083
14084 <p>
14085   To simulate an ORTF, we use Robin Gareus' stereo balance
14086   control LV2 to set the level difference and time delay. Ignore the Trim/Gain&mdash;its purpose is just to align the test signal with the 0dB line of the
14087   analyser.
14088 </p>
14089
14090 <p>
14091   Recall that an <dfn>ORTF</dfn> microphone pair consists of two cardioids
14092   spaced 17&nbsp;cm apart, with an opening angle of 110°. For a far source at
14093   45° to the right, the time difference between the capsules is 350&nbsp;&mu;s
14094   or approximately 15 samples at 44.1&nbsp;kHz. The level difference due to the
14095   directivity of the microphones is about 7.5&nbsp;dB (indicated by the
14096   distance between the blue and red lines in the analyser).
14097 </p>
14098
14099 <p>
14100   Now for the interesting part: if we reduce the width of the signal to 50%,
14101   the time-delayed signals will be combined in the panner. Observe what
14102   happens to the frequency response of the left and right outputs:
14103 </p>
14104
14105 <img src="/images/stereo-panner-with-ORTF-halfwidth.png" />
14106
14107 <p>
14108   You may argue that all spaced microphone recordings will undergo comb
14109   filtering later, when the two channels recombine in the air between the speakers.
14110   Perceptually however, there is a huge of difference: our hearing system is
14111   very good at eliminating comb filters in the real world, where their component
14112   signals are spatially separated. But once you combine them
14113   inside your signal chain, this spatial separation is lost and the brain will
14114   no longer be able to sort out the timbral mess. As usual, you
14115   get to keep the pieces.
14116 </p>
14117
14118 <p class="note">
14119   Depending on your material and on how much you need to manipulate the width,
14120   some degree of comb filtering may be acceptable. Then again, it may not. Listen
14121   carefully for artefacts if you manipulate unknown stereo signals&mdash;many
14122   orchestra sample libraries for example do contain time-delay components.
14123 </p>
14124
14125
14126 ---
14127 title: Plugin and Hardware Inserts
14128 part: chapter
14129 ---
14130
14131
14132 ---
14133 title: Working With Plugins
14134 part: subchapter
14135 ---
14136
14137 <p>
14138   <dfn>Plugins</dfn> are bits of software that get loaded by Ardour in order to create various audio or MIDI effects, or generate audio by functioning as "software instruments".
14139 </p>
14140
14141 <p>
14142   Ardour supports a variety of different plugin standards:
14143 </p>
14144
14145 <dl class="narrower-table">
14146   <dt><abbr title="Linux Audio Developers' Simple Plugin API">LADSPA</abbr></dt>
14147   <dd>An early, simple, lightweight plugin <abbr title="Application
14148   Programming Interface">API</abbr>, audio effects only,
14149   plugins have no editors/GUI of their own (Ardour provides one, however).</dd>
14150   <dt><abbr title="LADSPA Version 2">LV2</abbr></dt>
14151   <dd>An extensible, full-featured plugin API, audio and <abbr
14152   title="Musical Instrument Digital Interface">MIDI</abbr>, plugins can provide their
14153   own  <abbr title="Graphical User Interface">GUI</abbr>s; the successor to LADSPA</dd>
14154   <dt><abbr title="Audio Unit">AU</abbr></dt>
14155   <dd>OS X only, full featured, audio and MIDI, plugins can provide their own GUI</dd>
14156
14157   <dt><abbr title="Virtual Studio Technology">VST</abbr></dt>
14158   <dd>Plugins using Steinberg's VST plugin standard. Varies by platform:
14159     <dl>
14160     <dt>on Linux</dt><dd>(native) Linux VST plugins fully supported (VST2.4)</dd>
14161     <dt>on Windows</dt><dd>(native) Windows VST plugins fully supported (VST2.4)</dd>
14162     <dt>on OS X</dt><dd>Not supported, unless you use a VST-to-AU
14163     bridge plugin. Similar to Apple's Logic DAW.</dd>
14164   </dl>
14165   </dd>
14166
14167   <dt>Windows VST Plugins on Linux</dt>
14168   <dd>VST plugins for Windows, but being used on Linux. <strong>Normally not supported.</strong> See <a href="/working-with-plugins/windows-vst-support">Windows VST Plugins on Linux</a> for details.
14169   </dd>
14170 </dl>
14171
14172 ---
14173 title: Processor Box
14174 part: subchapter
14175 ---
14176
14177 <p><img class="right" src="/images/processor-box.png" alt="the Processor Box" /></p>
14178
14179 <p>
14180   In Ardour terminology, a <dfn>processor</dfn> is anything which treats the signal in some way and gets plugged into a mixer strip. Ardour provides several builtin processors such as the fader or panners. Processors can also be <dfn>plugins</dfn> used for effects or as instruments, as well as sends or inserts which affect <a href="/signal-routing">signal routing</a>.
14181 </p>
14182
14183 <p>
14184   The arrangement of processors is arbitrary, and there is no limit to how
14185   many there can be. The Processor Box will automagically add a scrollbar to
14186   itself if there are more processors in it than can be shown in the given space.
14187 </p>
14188
14189 <p>
14190   The main box in the top half of a mixer strip shows the <dfn>processor
14191   box</dfn>. Processors are shown as colored rectangles, with a small "LED" beside
14192   them that lights up when the processor is enabled. The color of the
14193   processor depends on its location in the sequence; processors that are <dfn>pre-fader</dfn> are colored in red, and <dfn>post-fader</dfn> processors are colored green (in the default theme).
14194 </p>
14195
14196 <p>
14197   The <dfn>processor box</dfn> will always contain a blue <dfn>Fader</dfn> processor. This indicates where in the processor chain the main channel fader is located; this is the fader shown in the lower half of the strip. It can be enabled and disabled like any other processor.
14198 </p>
14199
14200 <h2>Adding Processors</h2>
14201 <p>
14202   Processors can be added to the chain by <kbd class="mouse">Right</kbd>-clicking in the processor list, This does three things:
14203 </p>
14204
14205 <ul>
14206   <li>A gap is opened up to indicate the location of the click. The gap shows where any new processors will be inserted.</li>
14207   <li>The processor under the click is selected.</li>
14208   <li>An options menu is presented.</li>
14209 </ul>
14210
14211 <p>
14212   From the menu, new processors can be inserted.
14213 </p>
14214
14215 <p>
14216   Processors can also be dragged and dropped from the <a href="/working-with-plugins/plugin-sidebar/"><dfn>Favorite Plugins</dfn> window</a> to an appropriate spot in the Processor Box.
14217 </p>
14218
14219 <p class="note">
14220   The <dfn>Favorite Plugins</dfn> window can be populated via the <a href="/working-with-plugins/plugin-manager/">Plugin Manager</a>, or by dragging and dropping an existing processor from the <dfn>processor box</dfn> to the <dfn>Favorite Plugins</dfn> window.
14221 </p>
14222
14223 <h2>To Reorder (Move) Processors</h2>
14224 <p>
14225   Processors can be re-ordered using drag &amp; drop. Dragging a processor
14226   allows it to be moved around within the chain, or copied to another
14227   processor list on another track or bus.
14228 </p>
14229
14230 <h2>To Enable/Disable a Processor</h2>
14231
14232 <p><img class="right" src="/images/processor.png" alt="a typical processor" /></p>
14233
14234 <p>
14235   To the left of the name of each processor is a small LED symbol; if this
14236   is lit-up, the processor is active. Clicking on it will deactivate the
14237   processor and effectively bypass it.
14238 </p>
14239
14240 <p class="note">
14241   Some processors have their own bypass controls that are independent of the one that Ardour provides; this can make it appear that the plugin is non-responsive when its independent bypass control is active.
14242 </p>
14243
14244 <h2>Selecting Processors</h2>
14245 <p>
14246   A processor in the <dfn>processor box</dfn> can be selected with a <kbd class="mouse">Left</kbd>-click on it; it will be highlighed in red. Other processors can be selected at the same time by <kbd class="mouse">Left</kbd>-clicking on them while holding down the <kbd class="mod1">&zwnj;</kbd> key, and ranges can be selected by <kbd class="mouse">Left</kbd>-clicking on them while holding down the <kbd>Shift</kbd> key
14247 </p>
14248
14249 <h2>Removing Processors</h2>
14250 <p>
14251   Context-click on the processor to be removed, and select <kbd
14252   class="menu">Delete</kbd>; or <kbd class="mod3 mouse">Right</kbd>-click on it; or <kbd class="mouse">Left</kbd>-click on it and press the <kbd>Delete</kbd> key. If multiple processors are selected, they will all be deleted at the same time.
14253 </p>
14254
14255 ---
14256 title: Plugin Manager
14257 part: subchapter
14258 ---
14259
14260 <p class="fixme">This needs updating; it was written for v3 or v4, and it's out of date</p>
14261
14262 <p>
14263   The <dfn>Plugin Manager</dfn> serves two purposes. Primarily it is used to control the display status of plugins. It can also be used to find and insert plugins into the <a href="/working-with-plugins/processor-box/">Processor Box</a>. It is displayed either by a double-click in the <dfn>Processor Box</dfn> or by choosing <kbd class="menu">New Plugin &gt; Plugin Manager...</kbd> from the <dfn>Processor Box</dfn> context menu.
14264 </p>
14265
14266 <p class="center"><img src="/images/plugin-manager.png" alt="Plugin Manager window"/></p>
14267
14268 <p>
14269   Displayed for each plugin is the status (normal, favorite, hidden),
14270   name, type, category, creator (author), and the number of audio and MIDI
14271   connections. The plugins can be sorted by clicking on a column header.
14272 </p>
14273
14274 <h2>Plugin Display Status</h2>
14275
14276 <p>
14277   Click on a Fav(orite) or Hide radio button to change a plugin's display status. Clicking on an already selected radio button will cancel it, returning the plugin to the normal display status. Plugins marked as a favorite show up in the <dfn>Processor Box</dfn> context menu under <kbd class="menu">New Plugin &gt; Favorites</kbd> and in <dfn>Favorite Plugins</dfn> pane in the Mixer window. Setting the hide radio button on a plugin will keep the plugin from showing in the <dfn>Processor Box</dfn> context menus <kbd class="menu">New Plugin &gt; By Creator</kbd> or <kbd class="menu">New Plugin &gt; By Category</kbd>.
14278 </p>
14279
14280 <h2>Filtering Listed Plugins</h2>
14281
14282 <p>
14283   The middle of the <dfn>Plugin Manager</dfn> is used to filter the listed plugins. Typing into the text-box will filter the plugins based on the filter mode selected by drop-down box. Clicking <kbd class="button">Clear</kbd> empties the text-box.
14284 </p>
14285
14286 <h2>Inserting Plugins in the Processor Box</h2>
14287
14288 <p>
14289   The bottom half of the plugin manager shows plugins that have been selected
14290   for insertion into the <dfn>Processor Box</dfn>. A plugin can be added by
14291   either double clicking the plugin entry in the top half, or, if already
14292   selected in top half, by clicking <kbd class="button">Add</kbd>.
14293 <p>
14294
14295 <p>
14296   Plugins can be removed from the bottom half with a double click, or, if
14297   already selected, by clicking <kbd class="button">Remove</kbd>.
14298 </p>
14299
14300
14301 ---
14302 title: Managing Plugin Presets
14303 part: subchapter
14304 ---
14305
14306 <p class="fixme">Add images</p>
14307
14308 <p>
14309   All plugin control widgets, whether they are created by Ardour or
14310   by the plugin, have a common set of controls at the top of the window.
14311   These include 4 controls for managing <dfn>plugin presets</dfn>.
14312 </p>
14313
14314 <h2>What Is a Plugin Preset?</h2>
14315
14316 <p>
14317   A <dfn>preset</dfn> for a plugin is simply a saved set of values for
14318   all of a plugin's parameters. If you load a preset, you are restoring
14319   all the parameters of that plugin to the values stored in the preset.
14320   This is an easy, fast way to manage your preferred settings for
14321   particular plugins.
14322 </p>
14323
14324 <h2>The Preset Selector</h2>
14325
14326 <p>
14327   The <dfn>preset selector</dfn> is a regular selector that can be
14328   clicked to display a list of all known presets for this plugin. This
14329   will include presets that you have created yourself, and for some
14330   plugin formats, presets that come with the plugin itself.
14331 </p>
14332
14333 <h2>Load a New Preset</h2>
14334
14335 <p>
14336   Click on the preset selector to pop up a menu showing the names of
14337   all available presets. Click on the name of the preset you wish to load.
14338   The preset will be loaded&mdash;you may see various controls in the
14339   plugin editor change to reflect the new value of some or all parameters.
14340 </p>
14341
14342 <h2>Create a Preset</h2>
14343
14344 <p>
14345   To save the current plugin settings as a new preset, click on the
14346   <kbd class="menu">Add</kbd> button at the top of the window. A dialog
14347   will appear to ask for the name of the preset.
14348 </p>
14349
14350 <h2>Save a Preset</h2>
14351
14352 <p>
14353   If you wish to modify the settings in an existing preset, first use
14354   the preset selector to load the preset, then adjust the settings as
14355   you wish. When done, click the <kbd class="menu">Save</kbd> button
14356   and the new values will be stored, overwriting the previous version
14357   of this preset.
14358 </p>
14359
14360 <h2>Delete a preset</h2>
14361
14362 <p>
14363   To delete an existing preset, use the preset selector to load the preset.
14364   Click the <kbd class="menu">Delete</kbd> button, and the preset will be
14365   removed. The preset selector turn blank, showing that no preset is
14366   currently loaded (although the settings will stay as they were).
14367 </p>
14368
14369 ---
14370 title: Working with Ardour-built Plugin Editors
14371 part: subchapter
14372 ---
14373
14374 <p class="fixme">This section needs expansion, and at least one image</p>
14375
14376 <p>
14377   To view a plugin editor, double-click on the plugin within the
14378   <a href="/working-with-plugins/processor-box">processor box</a>.
14379   A new window will appear showing the editor/GUI for the plugin.
14380 </p>
14381
14382 <p>
14383   If a plugin does not have its own GUI, Ardour will construct a
14384   <dfn>generic plugin editor</dfn> from a small set of common control
14385   elements. Ardour will do this even for plugins that have their
14386   own, if <kbd class="menu">Edit &gt; Preferences &gt;
14387   GUI &gt; Use Plugins' own interface instead of Ardour's</kbd> is disabled.
14388 </p>
14389
14390 <p>
14391   The generic UI can be temporarily switched to by context-clicking on
14392   a processor and selecting <kbd
14393   class="menu">Edit with generic controls</kbd>. This will be necessary to
14394   access the <a href="/automation">plugin automation controls</a>.
14395 </p>
14396
14397 <p>
14398   In the generic UI, any controller can be reset to its default by
14399   <kbd class="mod3 mouse">Left</kbd>-clicking on it.
14400 </p>
14401
14402 ---
14403 title: Plugins Bundled With Ardour
14404 part: subchapter
14405 ---
14406
14407 <p>
14408   Ardour now comes with the following plugins as part of a standard installation:
14409 </p>
14410
14411 <dl class="narrower-table">
14412   <dt>a-Amplifier</dt>
14413   <dd>A versatile &plusmn;20dB multichannel amplifier</dd>
14414   <dt>a-Compressor</dt>
14415   <dd>A side-chain enabled compressor with the usual controls. Comes in stereo and mono versions</dd>
14416   <dt>a-Delay</dt>
14417   <dd>A basic single-tap delay line, with tempo sync</dd>
14418   <dt>a-EQ</dt>
14419   <dd>A nice sounding 4-band parametric EQ with shelves</dd>
14420   <dt>a-Fluid Synth</dt>
14421   <dd>Wraps the Fluidsynth SoundFont2 synthesis engine as a new sample player</dd>
14422   <dt>a-High/Low Pass Filter</dt>
14423   <dd>Independent high and low pass filters with steepness up to 48dB/octave</dd>
14424   <dt>a-Inline Scope</dt>
14425   <dd>A mixer strip inline waveform display</dd>
14426   <dt>a-Inline Spectrogram</dt>
14427   <dd>A mixer strip inline specturm display</dd>
14428   <dt>a-MIDI Monitor</dt>
14429   <dd>A mixer strip inline display to show recent <abbr title="Musical Instrument Digital Interface">MIDI</abbr> events</dd>
14430   <dt>a-Reverb</dt>
14431   <dd>A reverb that finds a balance between sounding good, using a lot of CPU and having too many controls</dd>
14432 </dl>
14433
14434 ---
14435 title: Getting More Plugins
14436 part: subchapter
14437 ---
14438
14439 <p>
14440   The following list shows <dfn>plugin packages</dfn>. In some cases, a package contains just one or two plugins; in other cases, dozens.
14441 </p>
14442
14443 <h2>Plugins by Standard</h2>
14444
14445 <h3 id="LADSPA">LADSPA</h3>
14446
14447 <ul>
14448   <li>AMB <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14449   <li>Blepvco <a href="http://smbolton.com/linux.html">http://smbolton.com/linux.html</a></li>
14450   <li>Blop <a href="http://blop.sourceforge.net">http://blop.sourceforge.net</a></li>
14451   <li>CAPS <a href="http://quitte.de/dsp/caps.html">http://quitte.de/dsp/caps.html</a></li>
14452   <li>CMT <a href="http://www.ladspa.org/cmt/">http://www.ladspa.org/cmt/</a></li>
14453   <li>FIL <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14454   <li>FOO <a href="http://code.google.com/p/foo-plugins/">http://code.google.com/p/foo-plugins/</a></li>
14455   <li>MCP <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14456   <li>NJL <a href="https://github.com/tialaramex/njl-plugins">https://github.com/tialaramex/njl-plugins</a></li>
14457   <li>Omins <a href="http://www.nongnu.org/om-synth/omins.html">http://www.nongnu.org/om-synth/omins.html</a></li>
14458   <li>REV <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14459   <li>SWH <a href="http://plugin.org.uk/">http://plugin.org.uk/</a></li>
14460   <li>TAP <a href="http://tap-plugins.sourceforge.net/">http://tap-plugins.sourceforge.net/</a></li>
14461   <li>VCF <a href="http://users.suse.com/~mana/ladspa.html">http://users.suse.com/~mana/ladspa.html</a></li>
14462   <li>VCO <a href="http://kokkinizita.linuxaudio.org/linuxaudio/">http://kokkinizita.linuxaudio.org/linuxaudio/</a></li>
14463   <li>VLevel <a href="http://vlevel.sourceforge.net/about/">http://vlevel.sourceforge.net/about/</a></li>
14464   <li>Vocoder <a href="http://www.sirlab.de/linux/download_vocoder.html">http://www.sirlab.de/linux/download_vocoder.html</a></li>
14465   <li>WASP <a href="http://linux01.gwdg.de/~nlissne/wasp/index.html">http://linux01.gwdg.de/~nlissne/wasp/index.html</a> (mar wanted!)</li>
14466   <li>Nova <a href="http://klingt.org/~tim/nova-filters/">http://klingt.org/~tim/nova-filters/</a></li>
14467   <li>Calf <a href="http://calf.sourceforge.net/">http://calf.sourceforge.net/</a></li>
14468   <li>Socal’s LEET Plugins <a href="http://code.google.com/p/leetplugins/">http://code.google.com/p/leetplugins/</a></li>
14469   <!--<li>Holap synthesizer and DSP effects <a href="http://holap.berlios.de/">http://holap.berlios.de/</a></li>-->
14470 </ul>
14471
14472 <h3 id="LV2">LV2</h3>
14473
14474 <ul>
14475   <li>SWH <a href="http://plugin.org.uk/lv2/">http://plugin.org.uk/lv2/</a></li>
14476   <li>ll-plugins <a href="http://ll-plugins.nongnu.org/">http://ll-plugins.nongnu.org/</a></li>
14477   <li>zynadd <a href="http://home.gna.org/zyn/">http://home.gna.org/zyn/</a></li>
14478   <li>Calf <a href="http://calf.sourceforge.net/">http://calf.sourceforge.net/</a></li>
14479   <li>LinuxDSP <a href="http://www.overtonedsp.co.uk/download/linuxdsp-archive/">http://www.overtonedsp.co.uk/download/linuxdsp-archive/</a></li>
14480   <li>Invada Studio <a href="https://launchpad.net/invada-studio/">https://launchpad.net/invada-studio/</a></li>
14481 </ul>
14482
14483 <h3 id="LinuxVST">Linux VST (LXVST)</h3>
14484
14485 <ul>
14486   <li>Loomer <a href="http://www.loomer.co.uk/">http://www.loomer.co.uk/</a></li>
14487   <li>Distrho <a href="http://distrho.sourceforge.net/ports.php">http://distrho.sourceforge.net/ports.php</a></li>
14488   <li>Argotlunar <a href="http://argotlunar.info/">http://argotlunar.info/</a></li>
14489 </ul>
14490
14491 <h2>How do I install plugins?</h2>
14492
14493 <h3>Linux</h3>
14494
14495 <p>
14496   <dfn>Installation</dfn> will vary a little depending on how you get plugins.  If your repository has a particular plugin package, just install it using the normal software package management tool for your system. Most Linux distributions that are good for audio work will have most of the LADSPA and LV2 plugins mentioned above available in ready-to-use forms.
14497 </p>
14498
14499 <p>
14500   Finding them will typically require <em>searching</em> your distribution's repository to find the name of the package. The tools for doing this vary from distribution to distribution. A good place to start searching is with the name of the package (e.g. "caps" or "calf"). There are no fixed rules about what different Linux distributions call their packages for a given set of plugins.
14501 </p>
14502
14503 <p>
14504   If the package isn't available, then you can build the plugins from source (plugins are generally fairly easy to compile if you've ever done this sort of thing before).
14505 </p>
14506
14507 <p>
14508   LADSPA plugins are shared library files. They need to be installed in either /usr/lib/ladspa, /usr/local/lib/ladspa or in a directory mentioned in your LADSPA_PATH environment variable.
14509 </p>
14510
14511 <p>
14512   LV2 plugins are folders/directories. They need to installed in either /usr/lib/lv2, /usr/local/lib/lv2 or a directory mentioned in your LV2_PATH environment variable.
14513 </p>
14514
14515 <p>
14516   Linux VST (LXVST) plugins are distributed as shared library files. They are typically installed in /usr/lib/lxvst, /usr/local/lib/lxvst or a directory mentioned in your LXVST_PATH environment variable.
14517 </p>
14518
14519 <h3>OS X</h3>
14520
14521 <p>
14522   Unless you're a particularly technical computer user, building and installing plugins in the LV2 (or LADSPA) format is probably not something worth planning on.
14523 </p>
14524
14525 <p>
14526   Most of the plugins you are likely to use on OS X will be in Apple's AudioUnit format. These have their own installation process that tends to just work.
14527 </p>
14528
14529 ---
14530 title: Using Windows VST Plugins on Linux
14531 part: subchapter
14532 ---
14533
14534 <p>
14535   Thanks to the combined work of Torben Hohn, Kjetil Mattheusen, Paul
14536   Davis and a few other developers, it is possible to use Windows
14537   <dfn><abbr title="Virtual Studio Technology">VST</abbr>
14538   plugins</dfn> (that is, plugins in VST format built and distributed
14539   for the Windows platforms) on Ardour running on Linux. (Note: there
14540   is no VST support of any kind on OS X).
14541 </p>
14542
14543 <p>However, doing so has three <em>substantial</em> downsides:</p>
14544
14545 <ul>
14546   <li>It requires a special build of Ardour that is fundamentally
14547   very different from normal builds</li>
14548   <li>Support depends on <a href="http://winehq.org/">Wine</a>,
14549   a Windows "emulator"</li>
14550   <li>As usual with plugins, a crashing plugin will take Ardour down
14551   with it&mdash;and crashes in Windows VST plugins are more likely when
14552   used in this way</li>
14553 </ul>
14554
14555 <p>
14556   The dependence on Wine makes it almost impossible for the Ardour
14557   project to support this feature. Wine's functionality generally
14558   improves over time, but any given release of Wine may behave worse
14559   with some or all Windows VST plugins. It may even just crash Ardour
14560   completely.
14561 </p>
14562
14563 <p>
14564   Step back and think about what "using Windows VSTs" really means:
14565   taking bits of software written with only one idea in mind&mdash;running
14566   on the Windows platform&mdash;and then trying to use them on an entirely
14567   different platform. It is a bit of a miracle (largely thanks to the
14568   incredible work done by the Wine project) that it works at all. But is
14569   this the basis of a stable, reliable DAW for a non-Windows platform?
14570   Getting Ardour on Linux to pretend that its really a Windows
14571   application running on Windows?
14572 </p>
14573
14574 <p>
14575   We understand that there are many outstanding plugins available as
14576   Windows VSTs and that in many cases, no equivalent is available for
14577   Ardour's Linux-based users. If your workflow is so dependent on those
14578   plugins, then remain on Windows (or potentially consider using an
14579   actual Windows VST host running inside of Wine). If you can make the
14580   effort, you will get a better environment by using a normal build of
14581   Ardour and exploring the world of plugins built to run on Linux
14582   natively. This covers LADSPA, LV2 and Linux VST formats, and even some
14583   outstanding proprietary plugins such as those
14584   from <a href="http://www.loomer.co.uk/">Loomer</a>.
14585 </p>
14586
14587 <h2>A Plea To Plugin Manufacturers</h2>
14588
14589 <p>
14590   Please consider porting your plugins so that users can enjoy them on
14591   Linux too. Several other commercial plugin developers have already
14592   done this. You can choose between using "Linux VST" (which is what
14593   Loomer and others have done)&mdash;you will find toolkits like JUCE that
14594   help to make this fairly easy&mdash;or using LV2 format which is
14595   ultimately more flexible but probably more work. We have users&mdash;thousands of users&mdash;on Linux who would like to use your plugins.
14596 </p>
14597
14598
14599 ---
14600 title: Automation
14601 part: chapter
14602 ---
14603
14604
14605 ---
14606 title: Mixdown
14607 part: chapter
14608 ---
14609
14610
14611 ---
14612 title: Export Dialog
14613 part: subchapter
14614 ---
14615
14616 <p>
14617   When you have finished mixing your session, you probably want to export it to a sound file to burn to a CD, upload to the web, or whatever. <kbd class="menu">Session &gt; Export &gt; Export to Audio file(s)...</kbd> shows the Export Dialog to do this.
14618 </p>
14619
14620 <p>
14621   You can also export the outputs of multiple tracks &amp; busses all at once via
14622   <kbd class="menu">Session &gt; Export &gt; Stem Export...</kbd>.
14623 </p>
14624
14625 <h2>File Format</h2>
14626
14627 <img src="/images/export-dialog-file-format.png" />
14628
14629 <p>
14630   This tab contains controls for the format of the exported audio file. You can enable more than one format here, in which case each will be exported in turn. Ardour is supplied with a list of export formats, including:
14631   <ul>
14632     <li>CD (Red Book)</li>
14633     <li>DVD-A</li>
14634     <li>FLAC 24 bit </li>
14635     <li>FLAC 24 bit (tagged)</li>
14636     <li>Ogg_Vorbis</li>
14637     <li>Ogg_Vorbis (tagged)</li>
14638     <li>Ring Tone</li>
14639   </ul>
14640   You can edit these formats, or create your own, with the <a href="/exporting/edit-export-format-profile/">"Edit Export Format Profile"</a> dialog, which appears when you click the "Edit" or "New" button to the right of the drop-down list of formats.
14641 </p>
14642
14643 <p>
14644   You can also create a 'Preset' consisting of one or more formats. Ardour provides some ready-made presets, too:
14645   <ul>
14646     <li>CD + DVD-A</li>
14647     <li>CD + FLAC</li>
14648     <li>CD + FLAC (tagged)</li>
14649     <li>CD + Ogg_Vorbis + FLAC (tagged)</li>
14650     <li>CD + Ogg_Vorbis</li>
14651     <li>CD + Ogg_Vorbis (tagged)</li>
14652     <li>CD only</li>
14653     <li>DVD-A only</li>
14654     <li>FLAC</li>
14655     <li>FLAC (tagged)</li>
14656     <li>Ogg_Vorbis + FLAC</li>
14657     <li>Ogg_Vorbis + FLAC (tagged)</li>
14658     <li>Ogg_Vorbis </li>
14659     <li>Ogg_Vorbis (tagged)</li>
14660   </ul>
14661 </p>
14662
14663 <h3>Soundcloud upload</h3>
14664
14665 <p>
14666   When 'Upload to Soundcloud' is ticked on in any format's tab, a pane containing fields to enter in Soundcloud account details (email and password), and what should happen to the uploaded files will become visible.
14667 </p>
14668
14669 <img src="/images/soundcloud-upload.png" />
14670
14671 <p>
14672 <dl>
14673 <dt>Make files public</dt><dd>Choose whether to make uploaded files available to anyone via the Soundcloud web site.</dd>
14674 <dt>Open uploaded files in browser</dt><dd>Open each file on soundcloud in your browser after upload. If you don't enable this, you can still see the URLs in the <a href="">Log window</a>.</dd>
14675 <dt>Make files downloadable</dt><dd>Choose whether to allow downloading of files uploaded to Soundcloud.</dd>
14676 </dl>
14677 </p>
14678
14679 <h2>Time Span</h2>
14680
14681 <img src="/images/export-dialog-timespan.png" />
14682
14683 <p>
14684   This tab allows you to select the range (or ranges) of the timeline to export. By default, "session" is enabled&mdash;this will export the whole session from the start marker to the end marker.
14685 </p>
14686
14687
14688 <h2>Channels</h2>
14689
14690 <img src="/images/export-dialog-channels.png" />
14691
14692 <p>
14693   Here you can choose which outputs (tracks or busses) should be sent to the exported file.
14694 </p>
14695
14696 <h2>Stem Export</h2>
14697
14698 <img src="/images/export-dialog-stem-export.png" />
14699
14700 <p>
14701   If you chose 'Stem Export', the 'Channels' tab appears slightly differently:
14702   in this case each chosen channel (track or bus) is exported to its own file,
14703   instead of all channels being mixed together into a single file. You can
14704   choose to export either the region contents or the track output here in this
14705   case.
14706 </p>
14707
14708 ---
14709 title: Export Format Profiles
14710 part: subchapter
14711 ---
14712
14713 <h2>Export Format Profiles</h2>
14714
14715 <p>
14716   An Export Format Profile specifies the file format in which Ardour will export
14717   audio files, and also other audio file export options.
14718 </p>
14719
14720 <p>
14721   Export Format Profiles are edited via the 'Edit Export Format Profile' dialog.
14722 </p>
14723
14724 <img src="/images/edit-export-format-profile.png" />
14725
14726 <h3>Normalize</h3>
14727
14728 <p>
14729   If enabled, peak levels of exported files will be normalized to the level chosen here.
14730 </p>
14731
14732 <h3>Trim/Add silence at start/end</h3>
14733
14734 <p>
14735 </p>
14736
14737 <h3>Compatibility/Quality/File format/Sample rate</h3>
14738
14739 <h4>Compatibility</h4>
14740
14741 <p>
14742   Selecting an item in the 'Compatibility' column will display options in the
14743   other columns that are incompatible with that item in red.
14744 </p>
14745
14746 <h4>Quality</h4>
14747
14748 <p>
14749   The appropriate item in the 'Quality' column will be highlighted when you
14750   choose a file format. Clicking on items in the 'Quality' column currently
14751   doesn't seem to do anything useful.
14752 </p>
14753
14754 <h4>File format</h4>
14755
14756 <p>
14757   This column contains a list of Ardour's supported export file types. Click on
14758   the format you want to use.
14759 </p>
14760
14761 <h4>Sample rate</h4>
14762
14763 <p>
14764   You can explicitly choose the sample rate of your exported files here, or
14765   choose 'Session rate' to export in the current session's sample rate, without
14766   sample rate conversion.
14767 </p>
14768
14769 <h4>Sample rate conversion quality</h4>
14770
14771 <p>
14772   If your chosen sample rate does not match the current session's sample rate,
14773   choose the sample rate conversion quality here. Better quality options are
14774   slower.
14775 </p>
14776
14777 <h3>Options</h3>
14778
14779 <p>
14780   Options relevant to the chosen file format will appear here.
14781   Categories of audio file format are:
14782   <ul>
14783     <li>Linear encoding</li>
14784     <li>Broadcast Wave</li>
14785     <li>Ogg Vorbis</li>
14786     <li>FLAC</li>
14787   </ul>
14788 </p>
14789
14790 <p>
14791   Available options include a selection of the following:
14792 </p>
14793
14794 <h4>Sample Format</h4>
14795
14796 <p>
14797   Choose the bit depth of exported files.
14798 </p>
14799
14800 <h4>Dithering</h4>
14801
14802 <p>
14803   If the exported files bit depth is less than Ardour's native bit depth,
14804   choose the dithering algorithm to use.
14805 </p>
14806
14807 <h4>Create CUE file/Create TOC file</h4>
14808
14809 <p>
14810   As well as exporting an audio file, create a file (in CUE or TOC format
14811   respectively) containg CD track information, as defined in the
14812   <a href="/working-with-markers/rangesmarks-list/">Ranges &amp; Marks List</a>.
14813 </p>
14814
14815 <h4>Tag with session's metadata</h4>
14816
14817 <p>
14818   If the exported file format supports metadata, use data entered in the
14819   <a href="/working-with-sessions/metadata/">Session Metadata</a>
14820   window to tag the exported files.
14821 </p>
14822
14823 <h3>Label</h3>
14824
14825 <p>
14826   The 'Label' field lets you choose the name which will be shown for this format
14827   in the drop-down list of export formats in the 'File Formats' tab of the
14828   <a href="/exporting/export-dialog/">Export dialog</a>.
14829 </p>
14830
14831 <h3>Command to run post-export</h3>
14832
14833 <p>
14834   If this is not blank, it is considered as a command to be run after the export
14835   of each file. Either the command must exist in $PATH, or you can specify an
14836   absolute path to an executable file here.
14837 </p>
14838
14839 <p>
14840   Certain sequences are allowed here to stand for the exported file name and the
14841   like. Currently these are:
14842   <dl>
14843     <dt><code>%f</code></dt>
14844     <dd>Full path &amp; filename of the exported audio file</dd>
14845     <dt><code>%d</code></dt>
14846     <dd>Directory containing the exported audio file (including trailing directory separator)</dd>
14847     <dt><code>%b</code></dt>
14848     <dd>Basename of the exported audio file (without extension)</dd>
14849     <dt><code>%s</code></dt>
14850     <dd>Path to the current session file</dd>
14851     <dt><code>%n</code></dt>
14852     <dd>Name of the current session file</dd>
14853     <dt><code>%%</code></dt>
14854     <dd>A literal percent sign</dd>
14855   </dl>
14856 </p>
14857
14858 <p>
14859   Any part of the command-line enclosed in double-quotes (") will be used as-is.
14860 </p>
14861
14862
14863
14864
14865 ---
14866 title: Surround
14867 part: part
14868 ---
14869
14870
14871 ---
14872 title: Ardour Setup for Surround
14873 part: chapter
14874 ---
14875
14876
14877 ---
14878 title: Multichannel Tracks and Signal Routing
14879 part: chapter
14880 ---
14881
14882
14883 ---
14884 title: Surround Panning and Mixing
14885 part: chapter
14886 ---
14887
14888
14889 ---
14890 title: VBAP Panner
14891 part: subchapter
14892 ---
14893
14894 <p class="warning">
14895   Ardour's VBAP panner is currently in development, and its semantics may
14896   change in the near future, possibly affecting your mixes. Please do not
14897   rely on it for important production work while the dust settles.
14898 </p>
14899
14900 <p>
14901   <dfn><abbr title="Vector-base Amplitude Panning">VBAP</abbr></dfn>
14902   is a versatile and straightforward method to pan a source around over an
14903   arbitrary number of speakers on a horizontal polygon or a 3D surface,
14904   even if the speaker layout is highly irregular.
14905 </p>
14906
14907 <h2>Basic concepts</h2>
14908
14909 <p>
14910   VBAP was developed by Ville Pulkki at Aalto University, Helsinki, in 2001.
14911   It works by distributing the signal to the speakers nearest to the desired
14912   direction with appropriate weightings, aiming to create a maximally sharp
14913   phantom source by using as few speakers as possible:
14914 </p>
14915
14916 <ul>
14917   <li>one speaker, if the desired direction coincides with a speaker
14918   location,</li>
14919   <li>two speakers, if the desired direction is on the line between two
14920   speakers,</li>
14921   <li>and three speakers in the general 3D case.</li>
14922 </ul>
14923
14924 <p>
14925   Thus, if you move the panner onto a speaker, you can be sure that only
14926   this speaker will get any signal. This is handy when you need precise
14927   1:1 routing.
14928 </p>
14929
14930 <p>
14931   The drawback of VBAP is that a moving source will constantly change its
14932   apparent sharpness, as it transitions between the three states mentioned
14933   above.
14934 </p>
14935
14936 <p>
14937   A <dfn>horizontal</dfn> VBAP panner has one parameter, the <dfn>azimuth
14938   angle</dfn>. A <dfn>full-sphere</dfn> panner offers an additional
14939   <dfn>elevation angle</dfn> control.
14940 </p>
14941
14942 <p class="note">
14943   More elaborate implementations of VBAP also include a
14944   <dfn>spread</dfn> parameter, which  will distribute the signal over a
14945   greater number of speakers in order to maintain constant (but no longer
14946   maximal) sharpness, regardless of position. Ardour's VBAP panner does not
14947   currently include this feature.
14948 </p>
14949
14950 <h2>Speaker layout</h2>
14951
14952 <p>
14953   Each VBAP panner is specific to its <dfn>speaker layout</dfn>&mdash;the panner has to "know" about the precise location of all the speakers. A complete VBAP implementation must therefore include the possibility to define this layout.
14954 </p>
14955
14956 <img src="/images/VBAP-panner-5.png" class="small right" alt="The VBAP
14957 panner with 5 outputs"/>
14958
14959 <p>
14960   Ardour currently uses a simplified approach: if a track or bus has more
14961   than two output channels (which implies stereo), it assumes that you
14962   have N speakers distributed in a regular N-gon. That means that for
14963   irregular layouts such as 5.1 or 7.1, the direction you dial in will
14964   differ a bit from the actual auditory result, but you can still achieve
14965   any desired spatialisation.
14966 </p>
14967
14968 <h3>Experimental 3D VBAP</h3>
14969
14970 <img src="/images/VBAP-panner-10.png" class="small right" alt="The VBAP
14971 panner with 10 outputs, in experimental 3D mode"/>
14972
14973 <p>
14974   For tracks with 10 outputs, Ardour will currently assume a 3-dimensional
14975   speaker layout corresponding to Auro-3D 10.1, which is a horizontal 5.1
14976   system, four elevated speakers above L, R, Ls, and Rs, and an additional
14977   "voice-of-god" speaker at the zenith.
14978 </p>
14979
14980 <h2>N:M panning</h2>
14981
14982 <img src="/images/VBAP-panner-4in5.png" class="small right" alt="The VBAP
14983 panner in 4 in, 5 out mode"/>
14984
14985 <p>
14986   For tracks and busses with more than one input, Ardour will (for now) assume that
14987   you wish to distribute the inputs symmetrically along the latitude around
14988   the panner direction. The width parameter controls the opening angle of
14989   the distribution sector.
14990 </p>
14991
14992
14993
14994
14995 ---
14996 title: Sync & Video
14997 part: part
14998 ---
14999
15000
15001 ---
15002 title: Working with Synchronization
15003 part: chapter
15004 ---
15005
15006
15007 ---
15008 title: On Clock and Time
15009 part: subchapter
15010 ---
15011
15012 <p>
15013   <dfn>Synchronization</dfn> in multimedia involves two concepts which are
15014   often confused: <dfn>clock</dfn> (or speed) and <dfn>time</dfn> (location
15015   in time).
15016 </p>
15017
15018 <p>
15019   A <dfn>clock</dfn> determines the speet at which one or more systems
15020   operate. In the audio world this is generally referred to as <a href="http://en.wikipedia.org/wiki/Word_clock" title="http://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 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.
15021 </p>
15022
15023 <p>
15024   Time or <dfn>timecode</dfn> specifies an absolute  position on a timeline,
15025   such as <code>01:02:03:04</code> (expressed as Hours:Mins:Secs:Frames). It is
15026   actual <em>data</em> and not a clock <em>signal</em> per se.
15027   The granularity of timecode is <dfn>Video Frames</dfn> and is an order of
15028   magnitude lower than, say, Word Clock which is counted in
15029   <dfn>samples</dfn>. A typical frame rate is 25&nbsp;<abbr title="frames
15030   per second">fps</abbr> with a period of
15031   40&nbsp;ms.
15032   In the case of 48&nbsp;kHz and 25&nbsp;fps, there are 1,920 audio samples
15033   per video frame.
15034 </p>
15035
15036 <p>
15037   The concepts of clock and timecode are reflected in JACK and Ardour:
15038 </p>
15039
15040 <p>
15041   JACK provides clock synchronization and is not concerned with time code
15042   (this is not entirely true, more on jack-transport later).
15043   On the software side, jackd provides sample-accurate synchronization
15044   between all JACK applications.
15045   On the hardware side, JACK uses the clock of the audio-interface.
15046   Synchronization of multiple interfaces requires hardware support to sync
15047   the clocks.
15048   If two interfaces run at different clocks the only way to align the
15049   signals is via re-sampling (SRC&mdash;Sample Rate Conversion), which is
15050   expensive in terms of CPU usage and may decreases fidelity if done
15051   incorrectly.
15052 </p>
15053
15054 <p>
15055   Timecode is used to align systems already synchronized by a clock to
15056   a common point in time, this is application specific and various
15057   standards and methods exist to do this.
15058 </p>
15059
15060 <p class="note">
15061   To make things confusing, there are possibilities to synchronize clocks
15062   using timecode. e.g. using mechanism called <dfn>jam-sync</dfn> and a
15063   <dfn>phase-locked loop</dfn>.
15064 </p>
15065
15066 <p>
15067   An interesting point to note is that LTC (Linear Time Code) is a
15068   Manchester encoded, frequency modulated signal that carries both
15069   clock and time. It is possible to extract absolute position data
15070   and speed from it.
15071 </p>
15072
15073 ---
15074 title: Latency and Latency-Compensation
15075 menu_title: Latency
15076 part: subchapter
15077 ---
15078
15079 <p>
15080   <a
15081   href="http://en.wikipedia.org/wiki/Latency_%28audio%29"><dfn>Latency</dfn></a>
15082   is a system's reaction time to a given stimulus. There are many factors that
15083   contribute to the total latency of a system. In order to achieve exact time
15084   synchronization all sources of latency need to be taken into account and
15085   compensated for.
15086 </p>
15087
15088 <h2>Sources of Latency</h2>
15089
15090 <h3>Sound propagation through the air</h3>
15091
15092 <p>
15093   Since sound is a mechanical perturbation in a fluid, it travels at
15094   comparatively slow <a href="http://en.wikipedia.org/wiki/Speed_of_sound">speed</a>
15095   of about 340 m/s. As a consequence, your acoustic guitar or piano has a
15096   latency of about 1&ndash;2 ms, due to the propagation time of the sound
15097   between your instrument and your ear.
15098 </p>
15099
15100 <h3>Digital-to-Analog and Analog-to-Digital conversion</h3>
15101
15102 <p>
15103   Electric signals travel quite fast (on the order of the speed of light),
15104   so their propagation time is negligible in this context. But the conversions
15105   between the analog and digital domain take a comparatively long time to perform,
15106   so their contribution to the total latency may be considerable on
15107   otherwise very low-latency systems. Conversion delay is usually below 1&nbsp;ms.
15108 </p>
15109
15110 <h3>Digital Signal Processing</h3>
15111
15112 <p>
15113   Digital processors tend to process audio in chunks, and the size of that chunk
15114   depends on the needs of the algorithm and performance/cost considerations.
15115   This is usually the main cause of latency when you use a computer and one you
15116   can try to predict and optimize.
15117 </p>
15118
15119 <h3>Computer I/O Architecture</h3>
15120
15121 <p>
15122   A computer is a general purpose processor, not a digital audio processor.
15123   This means our audio data has to jump a lot of fences in its path from the
15124   outside to the CPU and back, contending in the process with some other parts
15125   of the system vying for the same resources (CPU time, bus bandwidth, etc.)
15126 </p>
15127
15128 <h2>The Latency chain</h2>
15129
15130 <img src="/images/latency-chain.png"  title="Latency chain" alt="Latency chain" />
15131
15132 <p>
15133   <em>Figure: Latency chain.</em>
15134   The numbers are an example for a typical PC. With professional gear and an
15135   optimized system the total roundtrip latency is usually lower. The important
15136   point is that latency is always additive and a sum of many independent factors.
15137 </p>
15138
15139 <p>
15140   Processing latency is usually divided into <dfn>capture latency</dfn> (the time
15141   it takes for the digitized audio to be available for digital processing, usually
15142   one audio period), and <dfn>playback latency</dfn> (the time it takes for
15143   In practice, the combination of both matters. It is called <dfn>roundtrip
15144   latency</dfn>: the time necessary for a certain audio event to be captured,
15145   processed and played back.
15146 </p>
15147
15148 <p class="note">
15149   It is important to note that processing latency in a jackd is a matter of
15150   choice. It can be lowered within the limits imposed by the hardware (audio
15151   device, CPU and bus speed) and audio driver. Lower latencies increase the
15152   load on the system because it needs to process the audio in smaller chunks
15153   which arrive much more frequently. The lower the latency, the more likely
15154   the system will fail to meet its processing deadline and the dreaded
15155   <dfn>xrun</dfn> (short for buffer over- or under-run) will make its
15156   appearance more often, leaving its merry trail of clicks, pops and crackles.
15157 </p>
15158
15159 <p>
15160   The digital I/O latency is usually negligible for integrated or
15161   <abbr title="Periphal Component Interface">PCI</abbr> audio devices, but
15162   for USB or FireWire interfaces the bus clocking and buffering can add some
15163   milliseconds.
15164 </p>
15165
15166
15167 <h2>Low Latency usecases</h2>
15168
15169 <p>
15170   Low latency is <strong>not</strong> always a feature you want to have. It
15171   comes with a couple of drawbacks: the most prominent is increased power
15172   consumption because the CPU needs to process many small chunks of audio data,
15173   it is constantly active and can not enter power-saving mode (think fan-noise).
15174   Since each application that is part of the signal chain must run in every
15175   audio cycle, low-latency systems will undergo<dfn>context switches</dfn>
15176   between applications more often, which incur a significant overhead.
15177   This results in a much higher system load and an increased chance of xruns.
15178 </p>
15179
15180 <p>
15181   For a few applications, low latency is critical:
15182 </p>
15183
15184 <h3>Playing virtual instruments</h3>
15185
15186 <p>
15187   A large delay between the pressing of the keys and the sound the instrument
15188   produces will throw-off the timing of most instrumentalists (save church
15189   organists, whom we believe to be awesome latency-compensation organic systems.)
15190 </p>
15191
15192 <h3>Software audio monitoring</h3>
15193
15194 <p>
15195   If a singer is hearing her own voice through two different paths, her head
15196   bones and headphones, even small latencies can be very disturbing and
15197   manifest as a tinny, irritating sound.
15198 </p>
15199
15200 <h3>Live effects</h3>
15201
15202 <p>
15203   Low latency is important when using the computer as an effect rack for
15204   inline effects such as compression or EQ. For reverbs, slightly higher
15205   latency might be tolerable, if the direct sound is not routed through the
15206   computer.
15207 </p>
15208
15209 <h3>Live mixing</h3>
15210
15211 <p>
15212   Some sound engineers use a computer for mixing live performances.
15213   Basically that is a combination of the above: monitoring on stage,
15214   effects processing and EQ.
15215 </p>
15216
15217 <p>
15218   In many other cases, such as playback, recording, overdubbing, mixing,
15219   mastering, etc. latency is not important, since it can easily be
15220   compensated for.<br />
15221   To explain that statement: During mixing or mastering you don&#039;t care
15222   if it takes 10ms or 100ms between the instant you press the play button
15223   and sound coming from the speaker. The same is true when recording with a count in.
15224 </p>
15225
15226 <h2>Latency compensation</h2>
15227
15228 <p>
15229   During tracking it is important that the sound that is currently being
15230   played back is internally aligned with the sound that is being recorded.
15231 </p>
15232
15233 <p>
15234   This is where latency-compensation comes into play. There are two ways to
15235   compensate for latency in a DAW, <dfn>read-ahead</dfn> and
15236   <dfn>write-behind</dfn>. The DAW starts playing a bit early (relative to
15237   the playhead), so that when the sound arrives at the speakers a short time
15238   later, it is exactly aligned with the material that is being recorded.
15239   Since we know that play-back has latency, the incoming audio can be delayed
15240   by the same amount to line things up again.
15241 </p>
15242
15243 <p>
15244   As you may see, the second approach is prone to various implementation
15245   issues regarding timecode and transport synchronization. Ardour uses read-ahead
15246   to compensate for latency. The time displayed in the Ardour clock corresponds
15247   to the audio-signal that you hear on the speakers (and is not where Ardour
15248   reads files from disk).
15249 </p>
15250
15251 <p>
15252   As a side note, this is also one of the reasons why many projects start at
15253   timecode <samp>01:00:00:00</samp>. When compensating for output latency the
15254   DAW will need to read data from before the start of the session, so that the
15255   audio arrives in time at the output when the timecode hits <samp>01:00:00:00</samp>.
15256   Ardour3 does handle the case of <samp>00:00:00:00</samp> properly but not all
15257   systems/software/hardware that you may inter-operate with may behave the same.
15258 </p>
15259
15260 <h2>Latency Compensation And Clock Sync</h2>
15261
15262 <p>
15263   To achieve sample accurate timecode synchronization, the latency introduced
15264   by the audio setup needs to be known and compensated for.
15265 </p>
15266
15267 <p>
15268   In order to compensate for latency, JACK or JACK applications need to know
15269   exactly how long a certain signal needs to be read-ahead or delayed:
15270 </p>
15271
15272 <img src="/images/jack-latency-excerpt.png"  title="Jack Latency Compensation" alt="Jack Latency Compensation" />
15273
15274 <p>
15275   <em>Figure: Jack Latency Compensation.</em>
15276 </p>
15277
15278 <p>
15279   In the figure above, clients A and B need to be able to answer the following
15280   two questions:
15281 </p>
15282
15283 <ul>
15284   <li>
15285     How long has it been since the data read from port Ai or Bi arrived at the
15286     edge of the JACK graph (capture)?
15287   </li>
15288   <li>
15289     How long will it be until the data writen to port Ao or Bo arrives at the
15290     edge of the JACK graph (playback)?
15291   </li>
15292 </ul>
15293
15294 <p>
15295   JACK features an <abbr title="Application Programming Interface">API</abbr>
15296   that allows applications to determine the answers to above questions.
15297   However JACK can not know about the additional latency that is introduced
15298   by the computer architecture, operating system and soundcard. These values
15299   can be specified by the JACK command line parameters <kbd class="input">-I</kbd>
15300   and <kbd class="input">-O</kbd> and vary from system
15301   to system but are constant on each. On a general purpose computer system
15302   the only way to accurately learn about the total (additional) latency is to
15303   measure it.
15304 </p>
15305
15306 <h2>Calibrating JACK Latency</h2>
15307
15308 <p>
15309   Linux DSP guru Fons Adriaensen wrote a tool called <dfn>jack_delay</dfn>
15310   to accurately measure the roundtrip latency of a closed loop audio chain,
15311   with sub-sample accuracy. JACK itself includes a variant of this tool
15312   called <dfn>jack_iodelay</dfn>.
15313 </p>
15314
15315 <p>
15316   Jack_iodelay allows you to measure the total latency of the system,
15317   subtracts the known latency of JACK itself and suggests values for
15318   jackd's audio-backend parameters.
15319 </p>
15320
15321 <p>
15322   jack_[io]delay works by emitting some rather annoying tones, capturing
15323   them again after a round trip through the whole chain, and measuring the
15324   difference in phase so it can estimate with great accuracy the time taken.
15325 </p>
15326
15327 <p>
15328   You can close the loop in a number of ways:
15329 </p>
15330
15331 <ul>
15332   <li>
15333     Putting a speaker close to a microphone. This is rarely done, as air
15334     propagation latency is well known so there is no need to measure it.
15335   </li>
15336   <li>
15337     Connecting the output of your audio interface to its input using a
15338     patch cable. This can be an analog or a digital loop, depending on
15339     the nature of the input/output you use. A digital loop will not factor
15340     in the <abbr title="Analog to Digital, Digital to Analog">AD/DA</abbr>
15341     converter latency.
15342   </li>
15343 </ul>
15344
15345 <p>
15346   Once you have closed the loop you have to:
15347 </p>
15348
15349 <ol>
15350   <li>Launch jackd with the configuration you want to test.</li>
15351   <li>Launch <kbd class="input">jack_delay</kbd> on the commandline.</li>
15352   <li>Make the appropriate connections between your jack ports so the loop is closed.</li>
15353   <li>Adjust the playback and capture levels in your mixer.</li>
15354 </ol>
15355
15356 ---
15357 title: Timecode Generators and Slaves
15358 part: subchapter
15359 ---
15360
15361 <p>
15362   Ardour supports three common timecode formats:
15363   <abbr title="Linear/Longitudinal Time Code"><dfn>LTC</dfn></abbr>,
15364   <abbr title="MIDI Time Code"><dfn>MTC</dfn></abbr>, and
15365   <dfn>MIDI Clock</dfn>, as well as
15366   <dfn>JACK-transport</dfn>, a JACK-specific timecode implementation.
15367 </p>
15368
15369 <p>
15370   Ardour can generate timecode and thus act as timecode <dfn>master</dfn>,
15371   providing timecode information to other applications. Ardour can also be
15372   <dfn>slaved</dfn> to some external source in which case the playhead
15373   follows the incoming timecode.
15374 </p>
15375
15376 <p>
15377   Combining the timecode slave and generator modes, Ardour can also
15378   <dfn>translate</dfn> timecode. e.g create LTC timecode from incoming MTC.
15379 </p>
15380
15381 <h2>Ardour Timecode Configuration</h2>
15382
15383 <p>
15384   Each Ardour session has a specific timecode frames-per-second setting which
15385   is configured in <kbd class="menu">session &gt; properties &gt;
15386   timecode</kbd>. The selected timecode affects the timecoderuler in the main
15387   window as well as the clock itself.
15388 </p>
15389
15390 <p>
15391   Note that some timecode formats do not support all of Ardour's available
15392   fps settings. MTC is limited to 24, 25, 29.97 and 30 fps.
15393 </p>
15394
15395 <p>
15396   The video pull-up modes change the effective samplerate of Ardour to allow
15397   for changing a film soundtrack from one frame rate to another. The concept is
15398   beyond the scope of this manual, but Wikipedia's entry on
15399   <a href="http://en.wikipedia.org/wiki/Telecine">Telecine</a>
15400   may get you started.
15401 </p>
15402
15403 <h2>Ardour Timecode Generator Configuration</h2>
15404
15405 <p>
15406   This is pretty straightforward: simply turn it on. The MTC and MIDI-Clock
15407   generator do not have any options. The LTC generator has a configurable
15408   output level. JACK-transport cannot be <em>generated</em>. Jack itself is
15409   always synced to its own cycle and cannot do varispeed&mdash;it will
15410   always be synced to a hardware clock or another JACK master.
15411 </p>
15412
15413 <p>
15414   The relevant settings for timecode generator can be found in
15415   <kbd class="menu">Edit &gt; Preferences &gt; MIDI Preferences</kbd> (for MTC,
15416   MC) and
15417   <kbd class="menu">Edit &gt; Preferences &gt; Transport Preferences</kbd>
15418   (for LTC).
15419 </p>
15420
15421 <p>
15422   The timecode is sent to jack-ports <code>ardour:MTC out</code>,
15423   <code>ardour:MIDI clock out</code> and <code>ardour:LTC-out</code>. Multiple
15424   generators can be active simultaneously.
15425 </p>
15426
15427 <p class="note">
15428   Note that, as of Jan 2014, only the LTC generator supports latency
15429   compensation. This is due to the fact the Ardour MIDI ports are not
15430   yet latency compensated.
15431 </p>
15432
15433 <p>
15434   In <kbd class="menu">Session &gt; Properties</kbd>, it is possible to
15435   define an offset between Ardour's internal time and the timecode sent.
15436   Currently only the LTC generator honors this offset.
15437 </p>
15438
15439 <p>
15440   Both LTC and MTC are limited to 30&nbsp;fps. Using frame rates larger
15441   than that will disable the generator. In both cases also only 24, 25,
15442   29.97df (drop-frame) and 30&nbsp;fps are well defined by specifications (such as
15443   SMPTE-12M, EU and the MIDI standard).
15444 </p>
15445
15446 <h3>MTC Generator</h3>
15447
15448 <p>
15449   The <dfn>MTC generator</dfn> has no options. Ardour sends full MTC
15450   frames whenever the transport is relocated or changes state (start/stop).
15451   MTC <dfn>quarter frames</dfn> are sent when the transport is rolling and
15452   the transport speed is within 93% and 107%.
15453 </p>
15454
15455 <h3>LTC Generator</h3>
15456
15457 <p>
15458   The level of the <dfn>LTC generator</dfn> output signal can be configured
15459   in in the <kbd class="menu">Preferences &gt; Transport</kbd> dialog. By
15460   default it is set to -18&nbsp;dBFS, which corresponds to 0dBu in an EBU
15461   calibrated system.
15462 </p>
15463
15464 <p>
15465   The LTC generator has an additional option to keep sending timecode even
15466   when the transport is stopped. This mode is intended to drive analog tape
15467   machines which unspool the tape if no LTC timecode is received.
15468 </p>
15469
15470 <p>
15471   LTC is send regardless of Ardour's transport speed. It is accurately
15472   generated even for very slow speeds (&lt;5%) and only limited by the
15473   soundcard's sampling-rate and filter (see
15474   <a
15475   href="http://en.wikipedia.org/wiki/Gibbs_phenomenon#Signal_processing_explanation">Gibbs phenomenon</a>)
15476   for high speeds.
15477 </p>
15478
15479 <h2>Ardour Slave Configuration</h2>
15480
15481 <p>
15482   The timecode source can be switched with the button just right of
15483   Ardour's main clock. By default it is set to <kbd
15484   class="menu">Internal</kbd> in which case Ardour will ignore any external
15485   timecode. The button allows to toggle between Internal and the configured
15486   timecode source which is chosen in <kbd class="menu">Edit &gt; Preferences
15487   &gt; Transport</kbd>.
15488 </p>
15489
15490 <p>
15491   When Ardour is <dfn>chasing</dfn> (synchronizing to) an external timecode
15492   source, the following cases need to be distinguished:
15493 </p>
15494
15495 <ol>
15496   <li>the timecode source shares the clock</li>
15497   <li>the timecode source is independent (no wordclock sync)</li>
15498 </ol>
15499
15500 <p>and</p>
15501
15502 <ol>
15503   <li>the timecode source uses the same FPS setting as Ardour</li>
15504   <li>the timecode source runs at different frames-per-second</li>
15505 </ol>
15506
15507 <p>
15508   In both cases the first option is preferred: clock sync + same FPS setting.
15509 </p>
15510
15511 <h3>Frames-per-second</h3>
15512
15513 <p>
15514   If the frames-per-second do not match, Ardour can either re-calculate
15515   and map the frames, or the configured FPS (<kbd class="menu">Session &gt;
15516   Properties</kbd>) can be changed automatically while the slave is active.
15517   The behavior is configured with the checkbox <kbd class="option">Edit
15518   &gt; Preferences &gt; Transport &gt; Match session video frame rate to
15519   external timecode</kbd>.
15520 </p>
15521
15522 <p>
15523   When enabled, the session video frame rate will be changed to match that
15524   of the selected external timecode source. When disabled, the session video
15525   frame rate will not be changed to match that of the selected external
15526   timecode source. Instead the frame rate indication in the main clock will
15527   flash red, and Ardour will convert between the external timecode standard
15528   and the session standard.
15529 </p>
15530
15531 <p class="warning">
15532   29.97 drop-frame timecode is another corner case. While the SMPTE 12M-1999
15533   specifies 29.97df as 30000/1001 frames per second, not all hardware devices
15534   follow that standard. The checkbox
15535   <kbd class="option">Lock to 29.9700 fps instead of 30000/1001</kbd> allows
15536   to use a compatibility mode for those devices.
15537 </p>
15538
15539 <p>
15540   When enabled, the external timecode source is assumed to use 29.970000 fps
15541   instead of 30000/1001. SMPTE 12M-1999 specifies 29.97df as 30000/1001. The
15542   <abbr title="specification">spec</abbr> further mentions that drop-frame
15543   timecode has an accumulated error of -86&nbsp;ms over a 24-hour period.
15544   Drop-frame timecode would compensate exactly for a NTSC color frame rate
15545   of 30 * 0.9990 (ie 29.970000). That is <em>not</em> the actual rate. However,
15546   some vendors use that rate&mdash;despite it being against the specs&mdash;because the variant of using exactly 29.97 fps yields zero timecode
15547   drift.
15548 </p>
15549
15550 <h3>Clock Sync Lock</h3>
15551
15552 <p>
15553   As described in the
15554   <a href="http://manual.ardour.org/synchronization/on-clock-and-time/">On Clock and Time</a>
15555   chapter, timecode and clock are independent. If the external timecode
15556   source is not in sample-sync with the audio hardware (and JACK), Ardour
15557   needs to run at varispeed to adjust for the discrepancy.
15558 </p>
15559
15560 <p>
15561   The checkbox <kbd class="option">External timecode is sync locked</kbd>
15562   allows to select the behavior according to your setup. When enabled, it
15563   indicates that the selected external timecode source shares sync (Black
15564   &amp; Burst, Wordclock, etc) with the audio interface.
15565 </p>
15566
15567 <p>
15568   In other words: if enabled, Ardour will only perform initial
15569   synchronization and keep playing at speed 1.0 instead of vari-speed
15570   adjusting to compensate for drift.
15571 </p>
15572
15573 <p class="note">
15574   Note that vari-speed is unavailable when recording in Ardour, and all
15575   tracking happens at speed 1.0. So if you want to record in sync with
15576   external timecode it must be sample-locked or it will drift over time.
15577 </p>
15578
15579 <h3>MIDI Clock</h3>
15580
15581 <p>
15582   <dfn>MIDI Clock</dfn> is not a timecode format but tempo-based time. The
15583   absolute reference point is expressed as beats-per-minute and Bar, Beat
15584   and Tick. There is no concept of sample-locking for MIDI clock signals.
15585   Ardour will vari-speed if necessary to chase the incoming signal.
15586 </p>
15587
15588 <p>
15589   Note that the MIDI Clock source must be connected to the
15590   <code>ardour:MIDI clock in</code> port.
15591 </p>
15592
15593 <h3>LTC&mdash;Linear Timecode</h3>
15594
15595 <p>
15596   The <dfn>LTC</dfn> slave decodes an incoming LTC signal on a JACK audio
15597   port. It will auto-detect the frame rate and start locking to the signal
15598    once two consecutive LTC frames have been received.
15599 </p>
15600
15601 <p>
15602   The incoming timecode signal needs to arrive at the
15603   <code>ardour:LTC-in</code> port. Port-connections are restored for each
15604   session and the preference dialog offers an option to select it for all
15605   sessions.
15606 </p>
15607
15608 <p>
15609   Ardour's transport is aligned to LTC-frame start/end positions according
15610   to the SMPTE 12M-1999 specification, which means that the first bit of an
15611   LTC-Frame is aligned to different Lines of a Video-Frame, depending on the
15612   TV standard used. Only for Film (24fps) does the LTC-Frame directly match
15613   the video Frame boundaries.
15614 </p>
15615
15616 <img src="/images/ltc-transport-alignment.png"  title="LTC frame alignment" alt="LTC frame alignment"/>
15617 <p><em>Figure: LTC frame alignment for the 525/60 TV standard</em></p>
15618
15619 <p>
15620   Ardour supports vari-speed and backwards playback but will only follow
15621   speed changes if the <kbd class="optoff">sync locked</kbd> option is
15622   disabled.
15623 </p>
15624
15625 <p>
15626   While Ardour is chasing LTC, the main transport clock will display the
15627   received Timecode as well as the delta between the incoming signal and
15628   Ardour's transport position.
15629 </p>
15630
15631 <p>
15632   A global offset between incoming timecode and Ardour's transport can be
15633   configured in <kbd class="menu">Session &gt; Properties</kbd>.
15634 </p>
15635
15636 <p>
15637   The user-bits in the received LTC frame are ignored.
15638 </p>
15639
15640 <h3>MTC&mdash;MIDI Timecode</h3>
15641
15642 <p>
15643   Ardour's MTC slave parses <dfn>full timecode messages</dfn> as well as
15644   MTC <dfn>quarter-frame messages</dfn> arriving on the
15645   <code>ardour:MTC in</code> port. The transport will only start rolling
15646   once a complete sequence of 8 quarter frames has been received.
15647 </p>
15648
15649 <p>
15650   Ardour supports vari-speed and backwards playback but will only follow
15651   MTC speed changes if the <kbd class="optoff">sync locked</kbd> option
15652   is disabled.
15653 </p>
15654
15655 <p>
15656   When Ardour is chasing MTC, the main transport clock will display the
15657   received Timecode as well as the delta between the incoming signal and
15658   Ardour's transport position.
15659 </p>
15660
15661 <h3>JACK Transport</h3>
15662
15663 <p>
15664   When slaved to jack, Ardour's transport will be identical to
15665   JACK-transport. As opposed to other slaves, Ardour can be used to control
15666   the JACK transport states (stopped/rolling). No port connections need to
15667   be made for jack-transport to work.
15668 </p>
15669
15670 <p>
15671   JACK-transport does not support vari-speed, nor offsets. Ardour does not
15672   chase the timecode but is always in perfect sample-sync with it.
15673 </p>
15674
15675 <p>
15676   JACK-transport also includes temp-based-time information in Bar:Beats:Ticks
15677   and beats-per-minute. However, only one JACK application can provide this
15678   information at a given time. The checkbox
15679   <kbd class="option">Session &gt; Properties &gt; JACK Time Master</kbd>
15680   configures Ardour to act as translator from timecode to BBT information.
15681 </p>
15682
15683 ---
15684 title: Overview of all Timecode related settings
15685 menu_title: Overview of Timecode settings
15686 part: subchapter
15687 ---
15688
15689 <p>
15690   Timecode settings are accessed from the menu in three places:
15691 </p>
15692
15693 <ul>
15694   <li><kbd class="menu">Session &gt; Properties &gt; Timecode</kbd></li>
15695   <li><kbd class="menu">Edit &gt; Preferences &gt; Transport</kbd></li>
15696   <li><kbd class="menu">Edit &gt; Preferences &gt; MIDI</kbd></li>
15697 </ul>
15698
15699 <h2>Timecode Settings</h2>
15700 <dl>
15701   <dt><kbd class="menu">Timecode frames-per-second</kbd></dt>
15702   <dd>
15703     Configure timecode frames-per-second (23.976, 24, 24.975, 25, 29.97,
15704     29.97 drop, 30, 30 drop, 59.94, 60). Note that all fractional
15705     framerates are actually fps*(1000.0/1001.0).
15706   </dd>
15707   <dt><kbd class="menu">Pull up/down</kbd></dt>
15708   <dd>
15709     Video pull-up modes change the effective samplerate of Ardour to
15710     allow for changing a film soundtrack from one frame rate to another.
15711     See <a href="http://en.wikipedia.org/wiki/Telecine">Telecine</a>
15712   </dd>
15713   <dt><kbd class="menu">Slave Timecode offset</kbd></dt>
15714   <dd>
15715     The specified offset is added to the received timecode (MTC or
15716     LTC).
15717   </dd>
15718   <dt><kbd class="menu">Timecode Generator offset</kbd></dt>
15719   <dd>
15720     Specify an offset which is added to the generated timecode (so far only LTC).
15721   </dd>
15722   <dt><kbd class="option">JACK Time Master</kbd></dt>
15723   <dd>
15724     Provide Bar|Beat|Tick and other information to JACK.
15725   </dd>
15726 </dl>
15727 <p>These settings are session specific.</p>
15728
15729
15730 <h2>Transport Preferences</h2>
15731 <dl>
15732   <dt><kbd class="menu">External timecode source</kbd></dt>
15733   <dd>
15734     Select timecode source: JACK, LTC, MTC, MIDI Clock
15735   </dd>
15736   <dt><kbd class="option">Match session video frame rate to external timecode</kbd></dt>
15737   <dd>
15738     This option controls the value of the video frame rate <em>while
15739     chasing</em> an external timecode source. When enabled, the
15740     session video frame rate will be changed to match that of the selected
15741     external timecode source. When disabled, the session video frame rate
15742     will not be changed to match that of the selected external timecode
15743     source. Instead the frame rate indication in the main clock will flash
15744     red and Ardour will convert between the external timecode standard and
15745     the session standard.
15746   </dd>
15747   <dt><kbd class="option">External timecode is sync locked</kbd></dt>
15748   <dd>
15749     Indicates that the selected external timecode source shares sync (Black
15750     &amp; Burst, Wordclock, etc) with the audio interface.
15751   </dd>
15752   <dt><kbd class="option">Lock to 29.9700 fps instead of 30000/1001</kbd></dt>
15753   <dd>
15754     The external timecode source is assumed to use 29.97 fps instead of
15755     30000/1001. SMPTE 12M-1999 specifies 29.97df as 30000/1001. The spec
15756     further mentions that drop-frame timecode has an accumulated error of -86ms
15757     over a 24-hour period. Drop-frame timecode would compensate exactly for a
15758     NTSC color frame rate of 30 * 0.9990 (ie 29.970000). That is not the actual
15759     rate. However, some vendors use that rate&mdash;despite it being against
15760     the specs&mdash;because the variant of using exactly 29.97 fps has zero
15761     timecode drift.
15762   </dd>
15763   <dt><kbd class="menu">LTC incoming port</kbd></dt>
15764   <dd>
15765     Offers a session agnostic way to retain the LTC port connection.
15766   </dd>
15767   <dt><kbd class="option">Enable LTC generator</kbd></dt>
15768   <dd>Does just what it says.</dd>
15769   <dt><kbd class="option">Send LTC while stopped</kbd></dt>
15770   <dd>
15771     Enable to continue to send LTC information even when the transport
15772     (playhead) is not moving. This mode is intended to drive analog tape
15773     machines which unspool the tape if no LTC timecode is received.
15774   </dd>
15775   <dt><kbd class="menu">LTC generator level</kbd></dt>
15776   <dd>
15777     Specify the Peak Volume of the generated LTC signal in dbFS. A good value
15778     is 0&nbsp;dBu (which is -18&nbsp;dbFS in an EBU calibrated system).
15779   </dd>
15780 </dl>
15781 <p>These settings are common to all sessions.</p>
15782
15783
15784 <h2>MIDI Preferences</h2>
15785 <dl>
15786   <dt><kbd class="option">Send MIDI Timecode</kbd></dt><dd>Enable MTC generator</dd>
15787   <dt><kbd class="option">Send MIDI Clock</kbd></dt><dd>Enable MIDI Clock generator</dd>
15788 </dl>
15789 <p>These settings are also common to all sessions.</p>
15790
15791
15792 ---
15793 title: Working with Field Recorders in Ardour
15794 part: chapter
15795 ---
15796
15797
15798 ---
15799 title: Working with Video in Ardour
15800 part: chapter
15801 ---
15802
15803
15804 ---
15805 title: Video Timeline and Monitoring
15806 part: subchapter
15807 ---
15808
15809 <p>
15810   Ardour offers a <dfn>video timeline</dfn> and <dfn>video monitoring</dfn>
15811   for convenient audio mixing and editing to video, in order to produce
15812   film soundtracks and music videos, or perform TV postproduction tasks.
15813 </p>
15814
15815 <p>
15816   The video capabilities are:
15817 </p>
15818
15819 <ul>
15820   <li>Import a single video and optionally extract the soundtrack from it.</li>
15821   <li>Provide a video monitor window, or full-screen display, of the
15822   imported video in sync with any of the available Ardour timecode
15823   sources.</li>
15824   <li>Display a frame-by-frame (thumbnail) timeline of the video.</li>
15825   <li>Allow for a configurable timecode offset.</li>
15826   <li><em>Lock</em> audio regions to the video.</li>
15827   <li>Move audio regions with the video at video-frame granularity.</li>
15828   <li>Export the video, trim start and end, add blank frames and/or
15829   multiplex it with the soundtrack of the current session.</li>
15830 </ul>
15831
15832 <p>
15833   The setup of the video subsystem is modular and can be configured
15834   in different ways, including:
15835 </p>
15836
15837 <ul>
15838   <li>One machine for all video decoding, video monitoring and audio editing
15839   tasks</li>
15840   <li>Two machines, one for video monitoring, one for Ardour</li>
15841   <li>Three machines,  separate video server (for timeline decoding
15842   and file archive), dedicated video monitor, and Ardour</li>
15843 </ul>
15844
15845 <p>
15846   Ardour does <em>not</em>:
15847 </p>
15848
15849 <ul>
15850   <li>allow for more than one video to be loaded at a time.</li>
15851   <li>provide video editing capabilities</li>
15852 </ul>
15853
15854 ---
15855 title: Video Timeline Setup
15856 part: subchapter
15857 ---
15858
15859 <p>
15860   No configuration is required if you intend to run everything on a single
15861   machine, and if you acquired Ardour from
15862   <a href="http://www.ardour.org"
15863   title="http://www.ardour.org">http://www.ardour.org</a>.
15864   Everything is pre-configured and included with the download/install.
15865 </p>
15866
15867 <h2>Single Machine</h2>
15868
15869 <p>
15870   If you compile Ardour from source, or have installed it from a 3rd party
15871   repository, three additional tools will need to be installed manually,
15872   which are used by Ardour to provide video features:
15873 </p>
15874
15875 <ul>
15876   <li>xjadeo (the video monitor application): <a href="http://xjadeo.sf.net"
15877   title="http://xjadeo.sf.net" rel="nofollow">http://xjadeo.sf.net</a></li>
15878   <li>harvid (a video decoder used for the thumbnail timeline): <a
15879   href="http://x42.github.com/harvid/" title="http://x42.github.com/harvid/"
15880   rel="nofollow">http://x42.github.com/harvid/</a></li>
15881   <li>ffmpeg, ffprobe (used to import/export video, extract soundtracks and
15882   query video information): <a href="http://ffmpeg.org" title="http://ffmpeg.org"
15883   rel="nofollow">http://ffmpeg.org</a></li>
15884 </ul>
15885
15886 <p>
15887   Ardour requires xjadeo &ge; version 0.6.4, harvid &ge; version 0.7.0 and ffmpeg (known to work versions: 1.2, 2.8.2)
15888 </p>
15889
15890 <p>
15891   The Ardour development team is in control of the first two applications. ffmpeg however can be a bit of a problem. To avoid conflicts with distribution packages, Ardour looks for <code>ffmpeg_harvid</code> and <code>ffprobe_harvid</code>.
15892 </p>
15893
15894 <p>
15895   All four applications need to be found in <code>$PATH</code> (e.g.
15896   <code>$HOME/bin</code> or <code>/usr/local/bin</code>). For convenience the
15897   binary releases of harvid include ffmpeg_harvid and ffprobe_harvid, but if
15898   your distribution provides suitable ffmpeg commands you can also just create
15899   symbolic links:
15900 </p>
15901
15902 <kbd class="cmd lin">sudo ln -s /usr/bin/ffmpeg /usr/bin/ffmpeg_harvid</kbd>
15903 <kbd class="cmd lin">sudo ln -s /usr/bin/ffprobe /usr/bin/ffprobe_harvid</kbd>
15904
15905 <p>
15906   Binary releases are available from ardour.org as well as an installer script:
15907   <a href="https://github.com/Ardour/ardour/blob/master/tools/videotimeline/install_video_tools.sh"
15908   title="https://github.com/Ardour/ardour/blob/master/tools/videotimeline/install_video_tools.sh"
15909   rel="nofollow">install_video_tools.sh</a>.
15910 </p>
15911
15912 <p>
15913   The easiest way to install the video-utilities is by running the following
15914   line in a terminal:
15915 </p>
15916
15917 <kbd class="cmd lin">sh -c &quot;$(curl -s -L http://git.io/tVUCkw)&quot;</kbd>
15918
15919 <h2>Studio Setup</h2>
15920
15921 <p>
15922   Please read the info in the previous section to familiarize yourself with
15923   the tools involved first. Setting up a proper A/V post-production studio
15924   can be a complicated task. As much as we streamline and simplify the
15925   <em>single machine</em> setup, the <dfn>studio setup</dfn> is focused on modularity.
15926 </p>
15927
15928 <ul class="fixme">
15929   <li>TODO:</li>
15930   <li>Synchronization ardour â†’ video-display-box should be accomplished by external
15931  means jack-transport(netjack), MTC, LTC
15932  (<abbr title="Open Sound Control&mdash;&quot;postmodern MIDI&quot;">OSC</abbr> and/or
15933  ssh-pipe work but introduce additional latency + jitter)</li>
15934   <li>Ardour launches <code>XJREMOTE</code> (environment variable, default &#039;xjremote&#039; which comes with xjadeo).</li>
15935   <li>Either use a custom shell script that ssh&#039;es into the remote box and launches/controls xjadeo there, selects the sync-source and passes though communication between ardour â‡” xjadeo via ssh (xjadeo is launched stopped with the session).</li>
15936   <li>..or override xjremote&#039;s behavior â€“ instead of  IPC with a local running xjadeo-process, using <abbr title="Open Sound Control&mdash;&quot;postmodern MIDI&quot;">OSC</abbr> for example. xjadeo would run permanently and Ardour will just tell it to load files and set offsets via <acronym title="Open Sound Control&mdash;&quot;postmodern MIDI&quot;">OSC</acronym>. see <a href="http://xjadeo.git.sourceforge.net/git/gitweb.cgi?p=xjadeo/xjadeo;a=blob_plain;f=contrib/xjremote-osc" title="http://xjadeo.git.sourceforge.net/git/gitweb.cgi?p=xjadeo/xjadeo;a=blob_plain;f=contrib/xjremote-osc"  rel="nofollow">xjremote-osc</a> example script.</li>
15937   <li>If the video server runs remotely, Ardour needs to be configured in Ardour &gt; Preference &gt; Video (hostname of the video-server).</li>
15938   <li> Ideally the machines have a common shared folder (NFS or similar).  Ardour&#039;s import (audio-extract) and export (mux) functionality depends on having access to the video file.  Also Ardour's video-import transcodes the file into a suitable proxy-format that allows reliable seeking to any frame…</li>
15939 </ul>
15940
15941 ---
15942 title: Transcoding, Formats &amp; Codecs
15943 part: subchapter
15944 ---
15945
15946 <p>
15947   This chapter provides a short primer on video files, formats and
15948   codecs â€“ because it is often cause for confusion:
15949 </p>
15950
15951 <p>
15952   A video file is a <dfn>container</dfn>. It usually contains one
15953   <dfn>video track</dfn> and one or more <dfn>audio tracks</dfn>.
15954   How these tracks are stored in the file is defined by the
15955   <dfn>file format</dfn>. Common formats are
15956   avi, mov, ogg, mkv, mpeg, mpeg-ts, mp4, flv, or vob.
15957 </p>
15958
15959 <p>
15960   Each of the tracks by itself is encoded using a <abbr
15961   title="Coder-Decoder"><dfn>Codec</dfn></abbr>. Common video codecs
15962   are h264, mpeg2, mpeg4, theora, mjpeg, wmv3. Common audio codecs are
15963   mp2, mp3, dts, aac, wav/pcm.
15964 </p>
15965
15966 <p>
15967   Not all codecs can be packed into a given format. For example the
15968   mpeg format is limited to mpeg2, mpeg4 and mp3 codecs (not entirely true).
15969   DVDs do have stringent limitations as well. The opposite would be .avi;
15970   pretty much every audio/video codec combination can be contained in an avi
15971   file-format.
15972 </p>
15973
15974 <p>
15975   To make things worse, naming conventions for video codecs and formats are
15976   often identical (especially MPEG ones) which leads to confusion.
15977   All in all it is a very wide and deep field. Suffice there are different
15978   uses for different codecs and formats.
15979 </p>
15980
15981 <h2>Ardour specific issues</h2>
15982
15983 <p>
15984   Ardour supports a wide variety of video file formats codecs. More specifically, Ardour itself actually does not support any video at all but delegates handling of video files to <a href="http://ffmpeg.org">ffmpeg</a>, which supports over 350 different video codecs and more than 250 file formats.
15985 </p>
15986
15987 <p>
15988   When importing a video into Ardour, it will be <dfn>transcoded</dfn> (changed from one format and codec to another) to avi/mjpeg for internal use (this allows reliable seeking to frames at low CPU cost&mdash;the file size will increase, but hard disks are large and fast).
15989 </p>
15990
15991 <p>
15992   The export dialog includes presets for common format and codec combinations (such as DVD, web-video,..). If in doubt use one of the presets.
15993 </p>
15994
15995 <p>
15996   As last note: every time a video is transcoded, the quality can only get worse. Hence for the final mastering/<abbr title="Multiplexing Audio and Video">muxing</abbr> process, one should always to back and use the original source of the video.
15997 </p>
15998
15999 ---
16000 title: Workflow &amp; Operations
16001 part: subchapter
16002 ---
16003
16004 <h2>Overview of Operations</h2>
16005
16006 <dl class="wide-table">
16007   <dt><kbd class="menu">Session &gt; Open Video</kbd></dt>
16008   <dd>Add/replace a video to/on the timeline</dd>
16009   <dt><kbd class="menu">Window &gt; View Monitor</kbd></dt>
16010   <dd>Open/close external video monitor window</dd>
16011   <dt><kbd class="menu">View &gt; Video Monitor &gt; â€¦</kbd></dt>
16012   <dd>Various settings of the video monitor</dd>
16013   <dt><kbd class="menu">Session &gt; Export &gt; Video</kbd></dt>
16014   <dd>Export session and multiplex with video-file</dd>
16015   <dt><kbd class="mouse">Left</kbd>-drag the video in the timeline</dt>
16016   <dd>Re-align video and move 'locked' audio-regions along</dd>
16017   <dt>Context-menu on the video-timeline: <kbd class="menu"> &#039;lock&#039;</kbd></dt>
16018   <dd>Prevent accidental drags</dd>
16019   <dt>Audio region context menu: <kbd class="menu">Position &gt; Lock to video</kbd></dt>
16020   <dd>Mark audio region(s) to be moved along with the video.</dd>
16021 </dl>
16022
16023 <h2>Adding Video</h2>
16024
16025 <p>
16026   Adding video is a two-step process: select a video file, and choose
16027   import mode and optionally select an audio track to extract.
16028 </p>
16029
16030 <p>
16031   The first step is rather straight-forward. The panel on the right side
16032   allows to seek through the video and displays basic file information.
16033   It is also useful to check if the video format/codec is supported:
16034 </p>
16035
16036 <img src="/images/a3_video_open.png" alt="video-open-dialog" width="300" />
16037
16038 <p>
16039   The second step analyzes the video file in more detail and offers import options:
16040 </p>
16041
16042 <dl>
16043   <dt><kbd class="menu">Import/Transcode to Session</kbd></dt>
16044   <dd>This is the default. The video will be imported in a suitable
16045   video format/codec for the timeline and video monitor and saved inside the
16046   session folder.  A location other than the session folder can also be
16047   chosen (external disk, or network storage of the video server on a different
16048   machine).</dd>
16049   <dt><kbd class="menu">Reference from Current Location</kbd></dt>
16050   <dd>Only useful for opening files that were previously encoded (are already
16051   in a good format/codec). Use with care.</dd>
16052   <dt><kbd class="menu">Do not Import Video</kbd></dt>
16053   <dd>Useful for extracting audio only.</dd>
16054 </dl>
16055
16056 <img src="/images/a3_video_import.png" alt="Video Import Dialog" width="300" />
16057
16058 <p>
16059   By default the video is imported using the original width/height.
16060   If it is a large video (e.g. full-HD) it makes sense to scale it down
16061   to decrease the CPU load and disk I/O required to decode and play the
16062   file.<br />
16063   A small, low-quality representation of the image is usually sufficient
16064   for editing soundtracks. The default bitrate in kbit/sec is set to use
16065   0.7 bits per pixel. (Compare: the average DVD medium uses 5000&nbsp;kbit/s;
16066   at PAL resolution this is about 0.5 bits per pixel. But the DVD is
16067   using the <dfn>mpeg2</dfn>&mdash;a denser compression algorithm than the
16068   <dfn>mjpeg</dfn> codec used by Ardour.)
16069 </p>
16070
16071 <h2>Working with A/V</h2>
16072
16073 <p>
16074   Well now...
16075 </p>
16076
16077 <img src="/images/a3_videotimeline.png" alt="Video Timeline" width="600" />
16078
16079 <h2 id="export">Exporting Video</h2>
16080
16081 <p>
16082   The video export will take audio from the current Ardour session and
16083   multiplex it with a video file. The soundtrack of the video is taken from
16084   an audio export of Ardour's master bus.
16085 </p>
16086
16087 <p>
16088   An arbitrary video file can be chosen. For high quality exports, the
16089   original file (before it was imported into the timeline) should be used.
16090   This is the default behaviour if that file can be found. If not, Ardour
16091   will fall back to the imported proxy-video which is currently in use
16092   on the timeline.  Any existing audio tracks on this video file are stripped.
16093 </p>
16094
16095 <p>
16096   The range selection allows to cut or extend the video. If the session is
16097   longer than the video duration, black frames are prefixed or appended to
16098   the video. (Note: this process may fail with non-standard pixel aspect
16099   ratios). If Ardour's session range is shorter, the video will be cut accordingly.
16100 </p>
16101
16102 <p>
16103   Audio samplerate and normalization are options for Ardour's audio exporter.
16104   The remaining settings are options that are directly passed on to ffmpeg.
16105 </p>
16106
16107 <p>
16108   The file format is determined by the extension that you choose for it
16109   (.avi, .mov, .flv, .ogv, .webm,...)
16110   Note: not all combinations of format, codec, and settings produce files
16111   which are according to specifications. For example, flv files require
16112   sample rates of 22.1&nbsp;kHz or 44.1&nbsp;kHz, mpeg containers can not
16113   be used with ac3 audio-codec, etc. If in doubt, use one of the built-in
16114   presets.
16115 </p>
16116
16117 <img src="/images/a3_video_export.png" alt="Video Export Dialog" width="300" />
16118
16119 <p>
16120   Ardour video export is not recommended for mastering! While ffmpeg (which is used by Ardour) can produce high-quality files, this export lacks the possibility to tweak many settings. We recommend to use winff, devede or dvdauthor to mux &amp; master. Nevertheless this video-export comes in handy to do quick snapshots, intermediates, dailies or online videos.
16121 </p>
16122
16123
16124
16125
16126 ---
16127 title: Scripting
16128 part: part
16129 ---
16130
16131
16132 ---
16133 title: Lua Scripting in Ardour
16134 part: chapter
16135 ---
16136
16137
16138 ---
16139 title: Lua Scripting
16140 part: subchapter
16141 ---
16142
16143 <p>
16144   Starting with version 4.7.213, Ardour supports Lua scripts.
16145 </p>
16146
16147 <p class="warning">
16148   Lua Integration is Work in Progress and far from complete.
16149 </p>
16150
16151 ---
16152 title: Scripting Documentation
16153 part: subchapter
16154 ---
16155
16156 <p class="warning">
16157  This Documentation is Work in Progress and far from complete. Also the documented API may be subject to change.
16158 </p>
16159
16160 <h2>Preface</h2>
16161
16162 <p>
16163   There are cases that a Ardour cannot reasonably cater for with core functionality by itself, either because they're session specific or user specific edge cases.
16164 </p>
16165
16166 <p>
16167   Examples for these include voice-activate (record-arm specific tracks and roll transport depending on signal levels), rename all regions after a specific timecode, launch an external application when a certain track is soloed, generate automation curves or simply provide a quick shortcut for a custom batch operation.
16168 </p>
16169
16170 <p>
16171   Cases like this call for means to extend the DAW without actually changing the DAW itself. This is where scripting comes in.
16172 </p>
16173
16174 <p>
16175   "Scripting" refers to tasks that could alternatively be executed step-by-step by a human operator.
16176 </p>
16177
16178 <p>
16179   Lua is a tiny and simple language which is easy to learn, yet allows for comprehensive solutions. Lua is also a glue language it allows to tie existing component in Ardour together in unprecedented ways, and most importantly Lua is one of the few scripting-languages which can be safely used in a real-time environment.
16180 </p>
16181
16182 <p>
16183   A good introduction to Lua is the book <a href="http://www.lua.org/pil/">Programming in Lua</a>. The first edition is available online, but if you have the means buy a copy of the book, it not only helps to support the Lua project, but provides for a much nicer reading and learning experience.
16184 </p>
16185
16186 <h2>Overview</h2>
16187
16188 <p>
16189   The core of ardour is a real-time audio engine that runs and processes audio. One interfaces with than engine by sending it commands. Scripting can be used to interact with or modify active Ardour session. Just like a user uses the Editor/Mixer GUI to modify the state or parameters of the session.
16190 </p>
16191
16192 <p>
16193   Doing this programmatically requires some knowledge about the objects used internally. Most Ardour C++ objects and their methods are directly exposed to Lua and one can call functions or modify variables:
16194 </p>
16195
16196 <div style="width:80%; margin:.5em auto;">
16197         <div style="width:45%; float:left;">
16198                 C++<br/>
16199                 <code class="cxx">
16200                         session-&gt;set_transport_speed (1.0);
16201                 </code>
16202         </div>
16203         <div style="width:45%; float:right;">
16204                 Lua<br/>
16205                 <code class="lua">
16206                         Session:set_transport_speed (1.0)
16207                 </code>
16208         </div>
16209 </div>
16210
16211 <div style="clear:both;"></div>
16212
16213 <p>
16214   You may notice that there is only a small syntactic difference, in this case. While C++ requires recompiling the application for every change, Lua script can be loaded, written or modified while the application is running. Lua also abstracts away many of the C++ complexities such as object lifetime, type conversion and null-pointer checks.
16215 </p>
16216
16217 <p>
16218   Close ties with the underlying C++ components is where the power of scripting comes from. A script can orchestrate interaction of lower-level components which take the bulk of the CPU time of the final program.
16219 </p>
16220
16221 <p>
16222   At the time of writing Ardour integrates Lua 5.3.2: <a href="http://www.lua.org/manual/5.3/manual.html">Lua 5.3 reference manual</a>.
16223 </p>
16224
16225 <h2>Integration</h2>
16226
16227 <p>
16228   Like Control surfaces and the GUI, Lua Scripts are confined to certain aspects of the program. Ardour provides the framework and runs Lua (not the other way around).
16229 </p>
16230
16231
16232 <p>
16233   In Ardour's case Lua is available:
16234 </p>
16235
16236 <dl>
16237         <dt>Editor Action Scripts</dt><dd>User initiated actions (menu, shortcuts) for batch processing</dd>
16238         <dt>Editor Hooks/Callbacks</dt><dd>Event triggered actions for the Editor/Mixer GUI</dd>
16239         <dt>Session Scripts</dt><dd>Scripts called at the start of every audio cycle (session, real-time)</dd>
16240         <dt>DSP Scripts</dt><dd>Audio/Midi processor&mdash;plugins with access to the Ardour session (per track/bus, real-time)</dd>
16241         <dt>Script Console</dt><dd>Action Script commandline</dd>
16242 </dl>
16243
16244 <p>
16245   There are is also a special mode:
16246 </p>
16247
16248 <dl>
16249         <dt>Commandline Tool</dt><dd>Replaces the complete Editor GUI, direct access to libardour (no GUI) from the commandline.<br/>
16250         <em>Be aware that the vast majority of complex functionality is provided by the Editor UI.</em></dd>
16251 </dl>
16252
16253 <h2>Managing Scripts</h2>
16254
16255 <p>
16256   Ardour searches for Lua scripts in the <code>scripts</code> folder in <code>$ARDOUR_DATA_PATH</code>, Apart from scripts included directly with Ardour, this includes
16257 </p>
16258
16259 <table>
16260         <tr><th>GNU/Linux</th><td><code>$HOME/.config/ardour5/scripts</code></td></tr>
16261         <tr><th>Mac OS X</th><td><code>$HOME/Library/Preferences/Ardour5/scripts</code></td></tr>
16262         <tr><th>Windows</th><td><code>%localappdata%\ardour5\scripts</code></td></tr>
16263 </table>
16264
16265 <p>Files must end with <code>.lua</code> file extension.</p>
16266
16267 <p>Scripts are managed via the GUI</p>
16268
16269 <dl>
16270         <dt>Editor Action Scripts</dt><dd>Menu &rarr; Edit &rarr; Scripted Actions &rarr; Manage</dd>
16271         <dt>Editor Hooks/Callbacks</dt><dd>Menu &rarr; Edit &rarr; Scripted Actions &rarr; Manage</dd>
16272         <dt>Session Scripts</dt><dd>Menu &rarr; Session &rarr; Scripting &rarr; Add/Remove Script</dd>
16273         <dt>DSP Scripts</dt><dd>Mixer-strip &rarr; context menu (right click) &rarr; New Lua Proc</dd>
16274         <dt>Script Console</dt><dd>Menu &rarr; Window &rarr; Scripting</dd>
16275 </dl>
16276
16277 <h2>Script Layout</h2>
16278
16279 <ul>
16280         <li>Every script must include an <code>ardour</code> descriptor table. Required fields are "Name" and "Type".</li>
16281         <li>A script must provide a <em>Factory method</em>: A function with optional instantiation parameters which returns the actual script.</li>
16282         <li>[optional]: list of parameters for the "factory".</li>
16283         <li>in case of DSP scripts, an optional list of automatable parameters and possible audio/midi port configurations, and a <code>dsp_run</code> function, more on that later.</li>
16284 </ul>
16285
16286 <p>A minimal example script looks like:</p>
16287
16288 <div>
16289 <pre><code class="lua">
16290         ardour {
16291           ["type"]    = "EditorAction",
16292           name        = "Rewind",
16293         }
16294
16295         function factory (unused_params)
16296           return function ()
16297            Session:goto_start()  -- rewind the transport
16298           end
16299         end
16300 </code></pre>
16301 </div>
16302
16303 <p>
16304   The common part for all scripts is the "Descriptor". It's a Lua function which returns a table (key/values) with the following keys (the keys are case-sensitive):
16305 </p>
16306
16307 <dl>
16308         <dt>type [required]</dt><dd>one of "<code>DSP</code>", "<code>Session</code>", "<code>EditorHook</code>", "<code>EditorAction</code>" (the type is not case-sensitive)</dd>
16309         <dt>name [required]</dt><dd>Name/Title of the script</dd>
16310         <dt>author</dt><dd>Your Name</dd>
16311         <dt>license</dt><dd>The license of the script (e.g. "GPL" or "MIT")</dd>
16312         <dt>description</dt><dd>A longer text explaining to the user what the script does</dd>
16313 </dl>
16314
16315 <p class="note">
16316   Scripts that come with Ardour (currently mostly examples) can be found in the <a href="https://github.com/Ardour/ardour/tree/master/scripts">Source Tree</a>.
16317 </p>
16318
16319 <h3>Action Scripts</h3>
16320
16321 <p>
16322   Action scripts are the simplest form. An anonymous Lua function is called whenever the action is triggered. A simple action script is shown above.
16323 </p>
16324 <p>
16325   There are 10 action script slots available, each of which is a standard GUI action available from the menu and hence can be bound to a keyboard shortcut.
16326 </p>
16327
16328 <h3>Session Scripts</h3>
16329
16330 <p>
16331   Session scripts similar to Actions Scripts, except the anonymous function is called periodically every process cycle. The function receives a single parameter&mdash;the number of audio samples which are processed in the given cycle
16332 </p>
16333
16334 <div>
16335 <pre><code class="lua">
16336 ardour {
16337   ["type"]    = "session",
16338   name        = "Example Session Script",
16339   description = [[
16340   An Example Ardour Session Script.
16341   This example stops the transport after rolling for a specific time.]]
16342 }
16343
16344 -- instantiation options, these are passed to the "factory" method below
16345 function sess_params ()
16346   return
16347   {
16348     ["print"]  = { title = "Debug Print (yes/no)", default = "no", optional = true },
16349     ["time"] = { title = "Timeout (sec)", default = "90", optional = false },
16350   }
16351 end
16352
16353 function factory (params)
16354   return function (n_samples)
16355     local p = params["print"] or "no"
16356     local timeout = params["time"] or 90
16357     a = a or 0
16358     if p ~= "no" then print (a, n_samples, Session:frame_rate (), Session:transport_rolling ()) end -- debug output (not rt safe)
16359     if (not Session:transport_rolling()) then
16360       a = 0
16361       return
16362     end
16363     a = a + n_samples
16364     if (a &gt; timeout * Session:frame_rate()) then
16365       Session:request_transport_speed(0.0, true)
16366     end
16367   end
16368 end
16369 </code></pre>
16370 </div>
16371
16372 <h3>Action Hooks</h3>
16373
16374 <p>
16375   Action hook scripts must define an additional function which returns a <em>Set</em> of Signal that which trigger the callback (documenting available slots and their parameters remains to be done).
16376 </p>
16377
16378 <div>
16379 <pre><code class="lua">
16380 ardour {
16381   ["type"]    = "EditorHook",
16382   name        = "Hook Example",
16383   description = "Rewind On Solo Change, Write a file when regions are moved.",
16384 }
16385
16386 function signals ()
16387   s = LuaSignal.Set()
16388   s:add (
16389     {
16390       [LuaSignal.SoloActive] = true,
16391       [LuaSignal.RegionPropertyChanged] = true
16392     }
16393   )
16394   return s
16395 end
16396
16397 function factory (params)
16398   return function (signal, ref, ...)
16399     -- print (signal, ref, ...)
16400
16401     if (signal == LuaSignal.SoloActive) then
16402       Session:goto_start()
16403     end
16404
16405     if (signal == LuaSignal.RegionPropertyChanged) then
16406       obj,pch = ...
16407       file = io.open ("/tmp/test" ,"a")
16408       io.output (file
16409       io.write (string.format ("Region: '%s' pos-changed: %s, length-changed: %s\n",
16410         obj:name (),
16411         tostring (pch:containsFramePos (ARDOUR.Properties.Start)),
16412         tostring (pch:containsFramePos (ARDOUR.Properties.Length))
16413         ))
16414       io.close (file)
16415     end
16416   end
16417 end
16418 </code></pre>
16419 </div>
16420
16421 <h3>DSP Scripts</h3>
16422
16423 <p>See the scripts folder for examples for now.</p>
16424
16425 <p>Some notes for further doc:</p>
16426
16427 <ul>
16428         <li>required function: <code>dsp_ioconfig ()</code>: return a list of possible audio I/O configurations&mdash;follows Audio Unit conventions.</li>
16429         <li>optional function: <code>dsp_dsp_midi_input ()</code>: return true if the plugin can receive midi input</li>
16430         <li>optional function: <code>dsp_params ()</code>: return a table of possible parameters (automatable)</li>
16431         <li>optional function: <code>dsp_init (samplerate)</code>: called when instantiation the plugin with given samplerate.</li>
16432         <li>optional function: <code>dsp_configure (in, out)</code>: called after instantiation with configured plugin i/o.</li>
16433         <li>required function: <code>dsp_run (ins, outs, n_samples)</code> OR <code>dsp_runmap (bufs, in_map, out_map, n_samples, offset)</code>: DSP process callback. The former is a convenient abstraction that passes mapped buffers (as table). The latter is a direct pass-through matching Ardour's internal <code>::connect_and_run()</code> API, which requires the caller to map and offset raw buffers.</li>
16434         <li>plugin parameters are handled via the global variable <code>CtrlPorts</code>.</li>
16435         <li>midi data is passed via the global variable <code>mididata</code> which is valid during <code>dsp_run</code> only. (dsp_runmap requires the script to pass raw data from the buffers according to in_map)</li>
16436         <li>The script has access to the current session via the global variable Session, but access to the session methods are limited to realtime safe functions</li>
16437 </ul>
16438
16439 <h2>Accessing Ardour Objects</h2>
16440
16441 <p>
16442   The top most object in Ardour is the <code>ARDOUR::Session</code>. Fundamentally, a Session is just a collection of other things: Routes (tracks, busses), Sources (Audio/Midi), Regions, Playlists, Locations, Tempo map, Undo/Redo history, Ports, Transport state &amp; controls, etc.
16443 </p>
16444
16445 <p>
16446   Every Lua interpreter can access it via the global variable <code>Session</code>.
16447 </p>
16448
16449 <p>
16450   GUI context interpreters also have an additional object in the global environment: The Ardour <code>Editor</code>. The Editor provides access to high level functionality which is otherwise triggered via GUI interaction such as undo/redo, open/close windows, select objects, drag/move regions. It also holds the current UI state: snap-mode, zoom-range, etc. The Editor also provides complex operations such as "import audio" which under the hood, creates a new Track, adds a new Source Objects (for every channel) with optional resampling, creates both playlist and regions and loads the region onto the Track all the while displaying a progress information to the user.
16451 </p>
16452
16453 <p class="note">
16454   Documenting the bound C++ methods and class hierarchy is somewhere on the ToDo list. Meanwhile <a href="https://github.com/Ardour/ardour/blob/master/libs/ardour/luabindings.cc">luabindings.cc</a> is the best we can offer.
16455 </p>
16456
16457 <h2>Concepts</h2>
16458
16459 <ul>
16460         <li>There are no bound constructors: Lua asks Ardour to create objects (e.g. add a new track), then receives a reference to the object to modify it.</li>
16461         <li>Scripts, once loaded, are saved with the Session (no reference to external files). This provides for portable Sessions.</li>
16462         <li>Lua Scripts are never executed directly. They provide a "factory" method which can have optional instantiation parameters, which returns a lua closure.</li>
16463         <li>No external lua modules/libraries can be used, scripts need to be self contained (portable across different systems (libs written in Lua can be used, and important c-libs/functions can be included with ardour if needed).</li>
16464 </ul>
16465
16466 <p>
16467   Ardour is a highly multithreaded application and interaction between the different threads, particularly real-time threads, needs to to be done with care. This part has been abstracted away by providing separate Lua interpreters in different contexts and restricting available interaction:
16468 </p>
16469
16470 <ul>
16471         <li>Editor Actions run in a single instance interpreter in the GUI thread.</li>
16472         <li>Editor Hooks connect to libardour signals. Every Callback uses a dedicated lua interpreter which is in the GUI thread context.</li>
16473         <li>All Session scripts run in a single instance in the main real-time thread (audio callback)</li>
16474         <li>DSP scripts have a separate instance per script and run in one of the DSP threads.</li>
16475 </ul>
16476
16477 <p>
16478   The available interfaces differ between contexts. e.g. it is not possible to create new tracks or import audio from real-time context; while it is not possible to modify audio buffers from the GUI thread.
16479 </p>
16480
16481 <h2>Current State</h2>
16482
16483 <p>Fully functional, yet still in a prototyping stage:</p>
16484
16485 <ul>
16486         <li>The GUI to add/configure scripts is rather minimalistic.</li>
16487         <li>The interfaces may change (particularly DSP, and Session script <code>run()</code>.</li>
16488         <li>Further planned work includes:
16489                 <ul>
16490                         <li>Built-in Script editor (customize/modify Scripts in-place)</li>
16491                         <li>convenience methods (wrap more complex Ardour actions into a library). e.g set plugin parameters, write automation lists from a lua table</li>
16492                         <li>Add some useful scripts and more examples</li>
16493                         <li>Documentation (Ardour API), also usable for tab-exansion, syntax highlighting</li>
16494                         <li>bindings for GUI Widgets (plugin UIs, message boxes, etc)</li>
16495                 </ul>
16496                 <li>
16497 </ul>
16498
16499 <h2>Examples</h2>
16500
16501 <p>
16502   Apart from the <a href="https://github.com/Ardour/ardour/tree/master/scripts">scripts included with the source-code</a> here are a few examples without further comments...
16503 </p>
16504
16505 <h3>Editor Console Examples</h3>
16506
16507 <div>
16508 <pre><code class="lua">
16509 print (Session:route_by_remote_id(1):name())
16510
16511 a = Session:route_by_remote_id(1);
16512 print (a:name());
16513
16514 print(Session:get_tracks():size())
16515
16516 for i, v in ipairs(Session:unknown_processors():table()) do print(v) end
16517 for i, v in ipairs(Session:get_tracks():table()) do print(v:name()) end
16518
16519 for t in Session:get_tracks():iter() do print(t:name()) end
16520 for r in Session:get_routes():iter() do print(r:name()) end
16521
16522
16523 Session:tempo_map():add_tempo(ARDOUR.Tempo(100,4), Timecode.BBT_TIME(4,1,0))
16524
16525
16526 Editor:set_zoom_focus(Editing.ZoomFocusRight)
16527 print(Editing.ZoomFocusRight);
16528 Editor:set_zoom_focus(1)
16529
16530
16531 files = C.StringVector();
16532 files:push_back("/home/rgareus/data/coding/ltc-tools/smpte.wav")
16533 pos = -1
16534 Editor:do_import(files, Editing.ImportDistinctFiles, Editing.ImportAsTrack, ARDOUR.SrcQuality.SrcBest, pos, ARDOUR.PluginInfo())
16535
16536 #or in one line:
16537 Editor:do_import(C.StringVector():add({"/path/to/file.wav"}), Editing.ImportDistinctFiles, Editing.ImportAsTrack, ARDOUR.SrcQuality.SrcBest, -1, ARDOUR.PluginInfo())
16538
16539 # called when a new session is loaded:
16540 function new_session (name) print("NEW SESSION:", name) end
16541
16542
16543 # read/set/describe a plugin parameter
16544 route = Session:route_by_remote_id(1)
16545 processor = route:nth_plugin(0)
16546 plugininsert = processor:to_insert()
16547
16548 plugin = plugininsert:plugin(0)
16549 print (plugin:label())
16550 print (plugin:parameter_count())
16551
16552 x = ARDOUR.ParameterDescriptor ()
16553 _, t = plugin:get_parameter_descriptor(2, x) -- port #2
16554 paramdesc = t[2]
16555 print (paramdesc.lower)
16556
16557 ctrl = Evoral.Parameter(ARDOUR.AutomationType.PluginAutomation, 0, 2)
16558 ac = plugininsert:automation_control(ctrl, false)
16559 print (ac:get_value ())
16560 ac:set_value(1.0, PBD.GroupControlDisposition.NoGroup)
16561
16562 # the same using a convenience wrapper:
16563 route = Session:route_by_remote_id(1)
16564 proc = t:nth_plugin (i)
16565 ARDOUR.LuaAPI.set_processor_param (proc, 2, 1.0)
16566
16567 </code></pre>
16568 </div>
16569
16570 <h3>Commandline Session</h3>
16571
16572 <p>
16573   The standalone tool <code>luasession</code> allows one to access an Ardour session directly from the commandline. Interaction is limited by the fact that most actions in Ardour are provided by the Editor GUI.
16574 </p>
16575
16576 <p>
16577   <code>luasession</code> provides only two special functions <code>load_session</code> and <code>close_session</code> and exposes the <code>AudioEngine</code> instance as global variable.
16578 </p>
16579
16580 <div>
16581 <pre><code class="lua">
16582 for i,_ in AudioEngine:available_backends():iter() do print (i.name) end
16583
16584 backend = AudioEngine:set_backend("ALSA", "", "")
16585 print (AudioEngine:current_backend_name())
16586
16587 for i,_ in backend:enumerate_devices():iter() do print (i.name) end
16588
16589 backend:set_input_device_name("HDA Intel PCH")
16590 backend:set_output_device_name("HDA Intel PCH")
16591
16592 print (backend:buffer_size())
16593 print (AudioEngine:get_last_backend_error())
16594
16595 s = load_session ("/home/rgareus/Documents/ArdourSessions/lua2/", "lua2")
16596 s:request_transport_speed (1.0)
16597 print (s:transport_rolling())
16598 s:goto_start()
16599 close_session()
16600
16601 </code></pre>
16602 </div>
16603
16604 ---
16605 title: Class Reference
16606 include: class_reference.html
16607 exclude: yes
16608 part: subchapter
16609 ---
16610