Skip to content

Commit 389c23a

Browse files
committed
Added chapter on track automation.
1 parent 68df18a commit 389c23a

22 files changed

+588
-522
lines changed

build.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,8 @@ def BuildList(lst, fs, pagePos, cList):
259259
nextPos = lst[i + 1] if i + 1 < len(lst) else len(fs)
260260

261261
active = ' class=active' if curPos == pagePos else ''
262-
content = content + '<dt' + active + '><a href="/' + fs[curPos]['filename'] + '/">' + fs[curPos]['title'] + '</a></dt><dd' + active + '>'
262+
menuTitle = fs[curPos]['menu_title'] if 'menu_title' in fs[curPos] else fs[curPos]['title']
263+
content = content + '<dt' + active + '><a href="/' + fs[curPos]['filename'] + '/">' + menuTitle + '</a></dt><dd' + active + '>'
263264

264265
# If the current page is our page, and it has children, enumerate them
265266
if curPos == pagePos:

explode.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,6 @@ def ParseHeader(fileObj):
111111
if 'menu_title' in header:
112112
explode.write('menu_title: ' + header['menu_title'] + '\n')
113113

114-
if 'link' in header:
115-
explode.write('link: ' + header['link'] + '\n')
116-
117114
if 'style' in header:
118115
explode.write('style: ' + header['style'] + '\n')
119116

@@ -126,6 +123,9 @@ def ParseHeader(fileObj):
126123
explode.write('include: ' + inclFile + '\n')
127124
filenames.append(inclFile)
128125

126+
if 'link' in header:
127+
explode.write('link: ' + header['link'] + '\n')
128+
129129
if 'uri' in header:
130130
explode.write('uri: ' + header['uri'] + '\n')
131131

implode.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,6 @@ def CheckForHeader(fn):
9191
if 'menu_title' in header:
9292
implode.write('menu_title: ' + header['menu_title'] + '\n')
9393

94-
if 'link' in header:
95-
implode.write('link: ' + header['link'] + '\n')
96-
9794
if 'style' in header:
9895
implode.write('style: ' + header['style'] + '\n')
9996

@@ -104,6 +101,9 @@ def CheckForHeader(fn):
104101
implode.write('include: ' + header['include'] + '\n')
105102
implode.write('exclude: yes\n')
106103

104+
if 'link' in header:
105+
implode.write('link: ' + header['link'] + '\n')
106+
107107
if 'uri' in header:
108108
implode.write('uri: ' + header['uri'] + '\n')
109109

include/about-ardours-documentation.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,4 @@ <h3>Warnings</h3>
132132
Hairy issues that might cause things to go wrong, lose data, impair sound
133133
quality, or eat your proverbial goldfish, are displayed in this way.
134134
</p>
135+

include/automation-curves.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
<figure class=right>
3+
<img src="/images/automation-curve1.png">
4+
<figcaption class=center>A typical automation curve.</figcaption>
5+
</figure>
6+
7+
<p>
8+
An <dfn>automation curve</dfn> is a series of lines connected by <dfn>control
9+
points</dfn> that defines a continuous line. As the curve is traversed from
10+
left to right, the line defines the level of the parameter controlled by the
11+
automation lane.
12+
</p>
13+
14+
<p>
15+
The curve by itself does nothing; it will <em>only</em> control playback if
16+
the lane it is in is in <kbd class=menu>Play</kbd> mode.
17+
</p>
18+

include/automation-lanes.html

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
2+
<figure class=right>
3+
<img src="/images/automation-lane1.png">
4+
<figcaption class=center>A typical automation lane.</figcaption>
5+
</figure>
6+
7+
<p>
8+
An <dfn>automation lane</dfn> is similar to a track in that it holds data
9+
that can be played back; however, unlike a track, it is not an independent
10+
entity&mdash;it is always attached to the track that it controls. Automation
11+
lanes also contain zero to one <dfn>automation curves</dfn>. Each lane
12+
controls one and only one parameter of the track it is attached to.
13+
</p>
14+
15+
<p>
16+
Every track will have at least five automation lanes associated with it:
17+
trim, fader, mute, and pan (which consists of two lanes: L/R and Width); it
18+
can possibly have many more if there are any processors associated with it.
19+
All these lanes are automatically attached to the track but hidden, and
20+
initially they are all empty (have no automation curves in them).
21+
</p>
22+
23+
<figure class=center>
24+
<img src="/images/automation-multi-lane1.png">
25+
<figcaption class=center>An example of a track with three lanes of automation (fader &amp; pan).</figcaption>
26+
</figure>
27+
28+
<p>
29+
Automation lanes typically have the following controls:
30+
</p>
31+
32+
<ul>
33+
<li>A hide button (square button with an "X" inside)</li>
34+
<li>A horizontal fader</li>
35+
<li>An <dfn>automation mode</dfn> selector</li>
36+
</ul>
37+
38+
<p>
39+
The hide button, as the name implies, hides the automation lane. The
40+
horizontal fader controls the level of the parameter that the lane controls;
41+
manipulating this while in <kbd class=menu>Write</kbd> or <kbd
42+
class=menu>Touch</kbd> mode during playback will make changes to the lane's
43+
automation curve. The automation mode selector selects which mode the lane is
44+
in (<kbd class=menu>Manual</kbd>, <kbd class=menu>Play</kbd>, <kbd
45+
class=menu>Write</kbd>, or <kbd class=menu>Touch</kbd>).
46+
</p>
47+
48+
<p class=note>
49+
The hide button will only hide the lane; it does not remove it from the
50+
track. The automation lane never really goes away&mdash;the closest one can
51+
get to that is to clear the automation curve and hide the lane.
52+
</p>
53+

include/automation-modes.html

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
2+
<p>
3+
In order to understand how automation in Ardour works, it is necessary to
4+
understand the four modes of automation. They are: <kbd
5+
class=menu>Manual</kbd>, <kbd class=menu>Play</kbd>, <kbd
6+
class=menu>Write</kbd>, and <kbd class=menu>Touch</kbd>.
7+
</p>
8+
9+
<figure class=right>
10+
<img src="/images/automation-modes1.png">
11+
<figcaption class=center>The automation mode menu.</figcaption>
12+
</figure>
13+
14+
<p>
15+
<kbd class=menu>Manual</kbd> mode is basically analogous to a processor's
16+
bypass switch. Whenever an automation lane is in this mode, it is inactive
17+
and any level that is manually set for controlling the lane's parameter will
18+
persist during playback like normal.
19+
</p>
20+
21+
<p class=note>
22+
In Ardour, every track and processor parameter is initially set to <kbd
23+
class=menu>Manual</kbd> mode.
24+
</p>
25+
26+
<p>
27+
<kbd class=menu>Play</kbd> mode tells Ardour to use the automation curve in
28+
the automation lane to control the level of the parameter controlled by the
29+
lane <em>during playback</em>. The control that normally sets the parameter
30+
will be <em>unresponsive to manual input</em> and will move automatically in
31+
accord with the lane's automation curve during playback.
32+
</p>
33+
34+
<p>
35+
<kbd class=menu>Write</kbd> mode allows continuous, dynamic setting of a
36+
control during playback; all such settings are written to the lane the
37+
control is in. This defines the lane's automation curve in the interval being
38+
played, and overwrites any existing automation curve in the lane being
39+
manipulated.
40+
</p>
41+
42+
<p>
43+
<kbd class=menu>Touch</kbd> mode is similar to <kbd class=menu>Write</kbd>
44+
mode, except it only overwrites sections of a lane's automation curve when
45+
the control is changed in some way. This allows for changing only the parts
46+
of an automation curve that are desired to be changed, while leaving the rest
47+
unchanged.
48+
</p>
49+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
<figure class=right>
3+
<img src="/images/automation-fader1.png">
4+
<figcaption class=center>An example of a fader automation lane (below) with its associated track (above).</figcaption>
5+
</figure>
6+
7+
<p>
8+
Track automation occurs in one or more <dfn>lanes</dfn>. Each lane has a
9+
control that allows setting the amount or position of a certain
10+
<dfn>parameter</dfn> associated with the lane. Parameters are things that can
11+
be controlled on a track's automation lane, such as volume, panning, muting,
12+
trim, etc. <dfn>Automation curves</dfn> consist of lines connected by
13+
<dfn>control points</dfn>, that live within the confines of a lane; these
14+
tell Ardour how to change a given parameter over time. <dfn>Automation
15+
modes</dfn> govern how a given automation lane will behave during playback.
16+
</p>
17+

0 commit comments

Comments
 (0)