summaryrefslogtreecommitdiff
path: root/manual
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-04-11 13:07:51 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-04-11 13:07:51 +0000
commit45d3ec1437cf661533bc7750c623865def4424df (patch)
tree80cdeb58bc51a22042b91c50334bdd8ee37deed6 /manual
parent4bf712f501e21cbf1e555bf010553aaca55edd39 (diff)
merged with 1697 revision of trunk (which is post-rc1 but pre-rc2
git-svn-id: svn://localhost/ardour2/branches/2.1-staging@1698 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'manual')
-rw-r--r--manual/Makefile80
-rw-r--r--manual/catalog.xml17
-rw-r--r--manual/config/dbhelper.vim14
-rw-r--r--manual/css/ardour_manual.css208
-rw-r--r--manual/images/admon-bg.pngbin0 -> 186 bytes
-rw-r--r--manual/images/manual_style.svg167
-rw-r--r--manual/images/mixer_strip_name_button_popup.pngbin0 -> 14475 bytes
-rw-r--r--manual/images/tango-icons/COPYING67
-rw-r--r--manual/images/tango-icons/accessories-text-editor.svg552
-rw-r--r--manual/images/tango-icons/dialog-information.svg1145
-rw-r--r--manual/images/tango-icons/dialog-warning.svg359
-rw-r--r--manual/images/tango-icons/emblem-important.svg163
-rw-r--r--manual/images/tango-icons/important.pngbin0 -> 1746 bytes
-rw-r--r--manual/images/tango-icons/note.pngbin0 -> 2242 bytes
-rw-r--r--manual/images/tango-icons/tip.pngbin0 -> 2976 bytes
-rw-r--r--manual/images/tango-icons/warning.pngbin0 -> 1930 bytes
-rw-r--r--manual/images/title-bg.pngbin0 -> 287 bytes
-rw-r--r--manual/images/track_name_field.pngbin0 -> 7492 bytes
-rw-r--r--manual/images/watermark-draft.pngbin0 -> 9828 bytes
-rw-r--r--manual/templates/chapter_template.xml5
-rw-r--r--manual/templates/section_template.xml5
-rw-r--r--manual/xml/adding_tracks.xml97
-rw-r--r--manual/xml/advanced_editing.xml14
-rw-r--r--manual/xml/ardour_basics.xml32
-rw-r--r--manual/xml/ardour_manual.xml38
-rw-r--r--manual/xml/automation.xml413
-rw-r--r--manual/xml/basic_editing.xml36
-rw-r--r--manual/xml/basic_recording.xml481
-rw-r--r--manual/xml/bcf2000.xml1132
-rw-r--r--manual/xml/behringer_ddx3216.xml219
-rw-r--r--manual/xml/book_info.xml77
-rw-r--r--manual/xml/cleaning_up_a_session.xml64
-rw-r--r--manual/xml/clocks.xml178
-rw-r--r--manual/xml/closing_a_session.xml153
-rw-r--r--manual/xml/configuring_usb_device_access.xml77
-rw-r--r--manual/xml/contributing_to_the_manual.xml15
-rw-r--r--manual/xml/control_surfaces.xml25
-rw-r--r--manual/xml/creating_a_new_session.xml254
-rw-r--r--manual/xml/default_track_names.xml22
-rw-r--r--manual/xml/editing_concepts.xml644
-rw-r--r--manual/xml/editor_aligning_key_bindings.xml118
-rw-r--r--manual/xml/editor_canvas_key_bindings.xml197
-rw-r--r--manual/xml/editor_edit_cursor_position_key_bindings.xml235
-rw-r--r--manual/xml/editor_locations_marks_key_bindings.xml103
-rw-r--r--manual/xml/editor_miscellaneous_key_bindings.xml79
-rw-r--r--manual/xml/editor_nudging_key_bindings.xml122
-rw-r--r--manual/xml/editor_play_position_key_bindings.xml212
-rw-r--r--manual/xml/editor_range_operations_key_bindings.xml137
-rw-r--r--manual/xml/editor_region_operations_key_bindings.xml156
-rw-r--r--manual/xml/editor_standard_editing_key_bindings.xml154
-rw-r--r--manual/xml/editor_window.xml132
-rw-r--r--manual/xml/editor_window_controls.xml645
-rw-r--r--manual/xml/editor_window_group_list.xml30
-rw-r--r--manual/xml/editor_window_key_bindings.xml136
-rw-r--r--manual/xml/editor_window_region_list.xml266
-rw-r--r--manual/xml/editor_window_timeline.xml191
-rw-r--r--manual/xml/editor_window_track_list.xml104
-rw-r--r--manual/xml/editor_zoom_key_bindings.xml101
-rw-r--r--manual/xml/entities.ent11
-rw-r--r--manual/xml/exporting.xml13
-rw-r--r--manual/xml/exporting_to_cd.xml342
-rw-r--r--manual/xml/formatting_conventions.xml266
-rw-r--r--manual/xml/frontier_design_tranzport.xml1007
-rw-r--r--manual/xml/general_key_bindings.xml215
-rw-r--r--manual/xml/generic_midi_control_surface.xml8
-rw-r--r--manual/xml/generic_mouse_actions.xml124
-rw-r--r--manual/xml/glossary.xml543
-rw-r--r--manual/xml/introduction.xml37
-rw-r--r--manual/xml/jack.xml507
-rw-r--r--manual/xml/key_bindings.xml92
-rw-r--r--manual/xml/known_issues.xml156
-rw-r--r--manual/xml/mackie.xml249
-rw-r--r--manual/xml/main_windows.xml149
-rw-r--r--manual/xml/midi_configuration.xml539
-rw-r--r--manual/xml/mixer_strip_list.xml151
-rw-r--r--manual/xml/mixer_strips.xml1000
-rw-r--r--manual/xml/mixer_window.xml142
-rw-r--r--manual/xml/mixer_window_key_bindings.xml158
-rw-r--r--manual/xml/mixing.xml15
-rw-r--r--manual/xml/monitoring.xml373
-rw-r--r--manual/xml/mouse_operations.xml55
-rw-r--r--manual/xml/mouse_operations_mixer_controls.xml353
-rw-r--r--manual/xml/mouse_operations_object_mode.xml615
-rw-r--r--manual/xml/mouse_operations_range_mode.xml179
-rw-r--r--manual/xml/mouse_operations_region_gain_mode.xml115
-rw-r--r--manual/xml/mouse_operations_ruler.xml185
-rw-r--r--manual/xml/mouse_operations_zoom_mode.xml114
-rw-r--r--manual/xml/mouse_wheel_actions.xml134
-rw-r--r--manual/xml/opening_a_session.xml99
-rw-r--r--manual/xml/other_windows.xml458
-rw-r--r--manual/xml/plugins.xml101
-rw-r--r--manual/xml/preface.xml14
-rw-r--r--manual/xml/recording.xml16
-rw-r--r--manual/xml/renaming_tracks.xml62
-rw-r--r--manual/xml/saving_a_session.xml53
-rw-r--r--manual/xml/sessions.xml41
-rw-r--r--manual/xml/setting_up_to_record.xml442
-rw-r--r--manual/xml/snapshots.xml46
-rw-r--r--manual/xml/starting_up_your_system.xml17
-rw-r--r--manual/xml/synchronization.xml15
-rw-r--r--manual/xml/synchronization_concepts.xml286
-rw-r--r--manual/xml/templates.xml80
-rw-r--r--manual/xml/tracks_and_busses.xml597
-rw-r--r--manual/xml/transport_key_bindings.xml131
-rw-r--r--manual/xml/user_interface_conventions.xml338
-rw-r--r--manual/xml/using_existing_audio.xml832
-rw-r--r--manual/xml/video_synchronization_via_mtc.xml193
-rw-r--r--manual/xml/vst_plugins.xml69
-rw-r--r--manual/xml/what_is_different_about_ardour.xml218
-rw-r--r--manual/xml/why_is_it_called_ardour.xml405
-rw-r--r--manual/xml/working_with_crossfades.xml420
-rw-r--r--manual/xml/working_with_layers.xml275
-rw-r--r--manual/xml/working_with_playlists.xml443
-rw-r--r--manual/xml/working_with_ranges.xml48
-rw-r--r--manual/xml/working_with_regions.xml1244
-rw-r--r--manual/xmlformat/BUGS55
-rw-r--r--manual/xmlformat/ChangeLog28
-rw-r--r--manual/xmlformat/INSTALL29
-rw-r--r--manual/xmlformat/LICENSE93
-rw-r--r--manual/xmlformat/README35
-rw-r--r--manual/xmlformat/xmlformat-ardour.conf137
-rwxr-xr-xmanual/xmlformat/xmlformat.pl1745
-rw-r--r--manual/xsl/html.xsl158
123 files changed, 16368 insertions, 10573 deletions
diff --git a/manual/Makefile b/manual/Makefile
index e3bcbadd37..76965262c2 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -2,37 +2,67 @@
DOCNAME = ardour_manual
# Default values, only set if not set in book Makefile
-XMLFILE ?= tmp/xml/$(DOCNAME).xml
-#XSLFILE ?= tmp/xsl/ardour.xsl
-#CSSFILE ?= tmp/$(DOCNAME).css
-XMLTO ?= xmlto
-XSLTPROC ?= xsltproc
-PWD = $(shell pwd)
-
-xml:: clean
- -@mkdir tmp
- # copy all the necessary files to the build directory
- -@cp -rf xml tmp/xml
- -@cp -rf xsl tmp/xsl
- -@cp -rf images tmp/images
-
-.PHONY : xml
-
-html:: xml
- # generate html
- LANG=en_US.UTF-8 $(XMLTO) -o tmp/ html $(XMLFILE)
-# LANG=en_US.UTF-8 $(XMLTO) -x $(XSLFILE) -o tmp/ html $(XMLFILE)
- # copy css file to html directory
-# -@cp -f css/$(DOCNAME).css $(CSSFILE)
+OUTDIR ?= tmp
+XMLFILE ?= xml/$(DOCNAME).xml
+XSLFILE ?= xsl/html.xsl
+CSSFILE ?= $(DOCNAME).css
+XSLTPROC ?= xsltproc
+#PWD = $(shell pwd)
+
+help::
+ @echo " The Following is a list of supported build targets:"
+ @echo
+ @echo " html:"
+ @echo " Build HTML version of ardour manual."
+ @echo
+ @echo " test:"
+ @echo " Validate DocBook XML source."
+ @echo
+ @echo " format:"
+ @echo " Format DocBook XML source using xmlformat."
+ @echo
+ @echo " clean:"
+ @echo " Remove temporary files."
+ @echo
+
+# xsltproc -output option gives I/O errors because??, so
+# just move the html to the output directory
+html:: clean
+ # creating output directory
+ -@mkdir $(OUTDIR)
+ # generating html
+ LANG=en_US.UTF-8 $(XSLTPROC) -xinclude $(XSLFILE) $(XMLFILE)
+ # copy html files to output directory
+ -@mv *.html $(OUTDIR)
+ # copy css file to output directory
+ -@cp css/$(CSSFILE) $(OUTDIR)/$(CSSFILE)
+ # copy the image files to the output directory
+ -@cp -r images $(OUTDIR)/images
.PHONY : html
-test:: xml
+test::
+ # validating book
xmllint --noout --postvalid --xinclude $(XMLFILE)
-
+
.PHONY : test
+format:: test
+ @for file in `find xml/*.xml`; \
+ do xmlformat/xmlformat.pl --in-place --backup .bak \
+ --config-file xmlformat/xmlformat-ardour.conf $$file; \
+ done
+
+.PHONY : format
+
clean::
- @rm -rf tmp
+ @rm -rf $(OUTDIR)
.PHONY : clean
+
+upload: html
+ cd tmp && tar cf - . | bzip2 > ../man.tar.bz2
+ scp man.tar.bz2 las@ardour.org:ardour.org
+
+.PHONY : upload
+
diff --git a/manual/catalog.xml b/manual/catalog.xml
new file mode 100644
index 0000000000..b605a109d2
--- /dev/null
+++ b/manual/catalog.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!DOCTYPE catalog
+ PUBLIC "-//OASIS/DTD Entity Resolution XML Catalog V1.0//EN"
+ "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
+ <rewriteSystem
+ systemIdStartString="/usr/share/sgml/docbook/"
+ rewritePrefix="/path/to/docbook/" />
+</catalog>
+
+<!--
+see http://www.sagehill.net/docbookxsl/Catalogs.html
+
+usage with xsltproc:
+XML_CATALOG_FILES="catalog.xml" make html
+-->
+
diff --git a/manual/config/dbhelper.vim b/manual/config/dbhelper.vim
index 625ca0f211..08f3581a1c 100644
--- a/manual/config/dbhelper.vim
+++ b/manual/config/dbhelper.vim
@@ -73,11 +73,10 @@ imap<leader>sn <section id=""><CR><title></title><CR><para><CR></para><CR></sect
"imap<leader>s3 <sect3 id=""><CR><title></title><CR><para><CR></para><CR></sect3><esc>kkkk$bla
imap<leader>ch <chapter id=""><CR><title></title><CR><para><CR></para><CR></chapter><esc>kkkk$bla
-" images
-" My mediaobject has two imagedata entries - 1 for EPS and 1 for JPG
+" media related
+imap<leader>fig <figure><CR><title></title><CR></figure><esc>k$bba
imap<leader>img <mediaobject><CR><imageobject><CR><imagedata fileref=""/><CR></imageobject><CR></mediaobject><esc>kk$bla
-"imap<leader>img <imageobject><CR><imagedata fileref="" format=""><CR></imageobject>
-imap<leader>mo <mediaobject><CR><leader>img<esc>k$hiEPS<esc>j$a<CR>,img<esc>k$hiJPG<esc>j$a<CR></mediaobject>
+imap<leader>oi <objectinfo><CR></objectinfo><esc>k$a
" other objects
imap<leader>ti <title></title><esc>bba
@@ -85,16 +84,17 @@ imap<leader>fo <footnote><CR><para><CR></para><CR></footnote><esc>kk$a
imap<leader>sb <sidebar><CR><title></title><CR><para></para><CR></sidebar>
imap<leader>co <!-- --><esc>bhi
imap<leader>qt <blockquote><CR><attribution></attribution><CR><literallayout><CR></literallayout><CR></blockquote>
-imap<leader>ge <glossentry id=""><CR><glossterm></glossterm><CR><glossdef><CR><para><CR></para><CR></glossdef><CR></glossentry><esc>kkkkkk$bba
+imap<leader>ge <glossentry id=""><CR><glossterm></glossterm><CR><glossdef><CR><para><CR></para><CR></glossdef><CR></glossentry><esc>6k$bla
imap<leader>gt <glossterm linkend=""></glossterm><esc>bb3la
+imap<leader>gs <glossseealso></glossseealso><esc>bba
imap<leader>l <literal></literal><esc>bba
" admonitions
imap<leader>no <note><CR><para></para><CR></note><esc>k$bba
imap<leader>tp <tip><CR><para></para><CR></tip><esc>k$bba
imap<leader>imp <important><CR><para></para><CR></important><esc>k$bba
-imap<leader>ca <caution><CR><para></para><CR></caution><esc>k$bba
-"imap<leader>w <warning><CR><para></para><CR></warning><esc>k$bba
+"imap<leader>ca <caution><CR><para></para><CR></caution><esc>k$bba
+imap<leader>w <warning><CR><para></para><CR></warning><esc>k$bba
" computer stuff
imap<leader>app <application></application><esc>bba
diff --git a/manual/css/ardour_manual.css b/manual/css/ardour_manual.css
new file mode 100644
index 0000000000..95da19334c
--- /dev/null
+++ b/manual/css/ardour_manual.css
@@ -0,0 +1,208 @@
+
+body {
+ background-color: white;
+ margin:0 auto;
+ font-family: "Bitstream Vera Sans","Lucida Grande", "Luxi Sans", verdana, "Trebuchet MS", helvetica,verdana,arial,sans-serif;
+ font-size:9pt;
+ max-width:55em;
+ padding:2em;
+ color:#333;
+ line-height:150%;
+}
+
+/* Links */
+
+/* these colors need work */
+
+a:link {
+ color:#7f83a4;
+}
+
+/* This is too light */
+a:visited {
+ color:#adabc8;
+}
+
+div.longdesc-link {
+ color:#999;
+ float:right;
+}
+
+/* Lists */
+
+dt {
+ font-weight:bold;
+}
+
+dd {
+ margin:0em;
+ margin-left:2em;
+ padding-top:0em;
+}
+
+/* Images */
+
+img {
+ display:block;
+ margin: 1.5em;
+}
+
+
+.screen {
+ background-color:#d5d1b9;
+ color:#333;
+}
+
+pre,code {
+ padding:.3em 1em;
+ font-size:0.9em;
+ font-family:"Bitstream vera mono",monospace;
+}
+
+pre {
+ display:block;
+ overflow:auto;
+}
+
+code {
+ white-space:nowrap;
+ background-color:#bbb;
+ color:#222;
+}
+
+.command,
+.filename,
+.literal,
+.option {
+ font-weight:bold;
+}
+
+/* Admonitions */
+div.note,
+div.tip,
+div.important,
+div.caution,
+div.warning {
+ background: #27272b url(images/admon-bg.png) top left repeat;
+ color:white;
+ padding:1.0em;
+ margin-bottom:1.5em;
+}
+
+div.note h2, div.note p,
+div.tip h2,div.tip p,
+div.caution h2,div.caution p,
+div.warning h2,div.warning p,
+div.important h2,div.important p {
+ padding:0em;
+ margin:0em;
+ padding-left:46px;
+}
+
+div.note .title,
+div.tip .title,
+div.important .title,
+div.caution .title,
+div.warning .title {
+ background-color:transparent;
+ background-position:top left;
+ background-repeat:no-repeat;
+ height:42px;
+ font-size:1.3em;
+ color: white;
+}
+
+div.note h2 {
+ background-image:url(images/tango-icons/note.png)
+}
+
+div.tip h2 {
+ background-image:url(images/tango-icons/tip.png)
+}
+
+div.caution h2 {
+ background-image:url(images/tango-icons/caution.png)
+}
+
+div.warning h2 {
+ background-image:url(images/tango-icons/warning.png)
+}
+
+div.important h2 {
+ background-image:url(images/tango-icons/important.png)
+}
+
+/* Tables */
+
+table {
+ width:100%;
+ border-right:1px solid #aaa;
+ border-collapse:collapse;
+ border-top:1px solid #aaa;
+ border-left:1px solid #aaa;
+ border-bottom:1px solid #aaa;
+}
+
+table th {
+ padding:.2em .5em;
+}
+
+table td {
+ padding:.10em .5em;
+}
+
+table,td,th {
+ border-color:#777 !important;
+}
+
+/* Headings */
+
+
+h1,h2,h3,h4,h5,h6 {
+ /* this color is too purpley */
+ color:#565690;
+ line-height:130%;
+ margin-top:0em;
+ font-family:"Luxi Sans","Bitstream Vera Sans","Lucida Grande","Trebuchet MS",helvetica,verdana,arial,sans-serif;
+ background-color:transparent;
+ }
+
+h1 {
+ background: #555555 url(images/title-bg.png) top left repeat;
+ line-height:1.6em;
+ color:#eff3f0;
+ font-size:2em;
+ padding:1.5em;
+}
+
+h2 {
+ font-size:1.6em;
+}
+
+h3 {
+ font-size:1.1em;
+ padding-top:1em;
+}
+
+h5.formalpara {
+ font-size:1em;
+ margin-top:2em;
+}
+
+/* Status */
+
+.ardour-draft {
+ background: white url(./images/watermark-draft.png) top left repeat;
+}
+
+/* remove table border from navigation...ugh */
+
+.navheader table, .navheader table td {
+ border:0px none;
+ border-collapse:collapse;
+}
+
+.navfooter table, .navfooter table td {
+ border:0px none;
+ border-collapse:collapse;
+}
diff --git a/manual/images/admon-bg.png b/manual/images/admon-bg.png
new file mode 100644
index 0000000000..37406fab53
--- /dev/null
+++ b/manual/images/admon-bg.png
Binary files differ
diff --git a/manual/images/manual_style.svg b/manual/images/manual_style.svg
new file mode 100644
index 0000000000..86f03add79
--- /dev/null
+++ b/manual/images/manual_style.svg
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="744.09448819"
+ height="1052.3622047"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.44.1"
+ sodipodi:docbase="/home/timbyr/devel/ardour/svn/trunk/manual"
+ sodipodi:docname="ardour-brand.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.50389632"
+ inkscape:cx="561.43067"
+ inkscape:cy="641.45043"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="898"
+ inkscape:window-height="619"
+ inkscape:window-x="113"
+ inkscape:window-y="25" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <text
+ xml:space="preserve"
+ style="font-size:78.99777222px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="128.04803"
+ y="108.97908"
+ id="text1872"><tspan
+ sodipodi:role="line"
+ x="128.04803"
+ y="108.97908"
+ id="tspan2797">Ardour Style</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:53.98735046px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="207.30774"
+ y="638.5484"
+ id="text1876"><tspan
+ sodipodi:role="line"
+ x="207.30774"
+ y="638.5484"
+ id="tspan1884">Color Palette</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:62.71745682px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="280.23593"
+ y="235.28851"
+ id="text5438"><tspan
+ sodipodi:role="line"
+ id="tspan5440"
+ x="280.23593"
+ y="235.28851">Fonts?</tspan></text>
+ <rect
+ style="opacity:1;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect6347"
+ width="304.3186"
+ height="134.66357"
+ x="60"
+ y="677.36218" />
+ <rect
+ style="opacity:1;fill:#adabc8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect2772"
+ width="50.002544"
+ height="51.012703"
+ x="269.99744"
+ y="721.30762" />
+ <rect
+ y="721.3111"
+ x="206.13791"
+ height="51.005806"
+ width="50.953224"
+ id="rect2770"
+ style="opacity:1;fill:#7f83a4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ y="721.30762"
+ x="143.22905"
+ height="51.012703"
+ width="50.002544"
+ id="rect2774"
+ style="opacity:1;fill:#565690;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="opacity:1;fill:#f3f3d2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect5460"
+ width="49.692257"
+ height="51.275845"
+ x="79.999985"
+ y="721.17609" />
+ <rect
+ style="opacity:1;fill:#d5d1b9;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect2768"
+ width="325"
+ height="135"
+ x="365"
+ y="677.36218" />
+ <rect
+ style="opacity:1;fill:#555;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect7236"
+ width="75.380852"
+ height="71.096375"
+ x="380"
+ y="711.26581" />
+ <rect
+ style="opacity:1;fill:#7f83a4;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect1888"
+ width="50.953224"
+ height="51.005806"
+ x="549.52209"
+ y="721.3111" />
+ <rect
+ y="721.30762"
+ x="609.99744"
+ height="51.012703"
+ width="50.002544"
+ id="rect4551"
+ style="opacity:1;fill:#adabc8;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <rect
+ style="opacity:1;fill:#565690;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.0999999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3662"
+ width="50.002544"
+ height="51.012703"
+ x="489.99747"
+ y="721.30762" />
+ <text
+ xml:space="preserve"
+ style="font-size:77.09712982px;font-style:normal;font-weight:normal;fill:black;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="501.05905"
+ y="710.0827"
+ id="text2776"
+ transform="scale(1.105424,0.90463)"><tspan
+ sodipodi:role="line"
+ id="tspan2778"
+ x="501.05905"
+ y="710.0827">?</tspan></text>
+ </g>
+</svg>
diff --git a/manual/images/mixer_strip_name_button_popup.png b/manual/images/mixer_strip_name_button_popup.png
new file mode 100644
index 0000000000..6092cece90
--- /dev/null
+++ b/manual/images/mixer_strip_name_button_popup.png
Binary files differ
diff --git a/manual/images/tango-icons/COPYING b/manual/images/tango-icons/COPYING
new file mode 100644
index 0000000000..e709d0c050
--- /dev/null
+++ b/manual/images/tango-icons/COPYING
@@ -0,0 +1,67 @@
+Creative Commons Attribution-ShareAlike 2.5 License Agreement
+
+CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ 1. "Collective Work" means a work, such as a periodical issue, anthology or encyclopedia, in which the Work in its entirety in unmodified form, along with a number of other contributions, constituting separate and independent works in themselves, are assembled into a collective whole. A work that constitutes a Collective Work will not be considered a Derivative Work (as defined below) for the purposes of this License.
+ 2. "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation, or any other form in which the Work may be recast, transformed, or adapted, except that a work that constitutes a Collective Work will not be considered a Derivative Work for the purpose of this License. For the avoidance of doubt, where the Work is a musical composition or sound recording, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered a Derivative Work for the purpose of this License.
+ 3. "Licensor" means the individual or entity that offers the Work under the terms of this License.
+ 4. "Original Author" means the individual or entity who created the Work.
+ 5. "Work" means the copyrightable work of authorship offered under the terms of this License.
+ 6. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+ 7. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
+
+2. Fair Use Rights. Nothing in this license is intended to reduce, limit, or restrict any rights arising from fair use, first sale or other limitations on the exclusive rights of the copyright owner under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ 1. to reproduce the Work, to incorporate the Work into one or more Collective Works, and to reproduce the Work as incorporated in the Collective Works;
+ 2. to create and reproduce Derivative Works;
+ 3. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission the Work including as incorporated in Collective Works;
+ 4. to distribute copies or phonorecords of, display publicly, perform publicly, and perform publicly by means of a digital audio transmission Derivative Works.
+ 5.
+
+ For the avoidance of doubt, where the work is a musical composition:
+ 1. Performance Royalties Under Blanket Licenses. Licensor waives the exclusive right to collect, whether individually or via a performance rights society (e.g. ASCAP, BMI, SESAC), royalties for the public performance or public digital performance (e.g. webcast) of the Work.
+ 2. Mechanical Rights and Statutory Royalties. Licensor waives the exclusive right to collect, whether individually or via a music rights society or designated agent (e.g. Harry Fox Agency), royalties for any phonorecord You create from the Work ("cover version") and distribute, subject to the compulsory license created by 17 USC Section 115 of the US Copyright Act (or the equivalent in other jurisdictions).
+ 6. Webcasting Rights and Statutory Royalties. For the avoidance of doubt, where the Work is a sound recording, Licensor waives the exclusive right to collect, whether individually or via a performance-rights society (e.g. SoundExchange), royalties for the public digital performance (e.g. webcast) of the Work, subject to the compulsory license created by 17 USC Section 114 of the US Copyright Act (or the equivalent in other jurisdictions).
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. All rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions.The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ 1. You may distribute, publicly display, publicly perform, or publicly digitally perform the Work only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy or phonorecord of the Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Work itself to be made subject to the terms of this License. If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested.
+ 2. You may distribute, publicly display, publicly perform, or publicly digitally perform a Derivative Work only under the terms of this License, a later version of this License with the same License Elements as this License, or a Creative Commons iCommons license that contains the same License Elements as this License (e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of, or the Uniform Resource Identifier for, this License or other license specified in the previous sentence with every copy or phonorecord of each Derivative Work You distribute, publicly display, publicly perform, or publicly digitally perform. You may not offer or impose any terms on the Derivative Works that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder, and You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute, publicly display, publicly perform, or publicly digitally perform the Derivative Work with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License Agreement. The above applies to the Derivative Work as incorporated in a Collective Work, but this does not require the Collective Work apart from the Derivative Work itself to be made subject to the terms of this License.
+ 3. If you distribute, publicly display, publicly perform, or publicly digitally perform the Work or any Derivative Works or Collective Works, You must keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties (e.g. a sponsor institute, publishing entity, journal) for attribution in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; the title of the Work if supplied; to the extent reasonably practicable, the Uniform Resource Identifier, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and in the case of a Derivative Work, a credit identifying the use of the Work in the Derivative Work (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). Such credit may be implemented in any reasonable manner; provided, however, that in the case of a Derivative Work or Collective Work, at a minimum such credit will appear where any other comparable authorship credit appears and in a manner at least as prominent as such other comparable authorship credit.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Derivative Works or Collective Works from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+ 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ 1. Each time You distribute or publicly digitally perform the Work or a Collective Work, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+ 2. Each time You distribute or publicly digitally perform a Derivative Work, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+ 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+ 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+ 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+
+Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
+
+Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, neither party will use the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time.
+
+Creative Commons may be contacted at http://creativecommons.org/.
diff --git a/manual/images/tango-icons/accessories-text-editor.svg b/manual/images/tango-icons/accessories-text-editor.svg
new file mode 100644
index 0000000000..aa7188eb2d
--- /dev/null
+++ b/manual/images/tango-icons/accessories-text-editor.svg
@@ -0,0 +1,552 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.43+devel"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
+ sodipodi:docname="accessories-text-editor.svg">
+ <defs
+ id="defs3">
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient2994">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2996" />
+ <stop
+ style="stop-color:#c9c9c9;stop-opacity:1;"
+ offset="1"
+ id="stop2998" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2984">
+ <stop
+ style="stop-color:#e7e2b8;stop-opacity:1;"
+ offset="0"
+ id="stop2986" />
+ <stop
+ style="stop-color:#e7e2b8;stop-opacity:0;"
+ offset="1"
+ id="stop2988" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ style="stop-color:#c1c1c1;stop-opacity:1;"
+ offset="0"
+ id="stop2976" />
+ <stop
+ style="stop-color:#acacac;stop-opacity:1;"
+ offset="1"
+ id="stop2978" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2966">
+ <stop
+ style="stop-color:#ffd1d1;stop-opacity:1;"
+ offset="0"
+ id="stop2968" />
+ <stop
+ id="stop3006"
+ offset="0.5"
+ style="stop-color:#ff1d1d;stop-opacity:1;" />
+ <stop
+ style="stop-color:#6f0000;stop-opacity:1;"
+ offset="1"
+ id="stop2970" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2919">
+ <stop
+ style="stop-color:#a3a4a0;stop-opacity:1;"
+ offset="0"
+ id="stop2921" />
+ <stop
+ style="stop-color:#888a85;stop-opacity:1;"
+ offset="1"
+ id="stop2923" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2873">
+ <stop
+ style="stop-color:#939393;stop-opacity:1;"
+ offset="0"
+ id="stop2875" />
+ <stop
+ style="stop-color:#424242;stop-opacity:1;"
+ offset="1"
+ id="stop2877" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2865">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2867" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2869" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2855">
+ <stop
+ style="stop-color:#dfdfdf;stop-opacity:1;"
+ offset="0"
+ id="stop2857" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="1"
+ id="stop2859" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2855"
+ id="linearGradient2861"
+ x1="21.043484"
+ y1="42.83337"
+ x2="14.283642"
+ y2="6.8333683"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.137871,0.000000,0.000000,1.000000,-2.660884,0.000000)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2865"
+ id="radialGradient2871"
+ cx="23.5625"
+ cy="40.4375"
+ fx="23.5625"
+ fy="40.4375"
+ r="19.5625"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.348243,0.000000,26.35543)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2873"
+ id="linearGradient2879"
+ x1="26.612417"
+ y1="28.083368"
+ x2="26.228401"
+ y2="42.83337"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2919"
+ id="linearGradient2925"
+ x1="6"
+ y1="7.5624999"
+ x2="40.984375"
+ y2="7.5624999"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2966"
+ id="linearGradient2972"
+ x1="48.90625"
+ y1="17.376184"
+ x2="50.988335"
+ y2="22.250591"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.669292,0.000000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2974"
+ id="linearGradient2980"
+ x1="46"
+ y1="19.8125"
+ x2="47.6875"
+ y2="22.625"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.669292,0.000000)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2984"
+ id="radialGradient2990"
+ cx="29.053354"
+ cy="27.640751"
+ fx="29.053354"
+ fy="27.640751"
+ r="3.2408544"
+ gradientTransform="matrix(2.923565,-3.911409e-24,2.471769e-23,2.029717,-61.55532,-27.88417)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2994"
+ id="linearGradient3000"
+ x1="25.71875"
+ y1="31.046875"
+ x2="25.514589"
+ y2="30.703125"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.825542,0.125000)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2865"
+ id="radialGradient3010"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.348243,1.439818e-16,26.35543)"
+ cx="23.5625"
+ cy="40.4375"
+ fx="23.5625"
+ fy="40.4375"
+ r="19.5625" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#c4a000"
+ fill="#edd400"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="14.928934"
+ inkscape:cy="7.6822472"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="872"
+ inkscape:window-height="659"
+ inkscape:window-x="195"
+ inkscape:window-y="221" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ <dc:title>Text Editor</dc:title>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Attribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ transform="matrix(2.417561e-2,0,0,2.086758e-2,45.12765,40.1536)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <path
+ style="color:#000000;fill:url(#linearGradient2861);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2879);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 7.1638699,4.5063726 L 39.813122,4.5063726 C 40.575699,4.5063726 41.189615,5.0388241 41.189615,5.7002099 C 41.189615,5.7002099 43.590945,39.868907 43.590945,39.868907 C 43.590945,39.868907 43.603403,42.216529 43.603403,42.216529 C 43.603403,42.877915 42.989488,43.410366 42.226911,43.410366 L 4.750081,43.410366 C 3.9875042,43.410366 3.3735887,42.877915 3.3735887,42.216529 L 3.3624173,40.049613 L 5.7873775,5.7002099 C 5.7873775,5.0388241 6.4012931,4.5063726 7.1638699,4.5063726 z "
+ id="rect1975"
+ sodipodi:nodetypes="ccccccccccc" />
+ <path
+ transform="matrix(0.616613,0.000000,0.000000,0.440367,10.61425,13.94266)"
+ d="M 43.125 40.4375 A 19.5625 6.8125 0 1 1 4,40.4375 A 19.5625 6.8125 0 1 1 43.125 40.4375 z"
+ sodipodi:ry="6.8125"
+ sodipodi:rx="19.5625"
+ sodipodi:cy="40.4375"
+ sodipodi:cx="23.5625"
+ id="path3008"
+ style="opacity:0.31578944;color:#000000;fill:url(#radialGradient3010);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <rect
+ style="opacity:1;color:#000000;fill:#a4a4a4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2851"
+ width="39.048077"
+ height="3.0714951"
+ x="3.9770372"
+ y="39.868271"
+ rx="0.67937863"
+ ry="0.67937863" />
+ <path
+ style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 3.9267507,40.442796 C 3.9267507,40.442796 4.0776125,39.912466 4.6307727,39.868272 L 42.195375,39.868272 C 42.949684,39.868272 42.999971,40.619573 42.999971,40.619573 C 42.999971,40.619573 43.02357,39 41.7161,39 L 5.3042159,39 C 4.2984702,39.088388 3.9267507,39.779883 3.9267507,40.442796 z "
+ id="path2853"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient2925);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 6.25,5.7343749 L 6,10.125 C 6,10.125 6.3125,8.9999999 7,8.9999999 L 40.125,8.9999999 C 40.828125,8.9843749 40.859375,9.3124999 40.984375,9.8281249 C 40.984375,9.8281249 40.734375,5.9531249 40.734375,5.9531249 C 40.703125,5.4062499 40.515625,4.9999999 39.953125,4.9999999 L 7.0625,4.9999999 C 6.609375,4.9999999 6.296875,5.3437499 6.25,5.7343749 z "
+ id="path2915"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccccccc"
+ id="path2917"
+ d="M 7.8126474,5.5404503 L 38.944983,5.5404503 C 39.66702,5.5404503 40.2483,5.3883462 40.2483,6.014572 C 40.2483,6.014572 42.521973,39.023077 42.521973,39.023077 C 42.521973,39.023077 42.622156,41.732033 42.622156,41.732033 C 42.622156,42.358259 42.48282,42.376269 41.760782,42.376269 L 4.8620444,42.376269 C 4.4493662,42.376269 4.4426114,42.269871 4.4426114,41.864615 L 4.4320338,39.194177 L 6.7280807,6.045822 C 6.7280807,5.4195962 7.09061,5.5404503 7.8126474,5.5404503 z "
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999946;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;opacity:0.43859649" />
+ <g
+ id="g2950">
+ <rect
+ ry="1"
+ rx="1"
+ y="2.5"
+ x="8.5"
+ height="5"
+ width="2"
+ id="rect2899"
+ style="opacity:1;color:#000000;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#886f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1;color:#000000;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#886f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2901"
+ width="2"
+ height="5"
+ x="12.5"
+ y="2.5"
+ rx="1"
+ ry="1" />
+ <rect
+ ry="1"
+ rx="1"
+ y="2.5"
+ x="16.5"
+ height="5"
+ width="2"
+ id="rect2903"
+ style="opacity:1;color:#000000;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#886f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1;color:#000000;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#886f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2905"
+ width="2"
+ height="5"
+ x="20.5"
+ y="2.5"
+ rx="1"
+ ry="1" />
+ <rect
+ ry="1"
+ rx="1"
+ y="2.5"
+ x="24.5"
+ height="5"
+ width="2"
+ id="rect2907"
+ style="opacity:1;color:#000000;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#886f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1;color:#000000;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#886f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2909"
+ width="2"
+ height="5"
+ x="28.5"
+ y="2.5"
+ rx="1"
+ ry="1" />
+ <rect
+ ry="1"
+ rx="1"
+ y="2.5"
+ x="32.5"
+ height="5"
+ width="2"
+ id="rect2911"
+ style="opacity:1;color:#000000;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#886f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1;color:#000000;fill:#fce94f;fill-opacity:1;fill-rule:evenodd;stroke:#886f00;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2913"
+ width="2"
+ height="5"
+ x="36.5"
+ y="2.5"
+ rx="1"
+ ry="1" />
+ </g>
+ <g
+ id="g2941">
+ <rect
+ y="12"
+ x="9"
+ height="1"
+ width="29"
+ id="rect2927"
+ style="opacity:0.28070175;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:0.28070176;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2929"
+ width="29"
+ height="1"
+ x="9"
+ y="14.981792" />
+ <rect
+ y="18.003939"
+ x="9"
+ height="1"
+ width="13"
+ id="rect2931"
+ style="opacity:0.28070176;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:0.28070176;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2933"
+ width="29"
+ height="1"
+ x="9"
+ y="22.985731" />
+ <rect
+ y="26.007877"
+ x="9"
+ height="1"
+ width="29"
+ id="rect2935"
+ style="opacity:0.28070176;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:0.28070176;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2937"
+ width="29"
+ height="1"
+ x="9"
+ y="29.030024" />
+ <rect
+ y="32.05217"
+ x="9"
+ height="1"
+ width="8"
+ id="rect2939"
+ style="opacity:0.28070176;color:#000000;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <path
+ style="opacity:1;color:#000000;fill:#cb9022;fill-opacity:1;fill-rule:evenodd;stroke:#5c410c;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 17.34116,32.5 L 22.96616,26.875 L 43.059909,17.125 C 46.309909,15.875 48.247409,20.5 45.372409,22.125 L 25.34116,31.5 L 17.34116,32.5 z "
+ id="path2960"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ sodipodi:nodetypes="czcczcc"
+ id="path2964"
+ d="M 38.330708,20 C 38.330708,20 39.768208,20.09375 40.330708,21.34375 C 40.910201,22.631511 40.330708,24 40.330708,24 L 45.361958,21.53125 C 45.361958,21.53125 46.81399,20.649883 46.018208,18.6875 C 45.233296,16.751923 43.330708,17.53125 43.330708,17.53125 L 38.330708,20 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient2972);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient2980);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 38.330708,20 C 38.330708,20 39.768208,20.09375 40.330708,21.34375 C 40.910201,22.631511 40.330708,24 40.330708,24 L 42.330708,23 C 42.330708,23 43.15774,21.681133 42.549458,20.3125 C 41.924458,18.90625 40.330708,19 40.330708,19 L 38.330708,20 z "
+ id="path2962"
+ sodipodi:nodetypes="czcczcc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#radialGradient2990);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 18.768208,31.78125 L 23.268208,27.28125 C 24.768208,28.09375 25.549458,29.4375 25.143208,31 L 18.768208,31.78125 z "
+ id="path2982"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient3000);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 20.111958,30.375 L 18.486958,31.96875 L 20.830708,31.65625 C 21.049458,30.9375 20.643208,30.59375 20.111958,30.375 z "
+ id="path2992"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.36363639;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 23.268208,27.25 L 24.830708,28.5 L 40.218048,21.18133 C 39.773616,20.325286 38.976281,20.096733 38.314669,20.019068 L 23.268208,27.25 z "
+ id="path3002"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:1;color:#000000;fill:#000000;fill-opacity:0.36363639;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 25.143208,31.0625 L 25.330708,30.3125 L 40.561798,23.1829 C 40.561798,23.1829 40.451638,23.796527 40.345919,23.93225 L 25.143208,31.0625 z "
+ id="path3004"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/manual/images/tango-icons/dialog-information.svg b/manual/images/tango-icons/dialog-information.svg
new file mode 100644
index 0000000000..1e957ccc3a
--- /dev/null
+++ b/manual/images/tango-icons/dialog-information.svg
@@ -0,0 +1,1145 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="dialog-information.svg"
+ sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
+ inkscape:version="0.43+devel"
+ sodipodi:version="0.32"
+ id="svg19655"
+ height="48px"
+ width="48px"
+ inkscape:export-filename="/home/jimmac/Desktop/poing.png"
+ inkscape:export-xdpi="392.72742"
+ inkscape:export-ydpi="392.72742">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3300">
+ <stop
+ style="stop-color:#4c4c28;stop-opacity:1;"
+ offset="0"
+ id="stop3302" />
+ <stop
+ style="stop-color:#4c4c28;stop-opacity:0;"
+ offset="1"
+ id="stop3304" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3311">
+ <stop
+ id="stop3313"
+ offset="0"
+ style="stop-color:#d6d7a5;stop-opacity:1;" />
+ <stop
+ id="stop3315"
+ offset="1.0000000"
+ style="stop-color:#8e8f6d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3265">
+ <stop
+ id="stop3267"
+ offset="0"
+ style="stop-color:#929470;stop-opacity:1;" />
+ <stop
+ style="stop-color:#60614a;stop-opacity:1.0000000;"
+ offset="0.26470590"
+ id="stop3269" />
+ <stop
+ id="stop3271"
+ offset="0.63235295"
+ style="stop-color:#f3f5ba;stop-opacity:1.0000000;" />
+ <stop
+ id="stop3273"
+ offset="1.0000000"
+ style="stop-color:#929470;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3175"
+ inkscape:collect="always">
+ <stop
+ id="stop3177"
+ offset="0"
+ style="stop-color:#f1f3ff;stop-opacity:1;" />
+ <stop
+ id="stop3179"
+ offset="1"
+ style="stop-color:#f1f3ff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2399">
+ <stop
+ style="stop-color:#929470;stop-opacity:1;"
+ offset="0"
+ id="stop2401" />
+ <stop
+ id="stop2407"
+ offset="0.26470590"
+ style="stop-color:#fcffc1;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#f3f5ba;stop-opacity:1.0000000;"
+ offset="0.63235295"
+ id="stop2409" />
+ <stop
+ style="stop-color:#929470;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2403" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6339">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6341" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6343" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient20428">
+ <stop
+ id="stop20430"
+ offset="0.0000000"
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop20432"
+ offset="1"
+ style="stop-color:#b5b5b5;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient20393">
+ <stop
+ id="stop20395"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.44117647;"
+ offset="0.41176471"
+ id="stop2427" />
+ <stop
+ id="stop20397"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.48039216;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient20210">
+ <stop
+ id="stop20212"
+ offset="0.0000000"
+ style="stop-color:#000000;stop-opacity:0.51546389;" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.14432989;"
+ offset="0.55172414"
+ id="stop20218" />
+ <stop
+ id="stop20214"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="11.4873"
+ fx="17.8335"
+ r="22.7093"
+ cy="11.4873"
+ cx="17.8335"
+ id="aigrd7">
+ <stop
+ id="stop19512"
+ style="stop-color:#ffffff;stop-opacity:0.17525773;"
+ offset="0.0000000" />
+ <stop
+ id="stop19514"
+ style="stop-color:#709ac8;stop-opacity:1.0000000;"
+ offset="0.88200003" />
+ <stop
+ id="stop19516"
+ style="stop-color:#6f96dd;stop-opacity:1.0000000;"
+ offset="1.0000000" />
+ </radialGradient>
+ <linearGradient
+ y2="43.165"
+ x2="26.4785"
+ y1="43.165"
+ x1="23.124"
+ gradientUnits="userSpaceOnUse"
+ id="aigrd1">
+ <stop
+ id="stop19415"
+ style="stop-color:#686868"
+ offset="5.618000e-003" />
+ <stop
+ id="stop19417"
+ style="stop-color:#777777"
+ offset="3.012137e-002" />
+ <stop
+ id="stop19419"
+ style="stop-color:#929292"
+ offset="8.366583e-002" />
+ <stop
+ id="stop19421"
+ style="stop-color:#A7A7A7"
+ offset="0.1422" />
+ <stop
+ id="stop19423"
+ style="stop-color:#B6B6B6"
+ offset="0.2074" />
+ <stop
+ id="stop19425"
+ style="stop-color:#BEBEBE"
+ offset="0.2846" />
+ <stop
+ id="stop19427"
+ style="stop-color:#C1C1C1"
+ offset="0.4045" />
+ <stop
+ id="stop19429"
+ style="stop-color:#BCBCBC"
+ offset="0.4962" />
+ <stop
+ id="stop19431"
+ style="stop-color:#ADADAD"
+ offset="0.6057" />
+ <stop
+ id="stop19433"
+ style="stop-color:#959595"
+ offset="0.7245" />
+ <stop
+ id="stop19435"
+ style="stop-color:#747474"
+ offset="0.8497" />
+ <stop
+ id="stop19437"
+ style="stop-color:#494949"
+ offset="0.9789" />
+ <stop
+ id="stop19439"
+ style="stop-color:#414141"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient19894"
+ gradientUnits="userSpaceOnUse"
+ x1="18.995100"
+ y1="37.226601"
+ x2="30.169901"
+ y2="37.226601">
+ <stop
+ offset="5.618000e-003"
+ style="stop-color:#A3A349"
+ id="stop19896" />
+ <stop
+ offset="2.078677e-002"
+ style="stop-color:#ACAC54"
+ id="stop19898" />
+ <stop
+ offset="6.600059e-002"
+ style="stop-color:#C1C172"
+ id="stop19900" />
+ <stop
+ offset="0.1148"
+ style="stop-color:#D4D68E"
+ id="stop19902" />
+ <stop
+ offset="0.1677"
+ style="stop-color:#E2E4A6"
+ id="stop19904" />
+ <stop
+ offset="0.2265"
+ style="stop-color:#EDF0B8"
+ id="stop19906" />
+ <stop
+ offset="0.2963"
+ style="stop-color:#F3F6C3"
+ id="stop19908" />
+ <stop
+ offset="0.4045"
+ style="stop-color:#F5F8C7"
+ id="stop19910" />
+ <stop
+ offset="0.5239"
+ style="stop-color:#EEF0BE"
+ id="stop19912" />
+ <stop
+ offset="0.6666"
+ style="stop-color:#DBDDA9"
+ id="stop19914" />
+ <stop
+ offset="0.8211"
+ style="stop-color:#BEBD88"
+ id="stop19916" />
+ <stop
+ offset="0.9832"
+ style="stop-color:#989564"
+ id="stop19918" />
+ <stop
+ offset="1"
+ style="stop-color:#949160"
+ id="stop19920" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)"
+ y2="43.165"
+ x2="26.4785"
+ y1="43.165"
+ x1="23.124"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient20109"
+ xlink:href="#aigrd1"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="7.8289826"
+ fy="74.209934"
+ fx="14.772334"
+ cy="74.209934"
+ cx="14.772334"
+ gradientTransform="scale(1.764278,0.566804)"
+ id="radialGradient20216"
+ xlink:href="#linearGradient20210"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="36.726292"
+ x2="32.096882"
+ y1="10.061084"
+ x1="16.998856"
+ gradientTransform="matrix(1.140494,0.000000,0.000000,0.926002,0.272330,-3.247170)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7708"
+ xlink:href="#linearGradient6339"
+ inkscape:collect="always" />
+ <radialGradient
+ r="33.934090"
+ fy="29.869318"
+ fx="68.137589"
+ cy="29.869318"
+ cx="68.137589"
+ gradientTransform="matrix(0.551290,1.265592e-16,-1.355720e-16,0.766034,-10.48701,3.514312)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient7720"
+ xlink:href="#aigrd7"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="3.8557322"
+ x2="-5.2517161"
+ y1="16.651863"
+ x1="37.940434"
+ gradientTransform="matrix(0.894129,0.000000,0.000000,0.985230,1.515981,2.449800e-2)"
+ id="linearGradient3181"
+ xlink:href="#linearGradient3175"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient1700"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient1702"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20428"
+ id="linearGradient1704"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)"
+ x1="14.637301"
+ y1="31.504122"
+ x2="9.3648205"
+ y2="32.250980" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient1725"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.026450,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient1727"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.026450,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient1729"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.026450,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient1731"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.026450,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3311"
+ id="linearGradient2516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.603440,0.000000,0.000000,0.549396,0.614167,2.449800e-2)"
+ x1="17.879995"
+ y1="55.362793"
+ x2="11.906206"
+ y2="54.863026" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3265"
+ id="linearGradient2518"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.905728,-4.386156e-2,0.189510,-0.963437,0.614167,2.449800e-2)"
+ x1="-29.007195"
+ y1="-29.799353"
+ x2="-37.641232"
+ y2="-29.598314" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient2522"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.300410)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient2524"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.300410)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient2529"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient2531"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3300"
+ id="linearGradient3306"
+ gradientTransform="scale(1.002656,0.997352)"
+ x1="24.613028"
+ y1="31.146202"
+ x2="24.613028"
+ y2="26.739624"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3311"
+ id="linearGradient3127"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,2.4498e-2)"
+ x1="17.879995"
+ y1="55.362793"
+ x2="11.906206"
+ y2="54.863026" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3265"
+ id="linearGradient3129"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.905728,-4.386156e-2,0.18951,-0.963437,0.614167,2.4498e-2)"
+ x1="-29.007195"
+ y1="-29.799353"
+ x2="-37.641232"
+ y2="-29.598314" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd7"
+ id="radialGradient3131"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55129,1.265592e-16,-1.35572e-16,0.766034,-10.48701,3.514312)"
+ cx="68.137589"
+ cy="29.869318"
+ fx="68.137589"
+ fy="29.869318"
+ r="33.934090" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6339"
+ id="linearGradient3133"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)"
+ x1="16.998856"
+ y1="10.061084"
+ x2="32.096882"
+ y2="36.726292" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3175"
+ id="linearGradient3135"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,2.4498e-2)"
+ x1="37.940434"
+ y1="16.651863"
+ x2="-5.2517161"
+ y2="3.8557322" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3311"
+ id="linearGradient3157"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,2.4498e-2)"
+ x1="17.879995"
+ y1="55.362793"
+ x2="11.906206"
+ y2="54.863026" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3265"
+ id="linearGradient3159"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.905728,-4.386156e-2,0.18951,-0.963437,0.614167,2.4498e-2)"
+ x1="-29.007195"
+ y1="-29.799353"
+ x2="-37.641232"
+ y2="-29.598314" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd7"
+ id="radialGradient3161"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55129,1.265592e-16,-1.35572e-16,0.766034,-10.48701,3.514312)"
+ cx="68.137589"
+ cy="29.869318"
+ fx="68.137589"
+ fy="29.869318"
+ r="33.934090" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3175"
+ id="linearGradient3163"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,2.4498e-2)"
+ x1="37.940434"
+ y1="16.651863"
+ x2="-5.2517161"
+ y2="3.8557322" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient3165"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient3167"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20428"
+ id="linearGradient3169"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)"
+ x1="14.637301"
+ y1="31.504122"
+ x2="9.3648205"
+ y2="32.250980" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6339"
+ id="linearGradient3171"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)"
+ x1="16.998856"
+ y1="10.061084"
+ x2="32.096882"
+ y2="36.726292" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3300"
+ id="linearGradient3185"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.002656,0.997352)"
+ x1="24.613028"
+ y1="31.146202"
+ x2="24.613028"
+ y2="26.739624" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient3187"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient3189"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient3191"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient3193"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient3195"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient3197"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient3199"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient3201"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient4100"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)"
+ x1="23.124"
+ y1="43.165"
+ x2="26.4785"
+ y2="43.165" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3300"
+ id="linearGradient4102"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.002656,0.997352)"
+ x1="24.613028"
+ y1="31.146202"
+ x2="24.613028"
+ y2="26.739624" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient4104"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient4106"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient4108"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient4110"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient4112"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient4114"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient4116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient4118"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3311"
+ id="linearGradient4120"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,2.4498e-2)"
+ x1="17.879995"
+ y1="55.362793"
+ x2="11.906206"
+ y2="54.863026" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3265"
+ id="linearGradient4122"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.905728,-4.386156e-2,0.18951,-0.963437,0.614167,2.4498e-2)"
+ x1="-29.007195"
+ y1="-29.799353"
+ x2="-37.641232"
+ y2="-29.598314" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd7"
+ id="radialGradient4124"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55129,1.265592e-16,-1.35572e-16,0.766034,-10.48701,3.514312)"
+ cx="68.137589"
+ cy="29.869318"
+ fx="68.137589"
+ fy="29.869318"
+ r="33.934090" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3175"
+ id="linearGradient4126"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,2.4498e-2)"
+ x1="37.940434"
+ y1="16.651863"
+ x2="-5.2517161"
+ y2="3.8557322" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient4128"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient4130"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20428"
+ id="linearGradient4132"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)"
+ x1="14.637301"
+ y1="31.504122"
+ x2="9.3648205"
+ y2="32.250980" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6339"
+ id="linearGradient4134"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)"
+ x1="16.998856"
+ y1="10.061084"
+ x2="32.096882"
+ y2="36.726292" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="91"
+ inkscape:window-x="146"
+ inkscape:window-height="922"
+ inkscape:window-width="1060"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="true"
+ inkscape:current-layer="layer1"
+ inkscape:cy="19.729332"
+ inkscape:cx="29.03294"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.55294118"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ gridempspacing="4" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Info</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>dialog</rdf:li>
+ <rdf:li>info</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Garrett LeSage</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Attribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <path
+ transform="matrix(1.197183,0,0,1.098591,-6.201582,-3.209507)"
+ d="M 39.875 42.0625 A 13.8125 4.4375 0 1 1 12.25,42.0625 A 13.8125 4.4375 0 1 1 39.875 42.0625 z"
+ sodipodi:ry="4.4375"
+ sodipodi:rx="13.8125"
+ sodipodi:cy="42.0625"
+ sodipodi:cx="26.0625"
+ id="path20208"
+ style="color:#000000;fill:url(#radialGradient20216);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;opacity:0.8"
+ sodipodi:type="arc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <g
+ id="g4076"
+ transform="translate(0,1)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(1.075823,0,0,0.937493,-2.551335,3.047213)"
+ id="path19509"
+ d="M 21.893504,38.885945 L 21.893504,40.36116 C 21.893504,41.836375 23.204807,43.147679 24.680022,43.147679 C 26.155237,43.147679 27.466539,41.836375 27.466539,40.36116 L 27.466539,38.885945 L 21.893504,38.885945 z "
+ style="fill:url(#linearGradient4100);fill-rule:nonzero;stroke:#565656;stroke-miterlimit:4;stroke-opacity:1" />
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.989073,0,0,0.993556,-0.408739,7.920479e-3)"
+ id="g3173">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="cccccccscccccccs"
+ id="path3209"
+ d="M 24.511725,27.668867 C 21.208844,27.660897 17.463275,28.632054 19.492913,30.467931 C 18.98969,30.670934 18.270371,31.124313 18.355167,32.185222 C 18.401983,32.739286 18.989243,33.079394 19.79236,33.32911 C 18.881908,33.967722 18.302581,34.642557 18.355167,35.264921 C 18.401438,35.812525 18.976334,36.187531 19.76303,36.43814 C 18.875519,37.069403 18.303301,37.760121 18.355167,38.373951 C 18.434436,39.312088 20.457743,40.362928 24.838928,40.2419 C 27.993329,40.155914 30.776913,39.590514 30.996599,38.373951 C 31.082862,37.896248 30.691907,37.450531 30.087355,37.05408 C 30.539926,36.597918 30.85698,36.135242 30.820616,35.704878 C 30.774128,35.154694 30.205993,34.781923 29.412754,34.53166 C 30.300265,33.900397 30.872482,33.209679 30.820616,32.595849 C 30.774128,32.045664 30.205993,31.702225 29.412754,31.45196 C 30.310848,30.817288 30.872816,30.133928 30.820616,29.516149 C 30.762593,28.829446 27.61599,27.676358 24.511725,27.668867 z "
+ style="color:#000000;fill:#aeae57;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4102);stroke-width:2.01752925;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="csccc"
+ id="path3183"
+ d="M 30.920208,38.329767 C 30.700522,39.546331 27.591422,40.232861 22.615132,39.983673 C 19.463507,39.825856 19.283163,38.944055 19.502848,37.727491 C 19.722534,36.510926 22.458318,35.65848 25.609509,35.824708 C 28.7607,35.990936 31.139893,37.113203 30.920208,38.329767 z "
+ style="color:#000000;fill:url(#linearGradient4104);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4106);stroke-width:0.08906282;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient4108);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4110);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path1603"
+ sodipodi:cx="-13.87697"
+ sodipodi:cy="27.228739"
+ sodipodi:rx="10.341436"
+ sodipodi:ry="3.2703688"
+ d="M -3.5355339 27.228739 A 10.341436 3.2703688 0 1 1 -24.218407,27.228739 A 10.341436 3.2703688 0 1 1 -3.5355339 27.228739 z"
+ transform="matrix(0.60274,-0.128625,6.428372e-2,0.760788,31.12021,14.49141)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.60274,-0.128625,6.428372e-2,0.760788,31.12021,11.39591)"
+ d="M -3.5355339 27.228739 A 10.341436 3.2703688 0 1 1 -24.218407,27.228739 A 10.341436 3.2703688 0 1 1 -3.5355339 27.228739 z"
+ sodipodi:ry="3.2703688"
+ sodipodi:rx="10.341436"
+ sodipodi:cy="27.228739"
+ sodipodi:cx="-13.87697"
+ id="path2364"
+ style="color:#000000;fill:url(#linearGradient4112);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4114);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="cccss"
+ id="path2366"
+ d="M 30.698087,29.636386 C 30.698087,31.014688 28.157326,32.55444 24.716601,33.288693 C 21.275876,34.022945 18.38922,33.50421 18.273172,32.130802 C 18.157124,30.757395 20.509679,29.155466 23.952388,28.968827 C 27.422379,28.780711 30.698087,28.924901 30.698087,29.636386 z "
+ style="color:#000000;fill:url(#linearGradient4116);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4118);stroke-width:0.08906286;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.335464,0,0,0.335464,11.74678,27.2261)"
+ d="M 31 22.375 A 3.25 3.25 0 1 1 24.5,22.375 A 3.25 3.25 0 1 1 31 22.375 z"
+ sodipodi:ry="3.25"
+ sodipodi:rx="3.25"
+ sodipodi:cy="22.375"
+ sodipodi:cx="27.75"
+ id="path20372"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="cscc"
+ id="path3241"
+ d="M 19.342183,33.378865 C 22.736592,33.883533 26.320992,33.346192 29.214315,31.470807 C 30.025582,30.944962 30.147604,30.343945 30.520921,29.873844 C 29.09679,31.000705 25.494982,34.035625 19.342183,33.378865 z "
+ style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2435"
+ sodipodi:cx="27.75"
+ sodipodi:cy="22.375"
+ sodipodi:rx="3.25"
+ sodipodi:ry="3.25"
+ d="M 31 22.375 A 3.25 3.25 0 1 1 24.5,22.375 A 3.25 3.25 0 1 1 31 22.375 z"
+ transform="matrix(0.335464,0,0,0.335464,11.74678,30.23376)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="cscc"
+ id="path3237"
+ d="M 19.466621,39.517838 C 22.86103,40.022506 26.44543,39.485165 29.338753,37.60978 C 30.15002,37.083935 30.272043,36.482919 30.645359,36.012817 C 29.221228,37.139678 25.61942,40.174598 19.466621,39.517838 z "
+ style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 19.487361,36.406872 C 22.88177,36.91154 26.46617,36.374199 29.359492,34.498814 C 30.17076,33.972969 30.292782,33.371953 30.666099,32.901851 C 29.241968,34.028712 25.64016,37.063632 19.487361,36.406872 z "
+ id="path3239"
+ sodipodi:nodetypes="cscc" />
+ </g>
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="translate(-0.988797,0)"
+ id="g3146">
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="g3141">
+ <path
+ transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+ sodipodi:nodetypes="csscs"
+ id="path3243"
+ d="M 18.87103,29.628128 C 18.87103,28.836695 20.445135,27.889988 24.419234,27.942972 C 28.101154,27.992059 30.526608,28.83866 30.526608,30.105404 C 30.526608,31.345281 27.307242,32.174416 23.874677,32.008188 C 20.442113,31.84196 18.87103,30.868005 18.87103,29.628128 z "
+ style="color:#000000;fill:url(#linearGradient4120);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4122);stroke-width:0.09083303;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+ sodipodi:nodetypes="csssssc"
+ id="path6305"
+ d="M 24.680021,0.8622936 C 16.858005,0.8622936 10.506261,6.8372628 10.506261,14.195288 C 10.506261,21.737851 16.247826,22.573217 16.247826,25.352995 C 16.247826,28.619061 19.614103,32.322687 25.149309,32.188995 C 31.035159,32.046835 33.464182,28.825655 33.464182,25.352995 C 33.464182,22.384064 38.853781,22.304889 38.853781,14.195288 C 38.853781,6.8372628 32.502038,0.8622936 24.680021,0.8622936 z "
+ style="color:#000000;fill:url(#radialGradient4124);fill-opacity:1;fill-rule:nonzero;stroke:#616471;stroke-width:1.01595449;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4126);stroke-width:0.94685698;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 24.680021,1.9277146 C 17.389999,1.9277146 11.470252,7.4963123 11.470252,14.353901 C 11.470252,21.383476 16.82132,22.162027 16.82132,24.752746 C 16.82132,27.79668 19.958648,31.248413 25.117392,31.123813 C 30.602931,30.991321 32.866751,27.989222 32.866751,24.752746 C 32.866751,21.98574 37.889791,21.911948 37.889791,14.353901 C 37.889791,7.4963123 31.970044,1.9277146 24.680021,1.9277146 z "
+ id="path2429"
+ sodipodi:nodetypes="csssssc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ <g
+ id="g1695"
+ transform="matrix(0.9375,0,0,0.926938,0.569221,0.25176)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ style="fill:url(#linearGradient4128);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+ d="M 31.947292,19.22274 C 32.260034,19.326988 32.468529,19.63973 32.364281,19.952471 L 28.507134,31.523913 C 28.402887,31.836655 28.090145,32.045149 27.777403,31.940902 C 27.464662,31.836655 27.256168,31.523913 27.360415,31.211172 L 31.217562,19.63973 C 31.321809,19.326988 31.634551,19.118493 31.947292,19.22274 z "
+ id="path1691"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ id="path19612"
+ d="M 20.152404,19.34774 C 19.839662,19.451988 19.631167,19.76473 19.735415,20.077471 L 23.592562,31.648913 C 23.696809,31.961655 24.009551,32.170149 24.322293,32.065902 C 24.635034,31.961655 24.843528,31.648913 24.739281,31.336172 L 20.882134,19.76473 C 20.777887,19.451988 20.465145,19.243493 20.152404,19.34774 z "
+ style="fill:url(#linearGradient4130);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4132);stroke-width:0.21454535;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 20.255362,19.273128 C 20.009452,19.315194 19.816806,19.507772 19.774653,19.753667 C 19.732499,19.999562 19.850004,20.245309 20.067862,20.366878 C 20.067862,20.366878 21.910084,21.447747 24.317862,21.991878 C 26.72564,22.536009 29.806763,22.571305 32.130362,20.304378 C 32.305608,20.165345 32.386854,19.938963 32.340007,19.720224 C 32.29316,19.501485 32.126325,19.328233 31.909509,19.273168 C 31.692693,19.218103 31.463406,19.290751 31.317862,19.460628 C 29.367326,21.36359 26.773024,21.36522 24.567862,20.866878 C 22.3627,20.368536 20.661612,19.366878 20.661612,19.366878 C 20.542178,19.287089 20.397682,19.253744 20.255362,19.273128 z "
+ id="path19614"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.5977654;color:#000000;fill:url(#linearGradient4134);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.98750001;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 25.001158,3.5644322 C 18.737608,3.5644322 13.655359,7.5900329 13.655359,12.547843 C 13.655359,14.527956 14.632918,16.261758 16.006008,17.747035 C 17.558672,18.378895 19.249827,18.832941 21.114752,18.832941 C 27.378302,18.832941 32.460549,14.807341 32.460551,9.849528 C 32.460551,7.857476 31.466744,6.1074629 30.07856,4.6174331 C 28.533139,3.9930601 26.854241,3.5644321 25.001158,3.5644322 z "
+ id="path6334"
+ transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/manual/images/tango-icons/dialog-warning.svg b/manual/images/tango-icons/dialog-warning.svg
new file mode 100644
index 0000000000..51f7ff34ab
--- /dev/null
+++ b/manual/images/tango-icons/dialog-warning.svg
@@ -0,0 +1,359 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg1377"
+ sodipodi:version="0.32"
+ inkscape:version="0.43+devel"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/status"
+ sodipodi:docname="dialog-warning.svg">
+ <defs
+ id="defs1379">
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ y2="56.0523"
+ x2="47.3197"
+ y1="11.1133"
+ x1="4.1914"
+ gradientUnits="userSpaceOnUse"
+ id="aigrd1">
+ <stop
+ id="stop6490"
+ style="stop-color:#D4D4D4"
+ offset="0" />
+ <stop
+ id="stop6492"
+ style="stop-color:#E2E2E2"
+ offset="0.3982" />
+ <stop
+ id="stop6494"
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ y2="56.0523"
+ x2="47.3197"
+ y1="11.1133"
+ x1="4.1914"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7451"
+ xlink:href="#aigrd1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4126"
+ inkscape:collect="always">
+ <stop
+ id="stop4128"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4130"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="17.142857"
+ fy="40.000000"
+ fx="23.857143"
+ cy="40.000000"
+ cx="23.857143"
+ gradientTransform="matrix(1,0,0,0.5,2.139286e-14,20)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient7449"
+ xlink:href="#linearGradient4126"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6525"
+ id="linearGradient5250"
+ x1="8.5469341"
+ y1="30.281681"
+ x2="30.85088"
+ y2="48.301884"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3922"
+ gradientUnits="userSpaceOnUse"
+ x1="4.1914"
+ y1="11.1133"
+ x2="47.3197"
+ y2="56.0523" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6525"
+ id="linearGradient3924"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)"
+ x1="8.5469341"
+ y1="30.281681"
+ x2="30.85088"
+ y2="48.301884" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6525"
+ id="linearGradient3933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)"
+ x1="8.5469341"
+ y1="30.281681"
+ x2="30.85088"
+ y2="48.301884" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3935"
+ gradientUnits="userSpaceOnUse"
+ x1="4.1914"
+ y1="11.1133"
+ x2="47.3197"
+ y2="56.0523" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3946"
+ gradientUnits="userSpaceOnUse"
+ x1="4.1914"
+ y1="11.1133"
+ x2="47.3197"
+ y2="56.0523" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6525"
+ id="linearGradient3948"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)"
+ x1="8.5469341"
+ y1="30.281681"
+ x2="30.85088"
+ y2="48.301884" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="14.757891"
+ inkscape:cx="24"
+ inkscape:cy="24"
+ inkscape:current-layer="g7435"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1105"
+ inkscape:window-height="1084"
+ inkscape:window-x="157"
+ inkscape:window-y="16"
+ gridempspacing="4" />
+ <metadata
+ id="metadata1382">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Dialog Warning</dc:title>
+ <dc:date>2005-10-14</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Jakub Steiner, Garrett LeSage</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>dialog</rdf:li>
+ <rdf:li>warning</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Attribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ transform="matrix(1.566667,0.000000,0.000000,1.566667,-8.925566,-23.94764)"
+ id="g7435">
+ <g
+ style="display:inline"
+ transform="matrix(1.444074e-2,0,0,1.331973e-2,33.38871,40.40337)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <g
+ id="g3937"
+ transform="matrix(1,0,4.537846e-3,1,-0.138907,-1.394718e-15)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(1,0,-8.726683e-3,1,0.328074,1.276596)"
+ id="path6485"
+ d="M 33.282781,38.644744 L 22.407791,18.394765 C 22.095292,17.832266 21.532792,17.519767 20.907793,17.519767 C 20.282793,17.519767 19.720294,17.894765 19.407795,18.457265 L 8.7828048,38.707245 C 8.5328048,39.207244 8.5328048,39.894744 8.8453048,40.394743 C 9.1578038,40.894743 9.6578038,41.144742 10.282804,41.144742 L 31.782782,41.144742 C 32.407781,41.144742 32.97028,40.832243 33.220281,40.332243 C 33.53278,39.832243 33.53278,39.207244 33.282781,38.644744 z "
+ style="fill:#cc0000;fill-rule:nonzero;stroke:#9f0000;stroke-width:0.6382978;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="g6487"
+ transform="matrix(0.625,0,-5.534934e-3,0.634254,6.164053,15.76055)"
+ style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4">
+ <linearGradient
+ y2="56.052299"
+ x2="47.319698"
+ y1="11.1133"
+ x1="4.1914001"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6525">
+ <stop
+ id="stop6529"
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0" />
+ <stop
+ id="stop6531"
+ style="stop-color:#ffffff;stop-opacity:0.34020618;"
+ offset="1" />
+ </linearGradient>
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path6496"
+ d="M 9.5,37.6 C 9.2,38.1 9.5,38.5 10,38.5 L 38.2,38.5 C 38.7,38.5 39,38.1 38.7,37.6 L 24.4,11 C 24.1,10.5 23.7,10.5 23.5,11 L 9.5,37.6 z "
+ style="fill:url(#linearGradient3946);stroke:none" />
+ </g>
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(1,0,-8.726683e-3,1,0.318277,1.276596)"
+ sodipodi:nodetypes="ccsccscccc"
+ id="path1325"
+ d="M 32.323106,38.183905 L 22.150271,19.265666 C 21.71698,18.45069 21.561698,18.189213 20.908406,18.189213 C 20.346525,18.189213 20.054127,18.57002 19.651305,19.339291 L 9.7489285,38.242296 C 9.1737649,39.303588 9.1128238,39.580228 9.3937644,40.047345 C 9.6747034,40.514462 10.032797,40.48902 11.356441,40.519491 L 30.974593,40.519491 C 32.206825,40.534726 32.483988,40.440837 32.70874,39.97372 C 32.989681,39.506602 32.867799,39.136 32.323106,38.183905 z "
+ style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3948);stroke-width:0.63829792;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4"
+ transform="matrix(0.555088,0,0,0.555052,7.749711,17.80196)"
+ id="g6498"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ style="stroke:none"
+ d="M 23.9,36.5 C 22.6,36.5 21.6,35.5 21.6,34.2 C 21.6,32.8 22.5,31.9 23.9,31.9 C 25.3,31.9 26.1,32.8 26.2,34.2 C 26.2,35.5 25.3,36.5 23.9,36.5 L 23.9,36.5 z M 22.5,30.6 L 21.9,19.1 L 25.9,19.1 L 25.3,30.6 L 22.4,30.6 L 22.5,30.6 z "
+ id="path6500"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/manual/images/tango-icons/emblem-important.svg b/manual/images/tango-icons/emblem-important.svg
new file mode 100644
index 0000000000..835d6fcc96
--- /dev/null
+++ b/manual/images/tango-icons/emblem-important.svg
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg1800"
+ sodipodi:version="0.32"
+ inkscape:version="0.43+devel"
+ sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/emblems"
+ sodipodi:docname="emblem-important.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3101">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3103" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop3105" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3101"
+ id="radialGradient3107"
+ cx="17.3125"
+ cy="25.53125"
+ fx="17.3125"
+ fy="25.53125"
+ r="9.6875"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.351613,1.292803e-15,16.55413)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ fill="#edd400"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.20392157"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="66.140367"
+ inkscape:cy="14.79073"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="872"
+ inkscape:window-height="891"
+ inkscape:window-x="370"
+ inkscape:window-y="110" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ <dc:title>Emblem Important</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>emblem</rdf:li>
+ <rdf:li>photos</rdf:li>
+ <rdf:li>pictures</rdf:li>
+ <rdf:li>raw</rdf:li>
+ <rdf:li>jpeg</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Attribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.40909091;color:#000000;fill:url(#radialGradient3107);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.1053395;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path3099"
+ sodipodi:cx="17.312500"
+ sodipodi:cy="25.531250"
+ sodipodi:rx="9.6875000"
+ sodipodi:ry="3.4062500"
+ d="M 27.000000 25.531250 A 9.6875000 3.4062500 0 1 1 7.6250000,25.531250 A 9.6875000 3.4062500 0 1 1 27.000000 25.531250 z"
+ transform="matrix(2.182912,0.000000,0.000000,2.182912,-13.50372,-14.35012)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1.0000000;fill:#f57900;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#914900;stroke-width:0.98214942;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ id="path1650"
+ sodipodi:cx="24.130018"
+ sodipodi:cy="23.428040"
+ sodipodi:rx="22.008699"
+ sodipodi:ry="21.213203"
+ d="M 46.138718 23.428040 A 22.008699 21.213203 0 1 1 2.1213188,23.428040 A 22.008699 21.213203 0 1 1 46.138718 23.428040 z"
+ transform="matrix(0.944630,0.000000,0.000000,0.980053,1.504174,-1.556912)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1.0000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#fcaf3e;stroke-width:0.98214942;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ id="path3392"
+ sodipodi:cx="24.130018"
+ sodipodi:cy="23.428040"
+ sodipodi:rx="22.008699"
+ sodipodi:ry="21.213203"
+ d="M 46.138718 23.428040 A 22.008699 21.213203 0 1 1 2.1213188,23.428040 A 22.008699 21.213203 0 1 1 46.138718 23.428040 z"
+ transform="matrix(0.914086,0.000000,0.000000,0.948364,2.380576,-0.905815)" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.1224999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ d="M 21.464926,10.373268 C 21.336952,10.373268 21.230316,10.547762 21.230316,10.757175 L 22.295085,25.197999 C 22.295085,25.407412 22.401721,25.581906 22.529695,25.581907 C 22.529695,25.581907 23.370516,25.593810 24.063684,25.581907 C 24.292022,25.577986 24.361898,25.602219 24.568998,25.581907 C 25.262166,25.593810 26.102987,25.581907 26.102987,25.581907 C 26.230961,25.581907 26.337597,25.407412 26.337597,25.197999 L 27.402366,10.757175 C 27.402366,10.547762 27.295730,10.402799 27.167755,10.402799 L 24.587044,10.402799 C 24.577532,10.400862 24.578842,10.373268 24.568998,10.373268 L 21.464926,10.373268 z "
+ id="rect1872" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1.0000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4.1224999;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ id="path2062"
+ sodipodi:cx="-16.437500"
+ sodipodi:cy="34.062500"
+ sodipodi:rx="4.5625000"
+ sodipodi:ry="3.8125000"
+ d="M -11.875000 34.062500 A 4.5625000 3.8125000 0 1 1 -21.000000,34.062500 A 4.5625000 3.8125000 0 1 1 -11.875000 34.062500 z"
+ transform="matrix(0.504864,0.000000,0.000000,0.604182,32.65935,9.608845)" />
+ <path
+ style="fill:#fffeff;fill-opacity:0.21390374;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ d="M 43.676426,20.476780 C 43.676426,31.307396 37.624257,16.170581 25.001688,20.863168 C 12.279172,25.592912 4.4350535,31.307396 4.4350535,20.476780 C 4.4350535,9.6461627 13.225120,0.85609769 24.055740,0.85609769 C 34.886359,0.85609769 43.676426,9.6461627 43.676426,20.476780 z "
+ id="path3068"
+ sodipodi:nodetypes="czssc" />
+ </g>
+</svg>
diff --git a/manual/images/tango-icons/important.png b/manual/images/tango-icons/important.png
new file mode 100644
index 0000000000..6bdddcbe35
--- /dev/null
+++ b/manual/images/tango-icons/important.png
Binary files differ
diff --git a/manual/images/tango-icons/note.png b/manual/images/tango-icons/note.png
new file mode 100644
index 0000000000..45c3643877
--- /dev/null
+++ b/manual/images/tango-icons/note.png
Binary files differ
diff --git a/manual/images/tango-icons/tip.png b/manual/images/tango-icons/tip.png
new file mode 100644
index 0000000000..98d249a3be
--- /dev/null
+++ b/manual/images/tango-icons/tip.png
Binary files differ
diff --git a/manual/images/tango-icons/warning.png b/manual/images/tango-icons/warning.png
new file mode 100644
index 0000000000..cee66db38a
--- /dev/null
+++ b/manual/images/tango-icons/warning.png
Binary files differ
diff --git a/manual/images/title-bg.png b/manual/images/title-bg.png
new file mode 100644
index 0000000000..00fc7ed920
--- /dev/null
+++ b/manual/images/title-bg.png
Binary files differ
diff --git a/manual/images/track_name_field.png b/manual/images/track_name_field.png
new file mode 100644
index 0000000000..8cf02b9941
--- /dev/null
+++ b/manual/images/track_name_field.png
Binary files differ
diff --git a/manual/images/watermark-draft.png b/manual/images/watermark-draft.png
new file mode 100644
index 0000000000..b4fffd2bad
--- /dev/null
+++ b/manual/images/watermark-draft.png
Binary files differ
diff --git a/manual/templates/chapter_template.xml b/manual/templates/chapter_template.xml
index fa044b04bc..ea286543c3 100644
--- a/manual/templates/chapter_template.xml
+++ b/manual/templates/chapter_template.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" standalone="no"?>
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+
+<!ENTITY % BOOK_ENTITIES SYSTEM "./entities.ent">
+%BOOK_ENTITIES;
]>
diff --git a/manual/templates/section_template.xml b/manual/templates/section_template.xml
index 7c21873bf0..e5cb7ae34d 100644
--- a/manual/templates/section_template.xml
+++ b/manual/templates/section_template.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" standalone="no"?>
-<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+
+<!ENTITY % BOOK_ENTITIES SYSTEM "./entities.ent">
+%BOOK_ENTITIES;
]>
diff --git a/manual/xml/adding_tracks.xml b/manual/xml/adding_tracks.xml
index 8375f392de..6c89e03628 100644
--- a/manual/xml/adding_tracks.xml
+++ b/manual/xml/adding_tracks.xml
@@ -1,53 +1,66 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-adding-tracks">
+ <title>Adding Tracks</title>
+ <para>
+ To add a new Track or Bus activate the New Track Dialog
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Choose <menuchoice> <guimenu>Session</guimenu> <guisubmenu>Add
+ Track/Bus</guisubmenu> </menuchoice>
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/add_track_bus.png"/>
+ </imageobject>
+ </mediaobject>
+ </listitem>
+
+ <listitem>
+ <para>
+ Choose whether you wish to add a new Track or a new Bus.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Enter the number of new tracks/busses you want to add.
+ </para>
+ </listitem>
- <title>Adding Tracks</title>
-
- <para>
- To add a new Track or Bus activate the New Track Dialog
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- <menuchoice>
- <guimenu>Session</guimenu>
- <guisubmenu>Add Track/Bus</guisubmenu>
- </menuchoice>
- </para>
- </listitem>
- </itemizedlist>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/add_track_bus.png"/>
- </imageobject>
- </mediaobject>
-
- <para>
- In the Add Tracks dialog, choose whether you wish to add a new Track or a new Bus.
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Enter the number of new tracks/busses you want to add.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Choose the I/O configuration of the tracks/busses you are adding using
- the clickbox.
- </para>
-
- <!--
+ <listitem>
+ <para>
+ Choose the channel configuration for the Tracks or Busses you are
+ adding.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ If you are creating a Track choose whether to create a normal track
+ or a Tape Track.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <note>
+ <para>
+ If you choose <literal>Manual Setup</literal> for the channel
+ configuration then the tracks will be created with no inputs and you
+ will have to configure the I/O configuration of the track using the
+ <link linkend="input-output-connections-editor">I/O Connections
+ Editor</link>
+ </para>
+ </note>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/advanced_editing.xml b/manual/xml/advanced_editing.xml
index 1a31fc19be..980f333d5c 100644
--- a/manual/xml/advanced_editing.xml
+++ b/manual/xml/advanced_editing.xml
@@ -5,13 +5,13 @@
]>
<chapter id="ch-advanced-editing">
- <title>Advanced Editing</title>
- <para>
- This section of the manual covers various editing techniques that go beyond
- basic cutting/trimming/rearranging of regions in a playlist.
- </para>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <title>Advanced Editing</title>
+ <para>
+ This section of the manual covers various editing techniques that go
+ beyond basic cutting/trimming/rearranging of regions in a playlist.
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="working_with_crossfades.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="working_with_layers.xml" />
</chapter>
diff --git a/manual/xml/ardour_basics.xml b/manual/xml/ardour_basics.xml
index 7f80a88ba4..d936f317f5 100644
--- a/manual/xml/ardour_basics.xml
+++ b/manual/xml/ardour_basics.xml
@@ -1,39 +1,29 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<chapter id="ch-ardour-basics">
-
- <title>Ardour Basics</title>
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <title>Ardour Basics</title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="sessions.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="jack.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="main_windows.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_window.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mixer_window.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="tracks_and_busses.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="clocks.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="other_windows.xml" />
-
- <!--
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</chapter>
diff --git a/manual/xml/ardour_manual.xml b/manual/xml/ardour_manual.xml
index 820e0fe18b..abbed68e2d 100644
--- a/manual/xml/ardour_manual.xml
+++ b/manual/xml/ardour_manual.xml
@@ -1,4 +1,5 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!-- Entities -->
@@ -6,49 +7,50 @@
]>
<book id="bk-ardour-manual">
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="book_info.xml" />
- <!--
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="preface.xml" />
-->
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="introduction.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="ardour_basics.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="using_existing_audio.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="basic_editing.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="advanced_editing.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="exporting.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mixing.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="recording.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="synchronization.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="control_surfaces.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="known_issues.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="glossary.xml" />
-
+
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="contributing_to_the_manual.xml" />
</book>
diff --git a/manual/xml/automation.xml b/manual/xml/automation.xml
index 81f5370b25..0f19d0720e 100644
--- a/manual/xml/automation.xml
+++ b/manual/xml/automation.xml
@@ -5,208 +5,217 @@
]>
<section id="sn-automation">
- <title>Automation</title>
- <para>
- This chapter will explain how to use Ardour's automation facilities to make
- editing and mixing your sessions more productive.
- </para>
-
- <section id="what-is-automation">
- <title> What is automation? </title>
- <para>
- Automation refers to Ardour's ability to remember changes you made to
- various parameters in the session, and at what point along the timeline
- playback had reached when you made them. Later, Ardour can make these
- changes happen automatically at the same point on the timeline, thus
- leaving your hands free to do something else. A typical practice when using
- automation is to work on one or two tracks while leaving others alone,
- recording the edits/changes. Once satisfied with the track(s), you can move
- on to adjust other tracks. As the overall mix changes, you can return to
- earlier tracks and adjust their existing automation.
- </para>
- </section>
-
- <section id="what-can-be-automated">
- <title> What can be automated? </title>
- <para>
- You can automate all changes to track/bus gain control, panning (currently
- only for stereo output) and all plugin parameters. Future versions of
- Ardour will allow automation of mute/solo controls, non-stereo panning, and
- send gain levels.
- </para>
- </section>
-
- <section id="automation-modes">
- <title> Automation Modes </title>
- <para>
- Each parameter that can be automated has a button available to control its
- state of automation. Each button can be used to put the parameter into one
- of 4 possible automation states:
- </para>
-
- <variablelist>
- <title></title>
- <varlistentry>
- <term>Off</term>
- <listitem>
- <para>
- No changes to the parameter are recorded, and any existing automation
- for the parameter is ignored. This is the default.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Play</term>
- <listitem>
- <para>
- Existing automation data controls the value of the parameter, and
- graphical/hardware editing of the value is disabled.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Write</term>
- <listitem>
- <para>
- All changes to the parameter are recorded as new automation data,
- overwriting any existing data for that point in time.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Touch</term>
- <listitem>
- <para>
- Existing automation data controls the value of the parameter, but new
- changes to the parameter are recorded, overwriting any existing data for
- that point in time.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
-
- <section id="basic-automation-recording">
- <title> Basic Automation Recording </title>
- <section id="automation-recording-gain-and-pan">
- <title> Gain and Pan </title>
- <para>
- Each track/bus has two automation control buttons for gain and pan in its
- mixer strip. For each track/bus that you wish to automate, click on the
- relevant automation button. From the popup menu that appears (showing all
- automation states) choose <guibutton>Record</guibutton> . As long as the
- automation state remains in "Record", then any changes you make to gain or
- pan for that track/bus will be recorded.
- </para>
- </section>
-
- <section id="automation-recording-plugin-parameters">
- <title> Plugin Parameters </title>
- <para>
- Many plugins have many parameters that you might wish to play while
- recording gain automation, so Ardour offers independent control of
- recording changes to these parameters. You can access the controls in
- either of two ways:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- open the plugin's editor window, and click on the appropriate automation
- control button. From the menu that pops up, choose
- <guibutton>Record</guibutton>
- </para>
- </listitem>
- <listitem>
- <para>
- make the automation track for this parameter visible (see
- plugin_automation_tracks on how to do this), and click on the automation
- control button in the track controls. From the menu that pops up, choose
- <guibutton>Record</guibutton> .
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- To record edits to the parameter, click on the appropriate
- <guibutton>arec</guibutton> button. As long as the button stays pressed,
- all edits to that parameter will be recorded.
- </para>
- </section>
- </section>
-
- <section id="basic-automation-playback">
- <title> Basic Automation Playback </title>
- <section id="automation-playback-gain-and-pan">
- <title> Gain and Pan </title>
- <para>
- Each track/bus has two automation control buttons for gain and pan in its
- mixer strip. For each track/bus where you want existing automation data to
- control gain and/or panning, click on the relevant automation button. From
- the popup menu that appears (showing all automation states) choose
- <guimenuitem>Play</guimenuitem>. As long as the automation state remains in
- <guimenuitem>Play</guimenuitem>, you can no longer control the gain and/or panning from the
- graphical user interface or an external hardware control surface.
- </para>
- </section>
-
- <section id="automation-playback-plugin-parameters">
- <title> Plugin Parameters </title>
- <para>
- For each plugin parameter you want controlled by automation data, you need
- to activate automation playback which can be done in one of two ways:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- open the plugin's editor window, and click on the appropriate automation
- control button, and choose <guimenuitem>Play</guimenuitem> from the menu
- that pops up.
- </para>
- </listitem>
- <listitem>
- <para>
- make the automation track for this parameter visible (see
- plugin_automation_tracks on how to do this), and click on the automation
- control button in the track controls. Choose <guimenuitem>Play</guimenuitem>
- from the menu that pops up.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- You also need to enable automation playback for the plugin itself. This
- needs to be done in the plugin's editor window by clicking on the
- automation button in the upper right corner. Without this step, the
- individual parameter buttons will not enable automation playback.
- </para>
-
- <para>
- The plugin automation button also allows you to globally disable
- automation control of all parameters by unsetting it (clicking it so that
- it is no longer "pressed"). This leaves the individual automation control
- buttons in whatever state they were already in, but it stops the use of
- automation data for all parameters. This can be useful if you have a
- hardware control surface, and have automation-playback-enabled several
- parameters. You can override the automation playback settings and manually
- control parameter values from the control surface without having to click
- on each parameter's automation control button individually.
- </para>
- </section>
- </section>
-
- <section id="editing-automation-data">
- <title> Editing Automation Data </title>
- <para>
- The editor window can display all automation data for a track. Each type of
- automation data is shown in its own "track" to make it easy to see the
- data, and to edit it.
- </para>
- </section>
+ <title>Automation</title>
+ <para>
+ This chapter will explain how to use Ardour's automation facilities to
+ make editing and mixing your sessions more productive.
+ </para>
+
+ <section id="what-is-automation">
+ <title> What is automation? </title>
+ <para>
+ Automation refers to Ardour's ability to remember changes you made to
+ various parameters in the session, and at what point along the
+ timeline playback had reached when you made them. Later, Ardour can
+ make these changes happen automatically at the same point on the
+ timeline, thus leaving your hands free to do something else. A typical
+ practice when using automation is to work on one or two tracks while
+ leaving others alone, recording the edits/changes. Once satisfied with
+ the track(s), you can move on to adjust other tracks. As the overall
+ mix changes, you can return to earlier tracks and adjust their
+ existing automation.
+ </para>
+ </section>
+
+ <section id="what-can-be-automated">
+ <title> What can be automated? </title>
+ <para>
+ You can automate all changes to track/bus gain control, panning
+ (currently only for stereo output) and all plugin parameters. Future
+ versions of Ardour will allow automation of mute/solo controls,
+ non-stereo panning, and send gain levels.
+ </para>
+ </section>
+
+ <section id="automation-modes">
+ <title> Automation Modes </title>
+ <para>
+ Each parameter that can be automated has a button available to control
+ its state of automation. Each button can be used to put the parameter
+ into one of 4 possible automation states:
+ </para>
+
+ <variablelist>
+ <title></title>
+ <varlistentry>
+ <term>Off</term>
+ <listitem>
+ <para>
+ No changes to the parameter are recorded, and any existing
+ automation for the parameter is ignored. This is the default.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Play</term>
+ <listitem>
+ <para>
+ Existing automation data controls the value of the parameter,
+ and graphical/hardware editing of the value is disabled.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Write</term>
+ <listitem>
+ <para>
+ All changes to the parameter are recorded as new automation
+ data, overwriting any existing data for that point in time.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Touch</term>
+ <listitem>
+ <para>
+ Existing automation data controls the value of the parameter,
+ but new changes to the parameter are recorded, overwriting any
+ existing data for that point in time.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+ <section id="basic-automation-recording">
+ <title> Basic Automation Recording </title>
+ <section id="automation-recording-gain-and-pan">
+ <title> Gain and Pan </title>
+ <para>
+ Each track/bus has two automation control buttons for gain and pan
+ in its mixer strip. For each track/bus that you wish to automate,
+ click on the relevant automation button. From the popup menu that
+ appears (showing all automation states) choose
+ <guibutton>Record</guibutton> . As long as the automation state
+ remains in "Record", then any changes you make to gain or pan for
+ that track/bus will be recorded.
+ </para>
+ </section>
+
+ <section id="automation-recording-plugin-parameters">
+ <title> Plugin Parameters </title>
+ <para>
+ Many plugins have many parameters that you might wish to play while
+ recording gain automation, so Ardour offers independent control of
+ recording changes to these parameters. You can access the controls
+ in either of two ways:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ open the plugin's editor window, and click on the appropriate
+ automation control button. From the menu that pops up, choose
+ <guibutton>Record</guibutton>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ make the automation track for this parameter visible (see
+ plugin_automation_tracks on how to do this), and click on the
+ automation control button in the track controls. From the menu
+ that pops up, choose <guibutton>Record</guibutton> .
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ To record edits to the parameter, click on the appropriate
+ <guibutton>arec</guibutton> button. As long as the button stays
+ pressed, all edits to that parameter will be recorded.
+ </para>
+ </section>
+ </section>
+
+ <section id="basic-automation-playback">
+ <title> Basic Automation Playback </title>
+ <section id="automation-playback-gain-and-pan">
+ <title> Gain and Pan </title>
+ <para>
+ Each track/bus has two automation control buttons for gain and pan
+ in its mixer strip. For each track/bus where you want existing
+ automation data to control gain and/or panning, click on the
+ relevant automation button. From the popup menu that appears
+ (showing all automation states) choose
+ <guimenuitem>Play</guimenuitem>. As long as the automation state
+ remains in <guimenuitem>Play</guimenuitem>, you can no longer
+ control the gain and/or panning from the graphical user interface or
+ an external hardware control surface.
+ </para>
+ </section>
+
+ <section id="automation-playback-plugin-parameters">
+ <title> Plugin Parameters </title>
+ <para>
+ For each plugin parameter you want controlled by automation data,
+ you need to activate automation playback which can be done in one of
+ two ways:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ open the plugin's editor window, and click on the appropriate
+ automation control button, and choose
+ <guimenuitem>Play</guimenuitem> from the menu that pops up.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ make the automation track for this parameter visible (see
+ plugin_automation_tracks on how to do this), and click on the
+ automation control button in the track controls. Choose
+ <guimenuitem>Play</guimenuitem> from the menu that pops up.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ You also need to enable automation playback for the plugin itself.
+ This needs to be done in the plugin's editor window by clicking on
+ the automation button in the upper right corner. Without this step,
+ the individual parameter buttons will not enable automation
+ playback.
+ </para>
+
+ <para>
+ The plugin automation button also allows you to globally disable
+ automation control of all parameters by unsetting it (clicking it so
+ that it is no longer "pressed"). This leaves the individual
+ automation control buttons in whatever state they were already in,
+ but it stops the use of automation data for all parameters. This can
+ be useful if you have a hardware control surface, and have
+ automation-playback-enabled several parameters. You can override the
+ automation playback settings and manually control parameter values
+ from the control surface without having to click on each parameter's
+ automation control button individually.
+ </para>
+ </section>
+ </section>
+
+ <section id="editing-automation-data">
+ <title> Editing Automation Data </title>
+ <para>
+ The editor window can display all automation data for a track. Each
+ type of automation data is shown in its own "track" to make it easy to
+ see the data, and to edit it.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/basic_editing.xml b/manual/xml/basic_editing.xml
index c1cfa64207..4f19157b61 100644
--- a/manual/xml/basic_editing.xml
+++ b/manual/xml/basic_editing.xml
@@ -5,28 +5,24 @@
]>
<chapter id="ch-basic-editing">
- <title>Basic Editing</title>
- <para>
- Once you have recorded or imported the material that will make up a
- session/piece/composition, it will generally become time to
- <emphasis>edit</emphasis> it. You can add/remove material at any time,
- and/or modify the mix if you desire. But editing tends to be a distinct
- focus during the "middle" part of working on an arrangement, and has its own
- particular set of tools and approaches. This section of the manual covers
- the editing tools you will probably use all the time; see <xref linkend="ch-advanced-editing"/>
- for coverage of more specialized tools and techniques.
- </para>
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <title>Basic Editing</title>
+ <para>
+ Once you have recorded or imported the material that will make up a
+ session/piece/composition, it will generally become time to
+ <emphasis>edit</emphasis> it. You can add/remove material at any time,
+ and/or modify the mix if you desire. But editing tends to be a distinct
+ focus during the "middle" part of working on an arrangement, and has its
+ own particular set of tools and approaches. This section of the manual
+ covers the editing tools you will probably use all the time; see
+ <xref linkend="ch-advanced-editing"/> for coverage of more specialized
+ tools and techniques.
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editing_concepts.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="working_with_playlists.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="working_with_ranges.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="working_with_regions.xml" />
-
</chapter>
diff --git a/manual/xml/basic_recording.xml b/manual/xml/basic_recording.xml
index 352f2b024b..ba40c96ebc 100644
--- a/manual/xml/basic_recording.xml
+++ b/manual/xml/basic_recording.xml
@@ -7,260 +7,265 @@
<!-- XXX This needs a fair amount of work-->
<section id="sn-basic-recording">
- <title>Basic Recording</title>
- <para>
- Recording audio is theoretically a very simple process. You have to make
- essentially 2 decisions: what are you going to record, and how many channels
- will you be recording, then press a couple of buttons and you're recording.
- </para>
+ <title>Basic Recording</title>
+ <para>
+ Recording audio is theoretically a very simple process. You have to make
+ essentially 2 decisions: what are you going to record, and how many
+ channels will you be recording, then press a couple of buttons and
+ you're recording.
+ </para>
- <para>
- Unfortunately, most recording also requires monitoring&mdash;providing some
- way to hear what you are recording as you record it, possibly with existing
- recorded material as well. Monitoring in Ardour is very flexible, but with
- flexibility comes complexity. If you want to try to skip ahead and record
- without reading about monitoring, you are welcome to do so. Ardour attempts
- to use reasonable defaults for monitoring, but the variety of hardware
- setups make it impossible to pick one default that will work for everyone.
- </para>
+ <para>
+ Unfortunately, most recording also requires monitoring&mdash;providing
+ some way to hear what you are recording as you record it, possibly with
+ existing recorded material as well. Monitoring in Ardour is very
+ flexible, but with flexibility comes complexity. If you want to try to
+ skip ahead and record without reading about monitoring, you are welcome
+ to do so. Ardour attempts to use reasonable defaults for monitoring, but
+ the variety of hardware setups make it impossible to pick one default
+ that will work for everyone.
+ </para>
- <para>
- For this reason, you are strongly recommended to spend a few minutes
- understanding <xref linkend="sn-monitoring"/>, because otherwise you're
- going to get very confused and possibly irritated.
- </para>
+ <para>
+ For this reason, you are strongly recommended to spend a few minutes
+ understanding <xref linkend="sn-monitoring"/>, because otherwise you're
+ going to get very confused and possibly irritated.
+ </para>
- <section id="recording-a-single-track">
- <title>Recording a single audio track</title>
- <para>
- These steps can all be taken directly within the Editor window, although
- most of them can also be done via Mixer window if you prefer.
- </para>
- </section>
+ <section id="recording-a-single-track">
+ <title>Recording a single audio track</title>
+ <para>
+ These steps can all be taken directly within the Editor window,
+ although most of them can also be done via Mixer window if you prefer.
+ </para>
+ </section>
- <section id="setting-up-a-new-track-for-recording">
- <title>Setting up a new track for recording</title>
- <orderedlist>
- <listitem>
- <para>
- Choose <menuchoice> <guimenu>Session</guimenu> <guisubmenu>Add
- Track/Bus</guisubmenu> </menuchoice>. This will popup a dialog allowing
- you to choose how many tracks to add, and what basic I/O configuration
- the track will have (mono, stereo, etc.). You can change I/O
- configurations for tracks at any time.
- </para>
- </listitem>
- <listitem>
- <para>
- Make the editor's dedicated mixer strip visible by clicking on the
- <guibutton>Editor Mixer</guibutton> button located at the left end of the
- transport bar.
- <note>
- <para>
- In Ardour2, there is no <guibutton>Editor Mixer</guibutton> button, but
- you can make the mixer strip visible by selecting <menuchoice>
- <guimenu>View</guimenu> <guisubmenu>Show Editor Mixer</guisubmenu>
- </menuchoice>, or by pressing
- <keycombo><keycap>Shift</keycap><keycap>E</keycap></keycombo> on the
- keyboard.
- </para>
- </note>
- </para>
- </listitem>
- </orderedlist>
- <section id="selecting-record-source">
- <title>Selecting the source to record</title>
- <orderedlist>
- <listitem>
- <para>
- Check the input configuration for the new track. Click on its control
- area. A mixer strip appears in the editor for this track. Click on the
- <guibutton>Input</guibutton> button near the top of the strip, and
- select <guimenuitem>Edit</guimenuitem> from the menu. The standard I/O
- dialog pops up to let you connect the track to whichever JACK port you
- want to record from.
- </para>
- </listitem>
- <listitem>
- <para>
- Rename the track. This is an important step in helping you make sense of
- your session, because track names are used when naming newly created
- regions.
- </para>
- </listitem>
- <listitem>
- <para>
- Click on the track's record-enable button to record enable the track.
- You can use the <guibutton>r</guibutton> button in the track control
- area or the <guibutton>record</guibutton> button of the mixer strip. The
- button will turn pink.
- </para>
- </listitem>
- <listitem>
- <para>
- Adjust the output level of the sound source to the a level where the
- loudest input drives the meter in the mixer strip close to, but not
- over, 0dB. The mixer strip will show the incoming signal level, along
- with peak indicators
- </para>
- </listitem>
- <listitem>
- <para>
- If you are using software monitoring, adjust the output volume and
- possibly panning if desired. These settings do not affect the recorded
- material.
- </para>
- </listitem>
- </orderedlist>
- <para>
- Check the output configuration for the new track. Click on the
- <guibutton>Output</guibutton> button near the bottom of the strip, and
- select <guimenuitem>Edit</guimenuitem> from the menu. Make sure the
- track's output is connected as you intend.
- </para>
+ <section id="setting-up-a-new-track-for-recording">
+ <title>Setting up a new track for recording</title>
+ <orderedlist>
+ <listitem>
+ <para>
+ Choose <menuchoice> <guimenu>Session</guimenu> <guisubmenu>Add
+ Track/Bus</guisubmenu> </menuchoice>. This will popup a dialog
+ allowing you to choose how many tracks to add, and what basic I/O
+ configuration the track will have (mono, stereo, etc.). You can
+ change I/O configurations for tracks at any time.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Make the editor's dedicated mixer strip visible by clicking on the
+ <guibutton>Editor Mixer</guibutton> button located at the left end
+ of the transport bar.
+ <note>
+ <para>
+ In Ardour2, there is no <guibutton>Editor Mixer</guibutton>
+ button, but you can make the mixer strip visible by selecting
+ <menuchoice> <guimenu>View</guimenu> <guisubmenu>Show Editor
+ Mixer</guisubmenu> </menuchoice>, or by pressing
+ <keycombo><keycap>Shift</keycap><keycap>E</keycap></keycombo>
+ on the keyboard.
+ </para>
+ </note>
+ </para>
+ </listitem>
+ </orderedlist>
+ <section id="selecting-record-source">
+ <title>Selecting the source to record</title>
+ <orderedlist>
+ <listitem>
+ <para>
+ Check the input configuration for the new track. Click on its
+ control area. A mixer strip appears in the editor for this
+ track. Click on the <guibutton>Input</guibutton> button near the
+ top of the strip, and select <guimenuitem>Edit</guimenuitem>
+ from the menu. The standard I/O dialog pops up to let you
+ connect the track to whichever JACK port you want to record
+ from.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Rename the track. This is an important step in helping you make
+ sense of your session, because track names are used when naming
+ newly created regions.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Click on the track's record-enable button to record enable the
+ track. You can use the <guibutton>r</guibutton> button in the
+ track control area or the <guibutton>record</guibutton> button
+ of the mixer strip. The button will turn pink.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Adjust the output level of the sound source to the a level where
+ the loudest input drives the meter in the mixer strip close to,
+ but not over, 0dB. The mixer strip will show the incoming signal
+ level, along with peak indicators
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If you are using software monitoring, adjust the output volume
+ and possibly panning if desired. These settings do not affect
+ the recorded material.
+ </para>
+ </listitem>
+ </orderedlist>
+ <para>
+ Check the output configuration for the new track. Click on the
+ <guibutton>Output</guibutton> button near the bottom of the strip,
+ and select <guimenuitem>Edit</guimenuitem> from the menu. Make sure
+ the track's output is connected as you intend.
+ </para>
- <note>
- <para>
- by default (and when not using a session template that works otherwise)
- mono tracks have mono outputs, meaning that you cannot pan them.
- </para>
- </note>
- </section>
- </section>
+ <note>
+ <para>
+ by default (and when not using a session template that works
+ otherwise) mono tracks have mono outputs, meaning that you cannot
+ pan them.
+ </para>
+ </note>
+ </section>
+ </section>
- <section id="to-record-to-the-new-audio-track">
- <title>To record to the new audio track</title>
- <orderedlist>
- <listitem>
- <para>
- If necessary, setup the session's default meter and tempo by on the
- initial meter and tempo markers.
- </para>
- </listitem>
- <listitem>
- <para>
- If desired, enable the click track in the transport bar.
- </para>
- </listitem>
- <listitem>
- <para>
- Click on the <guimenuitem>Record</guimenuitem> button of the transport
- window, which will start to flash.
- </para>
- </listitem>
- <listitem>
- <para>
- When you are ready to record, click the <guibutton>Play</guibutton>
- button in the transport window.
- </para>
- </listitem>
- <listitem>
- <para>
- When you have finished recording, click the <guibutton>Stop</guibutton>
- button in the transport window.
- </para>
- </listitem>
- <listitem>
- <para>
- If desired, click the track's record-enable button to disengage
- record-enable for this track.
- </para>
- </listitem>
- </orderedlist>
- <para>
- The audio you recorded will be written to a new audio file stored on one of
- your disks. In the editor, a new region will appear in the track display
- area and also in the region list display.
- </para>
- </section>
+ <section id="to-record-to-the-new-audio-track">
+ <title>To record to the new audio track</title>
+ <orderedlist>
+ <listitem>
+ <para>
+ If necessary, setup the session's default meter and tempo by on
+ the initial meter and tempo markers.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If desired, enable the click track in the transport bar.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Click on the <guimenuitem>Record</guimenuitem> button of the
+ transport window, which will start to flash.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ When you are ready to record, click the
+ <guibutton>Play</guibutton> button in the transport window.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ When you have finished recording, click the
+ <guibutton>Stop</guibutton> button in the transport window.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ If desired, click the track's record-enable button to disengage
+ record-enable for this track.
+ </para>
+ </listitem>
+ </orderedlist>
+ <para>
+ The audio you recorded will be written to a new audio file stored on
+ one of your disks. In the editor, a new region will appear in the
+ track display area and also in the region list display.
+ </para>
+ </section>
- <section id="to-playback-the-new-audio-track">
- <title>To play back the new audio track</title>
- <orderedlist>
- <listitem>
- <para>
- Press the <keycap>Home</keycap> key (or
- <keycombo><keycap>Ctrl</keycap><keycap>A</keycap></keycombo>) to return
- the playhead to the start of the track
- </para>
- </listitem>
- <listitem>
- <para>
- In the transport bar click on the <guibutton>Play</guibutton> button, or
- press the <keycap>spacebar</keycap>.
- </para>
- </listitem>
- <listitem>
- <para>
- Adjust the track's volume as necessary, using either the mixer strip in
- the editor, or the corresponding strip in the mixer window.
- </para>
- </listitem>
- </orderedlist>
- </section>
+ <section id="to-playback-the-new-audio-track">
+ <title>To play back the new audio track</title>
+ <orderedlist>
+ <listitem>
+ <para>
+ Press the <keycap>Home</keycap> key (or
+ <keycombo><keycap>Ctrl</keycap><keycap>A</keycap></keycombo>) to
+ return the playhead to the start of the track
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ In the transport bar click on the <guibutton>Play</guibutton>
+ button, or press the <keycap>spacebar</keycap>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Adjust the track's volume as necessary, using either the mixer
+ strip in the editor, or the corresponding strip in the mixer
+ window.
+ </para>
+ </listitem>
+ </orderedlist>
+ </section>
- <section id="cancelling-a-take">
- <title>Cancelling a take</title>
- <para></para>
- </section>
+ <section id="cancelling-a-take">
+ <title>Cancelling a take</title>
+ <para></para>
+ </section>
- <section id="recording-multiple-tracks">
- <title>Recording multiple tracks</title>
- <para>
- Multiple tracks can easily be recorded simultaneously by record-enabling
- each track you would like to record.
- </para>
- </section>
+ <section id="recording-multiple-tracks">
+ <title>Recording multiple tracks</title>
+ <para>
+ Multiple tracks can easily be recorded simultaneously by
+ record-enabling each track you would like to record.
+ </para>
+ </section>
- <section id="recording-additional-takes">
- <title>Recording additional takes</title>
- <para></para>
- </section>
+ <section id="recording-additional-takes">
+ <title>Recording additional takes</title>
+ <para></para>
+ </section>
- <section id="appending-new-material">
- <title>Appending new material</title>
- <para></para>
- </section>
+ <section id="appending-new-material">
+ <title>Appending new material</title>
+ <para></para>
+ </section>
- <section id="recording-into-a-new-playlist">
- <title>Recording into a new playlist</title>
- <para>
- There is a <guibutton>p</guibutton> button in the track controls. If you
- press it and select <guimenuitem>new playlist</guimenuitem>, the contents
- will be cleared, allowing you to construct a new arrangement of recordings.
- You can recall your playlist later by using the same button and selecting
- <guimenuitem>select...</guimenuitem>. This will open a window displaying
- all the playlists you have recorded on that track. Select the one you want
- and proceed. Playlists from other tracks can also be selected.. in fact you
- can have the same playlist on two different tracks if you feel it
- necessary.
- </para>
- </section>
+ <section id="recording-into-a-new-playlist">
+ <title>Recording into a new playlist</title>
+ <para>
+ There is a <guibutton>p</guibutton> button in the track controls. If
+ you press it and select <guimenuitem>new playlist</guimenuitem>, the
+ contents will be cleared, allowing you to construct a new arrangement
+ of recordings. You can recall your playlist later by using the same
+ button and selecting <guimenuitem>select...</guimenuitem>. This will
+ open a window displaying all the playlists you have recorded on that
+ track. Select the one you want and proceed. Playlists from other
+ tracks can also be selected.. in fact you can have the same playlist
+ on two different tracks if you feel it necessary.
+ </para>
+ </section>
- <section id="punch-recording">
- <title>Punch Recording</title>
- <para>
- You can automate the portion of a track to be recorded using the punch
- functions. This is most often implemented when a portion of a particular
- take is problematic but an adjacent portion is good. In order to punch
- record, the punch range must be set.
- </para>
- </section>
+ <section id="punch-recording">
+ <title>Punch Recording</title>
+ <para>
+ You can automate the portion of a track to be recorded using the punch
+ functions. This is most often implemented when a portion of a
+ particular take is problematic but an adjacent portion is good. In
+ order to punch record, the punch range must be set.
+ </para>
+ </section>
- <section id="loop-recording">
- <title>Loop Recording</title>
- <para></para>
- </section>
+ <section id="loop-recording">
+ <title>Loop Recording</title>
+ <para></para>
+ </section>
- <section id="setting-punch-loop-points">
- <title>Setting Punch/Loop Points</title>
- <para></para>
- </section>
+ <section id="setting-punch-loop-points">
+ <title>Setting Punch/Loop Points</title>
+ <para></para>
+ </section>
- <section id="using-pre-and-post-roll">
- <title>Using Pre- and Post-Roll</title>
- <para></para>
- </section>
+ <section id="using-pre-and-post-roll">
+ <title>Using Pre- and Post-Roll</title>
+ <para></para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/bcf2000.xml b/manual/xml/bcf2000.xml
index 7933aac448..64c1b2f246 100644
--- a/manual/xml/bcf2000.xml
+++ b/manual/xml/bcf2000.xml
@@ -5,30 +5,32 @@
]>
<section id="sn-bcf2000">
- <title>Using a BCF2000</title>
- <para>
- This will walk you through the process of configuring and using a
- <ulink url="http://www.behringer.com/BCF2000/index.cfm">Behringer BCF2000
- MIDI control surface</ulink> , or BCF, with Ardour. This should also work
- with the
- <ulink url="http://www.behringer.com/BCR2000/index.cfm">BCR2000</ulink>, but
- has not been tested.
- </para>
-
- <section id="bcf2000-connecting-device">
- <title>Connecting Device</title>
- <para>
- It's assumed that your USB ports are functional under Linux. The easiest
- way to tell if you've got a functional link is to simply connect the
- BCF2000 to your computer with a USB cable, connect the power, and turn it
- on. You should see the USB MODE light come on in the upper right corner of
- the BCF. If that's not on, you'll need to figure out how to make your
- <ulink url="http://www.linux-usb.org/">USB port work under Linux.</ulink>
- </para>
-
- <para>
- If the USB MODE light is on, doublecheck that Linux knows of the device.
- </para>
+ <title>Using a BCF2000</title>
+ <para>
+ This will walk you through the process of configuring and using a
+ <ulink url="http://www.behringer.com/BCF2000/index.cfm">Behringer
+ BCF2000 MIDI control surface</ulink> , or BCF, with Ardour. This should
+ also work with the
+ <ulink url="http://www.behringer.com/BCR2000/index.cfm">BCR2000</ulink>,
+ but has not been tested.
+ </para>
+
+ <section id="bcf2000-connecting-device">
+ <title>Connecting Device</title>
+ <para>
+ It's assumed that your USB ports are functional under Linux. The
+ easiest way to tell if you've got a functional link is to simply
+ connect the BCF2000 to your computer with a USB cable, connect the
+ power, and turn it on. You should see the USB MODE light come on in
+ the upper right corner of the BCF. If that's not on, you'll need to
+ figure out how to make your <ulink url="http://www.linux-usb.org/">USB
+ port work under Linux.</ulink>
+ </para>
+
+ <para>
+ If the USB MODE light is on, doublecheck that Linux knows of the
+ device.
+ </para>
<screen>
xtc:~% aconnect -o
client 64: 'M Audio Delta 1010 MIDI - Rawmidi 0' [type=kernel]
@@ -36,36 +38,37 @@ client 64: 'M Audio Delta 1010 MIDI - Rawmidi 0' [type=kernel]
client 72: 'BCF2000 - Rawmidi 1' [type=kernel]
0 'BCF2000 MIDI 1 '
</screen>
- </section>
-
- <section id="updating-firmware">
- <title> Firmware Updating (v1.07) </title>
- <para>
- The first thing you're likely to have to do is update the firmware in the
- unit. This is a relatively painless process.
- </para>
- <orderedlist>
- <listitem>
- <para>
- Download the firmware from Behringers
- <ulink url="http://www.behringer.com/05_support/bc_download/bc_downloads.cfm">downloads
- page</ulink>. There will be a
- <ulink url="http://www.behringer.com/BCF2000/bcf2000_107.zip">zip
- file</ulink> available which should be downloaded. (This example uses
- version 1.07 of the firmware, the latest available at the time of this
- writing. There may be a newer version available now.)
- </para>
- </listitem>
- <listitem>
- <para>
- Unzip the file you downloaded. You'll typically extract 2 files, a PDF
- file with release notes and an SYX file, which is the firmware update.
- </para>
- </listitem>
- <listitem>
- <para>
- Find the system device of the BCF
- </para>
+ </section>
+
+ <section id="updating-firmware">
+ <title> Firmware Updating (v1.07) </title>
+ <para>
+ The first thing you're likely to have to do is update the firmware in
+ the unit. This is a relatively painless process.
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Download the firmware from Behringers
+ <ulink url="http://www.behringer.com/05_support/bc_download/bc_downloads.cfm">downloads
+ page</ulink>. There will be a
+ <ulink url="http://www.behringer.com/BCF2000/bcf2000_107.zip">zip
+ file</ulink> available which should be downloaded. (This example
+ uses version 1.07 of the firmware, the latest available at the
+ time of this writing. There may be a newer version available now.)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Unzip the file you downloaded. You'll typically extract 2 files, a
+ PDF file with release notes and an SYX file, which is the firmware
+ update.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Find the system device of the BCF
+ </para>
<screen>
xtc:~% cat /proc/asound/cards
0 [M1010 ]: ICE1712 - M Audio Delta 1010
@@ -73,112 +76,113 @@ xtc:~% cat /proc/asound/cards
2 [BCF2000 ]: USB-Audio - BCF2000
BEHRINGER BCF2000 at usb-00:1d.1-2, full speed
</screen>
- </listitem>
- </orderedlist>
- <para>
- In this case there are 2 devices. The number at the left indicates the card
- number. The BCF is almost certain, then, to use the device
- <filename>/dev/snd/midiCnD0</filename> where <emphasis>n</emphasis> is the
- card number, in this case, 2.
- </para>
-
- <para>
- Write the firmware to the BCF with the command
- </para>
+ </listitem>
+ </orderedlist>
+ <para>
+ In this case there are 2 devices. The number at the left indicates the
+ card number. The BCF is almost certain, then, to use the device
+ <filename>/dev/snd/midiCnD0</filename> where <emphasis>n</emphasis> is
+ the card number, in this case, 2.
+ </para>
+
+ <para>
+ Write the firmware to the BCF with the command
+ </para>
<screen>
cat bcf2000_1-07.syx > /dev/snd/midiC2D0
</screen>
- <caution>
- <para>
- Make sure you use the actual device you determined in the previous step
- </para>
- </caution>
-
- <para>
- The BCF display will show a whirling figure-8 animation and count up to 18.
- Once the whirling stops, you should turn off the BCF, count to 5, then turn
- it on again. You should then see the version number of the upgraded
- firmware displayed for a few seconds as the BCF starts.
- </para>
- </section>
-
- <section id="bcf2000-connecting-to-ardour">
- <title> Connecting to Ardour </title>
- <para>
- After starting Ardour, it's important to connect the MIDI device ports of
- Ardour and the BCF together so that they will communicate with each other.
- There are a few ways to do this.
- </para>
-
- <section id="bcf2000-connecting-with-qjackctl">
- <title> With qjackctl </title>
- <para>
- If you use the program <application>qjackctl</application> to control
- JACK, there's an easy way to connect Ardour to the BCF. Run qjackctl, and
- click on the <guibutton>Connect</guibutton> button in the main qjackctl
- window. This will bring up the Connection window. You should see at least
- 2 items listed, the BCF and Ardour:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/con1.jpg"/>
- </imageobject>
- </mediaobject>
- <para>
- Connect the BCF output to the Ardour input, and vice versa:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/con2.jpg"/>
- </imageobject>
- </mediaobject>
- <section id="bcf2000-automating-qjackctl-connection">
- <title> Automating the qjackctl connection </title>
- <para>
- You can set qjackctl to automatically make the MIDI connections (and
- others) by using the Patchbay feature in qjackctl. Start qjackctl and
- Ardour, and make the MIDI connections as shown above. Click on the
- <guibutton>Patchbay</guibutton> button, then click on
- <guibutton>New</guibutton>. Qjackctl will ask if you want to create a
- patchbay definition as a snapshot of all actual client connections.
- Clicking on <guibutton>Yes</guibutton> will bring in a set of all ports
- available.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/qjpatch.jpg"/>
- </imageobject>
- </mediaobject>
- <para>
- Make sure you've got both connections as described above, and click
- <guibutton>Save...</guibutton> and choose a filename. Once this is saved,
- you can close the patchbay.
- </para>
-
- <para>
- Next, click on the qjackctl <guibutton>Setup</guibutton> button, then
- click on the <guibutton>Options</guibutton> tab.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/qjopts.jpg"/>
- </imageobject>
- </mediaobject>
- <para>
- Click on <guibutton>Activate patchbay persistence</guibutton> and use the
- filename you used to save the patchbay above. The patchbay connections
- will now be made after qjackctl starts up the clients.
- </para>
- </section>
- </section>
-
- <section id="bcf2000-connecting-from-command-line">
- <title> From the command line </title>
- <para>
- The command <command>aconnect</command>, which is the ALSA sequencer
- connection manager, can do the job of connecting the BCF to Ardour. First
- find the numbers of the MIDI device ports for the two:
- </para>
+ <important>
+ <para>
+ Make sure you use the actual device you determined in the previous
+ step
+ </para>
+ </important>
+
+ <para>
+ The BCF display will show a whirling figure-8 animation and count up
+ to 18. Once the whirling stops, you should turn off the BCF, count to
+ 5, then turn it on again. You should then see the version number of
+ the upgraded firmware displayed for a few seconds as the BCF starts.
+ </para>
+ </section>
+
+ <section id="bcf2000-connecting-to-ardour">
+ <title> Connecting to Ardour </title>
+ <para>
+ After starting Ardour, it's important to connect the MIDI device ports
+ of Ardour and the BCF together so that they will communicate with each
+ other. There are a few ways to do this.
+ </para>
+
+ <section id="bcf2000-connecting-with-qjackctl">
+ <title> With qjackctl </title>
+ <para>
+ If you use the program <application>qjackctl</application> to
+ control JACK, there's an easy way to connect Ardour to the BCF. Run
+ qjackctl, and click on the <guibutton>Connect</guibutton> button in
+ the main qjackctl window. This will bring up the Connection window.
+ You should see at least 2 items listed, the BCF and Ardour:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/con1.jpg"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ Connect the BCF output to the Ardour input, and vice versa:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/con2.jpg"/>
+ </imageobject>
+ </mediaobject>
+ <section id="bcf2000-automating-qjackctl-connection">
+ <title> Automating the qjackctl connection </title>
+ <para>
+ You can set qjackctl to automatically make the MIDI connections
+ (and others) by using the Patchbay feature in qjackctl. Start
+ qjackctl and Ardour, and make the MIDI connections as shown above.
+ Click on the <guibutton>Patchbay</guibutton> button, then click on
+ <guibutton>New</guibutton>. Qjackctl will ask if you want to
+ create a patchbay definition as a snapshot of all actual client
+ connections. Clicking on <guibutton>Yes</guibutton> will bring in
+ a set of all ports available.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/qjpatch.jpg"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ Make sure you've got both connections as described above, and
+ click <guibutton>Save...</guibutton> and choose a filename. Once
+ this is saved, you can close the patchbay.
+ </para>
+
+ <para>
+ Next, click on the qjackctl <guibutton>Setup</guibutton> button,
+ then click on the <guibutton>Options</guibutton> tab.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/qjopts.jpg"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ Click on <guibutton>Activate patchbay persistence</guibutton> and
+ use the filename you used to save the patchbay above. The patchbay
+ connections will now be made after qjackctl starts up the clients.
+ </para>
+ </section>
+ </section>
+
+ <section id="bcf2000-connecting-from-command-line">
+ <title> From the command line </title>
+ <para>
+ The command <command>aconnect</command>, which is the ALSA sequencer
+ connection manager, can do the job of connecting the BCF to Ardour.
+ First find the numbers of the MIDI device ports for the two:
+ </para>
<screen>
xtc:~% aconnect -o
client 64: 'M Audio Delta 1010 MIDI - Rawmidi 0' [type=kernel]
@@ -188,25 +192,25 @@ client 80: 'BCF2000 - Rawmidi 2' [type=kernel]
client 129: 'ardour' [type=user]
0 'seq '
</screen>
- <para>
- Here, the BCF is 80, and Ardour is 129. The proper connections can be made
- between the two with two commands:
- </para>
+ <para>
+ Here, the BCF is 80, and Ardour is 129. The proper connections can
+ be made between the two with two commands:
+ </para>
<screen>
xtc:~% aconnect 80:0 129:0
xtc:~% aconnect 129:0 80:0
</screen>
- </section>
-
- <section id="bcf2000-automatic-midi-connection">
- <title> Automating the MIDI connection from the command line </title>
- <para>
- It's sometimes handy to start Ardour from the command line. I found it
- irritating to have Ardour come up, and then have to manually make the
- connections for the BCF. This was quickly solved by the following script,
- which starts Ardour, finds the proper MIDI device ports, and connects
- them:
- </para>
+ </section>
+
+ <section id="bcf2000-automatic-midi-connection">
+ <title> Automating the MIDI connection from the command line </title>
+ <para>
+ It's sometimes handy to start Ardour from the command line. I found
+ it irritating to have Ardour come up, and then have to manually make
+ the connections for the BCF. This was quickly solved by the
+ following script, which starts Ardour, finds the proper MIDI device
+ ports, and connects them:
+ </para>
<screen>
#!/bin/ksh
# /usr/local/bin/start_ardour.sh
@@ -226,334 +230,351 @@ ARD_ID=$(aconnect -o | grep ardour | awk '{print $2}')
aconnect "$BCF_ID"0 "$ARD_ID"0
aconnect "$ARD_ID"0 "$BCF_ID"0
</screen>
- <para>
- As an alternative to the patchbay in qjackctl, you could have it run this
- script to start Ardour and make the MIDI connections. Click the
- <guibutton>Setup</guibutton> button and choose the
- <guibutton>Options</guibutton> tab. Enable the <guibutton>Execute script
- after Startup</guibutton> option, and change the line to call the
- <filename>start_ardour.sh</filename> script. In this example, I change
- directories to the drive I record to so new sessions will open there by
- default before I run the script.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="qjopt.jpg"/>
- </imageobject>
- </mediaobject>
- </section>
- </section>
-
- <section id="bcf2000-programming">
- <title> Programming the BCF2000 for effective use </title>
- <para>
- One problem that I ran into with the BCF2000 was that none of the factory
- presets really did what I needed to control Ardour. I had a modest set of
- things I wanted to use the BCF to control for a track:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Volume
- </para>
- </listitem>
- <listitem>
- <para>
- Panning
- </para>
- </listitem>
- <listitem>
- <para>
- Mute, solo and rec-enable
- </para>
- </listitem>
- <listitem>
- <para>
- Transport (play, stop, ffwd, rewind)
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Preset 2 (P2), the Simple Mixer, was almost there, but I could not map the
- mute, solo and rec-enable controls in Ardour to a pushbutton on the BCF.
- This was because in P2, the buttons sent a Program Change signal, but
- Ardour expects a Control Change signal. This required re-programming the
- BCF a bit. Here's a list of the controls and what I mapped them to send:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Rotary knobs 1 through 8, when pressed: CC33 through CC40
- </para>
- </listitem>
- <listitem>
- <para>
- First row of buttons: CC65 through CC72
- </para>
- </listitem>
- <listitem>
- <para>
- second row of buttons: CC73 through CC80
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Here's a quick walkthrough to program the controls on the BCF. First we'll
- do the rotary knobs:
- </para>
- <orderedlist>
- <listitem>
- <para>
- Hold down the EDIT button and press the rotary control. The display will
- show b1.
- </para>
- </listitem>
- <listitem>
- <para>
- Turn the rotary control labeled "TYPE" until the display reads "CC".
- </para>
- </listitem>
- <listitem>
- <para>
- Turn the rotary control labeled "PAR" until the display reads "33".
- </para>
- </listitem>
- <listitem>
- <para>
- Turn the rotary control labeled "MODE" until the display reads "t on".
- </para>
- </listitem>
- <listitem>
- <para>
- Press the EXIT button.
- </para>
- </listitem>
- </orderedlist>
- <para>
- Continue to program the other rotary controls in the same way, incrementing
- the value set by the "PAR" control by 1 each time. This will set the CC
- parameter for the second knob to 34, the third knob to 35, and so on.
- </para>
-
- <para>
- The steps are the same for the two rows of pushbuttons under the rotary
- knobs. The CC values for the first row of buttons run from 65 to 72, and
- from 73 to 80 for the second row.
- </para>
-
- <para>
- Finally, you need to store these changes so that they'll be kept even when
- the BCF has its power cycled.
- <orderedlist>
- <listitem>
- <para>
- Press the STORE button. Its LED will start to flash.
- </para>
- </listitem>
- <listitem>
- <para>
- Select a different preset number if you wish with the left and right
- PRESET buttons.
- </para>
- </listitem>
- <listitem>
- <para>
- Press STORE again to write the settings to an empty preset. If you want
- to overwrite an existing preset, press STORE twice. You can cancel the
- store at any time by pressing EXIT.
- </para>
- </listitem>
- </orderedlist>
- </para>
-
- <para>
- Your BCF2000 is now ready to control Ardour!
- </para>
-
- <section id="bcf2000-preconfigured-preset-file">
- <title> Preconfigured Preset File </title>
- <para>
- Here is a <ulink url="http://zappa.brainiac.com/preset1.syx">saved preset
- file</ulink>, which has the definitions described above. You can use
- <command>amidi</command> to load this into the BCF as
- <xref linkend="bcf2000-loading-a-preset"/>.
- </para>
- </section>
- </section>
-
- <section id="bcf2000-mapping-ardour-controls">
- <title> Mapping Ardour controls to the BCF2000 </title>
- <para>
- The final step to control surface Nirvana is to map the controls in Ardour
- to the knobs, buttons and faders on the BCF.
- </para>
-
- <para>
- Before you can map things properly, you'll need to set the MIDI options
- within Ardour. In the Editor window of Ardour, choose <menuchoice>
- <guimenu>Windows</guimenu> <guisubmenu>Options Editor</guisubmenu>
- </menuchoice>. Make sure the seq device is online, and make sure
- <guibutton>MTC</guibutton>, <guibutton>MMC</guibutton> and <guibutton>MIDI
- Parameter Control</guibutton> is set for the seq device. Also make sure
- that the 4 boxes below are checked:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- <guibutton>MMC control</guibutton>
- </para>
- </listitem>
- <listitem>
- <para>
- <guibutton>MIDI parameter control</guibutton>
- </para>
- </listitem>
- <listitem>
- <para>
- <guibutton>Send MMC</guibutton>
- </para>
- </listitem>
- <listitem>
- <para>
- <guibutton>Send MIDI parameter feedback</guibutton>
- </para>
- </listitem>
- </itemizedlist>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/midiopts.jpg"/>
- </imageobject>
- </mediaobject>
- <para>
- Now you're ready to do the actual mapping. This is a pretty simple process,
- all controlled with a <keycombo><keycap>Ctrl</keycap>
- <mousebutton>Button2</mousebutton> </keycombo> click. This will pop up a
- little window which says <guilabel>operate MIDI controller now</guilabel>.
- Simply press the BCF button (or move the slider) that you want to have
- control the Ardour function.
- </para>
-
- <section id="bcf2000-example">
- <title>Example</title>
- <para>
- We want to map the Master fader in Ardour to the first slider on the BCF.
- Hold down the <keycap>Ctrl</keycap> key on your keyboard, and click with
- <mousebutton>Button2</mousebutton> on the Master fader in Ardour. You
- should see the <guilabel>operate MIDI controller now</guilabel>. Move the
- first slider on the BCF up or down a bit. The window should disappear, and
- you should see the master fader move up and down as you move the slider on
- the BCF. If that works, move the fader in Ardour with your mouse. You
- should see the slider on the BCF move up and down in tandem with the
- Master fader!
- </para>
-
- <para>
- If the "operate MIDI controller now" window does not go away, there is no
- connection between Ardour and the BCF. Make sure you've properly connected
- the two as outlined in the Connecting to Ardour section.
- </para>
- </section>
-
- <section id="bcf2000-transport-controls">
- <title> Transport Controls </title>
- <para>
- The 4 buttons in the lower right corner are already mapped in Preset 2 to
- the MMC transport controls Home (or rewind to the beginning of the
- session), Fast Forward, Stop and Play, as shown here.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/transctls.jpg"/>
- </imageobject>
- </mediaobject>
- </section>
- </section>
-
- <section id="bcf2000-saving-and-loading-presets">
- <title> Saving and Loading Presets </title>
- <para>
- After beating my head against a wall trying to get various programs that
- handle SysEx messages to do what I wanted, I realized that once again, the
- simplest way for me to do this the first time through is from the command
- line. <glossterm linkend="gt-alsa">ALSA</glossterm> provides the perfect
- tool for saving and loading files: <command>amidi</command>
- </para>
-
- <para>
- First, use <command>amidi</command> to list the available ports:
- </para>
+ <para>
+ As an alternative to the patchbay in qjackctl, you could have it run
+ this script to start Ardour and make the MIDI connections. Click the
+ <guibutton>Setup</guibutton> button and choose the
+ <guibutton>Options</guibutton> tab. Enable the <guibutton>Execute
+ script after Startup</guibutton> option, and change the line to call
+ the <filename>start_ardour.sh</filename> script. In this example, I
+ change directories to the drive I record to so new sessions will
+ open there by default before I run the script.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="qjopt.jpg"/>
+ </imageobject>
+ </mediaobject>
+ </section>
+ </section>
+
+ <section id="bcf2000-programming">
+ <title> Programming the BCF2000 for effective use </title>
+ <para>
+ One problem that I ran into with the BCF2000 was that none of the
+ factory presets really did what I needed to control Ardour. I had a
+ modest set of things I wanted to use the BCF to control for a track:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Volume
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Panning
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Mute, solo and rec-enable
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Transport (play, stop, ffwd, rewind)
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Preset 2 (P2), the Simple Mixer, was almost there, but I could not map
+ the mute, solo and rec-enable controls in Ardour to a pushbutton on
+ the BCF. This was because in P2, the buttons sent a Program Change
+ signal, but Ardour expects a Control Change signal. This required
+ re-programming the BCF a bit. Here's a list of the controls and what I
+ mapped them to send:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Rotary knobs 1 through 8, when pressed: CC33 through CC40
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ First row of buttons: CC65 through CC72
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ second row of buttons: CC73 through CC80
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Here's a quick walkthrough to program the controls on the BCF. First
+ we'll do the rotary knobs:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Hold down the EDIT button and press the rotary control. The
+ display will show b1.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Turn the rotary control labeled "TYPE" until the display reads
+ "CC".
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Turn the rotary control labeled "PAR" until the display reads
+ "33".
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Turn the rotary control labeled "MODE" until the display reads "t
+ on".
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Press the EXIT button.
+ </para>
+ </listitem>
+ </orderedlist>
+ <para>
+ Continue to program the other rotary controls in the same way,
+ incrementing the value set by the "PAR" control by 1 each time. This
+ will set the CC parameter for the second knob to 34, the third knob to
+ 35, and so on.
+ </para>
+
+ <para>
+ The steps are the same for the two rows of pushbuttons under the
+ rotary knobs. The CC values for the first row of buttons run from 65
+ to 72, and from 73 to 80 for the second row.
+ </para>
+
+ <para>
+ Finally, you need to store these changes so that they'll be kept even
+ when the BCF has its power cycled.
+ <orderedlist>
+ <listitem>
+ <para>
+ Press the STORE button. Its LED will start to flash.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select a different preset number if you wish with the left and
+ right PRESET buttons.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Press STORE again to write the settings to an empty preset. If
+ you want to overwrite an existing preset, press STORE twice. You
+ can cancel the store at any time by pressing EXIT.
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+
+ <para>
+ Your BCF2000 is now ready to control Ardour!
+ </para>
+
+ <section id="bcf2000-preconfigured-preset-file">
+ <title> Preconfigured Preset File </title>
+ <para>
+ Here is a <ulink url="http://zappa.brainiac.com/preset1.syx">saved
+ preset file</ulink>, which has the definitions described above. You
+ can use <command>amidi</command> to load this into the BCF as
+ <xref linkend="bcf2000-loading-a-preset"/>.
+ </para>
+ </section>
+ </section>
+
+ <section id="bcf2000-mapping-ardour-controls">
+ <title> Mapping Ardour controls to the BCF2000 </title>
+ <para>
+ The final step to control surface Nirvana is to map the controls in
+ Ardour to the knobs, buttons and faders on the BCF.
+ </para>
+
+ <para>
+ Before you can map things properly, you'll need to set the MIDI
+ options within Ardour. In the Editor window of Ardour, choose
+ <menuchoice> <guimenu>Windows</guimenu> <guisubmenu>Options
+ Editor</guisubmenu> </menuchoice>. Make sure the seq device is online,
+ and make sure <guibutton>MTC</guibutton>, <guibutton>MMC</guibutton>
+ and <guibutton>MIDI Parameter Control</guibutton> is set for the seq
+ device. Also make sure that the 4 boxes below are checked:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <guibutton>MMC control</guibutton>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guibutton>MIDI parameter control</guibutton>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guibutton>Send MMC</guibutton>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <guibutton>Send MIDI parameter feedback</guibutton>
+ </para>
+ </listitem>
+ </itemizedlist>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/midiopts.jpg"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ Now you're ready to do the actual mapping. This is a pretty simple
+ process, all controlled with a <keycombo><keycap>Ctrl</keycap>
+ <mousebutton>Button2</mousebutton> </keycombo> click. This will pop up
+ a little window which says <guilabel>operate MIDI controller
+ now</guilabel>. Simply press the BCF button (or move the slider) that
+ you want to have control the Ardour function.
+ </para>
+
+ <section id="bcf2000-example">
+ <title>Example</title>
+ <para>
+ We want to map the Master fader in Ardour to the first slider on the
+ BCF. Hold down the <keycap>Ctrl</keycap> key on your keyboard, and
+ click with <mousebutton>Button2</mousebutton> on the Master fader in
+ Ardour. You should see the <guilabel>operate MIDI controller
+ now</guilabel>. Move the first slider on the BCF up or down a bit.
+ The window should disappear, and you should see the master fader
+ move up and down as you move the slider on the BCF. If that works,
+ move the fader in Ardour with your mouse. You should see the slider
+ on the BCF move up and down in tandem with the Master fader!
+ </para>
+
+ <para>
+ If the "operate MIDI controller now" window does not go away, there
+ is no connection between Ardour and the BCF. Make sure you've
+ properly connected the two as outlined in the Connecting to Ardour
+ section.
+ </para>
+ </section>
+
+ <section id="bcf2000-transport-controls">
+ <title> Transport Controls </title>
+ <para>
+ The 4 buttons in the lower right corner are already mapped in Preset
+ 2 to the MMC transport controls Home (or rewind to the beginning of
+ the session), Fast Forward, Stop and Play, as shown here.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/transctls.jpg"/>
+ </imageobject>
+ </mediaobject>
+ </section>
+ </section>
+
+ <section id="bcf2000-saving-and-loading-presets">
+ <title> Saving and Loading Presets </title>
+ <para>
+ After beating my head against a wall trying to get various programs
+ that handle SysEx messages to do what I wanted, I realized that once
+ again, the simplest way for me to do this the first time through is
+ from the command line. <glossterm linkend="gt-alsa">ALSA</glossterm>
+ provides the perfect tool for saving and loading files:
+ <command>amidi</command>
+ </para>
+
+ <para>
+ First, use <command>amidi</command> to list the available ports:
+ </para>
<screen>
xtc:~% amidi -l
Device Name
hw:0,0 M Audio Delta 1010 MIDI
hw:2,0,0 BCF2000 MIDI 1
</screen>
- <para>
- There's the BCF, at port hw:2 (we can ignore everything after the first
- number after the colon). We'll tell amidi to use this port with the -p
- option
- </para>
-
- <section id="bcf2000-saving-a-preset">
- <title> Saving a Preset </title>
- <para>
- There's 2 parts to saving a preset: telling the BCF to send the data, and
- telling the computer to accept it.
- </para>
-
- <section id="bcf2000-recieving-the-data">
- <title> Receiving the Data </title>
- <para>
- Run <command>amidi</command>, using the <option>-p</option> option to
- specify the port, and the <option>-r</option> option to receive the date
- into.
- </para>
+ <para>
+ There's the BCF, at port hw:2 (we can ignore everything after the
+ first number after the colon). We'll tell amidi to use this port with
+ the -p option
+ </para>
+
+ <section id="bcf2000-saving-a-preset">
+ <title> Saving a Preset </title>
+ <para>
+ There's 2 parts to saving a preset: telling the BCF to send the
+ data, and telling the computer to accept it.
+ </para>
+
+ <section id="bcf2000-recieving-the-data">
+ <title> Receiving the Data </title>
+ <para>
+ Run <command>amidi</command>, using the <option>-p</option> option
+ to specify the port, and the <option>-r</option> option to receive
+ the date into.
+ </para>
<screen>
xtc:~% amidi -p hw:2 -r preset1.syx
</screen>
- <para>
- The system will collect data from the MIDI port now until it's told to
- stop with a <keycombo><keycap>Ctrl</keycap><keycap>C</keycap> </keycombo>
- so it's time to send some data.
- </para>
- </section>
-
- <section id="bcf2000-sending-the-data">
- <title> Sending the Data </title>
- <para>
- To send the MIDI data for the current preset to the computer, hold down
- the Edit key on the BCF and press the Store button. They should both stay
- lit and the display should read
+ <para>
+ The system will collect data from the MIDI port now until it's
+ told to stop with a
+ <keycombo><keycap>Ctrl</keycap><keycap>C</keycap> </keycombo> so
+ it's time to send some data.
+ </para>
+ </section>
+
+ <section id="bcf2000-sending-the-data">
+ <title> Sending the Data </title>
+ <para>
+ To send the MIDI data for the current preset to the computer, hold
+ down the Edit key on the BCF and press the Store button. They
+ should both stay lit and the display should read
<screen>
EG
</screen>
- . This is the Global Edit mode.
- </para>
+ . This is the Global Edit mode.
+ </para>
- <para>
- You can choose whether to send the current preset's data or the data for
- all 32 presets by turning the Mode knob, #6, and selecting either
+ <para>
+ You can choose whether to send the current preset's data or the
+ data for all 32 presets by turning the Mode knob, #6, and
+ selecting either
<screen>
All
</screen>
- or
+ or
<screen>
SnGl
</screen>
- . When ready to send the data, press knob 6. The display on the BCF will
- circle around while it's sending data, and return to
+ . When ready to send the data, press knob 6. The display on the
+ BCF will circle around while it's sending data, and return to
<screen>
EG
</screen>
- when complete. At this point,
- <keycombo><keycap>Ctrl</keycap><keycap>C</keycap> </keycombo> out of
- amidi. You'll see a report on the amount of data read:
- </para>
+ when complete. At this point,
+ <keycombo><keycap>Ctrl</keycap><keycap>C</keycap> </keycombo> out
+ of amidi. You'll see a report on the amount of data read:
+ </para>
<screen>
xtc:~% amidi -p hw:2 -r preset1.syx
13169 bytes read
@@ -561,85 +582,88 @@ xtc:~% amidi -p hw:2 -r preset1.syx
xtc:~% ls -l preset1.syx
-rw-r--r-- 1 jh jh 13169 May 1 22:14 preset1.syx
</screen>
- <para>
- The data for the preset is now saved in the file
- <filename>preset1.syx</filename>. Press Exit on the BCF to exit the
- Global Edit mode.
- </para>
- </section>
- </section>
-
- <section id="bcf2000-loading-a-preset">
- <title> Loading a Preset </title>
- <para>
- Loading a .syx file, such as the one saved above, is very simple. First,
- select the preset on the BCF to choose the preset to overwrite. Then call
- <command>amidi</command> using the <option>-s</option> option instead of
- <option>-r</option> to send a file.
- </para>
+ <para>
+ The data for the preset is now saved in the file
+ <filename>preset1.syx</filename>. Press Exit on the BCF to exit
+ the Global Edit mode.
+ </para>
+ </section>
+ </section>
+
+ <section id="bcf2000-loading-a-preset">
+ <title> Loading a Preset </title>
+ <para>
+ Loading a .syx file, such as the one saved above, is very simple.
+ First, select the preset on the BCF to choose the preset to
+ overwrite. Then call <command>amidi</command> using the
+ <option>-s</option> option instead of <option>-r</option> to send a
+ file.
+ </para>
<screen>
xtc:~% amidi -p hw:2 -s preset1.syx
</screen>
- <para>
- There will be a quick left-to-right flash of the encoder LEDs along the
- top of the BCF, followed by the display circling around until the data is
- loaded. It will then display the preset number again.
- </para>
-
- <para>
- The preset is now loaded with the settings from the file. They are only
- active as long as the preset is not changed. If you go to another preset
- and back to the one you loaded, all the changes will have disappeared. To
- save the settings,
- </para>
- <orderedlist>
- <listitem>
- <para>
- Press the STORE button. Its LED will start to flash.
- </para>
- </listitem>
- <listitem>
- <para>
- Select a different preset number if you wish with the left and right
- PRESET buttons.
- </para>
- </listitem>
- <listitem>
- <para>
- Press STORE again to write the settings to an empty preset. If you want
- to overwrite an existing preset, press STORE twice. You can cancel the
- store at any time by pressing EXIT.
- </para>
- </listitem>
- </orderedlist>
- </section>
- </section>
-
- <section id="bcf2000-bcedit">
- <title> Using BCEdit </title>
- <para>
- The tool provided by Behringer to manage presets and other things on the
- BCF is the Java program
- <ulink url="http://www.behringer.com/05_support/bc_download/bc_downloads.cfm">BCEdit</ulink>.
- This program will start up under Linux provided the correct version of Java
- is used. I've found that
- <ulink url="http://java.sun.com/j2se/1.5.0/download.jsp">JRE 5.0 Update
- 2</ulink> starts up correctly, but earlier versions of 5.0 will not.
- <ulink url="http://behringer-en.custhelp.com/cgi-bin/behringer_en.cfg/php/enduser/std_alp.php?sm=2">The
- Behringer support page</ulink> says that the "editor software was
- originally developed under J2SE-1_4_2_05". I tested it with J2RE1.4.2_08
- and BCEdit started, but was unable to see the BCF when the "Scan" button
- was pressed. Running under JRE_1.5.0_02, pressing the "Scan" button found
- the BCF, and I was able to load presets from the BCF to BCEdit, but when I
- simply renamed the preset and tried to write it back to the BCF, I got a
- Timeout Error while sending "$rev F1" in the application.
- </para>
-
- <para>
- At this point, I don't consider <application>BCEdit</application> to be
- fully usable under Linux yet.
- </para>
- </section>
+ <para>
+ There will be a quick left-to-right flash of the encoder LEDs along
+ the top of the BCF, followed by the display circling around until
+ the data is loaded. It will then display the preset number again.
+ </para>
+
+ <para>
+ The preset is now loaded with the settings from the file. They are
+ only active as long as the preset is not changed. If you go to
+ another preset and back to the one you loaded, all the changes will
+ have disappeared. To save the settings,
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Press the STORE button. Its LED will start to flash.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select a different preset number if you wish with the left and
+ right PRESET buttons.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Press STORE again to write the settings to an empty preset. If
+ you want to overwrite an existing preset, press STORE twice. You
+ can cancel the store at any time by pressing EXIT.
+ </para>
+ </listitem>
+ </orderedlist>
+ </section>
+ </section>
+
+ <section id="bcf2000-bcedit">
+ <title> Using BCEdit </title>
+ <para>
+ The tool provided by Behringer to manage presets and other things on
+ the BCF is the Java program
+ <ulink url="http://www.behringer.com/05_support/bc_download/bc_downloads.cfm">BCEdit</ulink>.
+ This program will start up under Linux provided the correct version of
+ Java is used. I've found that
+ <ulink url="http://java.sun.com/j2se/1.5.0/download.jsp">JRE 5.0
+ Update 2</ulink> starts up correctly, but earlier versions of 5.0 will
+ not.
+ <ulink url="http://behringer-en.custhelp.com/cgi-bin/behringer_en.cfg/php/enduser/std_alp.php?sm=2">The
+ Behringer support page</ulink> says that the "editor software was
+ originally developed under J2SE-1_4_2_05". I tested it with
+ J2RE1.4.2_08 and BCEdit started, but was unable to see the BCF when
+ the "Scan" button was pressed. Running under JRE_1.5.0_02, pressing
+ the "Scan" button found the BCF, and I was able to load presets from
+ the BCF to BCEdit, but when I simply renamed the preset and tried to
+ write it back to the BCF, I got a Timeout Error while sending "$rev
+ F1" in the application.
+ </para>
+
+ <para>
+ At this point, I don't consider <application>BCEdit</application> to
+ be fully usable under Linux yet.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/behringer_ddx3216.xml b/manual/xml/behringer_ddx3216.xml
index 4632221d1c..697498f9a5 100644
--- a/manual/xml/behringer_ddx3216.xml
+++ b/manual/xml/behringer_ddx3216.xml
@@ -5,113 +5,120 @@
]>
<section id="sn-behringer-ddx3216">
- <title>Behringer DDX3216</title>
- <para>
- The Behringer DDX3216 isn't actually a dedicated control surface, it is a
- digital mixer. However it does have the capability to control ardour using
- it's faders and the pan pots, through it's midi I/O. Unfortunately for some
- bizzare reason, the protocol for mute toggling changes on the Behringer and
- is not compatible with ardour. Most commonly you would setup ardour so the
- mixer and panning was reflected by the Behringer, however you can control
- other elements of ardour such as plugin controls/automation. This can
- potentially save a lot of time given you can control a lot more than just
- one level at a time, as opposed to one when using a mouse. The DDX3216 can
- also receive MTC (MIDI Time Code) from ardour and control ardours transport
- via MMC (Midi Machine Control), making it a very useful go between for any
- other external devices that can also receive MTC. On top of that, any other
- software synced to JACK will be controlled via the DDX3216 as well!
- </para>
+ <title>Behringer DDX3216</title>
+ <para>
+ The Behringer DDX3216 isn't actually a dedicated control surface, it is
+ a digital mixer. However it does have the capability to control ardour
+ using it's faders and the pan pots, through it's midi I/O. Unfortunately
+ for some bizzare reason, the protocol for mute toggling changes on the
+ Behringer and is not compatible with ardour. Most commonly you would
+ setup ardour so the mixer and panning was reflected by the Behringer,
+ however you can control other elements of ardour such as plugin
+ controls/automation. This can potentially save a lot of time given you
+ can control a lot more than just one level at a time, as opposed to one
+ when using a mouse. The DDX3216 can also receive MTC (MIDI Time Code)
+ from ardour and control ardours transport via MMC (Midi Machine
+ Control), making it a very useful go between for any other external
+ devices that can also receive MTC. On top of that, any other software
+ synced to JACK will be controlled via the DDX3216 as well!
+ </para>
- <para>
- The setup is quite simple as follows:
- </para>
- <orderedlist>
- <listitem>
- <para>
- On the DDX3216 select the MMC/MIDI button. Press the Previous/Next buttons
- to move to the RX/TX page. Make sure that you have both RX and TX selected
- for 'Control Change', and TX selected for 'Machine Control'. Under the
- menu 'RX/TX Only', make sure Fader and Pan is selected.
- </para>
- </listitem>
- <listitem>
- <para>
- To receive MTC do the following. Press the Previous button to get to the
- Setup page. Select MTC as your source. Make sure the receive channel is
- set to OMNI so it will listen on all channels, and the MMC device is set
- to 7F (all). Save a new Preset on the DDX3216, something like MMC/MTC.
- </para>
- </listitem>
- <listitem>
- <para>
- Connect your midi in and out cables to your sound card, and to the
- Behringer DDX3216. Start <application>qjackctl</application>, and then
- start ardour. In qjackctl go to the connections dialog, and select the
- <guilabel>midi</guilabel> tab. Select the Midi output on the left window
- and the ardour input on the right window, and press connect. Select the
- ardour output on the left window and the midi input on the right window,
- and press connect.
- </para>
- </listitem>
- <listitem>
- <para>
- I suggest making a template in ardour so you don't have to do these
- following steps each time. Load a new session with your desired amount of
- tracks (I used 16). Go to menu <menuchoice> <guimenu>Windows</guimenu>
- <guisubmenu>Options Editor</guisubmenu> </menuchoice> and select the
- <guilabel>MIDI</guilabel> tab. Select all the options and make sure the
- midi port you have connected to in qjackctl is 'online'.
- </para>
- </listitem>
- <listitem>
- <para>
- Open the mixer window
- (<keycombo><keycap>Alt</keycap><keycap>M</keycap></keycombo>) and then
- hold down <keycap>Ctrl</keycap> and click the middle button of your mouse,
- on the fader control for track 1. A dialog will appear over the fader
- asking you to <literal>operate MIDI control now</literal>. Move the fader
- on the Behringer that you want to control track 1 ardour fader - and
- whalla! I use fader 17 (fader 1 in page 2) as it isn't used for analog
- inputs and saves confusion. Now do the same thing for the panning, ctrl
- and middle click on the pan control in ardour, and move the pan pot on the
- DDX3216. Repeat the Step for as many tracks as you have. Then save the
- template as 'MIDI controlled' or something similar. Next time you create a
- session, select this template from the drop down list and you are ready to
- cruise.
- </para>
- <para>
- Remember you can assign the DDX3216 pan pots or even faders if you want,
- to the plugin controls, send levels, inserts etc etc.
- </para>
- </listitem>
- <listitem>
- <para>
- You can also operate the ardour transport and have ardour transmit MTC
- back to your DDX3216 (it is only capable of receiving timecode, not
- transmitting it). Go to the ardour menu
- <menuchoice><guimenu>Windows</guimenu><guisubmenu>Option
- Editor</guisubmenu></menuchoice> and the <guilabel>Sync</guilabel> Tab.
- Set <guimenuitem>Positional Sync</guimenuitem> to Sync with Jack. Select
- <guimenuitem>Send MTC</guimenuitem> and <guimenuitem>Jack time
- master</guimenuitem>. Set your SMPTE to the appropriate frame rate for
- your region (PAL - 25 frames, NTSC 30 frames/drop frames). On the DDX3216
- in the MMC/MIDI screen, select the <guilabel>Machine Control</guilabel>
- Tab and you can now press play and watch ardour begin playback, and the
- time code start rolling! Of course if you have
- hydrogen/rosegarden/muse/whatever also running, then they will begin with
- ardour as well.
- </para>
- </listitem>
- </orderedlist>
- <note>
- <para>
- With ardour set to sync with JACK you cannot rewind from the transport
- control, because JACK does not support global varispeed. If you are just
- working with ardour and nothing else, then you can change the Sync option
- to internal. You also will want to enable the -12dB gain reduction for
- ff/rew in the <guilabel>Misc</guilabel> tab for sanity reasons.
- </para>
- </note>
+ <para>
+ The setup is quite simple as follows:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ On the DDX3216 select the MMC/MIDI button. Press the Previous/Next
+ buttons to move to the RX/TX page. Make sure that you have both RX
+ and TX selected for 'Control Change', and TX selected for 'Machine
+ Control'. Under the menu 'RX/TX Only', make sure Fader and Pan is
+ selected.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ To receive MTC do the following. Press the Previous button to get to
+ the Setup page. Select MTC as your source. Make sure the receive
+ channel is set to OMNI so it will listen on all channels, and the
+ MMC device is set to 7F (all). Save a new Preset on the DDX3216,
+ something like MMC/MTC.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Connect your midi in and out cables to your sound card, and to the
+ Behringer DDX3216. Start <application>qjackctl</application>, and
+ then start ardour. In qjackctl go to the connections dialog, and
+ select the <guilabel>midi</guilabel> tab. Select the Midi output on
+ the left window and the ardour input on the right window, and press
+ connect. Select the ardour output on the left window and the midi
+ input on the right window, and press connect.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ I suggest making a template in ardour so you don't have to do these
+ following steps each time. Load a new session with your desired
+ amount of tracks (I used 16). Go to menu <menuchoice>
+ <guimenu>Windows</guimenu> <guisubmenu>Options Editor</guisubmenu>
+ </menuchoice> and select the <guilabel>MIDI</guilabel> tab. Select
+ all the options and make sure the midi port you have connected to in
+ qjackctl is 'online'.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Open the mixer window
+ (<keycombo><keycap>Alt</keycap><keycap>M</keycap></keycombo>) and
+ then hold down <keycap>Ctrl</keycap> and click the middle button of
+ your mouse, on the fader control for track 1. A dialog will appear
+ over the fader asking you to <literal>operate MIDI control
+ now</literal>. Move the fader on the Behringer that you want to
+ control track 1 ardour fader - and whalla! I use fader 17 (fader 1
+ in page 2) as it isn't used for analog inputs and saves confusion.
+ Now do the same thing for the panning, ctrl and middle click on the
+ pan control in ardour, and move the pan pot on the DDX3216. Repeat
+ the Step for as many tracks as you have. Then save the template as
+ 'MIDI controlled' or something similar. Next time you create a
+ session, select this template from the drop down list and you are
+ ready to cruise.
+ </para>
+
+ <para>
+ Remember you can assign the DDX3216 pan pots or even faders if you
+ want, to the plugin controls, send levels, inserts etc etc.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ You can also operate the ardour transport and have ardour transmit
+ MTC back to your DDX3216 (it is only capable of receiving timecode,
+ not transmitting it). Go to the ardour menu
+ <menuchoice><guimenu>Windows</guimenu><guisubmenu>Option
+ Editor</guisubmenu></menuchoice> and the <guilabel>Sync</guilabel>
+ Tab. Set <guimenuitem>Positional Sync</guimenuitem> to Sync with
+ Jack. Select <guimenuitem>Send MTC</guimenuitem> and
+ <guimenuitem>Jack time master</guimenuitem>. Set your SMPTE to the
+ appropriate frame rate for your region (PAL - 25 frames, NTSC 30
+ frames/drop frames). On the DDX3216 in the MMC/MIDI screen, select
+ the <guilabel>Machine Control</guilabel> Tab and you can now press
+ play and watch ardour begin playback, and the time code start
+ rolling! Of course if you have hydrogen/rosegarden/muse/whatever
+ also running, then they will begin with ardour as well.
+ </para>
+ </listitem>
+ </orderedlist>
+ <note>
+ <para>
+ With ardour set to sync with JACK you cannot rewind from the transport
+ control, because JACK does not support global varispeed. If you are
+ just working with ardour and nothing else, then you can change the
+ Sync option to internal. You also will want to enable the -12dB gain
+ reduction for ff/rew in the <guilabel>Misc</guilabel> tab for sanity
+ reasons.
+ </para>
+ </note>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/book_info.xml b/manual/xml/book_info.xml
index 263726be3c..06e4cbfb05 100644
--- a/manual/xml/book_info.xml
+++ b/manual/xml/book_info.xml
@@ -1,52 +1,43 @@
<?xml version='1.0'?>
+
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
-<!ENTITY BOOKNAME "Ardour Reference Guide">
-<!ENTITY BOOKVERSION "0.01"> <!-- change version here -->
-<!ENTITY BOOKDATE "2007-01-13"> <!-- change revision date here -->
-<!ENTITY BOOKID "&BOOKNAME;-&BOOKVERSION; (&BOOKDATE;)">
-<!ENTITY BUG-NUM "000001"> <!-- use this only while in draft stage -->
+<!ENTITY % BOOK_ENTITIES SYSTEM "./entities.ent">
+%BOOK_ENTITIES;
]>
-<bookinfo>
- <title>Ardour Manual</title>
- <issuenum>1.0</issuenum>
- <productnumber>2.0</productnumber>
- <abstract>
- <para>
- This is the manual for Ardour, a digital audio workstation for Linux
- and MacOSX. This manual is jointly created and edited by the Ardour
- community. It may be published in paper format at some time in the
- future.
- </para>
- </abstract>
-
- <isbn>
+<bookinfo>
+ <title>Ardour Manual</title>
+ <issuenum>1.0</issuenum>
+ <productnumber>2.0</productnumber>
+ <abstract>
+ <para>
+ This is the manual for &ARDOUR_NAME;, a digital audio workstation for
+ Linux and MacOSX. This manual is jointly created and edited by the
+ &ARDOUR_NAME; community. It may be published in paper format at some
+ time in the future.
+ </para>
+ </abstract>
+ <isbn>
N/A
</isbn>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/ardourlogo.png"/>
- </imageobject>
- </mediaobject>
-
- <publisher>
- <publishername>
- <inlinemediaobject>
- <imageobject>
- <imagedata fileref="images/ardour-title.png" />
- </imageobject>
- </inlinemediaobject>
- </publishername>
- </publisher>
-
- <copyright>
- <year>2007</year>
- <holder>Ardour Foundation</holder>
- </copyright>
-
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ardourlogo.png"/>
+ </imageobject>
+ </mediaobject>
+ <publisher>
+ <publishername>
+ <inlinemediaobject>
+ <imageobject>
+ <imagedata fileref="images/ardour-title.png" />
+ </imageobject>
+ </inlinemediaobject>
+ </publishername>
+ </publisher>
+ <copyright>
+ <year>&YEAR;</year>
+ <holder>&COPYRIGHT_HOLDER;</holder>
+ </copyright>
</bookinfo>
-
-
diff --git a/manual/xml/cleaning_up_a_session.xml b/manual/xml/cleaning_up_a_session.xml
index 8b0077137f..9a5e3d9bc9 100644
--- a/manual/xml/cleaning_up_a_session.xml
+++ b/manual/xml/cleaning_up_a_session.xml
@@ -1,45 +1,43 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-cleaning-up-a-session">
+ <title>Cleaning up a Session</title>
+ <para>
+ placeholder text: needs editing and references to menu items
+ </para>
+
+ <para>
+ Cleanup looks for audio files that were recorded by ardour for this
+ session, but are no longer in use. "In use" means "present in any
+ playlist in any snapshot of the session". If you have unused playlists
+ (e.g. alternate takes) cleanup will volunteer to delete them for you.
+ then it will search all snapshots (including the one you are working
+ with), and move all unused captured audio files into the "dead_sounds"
+ directory within the session. At this point, you could still potentially
+ get material that was "cleaned up" back, though its quite tricky to do.
+ </para>
- <title>Cleaning up a Session</title>
-
- <para>
- placeholder text: needs editing and references to menu items
- </para>
-
- <para> Cleanup looks for audio files that were recorded by ardour for this
- session, but are no longer in use. "In use" means "present in any
- playlist in any snapshot of the session". If you have unused playlists
- (e.g. alternate takes) cleanup will volunteer to delete them for you.
- then it will search all snapshots (including the one you are working
- with), and move all unused captured audio files into the "dead_sounds"
- directory within the session. At this point, you could still
- potentially get material that was "cleaned up" back, though its quite
- tricky to do.
- </para>
-
- <para>
- It is advisable, even <emphasis>firmly recommended</emphasis> that after this cleanup
- step, you save the session, exit ardour and restart. This will enable
- you to confirm that the session still works as expected. If all goes
- well (and it should), you can then do the 2nd phase cleanup, which will
- remove the files from the <filename>dead_sounds</filename> directory (at which point,
- the material is not recoverable without backups on your part).
- </para>
-
- <para>
- Note that the presence of snapshots can cause user confusion, as in
- "why didn’t cleanup do anything?" The answer is frequently that there
- are all capture audio files are in use in this snapshot or in others.
- </para>
+ <para>
+ It is advisable, even <emphasis>firmly recommended</emphasis> that after
+ this cleanup step, you save the session, exit ardour and restart. This
+ will enable you to confirm that the session still works as expected. If
+ all goes well (and it should), you can then do the 2nd phase cleanup,
+ which will remove the files from the <filename>dead_sounds</filename>
+ directory (at which point, the material is not recoverable without
+ backups on your part).
+ </para>
- <!--
+ <para>
+ Note that the presence of snapshots can cause user confusion, as in "why
+ didn’t cleanup do anything?" The answer is frequently that there are
+ all capture audio files are in use in this snapshot or in others.
+ </para>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/clocks.xml b/manual/xml/clocks.xml
index e1321a6a56..aa3ba8fd6b 100644
--- a/manual/xml/clocks.xml
+++ b/manual/xml/clocks.xml
@@ -5,91 +5,99 @@
]>
<section id="sn-clocks">
- <title>Clocks</title>
- <para>
- There are several clock displays in the user interface for Ardour:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Primary transport clock
- </para>
- </listitem>
- <listitem>
- <para>
- Secondary transport clock
- </para>
- </listitem>
- <listitem>
- <para>
- Nudge clock
- </para>
- </listitem>
- <listitem>
- <para>
- Region position and length clocks
- </para>
- </listitem>
- <listitem>
- <para>
- SMPTE offset clock
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- and more. All of these clocks provide the same operations and can be used in
- the same way.
- </para>
-
- <section id="clock-operations">
- <title>Clock Operations</title>
- <section id="changing-clock-mode">
- <title> Changing Clock Mode </title>
- <para>
- All clocks can be used in any one of 5 modes:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- SMPTE time
- </para>
- </listitem>
- <listitem>
- <para>
- BBT time
- </para>
- </listitem>
- <listitem>
- <para>
- Audio frames
- </para>
- </listitem>
- <listitem>
- <para>
- Minutes:Seconds
- </para>
- </listitem>
- <listitem>
- <para>
- Off
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- To change clock modes, simply ContextClick on the clock, and select the
- desired mode from the popup menu.
- </para>
- </section>
-
- <section id="editing-clock-values">
- <title> Editing Clock Values </title>
- <para></para>
- </section>
- </section>
+ <title>Clocks</title>
+ <para>
+ There are several clock displays in the user interface for Ardour:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Primary transport clock
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Secondary transport clock
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Nudge clock
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Region position and length clocks
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ SMPTE offset clock
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ and more. All of these clocks provide the same operations and can be
+ used in the same way.
+ </para>
+
+ <section id="clock-operations">
+ <title>Clock Operations</title>
+ <section id="changing-clock-mode">
+ <title> Changing Clock Mode </title>
+ <para>
+ All clocks can be used in any one of 5 modes:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ SMPTE time
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ BBT time
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Audio frames
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Minutes:Seconds
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Off
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ To change clock modes, simply ContextClick on the clock, and select
+ the desired mode from the popup menu.
+ </para>
+ </section>
+
+ <section id="editing-clock-values">
+ <title> Editing Clock Values </title>
+ <para></para>
+ </section>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/closing_a_session.xml b/manual/xml/closing_a_session.xml
index 73cf9fa8d2..4a1449761c 100644
--- a/manual/xml/closing_a_session.xml
+++ b/manual/xml/closing_a_session.xml
@@ -1,96 +1,85 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-closing-a-session">
+ <title>Closing a Session</title>
+ <para>
+ Ardour only allows you to work on one session at a time (although your
+ computer may be able to run multiple instances of Ardour at one time).
+ This means that to work on a different session than the current one, you
+ will be forced to close the current session. You can either
+ </para>
- <title>Closing a Session</title>
-
- <para>
- Ardour only allows you to work on one session at a time (although
- your computer may be able to run multiple instances of Ardour at one
- time). This means that to work on a different session than the current
- one, you will be forced to close the current session. You can either
- </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <menuchoice> <guimenu>Session</guimenu>
+ <guisubmenu>Close</guisubmenu> </menuchoice> will close the current
+ session.
+ </para>
+ </listitem>
- <itemizedlist>
- <listitem>
- <para>
- <menuchoice>
- <guimenu>Session</guimenu>
- <guisubmenu>Close</guisubmenu>
- </menuchoice>
- will close the current session.
- </para>
- </listitem>
- <listitem>
- <para>
- <menuchoice>
- <guimenu>Session</guimenu>
- <guisubmenu>Open</guisubmenu>
- </menuchoice>
- will prompt you for the name of a session to work on, and will then close the current session.
- </para>
- </listitem>
- <listitem>
- <para>
- <menuchoice>
- <guimenu>Session</guimenu>
- <guisubmenu>New</guisubmenu>
- </menuchoice>
- will open the New Session dialog
- to collect configuration information for the new session, and will then
- close the current session.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Whenever a session is closed but has been modified since last saved,
- the Save dialog will appear.
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/save_session_dialog.png"/>
- </imageobject>
- </mediaobject>
-
- <para>
- You have three options when this dialog appears:
- </para>
+ <listitem>
+ <para>
+ <menuchoice> <guimenu>Session</guimenu>
+ <guisubmenu>Open</guisubmenu> </menuchoice> will prompt you for the
+ name of a session to work on, and will then close the current
+ session.
+ </para>
+ </listitem>
- <orderedlist>
- <listitem>
- <para>
- Save the session before closing it
- </para>
- </listitem>
- <listitem>
- <para>
- Close the session without saving it
- </para>
- </listitem>
- <listitem>
- <para>
- Do not close the session
- </para>
- </listitem>
- </orderedlist>
+ <listitem>
+ <para>
+ <menuchoice> <guimenu>Session</guimenu> <guisubmenu>New</guisubmenu>
+ </menuchoice> will open the New Session dialog to collect
+ configuration information for the new session, and will then close
+ the current session.
+ </para>
+ </listitem>
+ </itemizedlist>
- <note>
- <para>
- If you choose the final option, whatever operation initiated the
- closing of the session will be stopped. For example, if you were
- loading a new session while working on an existing one, no new session
- will be loaded.
- </para>
- </note>
-
- <!--
+ <para>
+ Whenever a session is closed but has been modified since last saved, the
+ Save dialog will appear.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/save_session_dialog.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ You have three options when this dialog appears:
+ </para>
+ <orderedlist>
+ <listitem>
+ <para>
+ Save the session before closing it
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Close the session without saving it
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Do not close the session
+ </para>
+ </listitem>
+ </orderedlist>
+ <note>
+ <para>
+ If you choose the final option, whatever operation initiated the
+ closing of the session will be stopped. For example, if you were
+ loading a new session while working on an existing one, no new session
+ will be loaded.
+ </para>
+ </note>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/configuring_usb_device_access.xml b/manual/xml/configuring_usb_device_access.xml
index 6bfbd5d22c..88781b018b 100644
--- a/manual/xml/configuring_usb_device_access.xml
+++ b/manual/xml/configuring_usb_device_access.xml
@@ -5,34 +5,35 @@
]>
<section id="sn-configuring-usb-device-access">
- <title>Configuring USB device access (Linux only)</title>
- <para>
- Linux is by default a multi-user system, so it has to have a policy to
- determine who can access various devices. This includes those that can be
- plugged into to a USB port.
- </para>
+ <title>Configuring USB device access (Linux only)</title>
+ <para>
+ Linux is by default a multi-user system, so it has to have a policy to
+ determine who can access various devices. This includes those that can
+ be plugged into to a USB port.
+ </para>
- <para>
- For devices known to the operating system (which these days includes most
- digital cameras, scanners, MIDI interfaces etc.), a logged-in user will be
- granted access automatically. However, for devices that the OS doesn't
- recognize (even if there is software on it that can use it), this is not the
- case. It is possible to configure Linux to reverse this policy and grant all
- users access to all devices, but this is not recommended for security
- reasons.
- </para>
+ <para>
+ For devices known to the operating system (which these days includes
+ most digital cameras, scanners, MIDI interfaces etc.), a logged-in user
+ will be granted access automatically. However, for devices that the OS
+ doesn't recognize (even if there is software on it that can use it),
+ this is not the case. It is possible to configure Linux to reverse this
+ policy and grant all users access to all devices, but this is not
+ recommended for security reasons.
+ </para>
- <section id="usb-access-tranzport">
- <title>Configuring Access to a Frontier Design Tranzport</title>
- <para>
- Using the Tranzport on Linux requires a couple of extra steps to enable
- non-administrative users to access the device.
- </para>
+ <section id="usb-access-tranzport">
+ <title>Configuring Access to a Frontier Design Tranzport</title>
+ <para>
+ Using the Tranzport on Linux requires a couple of extra steps to
+ enable non-administrative users to access the device.
+ </para>
- <para>
- First, you need to login as the administrative user ("root"). Then put the
- following into a new file called <filename>/etc/hotplug/usb/tranzport</filename>
- </para>
+ <para>
+ First, you need to login as the administrative user ("root"). Then put
+ the following into a new file called
+ <filename>/etc/hotplug/usb/tranzport</filename>
+ </para>
<screen>
#!/bin/sh
@@ -41,26 +42,26 @@ if [ $ACTION = "add" ] &amp;&amp; [ -f $DEVICE ] ; then
fi
exit 0
</screen>
- <para>
- Then make sure that the file is executable by running
- </para>
+ <para>
+ Then make sure that the file is executable by running
+ </para>
<screen>
chmod +x /etc/hotplug/usb/tranzport
</screen>
- <para>
- Second, edit the file <filename>/etc/hotplug/usb.usermap</filename> by adding the following 2
- lines to the end of it (make sure that the 2nd line is not split across
- multiple lines, even though it is very long):
- </para>
+ <para>
+ Second, edit the file <filename>/etc/hotplug/usb.usermap</filename> by
+ adding the following 2 lines to the end of it (make sure that the 2nd
+ line is not split across multiple lines, even though it is very long):
+ </para>
<screen>
# Frontier Design Tranzport
tranzport 0x0000 0x165b 0x8101 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
</screen>
- <para>
- After doing these steps, the next time you plugin your Tranzport it will be
- accessible to you as a regular user.
- </para>
- </section>
+ <para>
+ After doing these steps, the next time you plugin your Tranzport it
+ will be accessible to you as a regular user.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/contributing_to_the_manual.xml b/manual/xml/contributing_to_the_manual.xml
new file mode 100644
index 0000000000..7a74f94365
--- /dev/null
+++ b/manual/xml/contributing_to_the_manual.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+
+]>
+
+<appendix id="ap-contributing-to-the-manual" label="A" status="ardour-draft"><title>Contributing to the Manual</title>
+ <para>
+ A paragraph
+ </para>
+<!--
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="Some_Subsection.xml" />
+ -->
+</appendix>
diff --git a/manual/xml/control_surfaces.xml b/manual/xml/control_surfaces.xml
index 9c6b29093b..fea5a7a97a 100644
--- a/manual/xml/control_surfaces.xml
+++ b/manual/xml/control_surfaces.xml
@@ -5,20 +5,23 @@
]>
<chapter id="ch-control-surfaces">
- <title>Using Control Surfaces</title>
- <para>
- You can use a variety of different control surfaces with Ardour. We
- anticipate full support for a new class of control surfaces (those using the
- Mackie Control protocol) by the mid-summer of 2006, possibly earlier.
- </para>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <title>Using Control Surfaces</title>
+ <para>
+ You can use a variety of different control surfaces with Ardour. We
+ anticipate full support for a new class of control surfaces (those using
+ the Mackie Control protocol) by the mid-summer of 2006, possibly
+ earlier.
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="behringer_ddx3216.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="bcf2000.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="frontier_design_tranzport.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="generic_midi_control_surface.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="configuring_usb_device_access.xml" />
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="mackie.xml" />
</chapter>
diff --git a/manual/xml/creating_a_new_session.xml b/manual/xml/creating_a_new_session.xml
index 65d37d9475..d969f04d78 100644
--- a/manual/xml/creating_a_new_session.xml
+++ b/manual/xml/creating_a_new_session.xml
@@ -1,148 +1,138 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-creating-a-new-session">
+ <title>Creating a new Session</title>
+ <para>
+ The first step in starting a new project with Ardour is to create a new
+ session. When you do this, Ardour creates a new folder named after your
+ session, and stores differents kinds of files and subfolders within it.
+ The two most important subfolders are <filename>sounds</filename> which
+ contains all the audio recorded or imported for the session and
+ <filename>automation</filename> which contains automation data for
+ various parts of the session.
+ </para>
- <title>Creating a new Session</title>
-
- <para>
- The first step in starting a new project with Ardour is to create a
- new session. When you do this, Ardour creates a new folder named after
- your session, and stores differents kinds of files and subfolders
- within it. The two most important subfolders are
- <filename>sounds</filename> which contains all the audio recorded or
- imported for the session and <filename>automation</filename> which
- contains automation data for various parts of the session.
- </para>
-
- <para>
- When you start ardour without specifying an existing session, it
- automatically brings up the new session dialog. If you want to create a
- new session at other times, choose
- <menuchoice>
- <guimenu>Session</guimenu>
- <guisubmenu>New Session</guisubmenu>
- </menuchoice>.
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/session_control.png"/>
- </imageobject>
- </mediaobject>
-
- <para>
- Enter a name for the new session. You can use any characters you
- like as part of the name, but you should know that more or less
- anything other than alphabetic and numeric characters will be converted
- to underscores to form the name of the session folder.
- </para>
-
- <para>
- Next, choose where you want to store the new session folder. If its
- not in your current working folder, click on the browse button to
- expand the file selector, and then navigate to your desired location.
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/new_session_select_directory.png"/>
- </imageobject>
- </mediaobject>
+ <para>
+ When you start ardour without specifying an existing session, it
+ automatically brings up the new session dialog. If you want to create a
+ new session at other times, choose <menuchoice>
+ <guimenu>Session</guimenu> <guisubmenu>New Session</guisubmenu>
+ </menuchoice>.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/session_control.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ Enter a name for the new session. You can use any characters you like as
+ part of the name, but you should know that more or less anything other
+ than alphabetic and numeric characters will be converted to underscores
+ to form the name of the session folder.
+ </para>
- <section id="new-session-io">
+ <para>
+ Next, choose where you want to store the new session folder. If its not
+ in your current working folder, click on the browse button to expand the
+ file selector, and then navigate to your desired location.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/new_session_select_directory.png"/>
+ </imageobject>
+ </mediaobject>
+ <section id="new-session-io">
+ <title>Input and Output Configuration</title>
+ <para>
+ Next, configure the basic IO setup for the session. You have several
+ choices here, and doing nothing is one of them. This will give you a
+ session that includes:
+ </para>
- <title>Input and Output Configuration</title>
-
- <para>
- Next, configure the basic IO setup for the session. You have
- several choices here, and doing nothing is one of them. This will give
- you a session that includes:
- </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ a stereo master bus with its outputs connected to the first two
+ outputs of your audio interface
+ </para>
+ </listitem>
- <itemizedlist>
+ <listitem>
+ <para>
+ all new track will have their outputs sent to the master bus
+ </para>
+ </listitem>
- <listitem>
- <para>
- a stereo master bus with its outputs connected to the first two outputs of
- your audio interface
- </para>
- </listitem>
- <listitem>
- <para>
- all new track will have their outputs sent to the master bus
- </para>
- </listitem>
- <listitem>
- <para>
- all new track inputs will be connected to Ardour’s best guess at the relevant
- input of your audio interface.
- </para>
- </listitem>
+ <listitem>
+ <para>
+ all new track inputs will be connected to Ardour’s best guess at
+ the relevant input of your audio interface.
+ </para>
+ </listitem>
+ </itemizedlist>
- </itemizedlist>
-
- <para>
- However, if you want more control over this, click on the expander next to
- <guilabel>Advanced options</guilabel> label to show the full set of options:
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/new_session_advanced_tab.png"/>
- </imageobject>
- </mediaobject>
+ <para>
+ However, if you want more control over this, click on the expander
+ next to <guilabel>Advanced options</guilabel> label to show the full
+ set of options:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/new_session_advanced_tab.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ There are two options available for track input configuration:
+ autoconnect or manual. If you select autoconnect (the default) then
+ new tracks will be connected to an input of your audio interface. If
+ you select manual, it will be up to you to configure the input for
+ each track.
+ </para>
- <para>
- There are two options available for track input configuration:
- autoconnect or manual. If you select autoconnect (the default) then new
- tracks will be connected to an input of your audio interface. If you
- select manual, it will be up to you to configure the input for each
- track.
- </para>
+ <para>
+ For output, the first two choices are whether to have control and
+ master outs. Most DAWs assume the presence of master outs, and few (if
+ any) offer control outs.
+ </para>
- <para>
- For output, the first two choices are whether to have control and
- master outs. Most DAWs assume the presence of master outs, and few (if
- any) offer control outs.
- </para>
-
- <section id="new-session-master-outs">
- <title>Master Outputs</title>
- <para>
- A Master out is a bus to which all (or most) tracks and other
- busses send their output. It provides a convenient single point of
- control for the output of ardour, and is a typical location for global
- effects. Because of this, using master outs is enabled by default, and
- the master out bus is setup to be stereo (2 inputs, 2 outputs).
- However, if you are feeding Ardour’s output through a hardware mixing
- console, you may not want master outs. In such cases, disable them by
- clicking on the radio button next to “Use master outs”. Alternatively,
- you may want some other channel configuration for the master output
- (for example, 8 channel surround sound). Select this by using the
- clickbox (see clickboxes) next to the radio button.
- </para>
- </section>
+ <section id="new-session-master-outs">
+ <title>Master Outputs</title>
+ <para>
+ A Master out is a bus to which all (or most) tracks and other busses
+ send their output. It provides a convenient single point of control
+ for the output of ardour, and is a typical location for global
+ effects. Because of this, using master outs is enabled by default,
+ and the master out bus is setup to be stereo (2 inputs, 2 outputs).
+ However, if you are feeding Ardour’s output through a hardware
+ mixing console, you may not want master outs. In such cases, disable
+ them by clicking on the radio button next to “Use master outs”.
+ Alternatively, you may want some other channel configuration for the
+ master output (for example, 8 channel surround sound). Select this
+ by using the clickbox (see clickboxes) next to the radio button.
+ </para>
+ </section>
- <section id="new-session-control-outs">
- <title>Control Outputs</title>
- <para>
- Control outs are unusual for DAWs, but because Ardour is designed
- to be as flexible as possible, and in particular is intended to be
- useful as a live mixer, they are included here. Using control outs
- provides you with a dedicated bus to which all tracks have an
- additional output connection. As well as feeding their regular outputs,
- they send data to the control outs as well. In an unadjusted session,
- this means that the control outs carry the same signal as the master
- outs. However, once you start soloing tracks, the control outs will
- carry only soloed tracks while the master outs continue to carry the
- entire mix. A typical use of control outs is when doing live stage
- work. The mix engineer will be listening to the control outs, and can
- therefore solo tracks without affecting the signal being sent to the
- master outs (the main speakers).
- </para>
- </section>
- </section>
+ <section id="new-session-control-outs">
+ <title>Control Outputs</title>
+ <para>
+ Control outs are unusual for DAWs, but because Ardour is designed to
+ be as flexible as possible, and in particular is intended to be
+ useful as a live mixer, they are included here. Using control outs
+ provides you with a dedicated bus to which all tracks have an
+ additional output connection. As well as feeding their regular
+ outputs, they send data to the control outs as well. In an
+ unadjusted session, this means that the control outs carry the same
+ signal as the master outs. However, once you start soloing tracks,
+ the control outs will carry only soloed tracks while the master outs
+ continue to carry the entire mix. A typical use of control outs is
+ when doing live stage work. The mix engineer will be listening to
+ the control outs, and can therefore solo tracks without affecting
+ the signal being sent to the master outs (the main speakers).
+ </para>
+ </section>
+ </section>
</section>
diff --git a/manual/xml/default_track_names.xml b/manual/xml/default_track_names.xml
new file mode 100644
index 0000000000..e16d152e4b
--- /dev/null
+++ b/manual/xml/default_track_names.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+
+]>
+
+<section id="default-track-names">
+ <title>Default Track Names</title>
+ <para>
+ When a track is added to the session it is given a default name based on
+ the Track type. For example, the first audio track that is added to the
+ session will be given the name <literal>Audio 1</literal> and the first
+ bus will be called <literal>Bus 1</literal> and any subsequently added
+ tracks will be consecutively numbered.
+ </para>
+
+ <para>
+ Track names determine the names of the files created when recording to a
+ track so it is suggested that meaningful names are given to tracks, see
+ <xref linkend="renaming-tracks"/>
+ </para>
+</section>
diff --git a/manual/xml/editing_concepts.xml b/manual/xml/editing_concepts.xml
index 354ef8db95..c73bb00c2a 100644
--- a/manual/xml/editing_concepts.xml
+++ b/manual/xml/editing_concepts.xml
@@ -5,321 +5,335 @@
]>
<section id="sn-editing-concepts">
- <title>Editing Concepts</title>
- <para>
- In Ardour, "editing" describes the process of
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- making modifications to playlists. Recall that
- <glossterm linkend="gt-playlist">playlists</glossterm> are nothing more
- than lists of <glossterm linkend="gt-region">regions</glossterm> arranged
- over time.
- </para>
- </listitem>
- <listitem>
- <para>
- recording/modifying automation data
- </para>
- </listitem>
- </itemizedlist>
-
- <section id="editing-cut-copy-paste">
- <title> Cut/Copy/Paste </title>
- <para></para>
- </section>
-
- <section id="sn-snap-settings">
- <title>Snap Settings</title>
- <para>
- By default, when you move objects around, they move freely. There
- <emphasis>is</emphasis> a "granularity" to the motion, but it is a single
- audio frame (so typically on the order of 1/48000'th or 1/96000'th of a
- second), and at most zoom levels it will not be apparent in any way.
- </para>
-
- <para>
- However, this is not always the way you want to move some kinds of objects.
- If you are working with structured compositions that utilize traditional
- concepts of bars, beats, rythmn and so forth, you will often want to move
- regions so that that they always align to specific periodic time points
- that correspond to the start of a bar, or a beat etc. If you are working on
- a movie soundtrack, you may prefer to have regions always align to SMPTE
- frames, or perhaps even to whole seconds.
- </para>
-
- <para>
- Ardour provides a wide variety of "snap" settings. If any but "None" is
- selected, they define a grid of timepoints which will be used to "snap"
- object positions as they are dragged. The grid can be regular (as is the
- case if you choose "Beats", for example), or it can be completely irregular
- (if you choose "Marks", for example). It can even consist of a
- <emphasis>single</emphasis> timepoint (if you choose "Edit cursor", for
- example).
- </para>
-
- <variablelist>
- <title> Possible Snap Settings </title>
- <varlistentry>
- <term><guilabel>None</guilabel></term>
- <listitem>
- <para>
- no alignment used at all
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> CD Frames</guilabel></term>
- <listitem>
- <para>
- align to 1/75th of a second intervals, as defined by the "Redbook" Audio
- CD standards
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> SMPTE Frames</guilabel></term>
- <listitem>
- <para>
- align to whatever the current SMPTE frame interval is (defined in the
- options editor)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> SMPTE Seconds</guilabel></term>
- <listitem>
- <para>
- align to whole seconds, adjusted to account for any SMPTE start offset
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> SMPTE Minutes</guilabel></term>
- <listitem>
- <para>
- align to whole minutes, adjust to account for any SMPTE start offset
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Seconds</guilabel></term>
- <listitem>
- <para>
- align to whole seconds
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Minutes</guilabel></term>
- <listitem>
- <para>
- align to whole minutes
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Beats/32</guilabel></term>
- <listitem>
- <para>
- align to 1/32 divisions of the beat
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Beats/16</guilabel></term>
- <listitem>
- <para>
- align to 1/16 divisions of the beat
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Beats/8</guilabel></term>
- <listitem>
- <para>
- align to 1/8 divisions of the beat
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Beats/4</guilabel></term>
- <listitem>
- <para>
- align to 1/4 divisions of the beat
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Beats/3</guilabel></term>
- <listitem>
- <para>
- align to 1/3 divisions of the beat
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Beats</guilabel></term>
- <listitem>
- <para>
- align to beats
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Bars</guilabel></term>
- <listitem>
- <para>
- align to the start of bars
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Marks</guilabel></term>
- <listitem>
- <para>
- align to the nearest mark of some kind
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Edit Cursor</guilabel></term>
- <listitem>
- <para>
- align to the current position of the edit cursor
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Region starts</guilabel></term>
- <listitem>
- <para>
- align to the nearest start of a region in the (first) selected track
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Region ends</guilabel></term>
- <listitem>
- <para>
- align to the nearest end of a region in the (first) selected track
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Region syncs</guilabel></term>
- <listitem>
- <para>
- align to the nearest region sync point in the (first) selected track
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel> Region bounds </guilabel></term>
- <listitem>
- <para>
- align to the nearest region start or end in the (first) selected track
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <section id="changing-snap-settings">
- <title> To change snap settings </title>
- <para>
- Move the mouse pointer to the toolbar panel of the editor window. Click on
- the "expansion arrow" of the "Snap setting" chooser. This will popup a
- list of available snap settings. If necessary, scroll down to see your
- desired choice. Click on your choice in the list to dismiss it and make
- Ardour switch to the new setting.
- </para>
-
- <note>
- <para>
- Changing snap settings has <emphasis>no</emphasis> effect on the position
- of any existing region. Its effect is only on objects being moved.
- </para>
- </note>
- <tip>
- <para>
- The snap setting also affects moving the playhead, the edit cursor,
- loop/punch and location markers, and dragging/moving range selections.
- </para>
- </tip>
- </section>
-
- <section id="snap-mode">
- <title> Snap Mode </title>
- <para>
- There are two subtly different ways in which the snap setting can affect
- region motion:
- </para>
-
- <variablelist>
- <title></title>
- <varlistentry>
- <term>normal snap mode</term>
- <listitem>
- <para>
- regions can only be moved to positions defined by the snap setting. It
- is not possible to move them to intermediate positions.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>magnetic snap mode</term>
- <listitem>
- <para>
- regions can still be moved to positions not defined by the setting, but
- they "stick" to the timepoints that are when dragged across them.
- Imagine that the timepoints and the regions are magnetic - or just try
- it and see.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- However, you can press the <emphasis>snap modifier</emphasis> key while
- dragging, and the snap setting will be ignored. By default, this is the
- key on your keyboard that generates <emphasis>Mod3</emphasis> , but you
- can modify this from the <emphasis>Options Editor</emphasis> keyboard tab.
- </para>
- </section>
-
- <section id="changing-snap-mode">
- <title> To change snap mode </title>
- <para>
- Move the mouse pointer to the toolbar panel of the editor window. Click on
- the "expansion arrow" of the "Snap mode" chooser. This will popup a list
- of available snap settings. If necessary, scroll down to see your desired
- choice. Click on your choice in the list to dismiss it and make Ardour
- switch to the new setting.
- </para>
- </section>
- </section>
+ <title>Editing Concepts</title>
+ <para>
+ In Ardour, "editing" describes the process of
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ making modifications to playlists. Recall that
+ <glossterm linkend="gt-playlist">playlists</glossterm> are nothing
+ more than lists of
+ <glossterm linkend="gt-region">regions</glossterm> arranged over
+ time.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ recording/modifying automation data
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <section id="editing-cut-copy-paste">
+ <title> Cut/Copy/Paste </title>
+ <para></para>
+ </section>
+
+ <section id="sn-snap-settings">
+ <title>Snap Settings</title>
+ <para>
+ By default, when you move objects around, they move freely. There
+ <emphasis>is</emphasis> a "granularity" to the motion, but it is a
+ single audio frame (so typically on the order of 1/48000'th or
+ 1/96000'th of a second), and at most zoom levels it will not be
+ apparent in any way.
+ </para>
+
+ <para>
+ However, this is not always the way you want to move some kinds of
+ objects. If you are working with structured compositions that utilize
+ traditional concepts of bars, beats, rythmn and so forth, you will
+ often want to move regions so that that they always align to specific
+ periodic time points that correspond to the start of a bar, or a beat
+ etc. If you are working on a movie soundtrack, you may prefer to have
+ regions always align to SMPTE frames, or perhaps even to whole
+ seconds.
+ </para>
+
+ <para>
+ Ardour provides a wide variety of "snap" settings. If any but "None"
+ is selected, they define a grid of timepoints which will be used to
+ "snap" object positions as they are dragged. The grid can be regular
+ (as is the case if you choose "Beats", for example), or it can be
+ completely irregular (if you choose "Marks", for example). It can even
+ consist of a <emphasis>single</emphasis> timepoint (if you choose
+ "Edit cursor", for example).
+ </para>
+
+ <variablelist>
+ <title> Possible Snap Settings </title>
+ <varlistentry>
+ <term><guilabel>None</guilabel></term>
+ <listitem>
+ <para>
+ no alignment used at all
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> CD Frames</guilabel></term>
+ <listitem>
+ <para>
+ align to 1/75th of a second intervals, as defined by the
+ "Redbook" Audio CD standards
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> SMPTE Frames</guilabel></term>
+ <listitem>
+ <para>
+ align to whatever the current SMPTE frame interval is (defined
+ in the options editor)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> SMPTE Seconds</guilabel></term>
+ <listitem>
+ <para>
+ align to whole seconds, adjusted to account for any SMPTE start
+ offset
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> SMPTE Minutes</guilabel></term>
+ <listitem>
+ <para>
+ align to whole minutes, adjust to account for any SMPTE start
+ offset
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Seconds</guilabel></term>
+ <listitem>
+ <para>
+ align to whole seconds
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Minutes</guilabel></term>
+ <listitem>
+ <para>
+ align to whole minutes
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Beats/32</guilabel></term>
+ <listitem>
+ <para>
+ align to 1/32 divisions of the beat
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Beats/16</guilabel></term>
+ <listitem>
+ <para>
+ align to 1/16 divisions of the beat
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Beats/8</guilabel></term>
+ <listitem>
+ <para>
+ align to 1/8 divisions of the beat
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Beats/4</guilabel></term>
+ <listitem>
+ <para>
+ align to 1/4 divisions of the beat
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Beats/3</guilabel></term>
+ <listitem>
+ <para>
+ align to 1/3 divisions of the beat
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Beats</guilabel></term>
+ <listitem>
+ <para>
+ align to beats
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Bars</guilabel></term>
+ <listitem>
+ <para>
+ align to the start of bars
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Marks</guilabel></term>
+ <listitem>
+ <para>
+ align to the nearest mark of some kind
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Edit Cursor</guilabel></term>
+ <listitem>
+ <para>
+ align to the current position of the edit cursor
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Region starts</guilabel></term>
+ <listitem>
+ <para>
+ align to the nearest start of a region in the (first) selected
+ track
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Region ends</guilabel></term>
+ <listitem>
+ <para>
+ align to the nearest end of a region in the (first) selected
+ track
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Region syncs</guilabel></term>
+ <listitem>
+ <para>
+ align to the nearest region sync point in the (first) selected
+ track
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel> Region bounds </guilabel></term>
+ <listitem>
+ <para>
+ align to the nearest region start or end in the (first) selected
+ track
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <section id="changing-snap-settings">
+ <title> To change snap settings </title>
+ <para>
+ Move the mouse pointer to the toolbar panel of the editor window.
+ Click on the "expansion arrow" of the "Snap setting" chooser. This
+ will popup a list of available snap settings. If necessary, scroll
+ down to see your desired choice. Click on your choice in the list to
+ dismiss it and make Ardour switch to the new setting.
+ </para>
+
+ <note>
+ <para>
+ Changing snap settings has <emphasis>no</emphasis> effect on the
+ position of any existing region. Its effect is only on objects
+ being moved.
+ </para>
+ </note>
+ <tip>
+ <para>
+ The snap setting also affects moving the playhead, the edit
+ cursor, loop/punch and location markers, and dragging/moving range
+ selections.
+ </para>
+ </tip>
+ </section>
+
+ <section id="snap-mode">
+ <title> Snap Mode </title>
+ <para>
+ There are two subtly different ways in which the snap setting can
+ affect region motion:
+ </para>
+
+ <variablelist>
+ <title></title>
+ <varlistentry>
+ <term>normal snap mode</term>
+ <listitem>
+ <para>
+ regions can only be moved to positions defined by the snap
+ setting. It is not possible to move them to intermediate
+ positions.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>magnetic snap mode</term>
+ <listitem>
+ <para>
+ regions can still be moved to positions not defined by the
+ setting, but they "stick" to the timepoints that are when
+ dragged across them. Imagine that the timepoints and the
+ regions are magnetic - or just try it and see.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ However, you can press the <emphasis>snap modifier</emphasis> key
+ while dragging, and the snap setting will be ignored. By default,
+ this is the key on your keyboard that generates
+ <emphasis>Mod3</emphasis> , but you can modify this from the
+ <emphasis>Options Editor</emphasis> keyboard tab.
+ </para>
+ </section>
+
+ <section id="changing-snap-mode">
+ <title> To change snap mode </title>
+ <para>
+ Move the mouse pointer to the toolbar panel of the editor window.
+ Click on the "expansion arrow" of the "Snap mode" chooser. This will
+ popup a list of available snap settings. If necessary, scroll down
+ to see your desired choice. Click on your choice in the list to
+ dismiss it and make Ardour switch to the new setting.
+ </para>
+ </section>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/editor_aligning_key_bindings.xml b/manual/xml/editor_aligning_key_bindings.xml
index aefb0b604a..8a6c677272 100644
--- a/manual/xml/editor_aligning_key_bindings.xml
+++ b/manual/xml/editor_aligning_key_bindings.xml
@@ -5,62 +5,68 @@
]>
<section id="sn-editor-aligning-key-bindings">
- <title>Aligning</title>
- <table id="tbl-editor-aligning-key-bindings">
- <title>Editor Aligning Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>a</keycap>
- </keycombo>
- </entry>
- <entry>
- relative alignment of region sync points or starts
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Meta</keycap><keycap>a</keycap>
- </keycombo>
- </entry>
- <entry>
- absolute alignment of region sync points or starts
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>a</keycap>
- </keycombo>
- </entry>
- <entry>
- relative alignment of region ends
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>Meta</keycap><keycap>a</keycap>
- </keycombo>
- </entry>
- <entry>
- align region ends
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Aligning</title>
+ <table id="tbl-editor-aligning-key-bindings">
+ <title>Editor Aligning Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>a</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ relative alignment of region sync points or starts
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Meta</keycap><keycap>a</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ absolute alignment of region sync points or starts
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>a</keycap>
+ </keycombo>
+ </entry>
+
+ <entry>
+ relative alignment of region ends
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>Meta</keycap><keycap>a</keycap>
+ </keycombo>
+ </entry>
+
+ <entry>
+ align region ends
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/editor_canvas_key_bindings.xml b/manual/xml/editor_canvas_key_bindings.xml
index 2c9a07483f..e9b3eb4d08 100644
--- a/manual/xml/editor_canvas_key_bindings.xml
+++ b/manual/xml/editor_canvas_key_bindings.xml
@@ -1,107 +1,112 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-editor-canvas-key-bindings">
+ <title>Changing What's Visible</title>
+ <table id="tbl-editor-canvas-key-bindings">
+ <title>Editor Canvas Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>left arrow</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move editor timeline earlier
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>b</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move editor timeline earlier
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>right arrow</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move editor timeline later
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>f</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move editor timeline later
+ </entry>
+ </row>
- <title>Changing What's Visible</title>
-
- <table id="tbl-editor-canvas-key-bindings">
- <title>Editor Canvas Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>left arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- move editor timeline earlier
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>b</keycap>
- </keycombo>
- </entry>
- <entry>
- move editor timeline earlier
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>right arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- move editor timeline later
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>f</keycap>
- </keycombo>
- </entry>
- <entry>
- move editor timeline later
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Page_Up</keycap>
- </keycombo>
- </entry>
- <entry>
- scroll track display up
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Page_Down</keycap>
- </keycombo>
- </entry>
- <entry>
- scroll track display down
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Up arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- step track display up
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Down arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- step track display down
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <!--
+ <row>
+ <entry>
+ <keycombo><keycap>Page_Up</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ scroll track display up
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Page_Down</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ scroll track display down
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Up arrow</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ step track display up
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Down arrow</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ step track display down
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/editor_edit_cursor_position_key_bindings.xml b/manual/xml/editor_edit_cursor_position_key_bindings.xml
index b9e8043192..1190e3efa7 100644
--- a/manual/xml/editor_edit_cursor_position_key_bindings.xml
+++ b/manual/xml/editor_edit_cursor_position_key_bindings.xml
@@ -1,124 +1,133 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-editor-edit-cursor-key-bindings">
+ <title>Moving the Edit Cursor</title>
+ <table id="tbl-editor-edit-position-key-bindings">
+ <title>Edit Cursor Position Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>e</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ position edit cursor at mouse pointer
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>Return</keycap>
+ </keycombo>
+ </entry>
+
+ <entry>
+ move edit cursor to playhead
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>[</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move edit cursor to earlier region start
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>[</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move edit cursor to earlier region end
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>]</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move edit cursor to next region start
+ </entry>
+ </row>
- <title>Moving the Edit Cursor</title>
-
- <table id="tbl-editor-edit-position-key-bindings">
- <title>Edit Cursor Position Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>e</keycap>
- </keycombo>
- </entry>
- <entry>
- position edit cursor at mouse pointer
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><keycap>Return</keycap>
- </keycombo>
- </entry>
- <entry>
- move edit cursor to playhead
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>[</keycap>
- </keycombo>
- </entry>
- <entry>
- move edit cursor to earlier region start
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>[</keycap>
- </keycombo>
- </entry>
- <entry>
- move edit cursor to earlier region end
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>]</keycap>
- </keycombo>
- </entry>
- <entry>
- move edit cursor to next region start
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>]</keycap>
- </keycombo>
- </entry>
- <entry>
- move edit cursor to next region end
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>&#8221;&#8221;&#8217;</keycap>
- </keycombo>
- </entry>
- <entry>
- move edit cursor to next region sync
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>;</keycap>
- </keycombo>
- </entry>
- <entry>
- moved edit cursor to previous region sync
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>F1</keycap>
- </keycombo>
- </entry>
- <entry>
- move edit cursor to start of range selection (if defined)
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>F2</keycap></keycombo>
- </entry>
- <entry>
- move edit cursor to end of range selection (if defined)
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <!--
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>]</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move edit cursor to next region end
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>&#8221;&#8221;&#8217;</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move edit cursor to next region sync
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>;</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ moved edit cursor to previous region sync
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>F1</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move edit cursor to start of range selection (if defined)
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>F2</keycap></keycombo>
+ </entry>
+
+ <entry>
+ move edit cursor to end of range selection (if defined)
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/editor_locations_marks_key_bindings.xml b/manual/xml/editor_locations_marks_key_bindings.xml
index c43640b1c2..d83c446578 100644
--- a/manual/xml/editor_locations_marks_key_bindings.xml
+++ b/manual/xml/editor_locations_marks_key_bindings.xml
@@ -1,63 +1,62 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-editor-location-marks-key-bindings">
+ <title>Locations and Marks</title>
+ <table id="tbl-editor-locations-marks-key-bindings">
+ <title>Locations and Marks Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>Enter</keycap> </keycombo> (keypad)
+ </entry>
+
+ <entry>
+ create a new marker at the playhead location
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Keypad &gt;</keycap> </keycombo>
+ </entry>
- <title>Locations and Marks</title>
-
- <table id="tbl-editor-locations-marks-key-bindings">
- <title>Locations and Marks Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>Enter</keycap>
- </keycombo>
- (keypad)
- </entry>
- <entry>
- create a new marker at the playhead location
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Keypad &gt;</keycap>
- </keycombo>
- </entry>
- <entry>
- move playhead to next marker
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Keypad &lt;</keycap>
- </keycombo>
- </entry>
- <entry>
- move playhead to previous marker
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <!--
+ <entry>
+ move playhead to next marker
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Keypad &lt;</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move playhead to previous marker
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/editor_miscellaneous_key_bindings.xml b/manual/xml/editor_miscellaneous_key_bindings.xml
index f6a05c485c..1fd40d13ea 100644
--- a/manual/xml/editor_miscellaneous_key_bindings.xml
+++ b/manual/xml/editor_miscellaneous_key_bindings.xml
@@ -1,53 +1,52 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-editor-miscellaneous-key-bindings">
+ <title>Miscellaneous</title>
+ <table id="tbl-editor-miscellaneous-key-bindings">
+ <title>Miscellaneous Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>l</keycap> </keycombo>
+ </entry>
- <title>Miscellaneous</title>
+ <entry>
+ toggle auto loop
+ </entry>
+ </row>
- <table id="tbl-editor-miscellaneous-key-bindings">
- <title>Miscellaneous Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>l</keycap>
- </keycombo>
- </entry>
- <entry>
- toggle auto loop
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>f</keycap>
- </keycombo>
- </entry>
- <entry>
- toggle follow playhead
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <row>
+ <entry>
+ <keycombo><keycap>f</keycap> </keycombo>
+ </entry>
- <!--
+ <entry>
+ toggle follow playhead
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/editor_nudging_key_bindings.xml b/manual/xml/editor_nudging_key_bindings.xml
index fa3110d8c6..8c0560d0b8 100644
--- a/manual/xml/editor_nudging_key_bindings.xml
+++ b/manual/xml/editor_nudging_key_bindings.xml
@@ -1,73 +1,73 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-editor-nudging-key-bindings">
+ <title>Nudging Key Bindings</title>
+ <table id="tbl-editor-nudging-key-bindings">
+ <title>Nudging Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>+</keycap> </keycombo> (keypad)
+ </entry>
+
+ <entry>
+ nudge forward
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>+</keycap> </keycombo>
+ (keypad)
+ </entry>
- <title>Nudging Key Bindings</title>
+ <entry>
+ nudge next forward
+ </entry>
+ </row>
- <table id="tbl-editor-nudging-key-bindings">
- <title>Nudging Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>+</keycap>
- </keycombo>
- (keypad)
- </entry>
- <entry>
- nudge forward
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>+</keycap>
- </keycombo>
- (keypad)
- </entry>
- <entry>
- nudge next forward
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>-</keycap>
- </keycombo>
- (keypad)
- </entry>
- <entry>
- nudge backward
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>-</keycap>
- </keycombo>
- </entry>
- <entry>
- nudge next backward
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <!--
+ <row>
+ <entry>
+ <keycombo><keycap>-</keycap> </keycombo> (keypad)
+ </entry>
+
+ <entry>
+ nudge backward
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>-</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ nudge next backward
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/editor_play_position_key_bindings.xml b/manual/xml/editor_play_position_key_bindings.xml
index d48568417a..52024cbb59 100644
--- a/manual/xml/editor_play_position_key_bindings.xml
+++ b/manual/xml/editor_play_position_key_bindings.xml
@@ -5,108 +5,116 @@
]>
<section id="sn-editor-play-position-key-bindings">
- <title>Moving the Playhead</title>
- <table id="tbl-editor-play-position-key-bindings">
- <title>Play Position Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>p</keycap>
- </keycombo>
- </entry>
- <entry>
- position playhead at mouse pointer
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Return</keycap>
- </keycombo>
- </entry>
- <entry>
- move playhead to edit cursor
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Tab</keycap>
- </keycombo>
- </entry>
- <entry>
- move playhead to later region start
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>Tab</keycap>
- </keycombo>
- </entry>
- <entry>
- move playhead to later region end
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>`</keycap>
- </keycombo>
- </entry>
- <entry>
- move playhead to earlier region start
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>`</keycap>
- </keycombo>
- </entry>
- <entry>
- move playhead to next mark
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>|</keycap>
- </keycombo>
- (keypad)
- </entry>
- <entry>
- move playhead to previous mark
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>l</keycap>
- </keycombo>
- </entry>
- <entry>
- center screen around playhead
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>g</keycap>
- </keycombo>
- </entry>
- <entry>
- goto
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Moving the Playhead</title>
+ <table id="tbl-editor-play-position-key-bindings">
+ <title>Play Position Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>p</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ position playhead at mouse pointer
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Return</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move playhead to edit cursor
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Tab</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move playhead to later region start
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>Tab</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move playhead to later region end
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>`</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move playhead to earlier region start
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>`</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ move playhead to next mark
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>|</keycap> </keycombo> (keypad)
+ </entry>
+
+ <entry>
+ move playhead to previous mark
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>l</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ center screen around playhead
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>g</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ goto
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/editor_range_operations_key_bindings.xml b/manual/xml/editor_range_operations_key_bindings.xml
index eadb736066..111de889de 100644
--- a/manual/xml/editor_range_operations_key_bindings.xml
+++ b/manual/xml/editor_range_operations_key_bindings.xml
@@ -1,80 +1,83 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-editor-range-operations-key-bindings">
+ <title>Range Operations</title>
+ <table id="tbl-editor-range-operations-key-bindings">
+ <title>Range Operations Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>Keypad Down arrow</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ begin range definition while transport rolls
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Keypad Up arrow</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ end range definition while transport rolls
+ </entry>
+ </row>
- <title>Range Operations</title>
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap><keycap>Tab</keycap> </keycombo>
+ </entry>
- <table id="tbl-editor-range-operations-key-bindings">
- <title>Range Operations Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>Keypad Down arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- begin range definition while transport rolls
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Keypad Up arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- end range definition while transport rolls
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap><keycap>Tab</keycap>
- </keycombo>
- </entry>
- <entry>
- extend range to end of region
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>Tab</keycap>
- </keycombo>
- </entry>
- <entry>
- extend range to start of region
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Meta</keycap><keycap>s</keycap>
- </keycombo>
- </entry>
- <entry>
- duplicate range
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <entry>
+ extend range to end of region
+ </entry>
+ </row>
- <!--
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>Tab</keycap>
+ </keycombo>
+ </entry>
+
+ <entry>
+ extend range to start of region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Meta</keycap><keycap>s</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ duplicate range
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/editor_region_operations_key_bindings.xml b/manual/xml/editor_region_operations_key_bindings.xml
index ed3d429f87..e830c2c338 100644
--- a/manual/xml/editor_region_operations_key_bindings.xml
+++ b/manual/xml/editor_region_operations_key_bindings.xml
@@ -1,88 +1,92 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-editor-region-operation-key-bindings">
+ <title>Region Operations Key Bindings</title>
+ <table id="tbl-editor-region-operation-key-bindings">
+ <title>Region Operation Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>s</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ split region(s) at mouse
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>s</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ split region(s) at edit cursor
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Insert</keycap> </keycombo>
+ </entry>
- <title>Region Operations Key Bindings</title>
+ <entry>
+ insert selected region (from region list)
+ </entry>
+ </row>
- <table id="tbl-editor-region-operation-key-bindings">
- <title>Region Operation Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>s</keycap>
- </keycombo>
- </entry>
- <entry>
- split region(s) at mouse
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><keycap>s</keycap>
- </keycombo>
- </entry>
- <entry>
- split region(s) at edit cursor
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Insert</keycap>
- </keycombo>
- </entry>
- <entry>
- insert selected region (from region list)
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Meta</keycap><keycap>d</keycap>
- </keycombo>
- </entry>
- <entry>
- duplicate region
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><keycap>r</keycap>
- </keycombo>
- </entry>
- <entry>
- reverse region
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><keycap>n</keycap>
- </keycombo>
- </entry>
- <entry>
- normalize region
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <!--
+ <row>
+ <entry>
+ <keycombo><keycap>Meta</keycap><keycap>d</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ duplicate region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>r</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ reverse region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>n</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ normalize region
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/editor_standard_editing_key_bindings.xml b/manual/xml/editor_standard_editing_key_bindings.xml
index d2f35dd1b7..d8f23899ec 100644
--- a/manual/xml/editor_standard_editing_key_bindings.xml
+++ b/manual/xml/editor_standard_editing_key_bindings.xml
@@ -5,80 +5,86 @@
]>
<section id="sn-editor-standard-editing-key-bindings">
- <title>Standard Editing</title>
- <table id="tbl-editor-standard-editing-key-bindings">
- <title>Editor Standard Editing Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>z</keycap>
- </keycombo>
- </entry>
- <entry>
- undo
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>r</keycap>
- </keycombo>
- </entry>
- <entry>
- redo
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>x</keycap>
- </keycombo>
- </entry>
- <entry>
- cut
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Delete</keycap>
- </keycombo>
- </entry>
- <entry>
- cut
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>c</keycap>
- </keycombo>
- </entry>
- <entry>
- copy
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>v</keycap>
- </keycombo>
- </entry>
- <entry>
- paste
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Standard Editing</title>
+ <table id="tbl-editor-standard-editing-key-bindings">
+ <title>Editor Standard Editing Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>z</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ undo
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>r</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ redo
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>x</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ cut
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Delete</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ cut
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>c</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ copy
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>v</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ paste
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/editor_window.xml b/manual/xml/editor_window.xml
index e9000c0992..8f56afaa2e 100644
--- a/manual/xml/editor_window.xml
+++ b/manual/xml/editor_window.xml
@@ -5,82 +5,82 @@
]>
<section id="sn-editor-window">
- <title>The Editor</title>
- <para>
- Ardour provides two ways of viewing a session: the Editor and the Mixer. The
- Editor shows the session by representing tracks as horizontal timeline
- displays, with material within the tracks (audio, MIDI, video, automation
- data, etc.) arranged along the horizontal (time) axis. The Mixer shows the
- session by representing tracks as mixer strips, with controls for gain,
- record enable, soloing and so forth. More abstractly, the Editor represents
- the time based aspects of a session, whereas the Mixer represents the signal
- flow.
- </para>
+ <title>The Editor</title>
+ <para>
+ Ardour provides two ways of viewing a session: the Editor and the Mixer.
+ The Editor shows the session by representing tracks as horizontal
+ timeline displays, with material within the tracks (audio, MIDI, video,
+ automation data, etc.) arranged along the horizontal (time) axis. The
+ Mixer shows the session by representing tracks as mixer strips, with
+ controls for gain, record enable, soloing and so forth. More abstractly,
+ the Editor represents the time based aspects of a session, whereas the
+ Mixer represents the signal flow.
+ </para>
- <para>
- However, it is quite possible to control the signal flow aspects from within
- the Editor as well, without the comprehensive overview that the Mixer
- provides. For some sessions, especially during the early stages of a
- session, the Editor may be the only window you need to use.
- </para>
+ <para>
+ However, it is quite possible to control the signal flow aspects from
+ within the Editor as well, without the comprehensive overview that the
+ Mixer provides. For some sessions, especially during the early stages of
+ a session, the Editor may be the only window you need to use.
+ </para>
- <section id="editor-window-layout">
- <title>Editor Window Layout</title>
- <para>
- Lets survey the basic layout of the editor window:
- </para>
+ <section id="editor-window-layout">
+ <title>Editor Window Layout</title>
+ <para>
+ Lets survey the basic layout of the editor window:
+ </para>
- <para>
- The transport controls are in a tearoff window at the top of the editor,
- and are described in transport_window.
- </para>
- </section>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <para>
+ The transport controls are in a tearoff window at the top of the
+ editor, and are described in transport_window.
+ </para>
+ </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_window_controls.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_window_track_list.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_window_group_list.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_window_region_list.xml" />
- <section id="editor-window-chunk-list">
- <title>Chunk List</title>
- <para>
- Below the region list is the Chunk List, which provides a visual list of
- all "chunks". Chunks are collections (possibly discontiguous)
- of sections.
- </para>
- </section>
+ <section id="editor-window-chunk-list">
+ <title>Chunk List</title>
+ <para>
+ Below the region list is the Chunk List, which provides a visual list
+ of all "chunks". Chunks are collections (possibly discontiguous) of
+ sections.
+ </para>
+ </section>
- <section id="editor-window-track-display">
- <title>Track Display</title>
- <para>
- This is the main area within the editor. Each track or bus is represented
- by a horizontal "stripe", with a set of controls on the left
- side, with the timeline above them all.
- </para>
- </section>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <section id="editor-window-track-display">
+ <title>Track Display</title>
+ <para>
+ This is the main area within the editor. Each track or bus is
+ represented by a horizontal "stripe", with a set of controls on the
+ left side, with the timeline above them all.
+ </para>
+ </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_window_timeline.xml" />
- <section id="editor-window-track-controls">
- <title>Track Controls</title>
- <para>
- Each track has a set of controls on its left side. Which controls are
- present varies depending on the type of track (audio, bus, automation,
- MIDI, etc.). Every track type has a "hide" button marked with a
- cross. Click on this to hide the track.
- </para>
- </section>
+ <section id="editor-window-track-controls">
+ <title>Track Controls</title>
+ <para>
+ Each track has a set of controls on its left side. Which controls are
+ present varies depending on the type of track (audio, bus, automation,
+ MIDI, etc.). Every track type has a "hide" button marked with a cross.
+ Click on this to hide the track.
+ </para>
+ </section>
- <section id="editor-window-track-views">
- <title>Track Views</title>
- <para>
- This is where all editing takes place. The track views contain region
- objects, curve control points, lines and other items that can be added,
- removed, copied, cut and pasted. See editing_basics for more information on
- editing.
- </para>
- </section>
+ <section id="editor-window-track-views">
+ <title>Track Views</title>
+ <para>
+ This is where all editing takes place. The track views contain region
+ objects, curve control points, lines and other items that can be
+ added, removed, copied, cut and pasted. See editing_basics for more
+ information on editing.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/editor_window_controls.xml b/manual/xml/editor_window_controls.xml
index dbd152f0d1..092a4ce6b7 100644
--- a/manual/xml/editor_window_controls.xml
+++ b/manual/xml/editor_window_controls.xml
@@ -5,312 +5,341 @@
]>
<section id="editor-window-controls">
- <title>Editor Controls</title>
- <para>
- The editor controls are in a tearoff window, which you can use in the usual
- way.
- </para>
-
- <section id="editor-edit-cursor-clock">
- <title>Edit cursor clock</title>
- <para>
- This clock shows the current position of the edit cursor. You can edit the
- position using the clock if you wish.
- </para>
- </section>
-
- <section id="editor-zoom-buttons">
- <title>Zoom buttons</title>
- <para>
- The zoom buttons allow you to see more ("zoom out") or less
- ("zoom in") of the session timeline in the track display area.
- Click on the zoom out button to zoom out, and the zoom in button to zoom
- in.
- </para>
- </section>
-
- <section id="editor-zoom-range-clock">
- <title>Zoom range clock</title>
- <para>
- The zoom range clock shows the current duration of the timeline that is
- visible in the track display area. It does not indicate the location of the
- visible section of the timeline, only its length. You can zoom in and out
- by editing this clock directly, which may be useful if you want to see a
- precise duration within the editor.
- </para>
- </section>
-
- <section id="editor-zoom-selectors">
- <title>Zoom selectors</title>
- <para>
- The two zoom select buttons allow you to go to the maximum and minimum zoom
- levels with a single button click. The "1:1" button zooms all
- the way into single sample level, where each pixel on the screen represents
- a single sample. The "whole session button" zooms out to show
- the entire session in the track display area.
- </para>
- </section>
-
- <section id="editor-zoom-focus-control">
- <title>Zoom focus control</title>
- <para>
- When zooming, there is always a change in what is displayed in the track
- display area. However, one position in the display will continue to
- correspond to the same point in the timeline, and there are several choices
- of how to define that point. The default behaviour is to keep the left edge
- of the track display area constant. If it was at a position 1:12:14 into
- the session timeline before zooming, then it will continue to be at that
- position after zooming. Other points in the display that you can ensure are
- in the same position while zooming include the right edge of the track
- display, the center of the track display, the playhead and the edit cursor.
- Whichever of these is selected is known as the current zoom focus.
- </para>
-
- <para>
- To change the current zoom focus, click on the combo box to see the list of
- available choices. Click on the zoom focus you wish to use. The list of
- choices will disappear, and the new zoom focus choice will be in effect.
- </para>
- </section>
-
- <section id="editor-snap-control">
- <title>Snap control</title>
- <para>
- When moving objects around in the track display area, you have the choice
- of moving them freely or having their positions be limited to certain
- points along the timeline. This applies to region, the playhead, the edit
- cursor, curve control points and markers, among others. If you want the
- positions of objects to be limited, then you can choose from several
- different possibilities. We call this "snap to" because when
- moving objects around with the mouse, they appear to "snap to"
- various positions.
- </para>
-
- <para>
- The most obvious source of "snap to" positions is the tempo
- map, but ardour offers many different possibilities:
- </para>
- <table id="tbl-snap-control"><title>Snap Control</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Snap Option" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Snap Option
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- BBT
- </entry>
- <entry>
- you can select 64th,32nd,16th,8th,quarter and whole beat positions, as
- well as beat triplets and whole bars (measures).
- </entry>
- </row>
- <row>
- <entry>
- Region beginnings
- </entry>
- </row>
- <row>
- <entry>
- Region ends
- </entry>
- </row>
- <row>
- <entry>
- Region sync points
- </entry>
- </row>
- <row>
- <entry>
- Region boundaries
- </entry>
- <entry>
- (combines regions beginnings and ends)
- </entry>
- </row>
- <row>
- <entry>
- Marks
- </entry>
- </row>
- <row>
- <entry>
- Edit Cursor
- </entry>
- <entry>
- a single snap-to point. This is useful when aligning several objects at
- the same point. Set the edit cursor to the desired position, then
- select this snap setting, and then move the objects, which will
- immediately snap to the chosen position.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
-
- <section id="editor-edit-mode-control">
- <title>Edit mode control</title>
- <para>
- When moving regions around in a track, it is sometimes desirable to leave
- spaces between regions and sometimes to force regions to always be placed
- directly next to their neighbours. Which is more appropriate depends a lot
- on the nature of the project and the regions themselves.
- </para>
-
- <para>
- By default, Ardour uses slide mode which allows you to freely place regions
- in a track (subject to the current snap setting, of course). If you cut
- part of region, an empty space will remain where the part you removed used
- to be. If you move a region along the timeline, it will move independently
- of other regions, and will stay wherever you place it.
- </para>
-
- <para>
- If you are editing a session and require behaviour where regions are forced
- to always to be directly adjacent, you can switch to splice maybe. In this
- mode, cutting part of region will cause all later regions in the track to
- move up (earlier) the timeline so that there is no intervening space
- between them. Moving a region will cause other regions to move around so
- that the moved region fits "between" them.
- </para>
- </section>
-
- <section id="editor-window-nudge-buttons">
- <title>Nudge buttons</title>
- <para>
- Sometimes when editing its nice to be able to move objects by predefined
- amounts rather than just positioning them freely or using snap-to. This
- kind of motion is called nudging. At the present time, only the playhead,
- playlists and regions can be nudged. The distance an object is nudged is
- set by the nudge clock (see below).
- </para>
-
- <para>
- To nudge one or more regions forward by 1 second, first edit the nudge
- clock so that it specifies that time. Then select the region(s) by clicking
- on them, and finally click the nudge forward button.
- </para>
-
- <para>
- Nudging backwards is identical to nudging forwards, except that you should
- click on the nudge backwards button.
- </para>
-
- <para>
- To nudge a playlist forward or backwards, first set the nudge clock to the
- desired nudge distance. Then in the track that is using the playlist.
- Choose Nudge Nudge entire track fwd or Nudge nudge entire track bwd as
- desired.
- </para>
-
- <para>
- You can also nudge all regions in the playlist positioned after (later
- than) the edit cursor. To do this, follow the steps for nudging the
- playlist, but choose Nudge nudge track after edit cursor fwd or Nudge nudge
- track after edit cursor bwd, as appropriate.
- </para>
- </section>
-
- <section id="editor-window-nudge-clock">
- <title>Nudge clock</title>
- <para>
- You can edit the clock value to alter the distance that regions/playlists
- will be nudged. (see <xref linkend="sn-clocks"/> for instructions).
- </para>
- </section>
-
- <section id="editor-window-tool-selector">
- <title>Tool Selector</title>
- <para>
- The editor tool selector is in a tearoff window, and contains a series of
- buttons used to select what the mouse (and often the keyboard) will do when
- editing tracks. The tools include:
- </para>
- <table id="tbl-editor-window-mouse-modes"><title>Snap Control</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Snap Option" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Mode
- </entry>
- <entry>
- Description
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- object
- </entry>
- <entry>
- <para>
- Left-clicking Object will place the mouse in object mode. When in
- object mode, the mouse pointer appears as a hand whenever it is over
- the track canvas or the rulers. The mouse can now be used to select
- and perform operations on objects such as regions, markers etc.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- range
- </entry>
- <entry>
- <para>
- Left-clicking Range will place the mouse in range mode. When in range
- mode, the mouse pointer appears as a vertical line whenever it is over
- the track canvas or the rulers. The mouse will now be able to select a
- point or range of time. Time ranges can be selected over one or
- several tracks.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- gain
- </entry>
- </row>
- <row>
- <entry>
- zoom
- </entry>
- <entry>
- <para>
- Left-clicking Zoom will place the mouse in zoom mode. When in zoom
- mode, the mouse pointer appears as a magnifying glass whenever it is
- over the track canvas or the rulers. This mode is used to zoom the
- display to any range that is subsequently set using the mouse.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- timefx
- </entry>
- <entry>
- <para>
- Left-clicking Timefx will place the mouse in timefx mode. When in
- timefx mode, the mouse pointer appears as a distinctive 'expanding'
- illustration whenever it is over the track canvas or the rulers. This
- mode is used to resize regions using a timestretch algorithm.
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
+ <title>Editor Controls</title>
+ <para>
+ The editor controls are in a tearoff window, which you can use in the
+ usual way.
+ </para>
+
+ <section id="editor-edit-cursor-clock">
+ <title>Edit cursor clock</title>
+ <para>
+ This clock shows the current position of the edit cursor. You can edit
+ the position using the clock if you wish.
+ </para>
+ </section>
+
+ <section id="editor-zoom-buttons">
+ <title>Zoom buttons</title>
+ <para>
+ The zoom buttons allow you to see more ("zoom out") or less ("zoom
+ in") of the session timeline in the track display area. Click on the
+ zoom out button to zoom out, and the zoom in button to zoom in.
+ </para>
+ </section>
+
+ <section id="editor-zoom-range-clock">
+ <title>Zoom range clock</title>
+ <para>
+ The zoom range clock shows the current duration of the timeline that
+ is visible in the track display area. It does not indicate the
+ location of the visible section of the timeline, only its length. You
+ can zoom in and out by editing this clock directly, which may be
+ useful if you want to see a precise duration within the editor.
+ </para>
+ </section>
+
+ <section id="editor-zoom-selectors">
+ <title>Zoom selectors</title>
+ <para>
+ The two zoom select buttons allow you to go to the maximum and minimum
+ zoom levels with a single button click. The "1:1" button zooms all the
+ way into single sample level, where each pixel on the screen
+ represents a single sample. The "whole session button" zooms out to
+ show the entire session in the track display area.
+ </para>
+ </section>
+
+ <section id="editor-zoom-focus-control">
+ <title>Zoom focus control</title>
+ <para>
+ When zooming, there is always a change in what is displayed in the
+ track display area. However, one position in the display will continue
+ to correspond to the same point in the timeline, and there are several
+ choices of how to define that point. The default behaviour is to keep
+ the left edge of the track display area constant. If it was at a
+ position 1:12:14 into the session timeline before zooming, then it
+ will continue to be at that position after zooming. Other points in
+ the display that you can ensure are in the same position while zooming
+ include the right edge of the track display, the center of the track
+ display, the playhead and the edit cursor. Whichever of these is
+ selected is known as the current zoom focus.
+ </para>
+
+ <para>
+ To change the current zoom focus, click on the combo box to see the
+ list of available choices. Click on the zoom focus you wish to use.
+ The list of choices will disappear, and the new zoom focus choice will
+ be in effect.
+ </para>
+ </section>
+
+ <section id="editor-snap-control">
+ <title>Snap control</title>
+ <para>
+ When moving objects around in the track display area, you have the
+ choice of moving them freely or having their positions be limited to
+ certain points along the timeline. This applies to region, the
+ playhead, the edit cursor, curve control points and markers, among
+ others. If you want the positions of objects to be limited, then you
+ can choose from several different possibilities. We call this "snap
+ to" because when moving objects around with the mouse, they appear to
+ "snap to" various positions.
+ </para>
+
+ <para>
+ The most obvious source of "snap to" positions is the tempo map, but
+ ardour offers many different possibilities:
+ </para>
+
+ <table id="tbl-snap-control">
+ <title>Snap Control</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Snap Option" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Snap Option
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ BBT
+ </entry>
+
+ <entry>
+ you can select 64th,32nd,16th,8th,quarter and whole beat
+ positions, as well as beat triplets and whole bars (measures).
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Region beginnings
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Region ends
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Region sync points
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Region boundaries
+ </entry>
+
+ <entry>
+ (combines regions beginnings and ends)
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Marks
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Edit Cursor
+ </entry>
+
+ <entry>
+ a single snap-to point. This is useful when aligning several
+ objects at the same point. Set the edit cursor to the desired
+ position, then select this snap setting, and then move the
+ objects, which will immediately snap to the chosen position.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section id="editor-edit-mode-control">
+ <title>Edit mode control</title>
+ <para>
+ When moving regions around in a track, it is sometimes desirable to
+ leave spaces between regions and sometimes to force regions to always
+ be placed directly next to their neighbours. Which is more appropriate
+ depends a lot on the nature of the project and the regions themselves.
+ </para>
+
+ <para>
+ By default, Ardour uses slide mode which allows you to freely place
+ regions in a track (subject to the current snap setting, of course).
+ If you cut part of region, an empty space will remain where the part
+ you removed used to be. If you move a region along the timeline, it
+ will move independently of other regions, and will stay wherever you
+ place it.
+ </para>
+
+ <para>
+ If you are editing a session and require behaviour where regions are
+ forced to always to be directly adjacent, you can switch to splice
+ maybe. In this mode, cutting part of region will cause all later
+ regions in the track to move up (earlier) the timeline so that there
+ is no intervening space between them. Moving a region will cause other
+ regions to move around so that the moved region fits "between" them.
+ </para>
+ </section>
+
+ <section id="editor-window-nudge-buttons">
+ <title>Nudge buttons</title>
+ <para>
+ Sometimes when editing its nice to be able to move objects by
+ predefined amounts rather than just positioning them freely or using
+ snap-to. This kind of motion is called nudging. At the present time,
+ only the playhead, playlists and regions can be nudged. The distance
+ an object is nudged is set by the nudge clock (see below).
+ </para>
+
+ <para>
+ To nudge one or more regions forward by 1 second, first edit the nudge
+ clock so that it specifies that time. Then select the region(s) by
+ clicking on them, and finally click the nudge forward button.
+ </para>
+
+ <para>
+ Nudging backwards is identical to nudging forwards, except that you
+ should click on the nudge backwards button.
+ </para>
+
+ <para>
+ To nudge a playlist forward or backwards, first set the nudge clock to
+ the desired nudge distance. Then in the track that is using the
+ playlist. Choose Nudge Nudge entire track fwd or Nudge nudge entire
+ track bwd as desired.
+ </para>
+
+ <para>
+ You can also nudge all regions in the playlist positioned after (later
+ than) the edit cursor. To do this, follow the steps for nudging the
+ playlist, but choose Nudge nudge track after edit cursor fwd or Nudge
+ nudge track after edit cursor bwd, as appropriate.
+ </para>
+ </section>
+
+ <section id="editor-window-nudge-clock">
+ <title>Nudge clock</title>
+ <para>
+ You can edit the clock value to alter the distance that
+ regions/playlists will be nudged. (see <xref linkend="sn-clocks"/> for
+ instructions).
+ </para>
+ </section>
+
+ <section id="editor-window-tool-selector">
+ <title>Tool Selector</title>
+ <para>
+ The editor tool selector is in a tearoff window, and contains a series
+ of buttons used to select what the mouse (and often the keyboard) will
+ do when editing tracks. The tools include:
+ </para>
+
+ <table id="tbl-editor-window-mouse-modes">
+ <title>Snap Control</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Snap Option" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Mode
+ </entry>
+
+ <entry>
+ Description
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ object
+ </entry>
+
+ <entry>
+ <para>
+ Left-clicking Object will place the mouse in object mode.
+ When in object mode, the mouse pointer appears as a hand
+ whenever it is over the track canvas or the rulers. The
+ mouse can now be used to select and perform operations on
+ objects such as regions, markers etc.
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ range
+ </entry>
+
+ <entry>
+ <para>
+ Left-clicking Range will place the mouse in range mode. When
+ in range mode, the mouse pointer appears as a vertical line
+ whenever it is over the track canvas or the rulers. The
+ mouse will now be able to select a point or range of time.
+ Time ranges can be selected over one or several tracks.
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ gain
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ zoom
+ </entry>
+
+ <entry>
+ <para>
+ Left-clicking Zoom will place the mouse in zoom mode. When
+ in zoom mode, the mouse pointer appears as a magnifying
+ glass whenever it is over the track canvas or the rulers.
+ This mode is used to zoom the display to any range that is
+ subsequently set using the mouse.
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ timefx
+ </entry>
+
+ <entry>
+ <para>
+ Left-clicking Timefx will place the mouse in timefx mode.
+ When in timefx mode, the mouse pointer appears as a
+ distinctive 'expanding' illustration whenever it is over the
+ track canvas or the rulers. This mode is used to resize
+ regions using a timestretch algorithm.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
</section>
diff --git a/manual/xml/editor_window_group_list.xml b/manual/xml/editor_window_group_list.xml
index 5617349a91..42b645c282 100644
--- a/manual/xml/editor_window_group_list.xml
+++ b/manual/xml/editor_window_group_list.xml
@@ -5,22 +5,22 @@
]>
<section id="editor-window-edit-group-list">
- <title>Edit Group List</title>
- <para>
- Below the track list is the edit group list, which lists all edit groups for
- the session, including a default group called &#8220;all&#8221;. To the left
- of each group name is a checkbox which indicates whether or not the group is
- active (a checkmark means its active). Click on the checkbox to change the
- active status of an edit group.
- </para>
+ <title>Edit Group List</title>
+ <para>
+ Below the track list is the edit group list, which lists all edit groups
+ for the session, including a default group called &#8220;all&#8221;. To
+ the left of each group name is a checkbox which indicates whether or not
+ the group is active (a checkmark means its active). Click on the
+ checkbox to change the active status of an edit group.
+ </para>
- <para>
- The edit group list can also be used to toggle the visibility of all members
- of the group. Visible edit groups are displayed in cyan, hidden ones in
- orange. Click on the name of the edit group to toggle its visibility. Note
- that an edit group can be visible and yet have hidden member tracks, and
- vice versa.
- </para>
+ <para>
+ The edit group list can also be used to toggle the visibility of all
+ members of the group. Visible edit groups are displayed in cyan, hidden
+ ones in orange. Click on the name of the edit group to toggle its
+ visibility. Note that an edit group can be visible and yet have hidden
+ member tracks, and vice versa.
+ </para>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/editor_window_key_bindings.xml b/manual/xml/editor_window_key_bindings.xml
index 2937423c93..a96ed75222 100644
--- a/manual/xml/editor_window_key_bindings.xml
+++ b/manual/xml/editor_window_key_bindings.xml
@@ -1,80 +1,82 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-tool-selection-key-bindings">
+ <title>Tool Selection</title>
+ <table id="tbl-tool-selection-key-bindings">
+ <title>Tool Selection Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>r</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Select Range mode
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>g</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Select Gain mode
+ </entry>
+ </row>
- <title>Tool Selection</title>
+ <row>
+ <entry>
+ <keycombo><keycap>o</keycap> </keycombo>
+ </entry>
- <table id="tbl-tool-selection-key-bindings">
- <title>Tool Selection Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>r</keycap>
- </keycombo>
- </entry>
- <entry>
- Select Range mode
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>g</keycap>
- </keycombo>
- </entry>
- <entry>
- Select Gain mode
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>o</keycap>
- </keycombo>
- </entry>
- <entry>
- Select Object mode
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>t</keycap>
- </keycombo>
- </entry>
- <entry>
- Select TimeFX mode
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>z</keycap>
- </keycombo>
- </entry>
- <entry>
- Select Zoom mode
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <entry>
+ Select Object mode
+ </entry>
+ </row>
- <!--
+ <row>
+ <entry>
+ <keycombo><keycap>t</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Select TimeFX mode
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>z</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Select Zoom mode
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/editor_window_region_list.xml b/manual/xml/editor_window_region_list.xml
index 551c9acee9..7c7990e1da 100644
--- a/manual/xml/editor_window_region_list.xml
+++ b/manual/xml/editor_window_region_list.xml
@@ -5,132 +5,146 @@
]>
<section id="editor-window-region-list">
- <title>Region List</title>
- <para>
- To the right of the track display is the region list, which uses a tree
- display to show all regions in the session. There are sections in the region
- list, &#8220;Captured&#8221; and &#8220;External&#8221;.
- &#8220;Captured&#8221; contains all regions that were either recorded by
- Ardour or imported as native audio files. &#8220;External&#8221;contains
- regions created using audio files external to Ardour (from a sample library,
- for example).
- </para>
-
- <section id="region-list-organization">
- <title>Organization of the region list</title>
- <para>
- In both sections of the region list, any regions containing multiple
- channels will have its name followed by &#8220;[N]&#8221; where N is a
- number indicating the number of channels. Any region that ends in
- &#8220;-N&#8221;, where N is a number, is a region that describes an entire
- audio file. Any region that ends in &#8220;.N&#8221; is a region that
- describes part of an audio file. Any subtree within the region list can be
- hidden or displayed by clicking on the box left of its name.
- </para>
-
- <para>
- Within the Captured part of the tree, each track is represented by its own
- subtree (strictly speaking, its not each track but each playlist that is
- represented). Within that subtree is an entry for each take recorded for
- that track. Remember that each take is stored as one and audio files
- (strictly, one per channel). Within the take tree is an entry for each
- region created from that take.
- </para>
-
- <para>
- Within the External part of the tree, there is a subtree for each audio
- file embedded into the session. Within that subtree are entries for each
- region created from that audio file.
- </para>
- </section>
-
- <section id="region-list-operations">
- <title>Region list operations</title>
- <para>
- Click on the box to the left of the name of part of the tree to hide/show
- that part of the subtree.
- </para>
-
- <para>
- Click the name of a region and then drag it to the track display area to
- insert a region into a track.
- </para>
-
- <para>
- Click on the title bar of the region list to display a menu allowing you to
- </para>
- <table id="tbl-region-list-operations-menu"><title>Region List Context Menu</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Snap Option" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Menu Item
- </entry>
- <entry>
- Description
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- Find
- </entry>
- </row>
- <row>
- <entry>
- Show/Hide All
- </entry>
- <entry>
- <para>
- fully expand or collapse the region list
- </para>
- </entry>
- </row>
- <row>
- <entry>
- Sort
- </entry>
- </row>
- <row>
- <entry>
- Display Automatic Regions normally,
- </entry>
- <entry>
- Ardour does not display regions created as a result of a side effect of
- user actions. If this option is selected, all regions will be included
- in the region list.
- </entry>
- </row>
- <row>
- <entry>
- Import audio files
- </entry>
- <entry>
- <para>
- copy (and if necessary convert) audio files into the session. See
- Importing for more details.
- </para>
- </entry>
- </row>
- <row>
- <entry>
- Embed audio file
- </entry>
- <entry>
- <para>
- embed external audio files into the session. No new files are created,
- and no format conversion is done. See [[editing:Embedding]] for more
- details.
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
+ <title>Region List</title>
+ <para>
+ To the right of the track display is the region list, which uses a tree
+ display to show all regions in the session. There are sections in the
+ region list, &#8220;Captured&#8221; and &#8220;External&#8221;.
+ &#8220;Captured&#8221; contains all regions that were either recorded by
+ Ardour or imported as native audio files. &#8220;External&#8221;contains
+ regions created using audio files external to Ardour (from a sample
+ library, for example).
+ </para>
+
+ <section id="region-list-organization">
+ <title>Organization of the region list</title>
+ <para>
+ In both sections of the region list, any regions containing multiple
+ channels will have its name followed by &#8220;[N]&#8221; where N is a
+ number indicating the number of channels. Any region that ends in
+ &#8220;-N&#8221;, where N is a number, is a region that describes an
+ entire audio file. Any region that ends in &#8220;.N&#8221; is a
+ region that describes part of an audio file. Any subtree within the
+ region list can be hidden or displayed by clicking on the box left of
+ its name.
+ </para>
+
+ <para>
+ Within the Captured part of the tree, each track is represented by its
+ own subtree (strictly speaking, its not each track but each playlist
+ that is represented). Within that subtree is an entry for each take
+ recorded for that track. Remember that each take is stored as one and
+ audio files (strictly, one per channel). Within the take tree is an
+ entry for each region created from that take.
+ </para>
+
+ <para>
+ Within the External part of the tree, there is a subtree for each
+ audio file embedded into the session. Within that subtree are entries
+ for each region created from that audio file.
+ </para>
+ </section>
+
+ <section id="region-list-operations">
+ <title>Region list operations</title>
+ <para>
+ Click on the box to the left of the name of part of the tree to
+ hide/show that part of the subtree.
+ </para>
+
+ <para>
+ Click the name of a region and then drag it to the track display area
+ to insert a region into a track.
+ </para>
+
+ <para>
+ Click on the title bar of the region list to display a menu allowing
+ you to
+ </para>
+
+ <table id="tbl-region-list-operations-menu">
+ <title>Region List Context Menu</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Snap Option" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Menu Item
+ </entry>
+
+ <entry>
+ Description
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ Find
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Show/Hide All
+ </entry>
+
+ <entry>
+ <para>
+ fully expand or collapse the region list
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Sort
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Display Automatic Regions normally,
+ </entry>
+
+ <entry>
+ Ardour does not display regions created as a result of a side
+ effect of user actions. If this option is selected, all
+ regions will be included in the region list.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Import audio files
+ </entry>
+
+ <entry>
+ <para>
+ copy (and if necessary convert) audio files into the
+ session. See Importing for more details.
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Embed audio file
+ </entry>
+
+ <entry>
+ <para>
+ embed external audio files into the session. No new files
+ are created, and no format conversion is done. See
+ [[editing:Embedding]] for more details.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/editor_window_timeline.xml b/manual/xml/editor_window_timeline.xml
index f74b4907ca..f9352aa7ef 100644
--- a/manual/xml/editor_window_timeline.xml
+++ b/manual/xml/editor_window_timeline.xml
@@ -5,96 +5,107 @@
]>
<section id="editor-window-timeline">
- <title>Timeline</title>
- <para>
- At the top of the track display area is the timeline display. This consists
- of a number of rulers, a meter track, a tempo track and the marker display.
- </para>
-
- <para>
- The available rulers include:
- </para>
-
- <table id="tbl-rulers">
- <title>Ruler Types</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Ruler Type" colwidth="1"/>
- <colspec colnum="2" colname="Description" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Ruler Type
- </entry>
- <entry>
- Description
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- Frames
- </entry>
- <entry>
- this ruler measures audio frames. The number of audio frames per second
- depends on the sample rate in use.
- </entry>
- </row>
- <row>
- <entry>
- SMPTE
- </entry>
- <entry>
- this ruler displays SMPTE timecode. The SMPTE format (25fps, 30fps, drop
- frame etc) is selected in the Options Editor option_editor.
- </entry>
- </row>
- <row>
- <entry>
- Min:Sec
- </entry>
- <entry>
- this ruler displays time in minutes+seconds, measured since the start of
- the session.
- </entry>
- </row>
- <row>
- <entry>
- BBT
- </entry>
- <entry>
- <para>
- (Bars,Beats,Ticks) this ruler displays positions based on the tempo
- map.
- </para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <para>
- To show or hide one or more of the rulers, click on the area to the left of
- their names. A menu will popup that has a check item for each available
- ruler. Click on the name of the ruler to toggle its visibility.
- </para>
-
- <para>
- The tempo and meter tracks display the tempo map for the session. The tempo
- track contains 1 or more tempo change points, with a default tempo of 120
- beats per minute. The meter track contains 1 or more meter change points,
- with an initial default meter of 4/4.
- </para>
-
- <para>
- on a tempo/meter change point to edit it. Click in the tempo/meter track to
- add a new change point. Click and drag on a change point to move it. on a
- tempo/meter change point to remove it.
- </para>
-
- <para>
- There is more information on using the timeline in editing_basics.
- </para>
+ <title>Timeline</title>
+ <para>
+ At the top of the track display area is the timeline display. This
+ consists of a number of rulers, a meter track, a tempo track and the
+ marker display.
+ </para>
+
+ <para>
+ The available rulers include:
+ </para>
+
+ <table id="tbl-rulers">
+ <title>Ruler Types</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Ruler Type" colwidth="1"/>
+ <colspec colnum="2" colname="Description" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Ruler Type
+ </entry>
+
+ <entry>
+ Description
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ Frames
+ </entry>
+
+ <entry>
+ this ruler measures audio frames. The number of audio frames per
+ second depends on the sample rate in use.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ SMPTE
+ </entry>
+
+ <entry>
+ this ruler displays SMPTE timecode. The SMPTE format (25fps,
+ 30fps, drop frame etc) is selected in the Options Editor
+ option_editor.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ Min:Sec
+ </entry>
+
+ <entry>
+ this ruler displays time in minutes+seconds, measured since the
+ start of the session.
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ BBT
+ </entry>
+
+ <entry>
+ <para>
+ (Bars,Beats,Ticks) this ruler displays positions based on the
+ tempo map.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ To show or hide one or more of the rulers, click on the area to the left
+ of their names. A menu will popup that has a check item for each
+ available ruler. Click on the name of the ruler to toggle its
+ visibility.
+ </para>
+
+ <para>
+ The tempo and meter tracks display the tempo map for the session. The
+ tempo track contains 1 or more tempo change points, with a default tempo
+ of 120 beats per minute. The meter track contains 1 or more meter change
+ points, with an initial default meter of 4/4.
+ </para>
+
+ <para>
+ on a tempo/meter change point to edit it. Click in the tempo/meter track
+ to add a new change point. Click and drag on a change point to move it.
+ on a tempo/meter change point to remove it.
+ </para>
+
+ <para>
+ There is more information on using the timeline in editing_basics.
+ </para>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/editor_window_track_list.xml b/manual/xml/editor_window_track_list.xml
index 8a17c6481f..9ede6fa82e 100644
--- a/manual/xml/editor_window_track_list.xml
+++ b/manual/xml/editor_window_track_list.xml
@@ -5,55 +5,61 @@
]>
<section id="editor-window-track-list">
- <title>Track List</title>
- <para>
- To the left of the track area is the track list, which lists all tracks and
- busses in the session. Tracks/Busses that are visible have their names
- displayed in cyan, while hidden ones have their names displayed in orange.
- </para>
-
- <para>
- Click on the name of a track/bus to toggle its visibility in the editor.
- Click and drag the name to reorder the track display area.
- </para>
-
- <para>
- You can click on the title bar of the track list to display a menu that
- allows you to:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Hide all
- </para>
- </listitem>
- <listitem>
- <para>
- Show all
- </para>
- </listitem>
- <listitem>
- <para>
- Hide all tracks
- </para>
- </listitem>
- <listitem>
- <para>
- Show all tracks
- </para>
- </listitem>
- <listitem>
- <para>
- Hide all busses
- </para>
- </listitem>
- <listitem>
- <para>
- Show all busses
- </para>
- </listitem>
- </itemizedlist>
+ <title>Track List</title>
+ <para>
+ To the left of the track area is the track list, which lists all tracks
+ and busses in the session. Tracks/Busses that are visible have their
+ names displayed in cyan, while hidden ones have their names displayed in
+ orange.
+ </para>
+
+ <para>
+ Click on the name of a track/bus to toggle its visibility in the editor.
+ Click and drag the name to reorder the track display area.
+ </para>
+
+ <para>
+ You can click on the title bar of the track list to display a menu that
+ allows you to:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Hide all
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Show all
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Hide all tracks
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Show all tracks
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Hide all busses
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Show all busses
+ </para>
+ </listitem>
+ </itemizedlist>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/editor_zoom_key_bindings.xml b/manual/xml/editor_zoom_key_bindings.xml
index d1196829ce..b8afa14bfe 100644
--- a/manual/xml/editor_zoom_key_bindings.xml
+++ b/manual/xml/editor_zoom_key_bindings.xml
@@ -1,61 +1,62 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-editor-zoom-key-bindings">
+ <title>Zoom Key Bindings</title>
+ <table id="tbl-editor-zoom-key-bindings">
+ <title>Editor Zoom Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>=</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ zoom in on timeline
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>-</keycap> </keycombo>
+ </entry>
- <title>Zoom Key Bindings</title>
-
- <table id="tbl-editor-zoom-key-bindings">
- <title>Editor Zoom Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>=</keycap>
- </keycombo>
- </entry>
- <entry>
- zoom in on timeline
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>-</keycap>
- </keycombo>
- </entry>
- <entry>
- zoom out on timeline
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Z</keycap>
- </keycombo>
- </entry>
- <entry>
- switch zoom focus to playhead
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <!--
+ <entry>
+ zoom out on timeline
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Z</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ switch zoom focus to playhead
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/entities.ent b/manual/xml/entities.ent
new file mode 100644
index 0000000000..f21530b9f4
--- /dev/null
+++ b/manual/xml/entities.ent
@@ -0,0 +1,11 @@
+<!ENTITY YEAR "2007">
+<!ENTITY BOOKNAME "Ardour Reference Guide">
+<!ENTITY BOOKVERSION "0.01"> <!-- change version here -->
+<!ENTITY BOOKDATE "2007-01-13"> <!-- change revision date here -->
+<!ENTITY BOOKID "&BOOKNAME;-&BOOKVERSION; (&BOOKDATE;)">
+
+<!ENTITY ARDOUR_NAME "ardour">
+<!ENTITY ARDOUR_VERSION "2.0">
+<!ENTITY ARDOUR_COMMAND "<command>ardour-&ARDOUR_VERSION;</command>">
+<!ENTITY ARDOUR_APPLICATION "<application>&ARDOUR_NAME;</application>">
+<!ENTITY COPYRIGHT_HOLDER "&ARDOUR_NAME; Foundation">
diff --git a/manual/xml/exporting.xml b/manual/xml/exporting.xml
index 3e9d51b9cb..fb34fb30f5 100644
--- a/manual/xml/exporting.xml
+++ b/manual/xml/exporting.xml
@@ -4,11 +4,12 @@
]>
-<chapter id="ch-exporting"><title>Exporting</title>
- <para>
- This section covers ways to get your session converted into various formats
- for use by other software or systems.
- </para>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+<chapter id="ch-exporting">
+ <title>Exporting</title>
+ <para>
+ This section covers ways to get your session converted into various
+ formats for use by other software or systems.
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="exporting_to_cd.xml" />
</chapter>
diff --git a/manual/xml/exporting_to_cd.xml b/manual/xml/exporting_to_cd.xml
index adce9f55dd..2042e29c2e 100644
--- a/manual/xml/exporting_to_cd.xml
+++ b/manual/xml/exporting_to_cd.xml
@@ -5,182 +5,184 @@
]>
<section id="sn-exporting-to-cd">
- <sectioninfo>
- <authorgroup>
- <author>
- <personname>
- <firstname>Nick</firstname>
- <surname>Mainsbridge</surname>
- </personname>
- </author>
- </authorgroup>
- </sectioninfo>
-
- <title>Exporting to CD</title>
-
- <section id="table-of-contents">
- <title>Table of Contents </title>
- <para>
- A Table of Contents is a description of the data stored on a medium. In the
- case of audio Cds, the TOC comes in the form of PQ data which is
- intermingled with the audio data whaen the CD is burnt. Because PQ data
- isn't part of 'normal' audio file formats such as wav or aiff, this
- information must be stored in a separate file on your computer (a CUE or
- TOC file) ready for use by your CD burning software which will combine the
- two.
- </para>
-
- <para>
- At the moment, Ardour can export TOC and CUE files containing the red-book
- related fields Track, Index, ISRC, SCMS and Preemphasis. The CD-TEXT fields
- TITLE, COMPOSER, PERFORMER and disc title are also supported.
- </para>
-
- <para>
- Range markers in Ardour can be 'promoted' to become CD tracks in the
- locations window. Marks (point markers) can be promoted to be CD Indexes in
- the same window. All TOC/CUE export operations hinge on this.
- </para>
-
- <para>
- Assuming you have several songs on your timeline laid out so that their
- spacing and level is 'correct' as you hear it, you should then set ranges
- that represent the start and end points of each track, These will become
- the start and end points on your CD. The start times are all rounded down
- to the previous CD frame (Of which there are 75/second) on export, so if
- you want to hear the exact point that your CD player will start from,
- select 'CD frames' as your snap setting while you do this. If you want
- track indexes (nobody does, but they're there), set a location marker for
- each desired index.
- </para>
-
- <para>
- The locations dialog is useful here, as you can just 'go' to a point to
- audition the exact position of a marker/range.
- </para>
- </section>
-
- <section id="pregap">
- <title> Pregap </title>
- <para>
- A word about pregap:
- </para>
-
- <para>
- A 'normal' redbook CD should have a blank (digital black) space of 2
- seconds before the first modulation called the pregap. Ideally, your first
- song will have been placed at 2 seconds when you began, but you can always
- drag the whole collection of songs to the right position fairly easily at
- this point.
- </para>
-
- <para>
- Also, note that this 2 second rule can be fun to break. You can make the
- pregap as long as you like.. even hide whole songs in there. The player
- will still play track one when the disc is inserted. Only those listeners
- with the urge to rewind beyond the beginning will find your hidden song/dog
- bark. Also keep in mind that there is a pregap for each song. It starts
- where the previous song ends. In other words, if you leave a gap in the
- ranges between songs 2 &amp; 3, that gap will only play for those listening
- through the entire CD. Anyone skipping directly to 3 will miss your secret
- 'long' intro.
- </para>
-
- <para>
- After setting a non-overlapping range for each track (overlapping CD tracks
- are removed on export, from left to right, as are indexes that aren't
- inside a track), open the locations window and make your ranges into track
- markers by clicking the CD button. Fill in whatever information you feel is
- necessary in the boxes below. Unused fields will be ignored as far as the
- exported TOC/CUE file is concerned.
- </para>
-
- <para>
- CD-TEXT track titles are taken from the range's name. The CD-TEXT title of
- the CD is taken from the session name (i should have told you that first,
- right?).
- </para>
-
- <note>
- <para>
- Pre-emphasis is there for those strange types that use it (they also
- use track indexes). You almost certainly don't want pre-emphasis. A valid
- ISRC is all capitals, 12 characters.
- </para>
- </note>
- </section>
-
- <section id="cue-files">
- <title> Cue Files </title>
- <para>
- Cue files have no notion of 'the end'. Its a drag. They think the end of
- the file is the end of the last track. If you want to use CUE files, you
- have to make sure that the session end marker is snapped to CD frames
- (before you export, of course), or else use the -pad option when you burn.
- </para>
- </section>
-
- <section id="export-the-session">
- <title> Export The Session </title>
- <para>
- Now export the session to a file (16bit 44.1kHz for CD), selecting your
- preferred cuefile type (TOC or CUE). The TOC/CUE file is written to the
- same directory as your audio file, and has the same name, only with '.toc'
- or '.cue' appended. Usually you will only be selecting the two master
- outputs to export, with output 1 always being 'left'. The export is post
- fader and panner. Don't assume that the sound will be identical after you
- have truncated/dithered to 16 bits. It can be worthwhile to experiment with
- different dither settings when making your export.
- </para>
-
- <para>
- To check out the details without burning
- </para>
+ <sectioninfo>
+ <authorgroup>
+ <author>
+ <personname>
+ <firstname>Nick</firstname>
+ <surname>Mainsbridge</surname>
+ </personname>
+ </author>
+ </authorgroup>
+ </sectioninfo>
+ <title>Exporting to CD</title>
+ <section id="table-of-contents">
+ <title>Table of Contents </title>
+ <para>
+ A Table of Contents is a description of the data stored on a medium.
+ In the case of audio Cds, the TOC comes in the form of PQ data which
+ is intermingled with the audio data whaen the CD is burnt. Because PQ
+ data isn't part of 'normal' audio file formats such as wav or aiff,
+ this information must be stored in a separate file on your computer (a
+ CUE or TOC file) ready for use by your CD burning software which will
+ combine the two.
+ </para>
+
+ <para>
+ At the moment, Ardour can export TOC and CUE files containing the
+ red-book related fields Track, Index, ISRC, SCMS and Preemphasis. The
+ CD-TEXT fields TITLE, COMPOSER, PERFORMER and disc title are also
+ supported.
+ </para>
+
+ <para>
+ Range markers in Ardour can be 'promoted' to become CD tracks in the
+ locations window. Marks (point markers) can be promoted to be CD
+ Indexes in the same window. All TOC/CUE export operations hinge on
+ this.
+ </para>
+
+ <para>
+ Assuming you have several songs on your timeline laid out so that
+ their spacing and level is 'correct' as you hear it, you should then
+ set ranges that represent the start and end points of each track,
+ These will become the start and end points on your CD. The start times
+ are all rounded down to the previous CD frame (Of which there are
+ 75/second) on export, so if you want to hear the exact point that your
+ CD player will start from, select 'CD frames' as your snap setting
+ while you do this. If you want track indexes (nobody does, but they're
+ there), set a location marker for each desired index.
+ </para>
+
+ <para>
+ The locations dialog is useful here, as you can just 'go' to a point
+ to audition the exact position of a marker/range.
+ </para>
+ </section>
+
+ <section id="pregap">
+ <title> Pregap </title>
+ <para>
+ A word about pregap:
+ </para>
+
+ <para>
+ A 'normal' redbook CD should have a blank (digital black) space of 2
+ seconds before the first modulation called the pregap. Ideally, your
+ first song will have been placed at 2 seconds when you began, but you
+ can always drag the whole collection of songs to the right position
+ fairly easily at this point.
+ </para>
+
+ <para>
+ Also, note that this 2 second rule can be fun to break. You can make
+ the pregap as long as you like.. even hide whole songs in there. The
+ player will still play track one when the disc is inserted. Only those
+ listeners with the urge to rewind beyond the beginning will find your
+ hidden song/dog bark. Also keep in mind that there is a pregap for
+ each song. It starts where the previous song ends. In other words, if
+ you leave a gap in the ranges between songs 2 &amp; 3, that gap will
+ only play for those listening through the entire CD. Anyone skipping
+ directly to 3 will miss your secret 'long' intro.
+ </para>
+
+ <para>
+ After setting a non-overlapping range for each track (overlapping CD
+ tracks are removed on export, from left to right, as are indexes that
+ aren't inside a track), open the locations window and make your ranges
+ into track markers by clicking the CD button. Fill in whatever
+ information you feel is necessary in the boxes below. Unused fields
+ will be ignored as far as the exported TOC/CUE file is concerned.
+ </para>
+
+ <para>
+ CD-TEXT track titles are taken from the range's name. The CD-TEXT
+ title of the CD is taken from the session name (i should have told you
+ that first, right?).
+ </para>
+
+ <note>
+ <para>
+ Pre-emphasis is there for those strange types that use it (they also
+ use track indexes). You almost certainly don't want pre-emphasis. A
+ valid ISRC is all capitals, 12 characters.
+ </para>
+ </note>
+ </section>
+
+ <section id="cue-files">
+ <title> Cue Files </title>
+ <para>
+ Cue files have no notion of 'the end'. Its a drag. They think the end
+ of the file is the end of the last track. If you want to use CUE
+ files, you have to make sure that the session end marker is snapped to
+ CD frames (before you export, of course), or else use the -pad option
+ when you burn.
+ </para>
+ </section>
+
+ <section id="export-the-session">
+ <title> Export The Session </title>
+ <para>
+ Now export the session to a file (16bit 44.1kHz for CD), selecting
+ your preferred cuefile type (TOC or CUE). The TOC/CUE file is written
+ to the same directory as your audio file, and has the same name, only
+ with '.toc' or '.cue' appended. Usually you will only be selecting the
+ two master outputs to export, with output 1 always being 'left'. The
+ export is post fader and panner. Don't assume that the sound will be
+ identical after you have truncated/dithered to 16 bits. It can be
+ worthwhile to experiment with different dither settings when making
+ your export.
+ </para>
+
+ <para>
+ To check out the details without burning
+ </para>
<screen>
cdrdao show-toc blah.wav.toc
</screen>
- <para>
- to correct a problem, make your changes, then use the 'export toc file
- only' option. If you have to change the session end marker, you'll have to
- re-export your audio file.
- </para>
-
- <para>
- To burn
- </para>
+ <para>
+ to correct a problem, make your changes, then use the 'export toc file
+ only' option. If you have to change the session end marker, you'll
+ have to re-export your audio file.
+ </para>
+
+ <para>
+ To burn
+ </para>
<screen>
cdrdao write /home/britney/globalsmash.wav.toc
</screen>
- <para>
- One last thing:
- </para>
-
- <para>
- If you don't make any CD Track ranges and export a TOC/CUE file, the entire
- session is treated as one track with no pregap. Indexes, if present, will
- be honoured.
- </para>
- </section>
-
- <section id="ddp-support">
- <title>FAQ </title>
- <para>
- Why no DDP? ( http://www.dcainc.com/products/ddp/ )
- </para>
-
- <para>
- A: DCA have been kind enough to get in touch. Hopefully they will allow a
- GPL implementaton soon.
- </para>
- </section>
-
- <section id="catalog-numbers">
- <title>What about catalog numbers for the CD?</title>
- <para>
- A: coming eventually.. we need a tab for session-wide variables like these.
- where to put it? in the export dialog or the options menu?
- </para>
- </section>
+ <para>
+ One last thing:
+ </para>
+
+ <para>
+ If you don't make any CD Track ranges and export a TOC/CUE file, the
+ entire session is treated as one track with no pregap. Indexes, if
+ present, will be honoured.
+ </para>
+ </section>
+
+ <section id="ddp-support">
+ <title>FAQ </title>
+ <para>
+ Why no DDP? ( http://www.dcainc.com/products/ddp/ )
+ </para>
+
+ <para>
+ A: DCA have been kind enough to get in touch. Hopefully they will
+ allow a GPL implementaton soon.
+ </para>
+ </section>
+
+ <section id="catalog-numbers">
+ <title>What about catalog numbers for the CD?</title>
+ <para>
+ A: coming eventually.. we need a tab for session-wide variables like
+ these. where to put it? in the export dialog or the options menu?
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/formatting_conventions.xml b/manual/xml/formatting_conventions.xml
index 286de128b9..3908a53480 100644
--- a/manual/xml/formatting_conventions.xml
+++ b/manual/xml/formatting_conventions.xml
@@ -5,143 +5,135 @@
]>
<section id="sn-formatting-conventions">
- <title>Formatting Conventions</title>
- <section id="typography">
- <title>Typography</title>
- <para>
- This manual uses a few conventions to indicate key commands, menu choices
- and other user interactions:
- </para>
-
- <para>
- Key commands such as <keycombo><keycap>Ctrl</keycap><keycap>a</keycap>
- </keycombo> mean "Hold down the Ctrl key and press the 'a' key". New and
- important terms are written like this.
- </para>
-
- <para>
- The names of on-screen buttons are shown like this
- <guibutton>Button</guibutton>
- </para>
-
- <para>
- The name of a menu item is shown like <guimenuitem>This</guimenuitem>,
- and nested menu items will appear like <menuchoice> <guimenu>Menu</guimenu>
- <guisubmenu>Sub Menu</guisubmenu> </menuchoice>
- </para>
- </section>
-
- <section id="admonitions">
- <title>Admonitions</title>
-
- <para>
- Admonitions are set apart from the main
- text and are meant to draw your attention to pieces of information.
- In the order of how critical the information is to you, these items are marked as follows:
- </para>
-
- <note>
- <title>Note</title>
-
- <para>
- A note is typically information that you need to understand the
- behavior of Ardour.
- </para>
- </note>
-
- <tip>
- <title>Tip</title>
- <para>
- A tip is typically an alternative way of performing a task.
- </para>
- </tip>
-
- <important>
- <title>Important</title>
-
- <para>
- Some appropriate definition
- </para>
- </important>
-
- <caution>
- <title>Caution</title>
-
- <para>
- Some appropriate definition
- </para>
- </caution>
-
- <warning>
- <title>Warning</title>
-
- <para>
- Some appropriate definition
- </para>
- </warning>
- </section>
-
- <section id="mouse-buttons">
- <title>Mouse Buttons</title>
- <para>
- You might be used to terms like "right mouse button", "left mouse button"
- etc. These are widely used, but they can be very confusing for left-handed
- people, or people using mice with many buttons arranged in an
- unconventional way. Ardour is typically used with mice equipped with at
- least 3 buttons that can be remapped for left- and right-handed users,
- making it hard to unambiguously define "left" and "right" in a useful way.
- </para>
-
- <para>
- If you are right-handed and use a conventional mouse, then
- <mousebutton>Button1</mousebutton> corresponds to "left mouse button",
- <mousebutton>Button2</mousebutton> to "middle mouse button" and
- <mousebutton>Button3</mousebutton> to "right mouse button". Otherwise, the
- numbered button nomenclature refers to the same button numbers as defined
- by your X Window configuration.
- </para>
-
- <para>
- If you see instructions to use <keycombo><keycap>Ctrl</keycap>
- <mousebutton>Button1</mousebutton> </keycombo> , it means "Hold down the
- <keycap>Ctrl</keycap> key and click <mousebutton>Button1</mousebutton> ".
- </para>
- </section>
-
- <section id="select-choose">
- <title>Select/Choose</title>
- <para>
- In conventional English, "select" and "choose" are often used as synonyms.
- In this manual, we use them to mean quite different things:
- </para>
-
- <variablelist>
- <title></title>
- <varlistentry>
- <term>Select</term>
- <listitem>
- <para>
- When you select something, it will stay selected. Putting a check-mark
- in a box, for example, would be referred to as "selecting" that box.
- This is also true for menu items that enable or disable options ("select
- Big Clock from the Windows menu", for example) and various editing
- functions.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Choose</term>
- <listitem>
- <para>
- "Choosing" involves clicking or using the keyboard to accomplish a
- one-time action. A command to save the current session might be
- described as, "Choose Save from the Session menu.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
+ <title>Formatting Conventions</title>
+ <section id="typography">
+ <title>Typography</title>
+ <para>
+ This manual uses a few conventions to indicate key commands, menu
+ choices and other user interactions:
+ </para>
+
+ <para>
+ Key commands such as <keycombo><keycap>Ctrl</keycap><keycap>a</keycap>
+ </keycombo> mean "Hold down the Ctrl key and press the 'a' key". New
+ and important terms are written like this.
+ </para>
+
+ <para>
+ The names of on-screen buttons are shown like this
+ <guibutton>Button</guibutton>
+ </para>
+
+ <para>
+ The name of a menu item is shown like <guimenuitem>This</guimenuitem>,
+ and nested menu items will appear like <menuchoice>
+ <guimenu>Menu</guimenu> <guisubmenu>Sub Menu</guisubmenu>
+ </menuchoice>
+ </para>
+ </section>
+
+ <section id="admonitions">
+ <title>Admonitions</title>
+ <para>
+ Admonitions are set apart from the main text and are meant to draw
+ your attention to pieces of information. In the order of how critical
+ the information is to you, these items are marked as follows:
+ </para>
+
+ <note>
+ <title>Note</title>
+ <para>
+ A note is typically information that you need to understand the
+ behavior of Ardour.
+ </para>
+ </note>
+ <tip><title>Tip</title>
+ <para>
+ A tip is typically an alternative way of performing a task.
+ </para>
+ </tip>
+ <important>
+ <title>Important</title>
+ <para>
+ The important admonition is used to draw attention to parts of the
+ interface that may be overlooked or certain settings that are vital
+ in determining the behaviour of ardour.
+ </para>
+ </important>
+
+ <warning>
+ <title>Warning</title>
+ <para>
+ The warning admonition is used where an action may result in
+ consequences that are unintended or permanent such as changes to the
+ session that can not be undone or the removal of files.
+ </para>
+ </warning>
+ </section>
+
+ <section id="mouse-buttons">
+ <title>Mouse Buttons</title>
+ <para>
+ You might be used to terms like "right mouse button", "left mouse
+ button" etc. These are widely used, but they can be very confusing for
+ left-handed people, or people using mice with many buttons arranged in
+ an unconventional way. Ardour is typically used with mice equipped
+ with at least 3 buttons that can be remapped for left- and
+ right-handed users, making it hard to unambiguously define "left" and
+ "right" in a useful way.
+ </para>
+
+ <para>
+ If you are right-handed and use a conventional mouse, then
+ <mousebutton>Button1</mousebutton> corresponds to "left mouse button",
+ <mousebutton>Button2</mousebutton> to "middle mouse button" and
+ <mousebutton>Button3</mousebutton> to "right mouse button". Otherwise,
+ the numbered button nomenclature refers to the same button numbers as
+ defined by your X Window configuration.
+ </para>
+
+ <para>
+ If you see instructions to use <keycombo><keycap>Ctrl</keycap>
+ <mousebutton>Button1</mousebutton> </keycombo> , it means "Hold down
+ the <keycap>Ctrl</keycap> key and click
+ <mousebutton>Button1</mousebutton> ".
+ </para>
+ </section>
+
+ <section id="select-choose">
+ <title>Select/Choose</title>
+ <para>
+ In conventional English, "select" and "choose" are often used as
+ synonyms. In this manual, we use them to mean quite different things:
+ </para>
+
+ <variablelist>
+ <title></title>
+ <varlistentry>
+ <term>Select</term>
+ <listitem>
+ <para>
+ When you select something, it will stay selected. Putting a
+ check-mark in a box, for example, would be referred to as
+ "selecting" that box. This is also true for menu items that
+ enable or disable options ("select Big Clock from the Windows
+ menu", for example) and various editing functions.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Choose</term>
+ <listitem>
+ <para>
+ "Choosing" involves clicking or using the keyboard to accomplish
+ a one-time action. A command to save the current session might
+ be described as, "Choose Save from the Session menu.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/frontier_design_tranzport.xml b/manual/xml/frontier_design_tranzport.xml
index a4d1036bd9..675999f17b 100644
--- a/manual/xml/frontier_design_tranzport.xml
+++ b/manual/xml/frontier_design_tranzport.xml
@@ -5,467 +5,552 @@
]>
<section id="sn-frontier-design-tranzport">
- <title>Using a Frontier Design Tranzport</title>
- <section id="tranzport-configuration">
- <title>Enabling a Tranzport</title>
- <para>
- Ardour 2.0 can currently use a single Tranzport controller. Ensure that the
- device is plugged into a functional USB port. On Linux you will need to
- <link linkend="sn-configuring-usb-device-access">take steps</link>
- to ensure that non-administrative users can access the device. Note that
- this feature is <emphasis>not</emphasis> available in Ardour 0.99.x.
- </para>
-
- <para>
- In the Options menu, navigate into the Control Surfaces submenu. Click on
- the "Tranzport" option to enable use of the control surface within Ardour.
- To disable it, click on this item a second time.
- </para>
- </section>
-
- <section id="tranzport-buttons-and-wheel-functions">
- <title>Tranzport Buttons and Datawheel functions</title>
- <table id="tbl-tranzport-functions">
- <title>Tranzport Functions</title>
- <tgroup cols = "3">
- <colspec colnum="1" colname = "Key Binding" colwidth = "1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key
- </entry>
- <entry>
- Normal Click
- </entry>
- <entry>
- Shift Click
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <para>
- REW
- </para>
- </entry>
- <entry>
- <para>
- Rewind
- </para>
- </entry>
- <entry>
- <para>
- Go to start
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- FFWD
- </para>
- </entry>
- <entry>
- <para>
- Fast forward
- </para>
- </entry>
- <entry>
- <para>
- Go to end
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- STOP
- </para>
- </entry>
- <entry>
- <para>
- Stop
- </para>
- </entry>
- <entry>
- <para>
- Enter *
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- PLAY
- </para>
- </entry>
- <entry>
- <para>
- Play
- </para>
- </entry>
- <entry>
- <para>
- Save
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- RECORD
- </para>
- </entry>
- <entry>
- <para>
- Record
- </para>
- </entry>
- <entry>
- <para></para>
- </entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>
- <para>
- PREV
- </para>
- </entry>
- <entry>
- <para>
- Go to previous marker
- </para>
- </entry>
- <entry>
- <para>
- Zoom full
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- ADD
- </para>
- </entry>
- <entry>
- <para>
- Add marker at current location
- </para>
- </entry>
- <entry>
- <para></para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- NEXT
- </para>
- </entry>
- <entry>
- <para>
- Go to next marker
- </para>
- </entry>
- <entry>
- <para>
- Select normal, scrub or shuttle mode
- </para>
- </entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>
- <para>
- IN
- </para>
- </entry>
- <entry>
- <para></para>
- </entry>
- <entry>
- <para>
- Zoom In
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- OUT
- </para>
- </entry>
- <entry>
- <para></para>
- </entry>
- <entry>
- <para>
- Zoom Out
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- PUNCH
- </para>
- </entry>
- <entry>
- <para></para>
- </entry>
- <entry>
- <para></para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- LOOP
- </para>
- </entry>
- <entry>
- <para></para>
- </entry>
- <entry>
- <para>
- Select gain/pan/master level mode
- </para>
- </entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>
- <para>
- &lt; TRACK
- </para>
- </entry>
- <entry>
- <para>
- Previous track
- </para>
- </entry>
- <entry>
- <para></para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- TRACK &gt;
- </para>
- </entry>
- <entry>
- <para>
- Next track
- </para>
- </entry>
- <entry>
- <para></para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- REC
- </para>
- </entry>
- <entry>
- <para>
- Toggle track's record enable on/off
- </para>
- </entry>
- <entry>
- <para>
- Clear all track record arming
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- MUTE
- </para>
- </entry>
- <entry>
- <para>
- Toggle track's mute status on/off
- </para>
- </entry>
- <entry>
- <para>
- Clear all mutes
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- SOLO
- </para>
- </entry>
- <entry>
- <para>
- Toggle track's solo status on/off
- </para>
- </entry>
- <entry>
- <para>
- Clear all solos
- </para>
- </entry>
- </row>
- <row>
- <entry>
- <para>
- UNDO
- </para>
- </entry>
- <entry>
- <para>
- Undo
- </para>
- </entry>
- <entry>
- <para>
- Redo
- </para>
- </entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>
- <para>
- DATA WHEEL
- </para>
- </entry>
- <entry>
- <para>
- scroll timeline, scrub or shuttle
- </para>
- </entry>
- <entry>
- <para>
- adjust track gain, track pan or master gain
- </para>
- </entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>
- <para>
- FOOTSWITCH
- </para>
- </entry>
- <entry>
- <para></para>
- </entry>
- <entry>
- <para></para>
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
-
- <section id="tranzport-normal-scrub-shuttle-modes">
- <title>Normal, Scrub and Shuttle Modes</title>
- <para>
- In Ardour, the Tranzport in has 3 different modes of operation termed
- "timeline", "scrub" and "shuttle".
- </para>
-
- <variablelist>
- <title>Tranzport Modes of Operation</title>
- <varlistentry>
- <term>Timeline</term>
- <listitem>
- <para>
- the data wheel scrolls the timeline in the editor window back and forth.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Scrub</term>
- <listitem>
- <para>
- the data wheel is used to scrub audio data back and forth.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Shuttle</term>
- <listitem>
- <para>
- the data wheel is used to control varispeed playback. Turning the data
- wheel clockwise increases the playback speed in a forward direction.
- Counter-clockwise decreases the speed and will reverse playback. Shuttle
- mode as several important features:
- <itemizedlist>
- <listitem>
- <para>
- While in Shuttle mode the actual playback speed will be displayed in
- the top right corner of the LCD as a percentage of real-time, ie.
- +100% is normal playback speed.
- </para>
- </listitem>
- <listitem>
- <para>
- Press STOP to automatically set the Shuttle speed to 0%.
- </para>
- </listitem>
- <listitem>
- <para>
- Press PLAY to automatically set the Shuttle speed to +100%.
- </para>
- </listitem>
- <listitem>
- <para>
- Press and hold SHIFT to momentarily toggle the TranzPort into Scrub
- mode. Releasing the SHIFT button will return to Shuttle mode at 0%
- speed. This combination of functions is very useful for quickly
- moving through an audio track and accurately locating points hit
- points.
- </para>
- </listitem>
- <listitem>
- <para>
- Pressing ADD will drop a marker at the current location and exit
- Shuttle mode
- </para>
- </listitem>
- </itemizedlist>
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
+ <title>Using a Frontier Design Tranzport</title>
+ <section id="tranzport-configuration">
+ <title>Enabling a Tranzport</title>
+ <para>
+ Ardour 2.0 can currently use a single Tranzport controller. Ensure
+ that the device is plugged into a functional USB port. On Linux you
+ will need to <link linkend="sn-configuring-usb-device-access">take
+ steps</link> to ensure that non-administrative users can access the
+ device. Note that this feature is <emphasis>not</emphasis> available
+ in Ardour 0.99.x.
+ </para>
+
+ <para>
+ In the Options menu, navigate into the Control Surfaces submenu. Click
+ on the "Tranzport" option to enable use of the control surface within
+ Ardour. To disable it, click on this item a second time.
+ </para>
+ </section>
+
+ <section id="tranzport-buttons-and-wheel-functions">
+ <title>Tranzport Buttons and Datawheel functions</title>
+ <table id="tbl-tranzport-functions">
+ <title>Tranzport Functions</title>
+ <tgroup cols = "3">
+ <colspec colnum="1" colname = "Key Binding" colwidth = "1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key
+ </entry>
+
+ <entry>
+ Normal Click
+ </entry>
+
+ <entry>
+ Shift Click
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <para>
+ REW
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Rewind
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Go to start
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ FFWD
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Fast forward
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Go to end
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ STOP
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Stop
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Enter *
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ PLAY
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Play
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Save
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ RECORD
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Record
+ </para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+ </row>
+
+ <row>
+ <entry></entry>
+
+ <entry></entry>
+
+ <entry></entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ PREV
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Go to previous marker
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Zoom full
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ ADD
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Add marker at current location
+ </para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ NEXT
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Go to next marker
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Select normal, scrub or shuttle mode
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry></entry>
+
+ <entry></entry>
+
+ <entry></entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ IN
+ </para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+
+ <entry>
+ <para>
+ Zoom In
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ OUT
+ </para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+
+ <entry>
+ <para>
+ Zoom Out
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ PUNCH
+ </para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ LOOP
+ </para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+
+ <entry>
+ <para>
+ Select gain/pan/master level mode
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry></entry>
+
+ <entry></entry>
+
+ <entry></entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ &lt; TRACK
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Previous track
+ </para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ TRACK &gt;
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Next track
+ </para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ REC
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Toggle track's record enable on/off
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Clear all track record arming
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ MUTE
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Toggle track's mute status on/off
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Clear all mutes
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ SOLO
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Toggle track's solo status on/off
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Clear all solos
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ UNDO
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Undo
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ Redo
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry></entry>
+
+ <entry></entry>
+
+ <entry></entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ DATA WHEEL
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ scroll timeline, scrub or shuttle
+ </para>
+ </entry>
+
+ <entry>
+ <para>
+ adjust track gain, track pan or master gain
+ </para>
+ </entry>
+ </row>
+
+ <row>
+ <entry></entry>
+
+ <entry></entry>
+
+ <entry></entry>
+ </row>
+
+ <row>
+ <entry>
+ <para>
+ FOOTSWITCH
+ </para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+
+ <entry>
+ <para></para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section id="tranzport-normal-scrub-shuttle-modes">
+ <title>Normal, Scrub and Shuttle Modes</title>
+ <para>
+ In Ardour, the Tranzport in has 3 different modes of operation termed
+ "timeline", "scrub" and "shuttle".
+ </para>
+
+ <variablelist>
+ <title>Tranzport Modes of Operation</title>
+ <varlistentry>
+ <term>Timeline</term>
+ <listitem>
+ <para>
+ the data wheel scrolls the timeline in the editor window back
+ and forth.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Scrub</term>
+ <listitem>
+ <para>
+ the data wheel is used to scrub audio data back and forth.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Shuttle</term>
+ <listitem>
+ <para>
+ the data wheel is used to control varispeed playback. Turning
+ the data wheel clockwise increases the playback speed in a
+ forward direction. Counter-clockwise decreases the speed and
+ will reverse playback. Shuttle mode as several important
+ features:
+ <itemizedlist>
+ <listitem>
+ <para>
+ While in Shuttle mode the actual playback speed will be
+ displayed in the top right corner of the LCD as a
+ percentage of real-time, ie. +100% is normal playback
+ speed.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Press STOP to automatically set the Shuttle speed to 0%.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Press PLAY to automatically set the Shuttle speed to
+ +100%.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Press and hold SHIFT to momentarily toggle the TranzPort
+ into Scrub mode. Releasing the SHIFT button will return to
+ Shuttle mode at 0% speed. This combination of functions is
+ very useful for quickly moving through an audio track and
+ accurately locating points hit points.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Pressing ADD will drop a marker at the current location
+ and exit Shuttle mode
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/general_key_bindings.xml b/manual/xml/general_key_bindings.xml
index a1f391274e..edf77ad113 100644
--- a/manual/xml/general_key_bindings.xml
+++ b/manual/xml/general_key_bindings.xml
@@ -5,111 +5,118 @@
]>
<section id="sn-general-key-bindings">
- <title>General Key Bindings</title>
- <table id="tbl-general-key-bindings">
- <title>General Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum = "1" colname = "Key Binding" colwidth = "1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>w</keycap>
- </keycombo>
- </entry>
- <entry>
- Closes any non-error dialog windows
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><keycap>e</keycap>
- </keycombo>
- </entry>
- <entry>
- Raise the Editor Window
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><keycap>m</keycap>
- </keycombo>
- </entry>
- <entry>
- Toggle display of the locations window
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><keycap>c</keycap>
- </keycombo>
- </entry>
- <entry>
- Toggle display of the options editor
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>t</keycap>
- </keycombo>
- </entry>
- <entry>
- Add a track or bus
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>s</keycap>
- </keycombo>
- </entry>
- <entry>
- Save the session
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>q</keycap>
- </keycombo>
- </entry>
- <entry>
- Quit
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>u</keycap>
- </keycombo>
- </entry>
- <entry>
- Starts a prefix entry sequence
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>m</keycap>
- </keycombo>
- </entry>
- <entry>
- Toggle sending MIDI feedback
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
-
- <!--
+ <title>General Key Bindings</title>
+ <table id="tbl-general-key-bindings">
+ <title>General Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum = "1" colname = "Key Binding" colwidth = "1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>w</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Closes any non-error dialog windows
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>e</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Raise the Editor Window
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>m</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Toggle display of the locations window
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>c</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Toggle display of the options editor
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>t</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Add a track or bus
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>s</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Save the session
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>q</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Quit
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>u</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Starts a prefix entry sequence
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>m</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ Toggle sending MIDI feedback
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/generic_midi_control_surface.xml b/manual/xml/generic_midi_control_surface.xml
index f8e6fd152b..675d8948a9 100644
--- a/manual/xml/generic_midi_control_surface.xml
+++ b/manual/xml/generic_midi_control_surface.xml
@@ -5,10 +5,10 @@
]>
<section id="sn-generic-midi-control-surface">
- <title>Using a Generic MIDI control surface</title>
- <para>
- To be completed. Applies only to Ardour 2.
- </para>
+ <title>Using a Generic MIDI control surface</title>
+ <para>
+ To be completed. Applies only to Ardour 2.
+ </para>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/generic_mouse_actions.xml b/manual/xml/generic_mouse_actions.xml
index 17d59c6a83..fdc26d4e6c 100644
--- a/manual/xml/generic_mouse_actions.xml
+++ b/manual/xml/generic_mouse_actions.xml
@@ -5,66 +5,70 @@
]>
<section id="generic-mouse-actions">
- <title>Generic Mouse Actions</title>
- <table id="tbl-generic-mouse-actions">
- <title>Range Operations Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <mousebutton>Button3</mousebutton>
- click
- </entry>
- <entry>
- Show context menu for clicked-upon item
- </entry>
- </row>
- <row>
- <entry>
- "Delete" click (
- <keycombo><keycap>Shift</keycap>
- <mousebutton>Button3</mousebutton>
- </keycombo>
- )
- </entry>
- <entry>
- Remove clicked upon item
- </entry>
- </row>
- <row>
- <entry>
- "Edit" click (<keycombo><keycap>Ctrl</keycap><mousebutton>Button3</mousebutton></keycombo>)
- </entry>
- <entry>
- Edit clicked upon item (if possible)
- </entry>
- </row>
- <row>
- <entry>
- "snap modifier" (<keycap>Mod3</keycap>)
- </entry>
- <entry>
- allow continuous dragging when snap-to is selected
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Generic Mouse Actions</title>
+ <table id="tbl-generic-mouse-actions">
+ <title>Range Operations Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
- <para>
- These generic mouse actions can be changed from the options window
- </para>
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <mousebutton>Button3</mousebutton> click
+ </entry>
+ <entry>
+ Show context menu for clicked-upon item
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ "Delete" click ( <keycombo><keycap>Shift</keycap>
+ <mousebutton>Button3</mousebutton> </keycombo> )
+ </entry>
+
+ <entry>
+ Remove clicked upon item
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ "Edit" click
+ (<keycombo><keycap>Ctrl</keycap><mousebutton>Button3</mousebutton></keycombo>)
+ </entry>
+
+ <entry>
+ Edit clicked upon item (if possible)
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ "snap modifier" (<keycap>Mod3</keycap>)
+ </entry>
+
+ <entry>
+ allow continuous dragging when snap-to is selected
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>
+ These generic mouse actions can be changed from the options window
+ </para>
</section>
diff --git a/manual/xml/glossary.xml b/manual/xml/glossary.xml
index b1eb541174..e07b2c462a 100644
--- a/manual/xml/glossary.xml
+++ b/manual/xml/glossary.xml
@@ -5,251 +5,300 @@
]>
<glossary>
- <title>Ardour Glossary</title>
-
- <glossdiv>
- <title>A</title>
- <glossentry id="gt-alsa">
- <glossterm><ulink url="http://www.alsa-project.org">Advanced Linux Sound Architecture</ulink></glossterm>
- <acronym>ALSA</acronym>
- <glossdef>
- <para>
- The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI functionality to the Linux operating system.
- </para>
- </glossdef>
- </glossentry>
-
- <glossentry id="gt-auditioner">
- <glossterm>Auditioner</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>B</title>
- <glossentry id="gt-bus">
- <glossterm>Bus</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>C</title>
- <glossentry id="gt-crossfade">
- <glossterm>Crossfade</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>D</title>
- <glossentry id="gt-daw">
- <glossterm>Digital Audio Workstation</glossterm>
- <acronym>DAW</acronym>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>E</title>
- <glossentry id="gt-embed">
- <glossterm>Embed</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>H</title>
- <glossentry id="gt-hdr">
- <glossterm>Hard Disk Recorder</glossterm>
- <acronym>HDR</acronym>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>I</title>
- <glossentry id="gt-insert">
- <glossterm>Insert</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>J</title>
- <glossentry id="gt-jack">
- <glossterm><ulink url="http://jackaudio.org">Jack Audio Connection Kit</ulink></glossterm>
- <acronym>JACK</acronym>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>L</title>
- <glossentry id="gt-ladpsa">
- <glossterm>Linux Audio Developers Simple Plugin API</glossterm>
- <acronym>LADSPA</acronym>
- <glossdef>
- <para>
- <ulink url="http://ladspa.org">Website</ulink>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>M</title>
- <glossentry id="gt-midi">
- <glossterm>Musical Instrument Digital Interface</glossterm>
- <acronym>MIDI</acronym>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>P</title>
- <glossentry id="gt-playlist">
- <glossterm>Playlist</glossterm>
- <glossdef>
- <para>
- some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
-
- <glossentry id="gt-plugin">
- <glossterm>plugin</glossterm>
- <glossdef>
- <para>
- some reasonable definition here.
- </para>
- <!--
- <glossseealso otherterm="gt-session"/>
- -->
- </glossdef>
- </glossentry>
-
- <glossentry id="gt-posix">
- <glossterm>Portable Operating System Interface for uniX</glossterm>
- <acronym>POSIX</acronym>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>R</title>
-
- <glossentry id="gt-region">
- <glossterm>Region</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
-
- <glossentry id="gt-redirect">
- <glossterm>Redirect</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>S</title>
- <glossentry id="gt-send">
- <glossterm>Send</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- <glossentry id="gt-session">
- <glossterm>Session</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- <glossentry id="gt-session-template">
- <glossterm>Session Template</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- <glossseealso otherterm="gt-session"/>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>T</title>
- <glossentry id="gt-track">
- <glossterm>Track</glossterm>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
-
- <glossdiv>
- <title>V</title>
- <glossentry id="gt-vst">
- <glossterm>Virtual Studio Technology</glossterm>
- <acronym>VST</acronym>
- <glossdef>
- <para>
- Some reasonable definition here.
- </para>
- </glossdef>
- </glossentry>
- </glossdiv>
+ <title>Ardour Glossary</title>
+ <glossdiv>
+ <title>A</title>
+ <glossentry id="gt-alsa">
+ <glossterm><acronym>ALSA</acronym></glossterm>
+ <glossdef>
+ <para>
+ Abbreviation for Advanced Linux Sound Architecture. ALSA provides
+ audio and MIDI functionality to the Linux operating system.
+ </para>
+ <para>
+ <ulink url="http://www.alsa-project.org"/>
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-audio-track">
+ <glossterm>Audio Track</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-auditioner">
+ <glossterm>Auditioner</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>B</title>
+ <glossentry id="gt-bus">
+ <glossterm>Bus</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-bus-track">
+ <glossterm>Bus Track</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>C</title>
+ <glossentry id="gt-crossfade">
+ <glossterm>Crossfade</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>D</title>
+ <glossentry id="gt-daw">
+ <glossterm><acronym>DAW</acronym></glossterm>
+ <glossdef>
+ <para>
+ Abbreviation of Digital Audio Workstation. Some reasonable
+ definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-destructive-recording">
+ <glossterm>Destructive Recording</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>E</title>
+ <glossentry id="gt-embed">
+ <glossterm>Embed</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>H</title>
+ <glossentry id="gt-hdr">
+ <glossterm><acronym>HDR</acronym></glossterm>
+ <glossdef>
+ <para>
+ Short for Hard Disk Recorder. Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>I</title>
+ <glossentry id="gt-insert">
+ <glossterm>Insert</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>J</title>
+ <glossentry id="gt-jack">
+ <glossterm><acronym>JACK</acronym></glossterm>
+ <glossdef>
+ <para>
+ Initialism of Jack Audio Connection Kit. Some reasonable
+ definition here.
+ </para>
+ <para>
+ <ulink url="http://jackaudio.org"/>
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>L</title>
+ <glossentry id="gt-ladpsa">
+ <glossterm><acronym>LADSPA</acronym> </glossterm>
+ <glossdef>
+ <para>
+ Abbreviation of Linux Audio Developers Simple Plugin API. Some
+ reasonable definition here.
+ </para>
+ <para>
+ <ulink url="http://ladspa.org"/>
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>M</title>
+ <glossentry id="gt-midi">
+ <glossterm><acronym>MIDI</acronym> </glossterm>
+ <glossdef>
+ <para>
+ Abbreviation for Musical Instrument Digital Interface. Some
+ reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>P</title>
+ <glossentry id="gt-playlist">
+ <glossterm>Playlist</glossterm>
+ <glossdef>
+ <para>
+ some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-plugin">
+ <glossterm>plugin</glossterm>
+ <glossdef>
+ <para>
+ some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-posix">
+ <glossterm><acronym>POSIX</acronym></glossterm>
+ <glossdef>
+ <para>
+ POSIX stands for Portable Operating System Interface for uniX.
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>R</title>
+ <glossentry id="gt-region">
+ <glossterm>Region</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-redirect">
+ <glossterm>Redirect</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>S</title>
+ <glossentry id="gt-send">
+ <glossterm>Send</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-session">
+ <glossterm>Session</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-session-template">
+ <glossterm>Session Template</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ <glossseealso otherterm="gt-session"/>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-submixing">
+ <glossterm>Submixing</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>T</title>
+ <glossentry id="gt-tape-track">
+ <glossterm>Tape Track</glossterm>
+ <glossdef>
+ <para>
+ Some Reasonable definition here.
+ </para>
+ <glossseealso otherterm="gt-track"/>
+ </glossdef>
+ </glossentry>
+
+ <glossentry id="gt-track">
+ <glossterm>Track</glossterm>
+ <glossdef>
+ <para>
+ Some reasonable definition here.
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
+
+ <glossdiv>
+ <title>V</title>
+ <glossentry id="gt-vst">
+ <glossterm><acronym>VST</acronym></glossterm>
+ <glossdef>
+ <para>
+ Short for Virtual Studio Technology
+ </para>
+ </glossdef>
+ </glossentry>
+ </glossdiv>
</glossary>
diff --git a/manual/xml/introduction.xml b/manual/xml/introduction.xml
index 9ac3205485..27c14636d7 100644
--- a/manual/xml/introduction.xml
+++ b/manual/xml/introduction.xml
@@ -1,39 +1,30 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<chapter id="ch-introduction">
-
- <title>Introduction</title>
-
- <para>
- Welcome to Ardour. Ardour is a powerful digital audio workstation that
- gives you everything you need to record, edit, mix, and arrange
- professional audio.
- </para>
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <title>Introduction</title>
+ <para>
+ Welcome to Ardour. Ardour is a powerful digital audio workstation that
+ gives you everything you need to record, edit, mix, and arrange
+ professional audio.
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="formatting_conventions.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="midi_configuration.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="key_bindings.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="user_interface_conventions.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="what_is_different_about_ardour.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="why_is_it_called_ardour.xml" />
-
- <!--
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</chapter>
diff --git a/manual/xml/jack.xml b/manual/xml/jack.xml
index 1e0a0bfd5e..8798a45686 100644
--- a/manual/xml/jack.xml
+++ b/manual/xml/jack.xml
@@ -5,275 +5,286 @@
]>
<section id="sn-configuring-jack">
- <title>Getting Audio In, Out and Around Your Computer</title>
- <para>
- Before you can begin to use Ardour, you will need to get the audio
- input/output capabilities of your system working and properly configured.
- There are two aspects to this process: getting your audio interface
- (soundcard) working, and configuring it to work with the Jack Audio
- Connection Kit (<ulink url="http://jackaudio.org/">JACK</ulink>).
- </para>
+ <title>Getting Audio In, Out and Around Your Computer</title>
+ <para>
+ Before you can begin to use Ardour, you will need to get the audio
+ input/output capabilities of your system working and properly
+ configured. There are two aspects to this process: getting your audio
+ interface (soundcard) working, and configuring it to work with the Jack
+ Audio Connection Kit (<ulink url="http://jackaudio.org/">JACK</ulink>).
+ </para>
- <section id="sn-jack">
- <title>JACK</title>
- <para>
- It is extremely important to understand that Ardour does not interact
- directly with your audio interface when it is running. Instead, all of the
- audio data signals that Ardour receives and generates are sent to and from
- JACK, a piece of software that routes audio data between an audio interface
- and audio applications, in real time.
- </para>
+ <section id="sn-jack">
+ <title>JACK</title>
+ <para>
+ It is extremely important to understand that Ardour does not interact
+ directly with your audio interface when it is running. Instead, all of
+ the audio data signals that Ardour receives and generates are sent to
+ and from JACK, a piece of software that routes audio data between an
+ audio interface and audio applications, in real time.
+ </para>
- <para>
- Traditionally, most of the audio sources that you would want to record, as
- well as a lot of the more significant effects processing, existed outside
- the computer. Consequently one of the biggest issues in integrating a
- computer into the operation of the studio is how to move audio data in and
- out of the computer.
- </para>
+ <para>
+ Traditionally, most of the audio sources that you would want to
+ record, as well as a lot of the more significant effects processing,
+ existed outside the computer. Consequently one of the biggest issues
+ in integrating a computer into the operation of the studio is how to
+ move audio data in and out of the computer.
+ </para>
- <para>
- However, it is becoming increasingly common for studios to use audio
- sources and effects processing that are comprised completely of software,
- quite often running on the same machine as an audio sequencer or digital
- audio workstation (DAW). A new problem arises in such situations, because
- moving audio in and out of the DAW no longer involves your hardware audio
- interface. Instead, data has to be moved from one piece of software to
- another, preferably with the same kind of sample synchronisation you’d
- have in a properly configured digital hardware system. This is a problem
- that has been solved at least a couple of times (ReWire from PropellerHeads
- and DirectConnect from Digidesign are the two most common examples), but
- JACK is a new design developed as an open source software project, and is
- thusly available for anyone to use, learn from, extend, *fix or modify.
- </para>
+ <para>
+ However, it is becoming increasingly common for studios to use audio
+ sources and effects processing that are comprised completely of
+ software, quite often running on the same machine as an audio
+ sequencer or digital audio workstation (DAW). A new problem arises in
+ such situations, because moving audio in and out of the DAW no longer
+ involves your hardware audio interface. Instead, data has to be moved
+ from one piece of software to another, preferably with the same kind
+ of sample synchronisation you’d have in a properly configured
+ digital hardware system. This is a problem that has been solved at
+ least a couple of times (ReWire from PropellerHeads and DirectConnect
+ from Digidesign are the two most common examples), but JACK is a new
+ design developed as an open source software project, and is thusly
+ available for anyone to use, learn from, extend, *fix or modify.
+ </para>
- <para>
- New users may not initially realize that by using Jack, their computer
- becomes an extremely flexible and powerful audio tool - especially with
- Ardour acting as the ’heart’ of the system.
- </para>
- </section>
+ <para>
+ New users may not initially realize that by using Jack, their computer
+ becomes an extremely flexible and powerful audio tool - especially
+ with Ardour acting as the ’heart’ of the system.
+ </para>
+ </section>
- <section id="getting-audio-working">
- <title>Getting Your Audio Interface Working</title>
- <note>
- <para>
- Although Ardour runs on OS X as well as Linux, this documentation
- describes only a Linux (ALSA) system. The issues faced on OS X tend to be
- entirely different, and are centered mostly on JACK. There are also
- alternative audio device driver families for Linux but they are also not
- discussed here.
- </para>
- </note>
+ <section id="getting-audio-working">
+ <title>Getting Your Audio Interface Working</title>
+ <note>
+ <para>
+ Although Ardour runs on OS X as well as Linux, this documentation
+ describes only a Linux (ALSA) system. The issues faced on OS X tend
+ to be entirely different, and are centered mostly on JACK. There are
+ also alternative audio device driver families for Linux but they are
+ also not discussed here.
+ </para>
+ </note>
- <para>
- Getting your audio interface working can be the hardest part of setting
- your computer up to run Ardour, or it could be one of the easiest. The
- level of difficulty you will face depends on the type of audio interface
- ("soundcard") you are using, the operating system version you are using,
- and your own understanding of how it all works.
- </para>
+ <para>
+ Getting your audio interface working can be the hardest part of
+ setting your computer up to run Ardour, or it could be one of the
+ easiest. The level of difficulty you will face depends on the type of
+ audio interface ("soundcard") you are using, the operating system
+ version you are using, and your own understanding of how it all works.
+ </para>
- <para>
- In an ideal world, your computer already has a working audio interface, and
- all you need do is to start up qjackctl and run JACK. You can determine if
- you face this ideal situation by doing a few simple tests on your machine.
- The most obvious test is whether you’ve already heard audio coming out of
- your computer. If you are in this situation, you can skip ahead to
- <xref linkend="selecting-capture-source"/>.
- </para>
- </section>
+ <para>
+ In an ideal world, your computer already has a working audio
+ interface, and all you need do is to start up qjackctl and run JACK.
+ You can determine if you face this ideal situation by doing a few
+ simple tests on your machine. The most obvious test is whether
+ you’ve already heard audio coming out of your computer. If you are
+ in this situation, you can skip ahead to
+ <xref linkend="selecting-capture-source"/>.
+ </para>
+ </section>
- <section id="checking-for-an-audio-interface">
- <title>Checking For an Audio Interface</title>
- <para>
- If you’ve never tried to play audio on your computer before, you should
- use a basic playback program such as play, aplay or possibly xmms. Find an
- audio file on your machine (<command>locate .wav</command> may help here),
- and try to play it. There are several possibilities:
- </para>
+ <section id="checking-for-an-audio-interface">
+ <title>Checking For an Audio Interface</title>
+ <para>
+ If you’ve never tried to play audio on your computer before, you
+ should use a basic playback program such as play, aplay or possibly
+ xmms. Find an audio file on your machine (<command>locate
+ .wav</command> may help here), and try to play it. There are several
+ possibilities:
+ </para>
- <itemizedlist>
- <listitem>
- <para>
- You may get an error from the program
- </para>
- </listitem>
- <listitem>
- <para>
- You may hear nothing
- </para>
- </listitem>
- <listitem>
- <para>
- You may hear something, but its too quiet
- </para>
- </listitem>
- <listitem>
- <para>
- you may hear something from the wrong loudspeakers.
- </para>
- </listitem>
- </itemizedlist>
- </section>
+ <itemizedlist>
+ <listitem>
+ <para>
+ You may get an error from the program
+ </para>
+ </listitem>
- <section id="selecting-capture-source">
- <title>Selecting Capture Source</title>
- <para>
- Many audio interfaces, particularly the cheaper varieties that are often
- found built into computers, have ways to plug in both microphones and
- instruments or other audio equipment to be recorded. This immediately poses
- a question: how does Ardour (or any software) know which signal to record,
- the one coming into the microphone input, or the one arriving at the "line
- in" socket? The same question arises also for "high-end" audio interfaces,
- though in different ways.
- </para>
+ <listitem>
+ <para>
+ You may hear nothing
+ </para>
+ </listitem>
- <para>
- The short answer is: Ardour doesn’t. Instead, this is a choice you have
- to make using a program a program that understands how to control the
- mixing hardware on the audio interface. Linux/ALSA has a number of such
- programs: alsamixer, gamix, aumix, kmix are just a few of them. Each of
- them offers you a way to select which of the possible recordable signals
- will be used for as the "capture source". How you select the preferred
- signal varies from program to program, so you will have to consult the help
- documentation for whichever program you choose to use.
- </para>
+ <listitem>
+ <para>
+ You may hear something, but its too quiet
+ </para>
+ </listitem>
- <para>
- There are also a few programs that offer ways to control just one
- particular kind of audio interface. For example, the
- <application>hdspmixer</application> program offers control over the very
- powerful matrix mixer present on several RME audio interface.
- <application>envy24ctrl</application> does the same for a number of
- interfaces built around the common ice1712/envy24 chipset, found in devices
- from M-Audio, Terratec and others. Please note that this quite similar to
- the situation for Windows and MacOS users, where each audio interface often
- comes with its own control program that allows certain critical
- configuration choices to be made.
- </para>
+ <listitem>
+ <para>
+ you may hear something from the wrong loudspeakers.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
- <section id="problems-with-input-signal">
- <title>"I don’t get any signal when I record …"</title>
- <para>
- The most common problem for first-time audio users on Linux is to try to
- record something and get no signal at all, or alternatively, a very low
- signal. The low signal problem typically arises from one or more of the
- following issues:
- </para>
+ <section id="selecting-capture-source">
+ <title>Selecting Capture Source</title>
+ <para>
+ Many audio interfaces, particularly the cheaper varieties that are
+ often found built into computers, have ways to plug in both
+ microphones and instruments or other audio equipment to be recorded.
+ This immediately poses a question: how does Ardour (or any software)
+ know which signal to record, the one coming into the microphone input,
+ or the one arriving at the "line in" socket? The same question arises
+ also for "high-end" audio interfaces, though in different ways.
+ </para>
- <itemizedlist>
- <listitem>
- <para>
- a microphone input plugged into the "line in" socket of the interface.
- The signal levels delivered by microphones are very small, and require
- amplification before they can be used by most audio circuitry. In
- professional recording studios, this is done using a dedicated box
- called a "pre-amplifier". If your audio interface has a "mic input"
- socket, then it has its own pre-amplifier built in, although its
- probably not a very good one. If you make the mistake of plugging a
- microphone into the "line in" socket, you will get either an inaudible
- or very quiet signal.
- </para>
- </listitem>
- <listitem>
- <para>
- the wrong capture source selected in the audio interface’s hardware
- mixer (see above)
- </para>
- </listitem>
- <listitem>
- <para>
- the "capture" gain level in the audio interface’s hardware mixer is
- turned down too low. You will need to use a hardware mixer application
- (as described above) to increase this.
- </para>
- </listitem>
- </itemizedlist>
+ <para>
+ The short answer is: Ardour doesn’t. Instead, this is a choice you
+ have to make using a program a program that understands how to control
+ the mixing hardware on the audio interface. Linux/ALSA has a number of
+ such programs: alsamixer, gamix, aumix, kmix are just a few of them.
+ Each of them offers you a way to select which of the possible
+ recordable signals will be used for as the "capture source". How you
+ select the preferred signal varies from program to program, so you
+ will have to consult the help documentation for whichever program you
+ choose to use.
+ </para>
- <note>
- <para>
- You will notice in the mixer strip for each track in ardour that you can
- change the selection of the monitoring source between input/pre/post.
- Adjusting the fader while watching the ’input’ levels will NOT have
- any affect on the levels. As mentioned above, ardour is dependent on
- external mixer settings for a source level.
- </para>
- </note>
- </section>
- </section>
+ <para>
+ There are also a few programs that offer ways to control just one
+ particular kind of audio interface. For example, the
+ <application>hdspmixer</application> program offers control over the
+ very powerful matrix mixer present on several RME audio interface.
+ <application>envy24ctrl</application> does the same for a number of
+ interfaces built around the common ice1712/envy24 chipset, found in
+ devices from M-Audio, Terratec and others. Please note that this quite
+ similar to the situation for Windows and MacOS users, where each audio
+ interface often comes with its own control program that allows certain
+ critical configuration choices to be made.
+ </para>
- <section id="monitoring-choices">
- <title>Monitoring Choices</title>
- <para>
- Its unfortunate that we have to raise this issue at a point in the manual
- where you, the reader, may not even knoiw what "monitoring" means. However,
- it is such an absolutely critical aspect of using any digital audio
- workstation that we need to at least cover the basics here. The only people
- who don’t need to care about monitoring are those who will never use
- ardour to record a live performance (even on performed using a software
- synthesizer).
- </para>
+ <section id="problems-with-input-signal">
+ <title>"I don’t get any signal when I record …"</title>
+ <para>
+ The most common problem for first-time audio users on Linux is to
+ try to record something and get no signal at all, or alternatively,
+ a very low signal. The low signal problem typically arises from one
+ or more of the following issues:
+ </para>
- <para>
- Monitoring is the term we use to describe listening to what ardour is
- recording. If you are playing a guitar and recording it with ardour, you
- can probably hear the guitar’s own sound, but there are many situations
- where relying on the sound of the instrument is completely inadequate. For
- example, with an electronic instrument, there is no sound until the
- electrical signal that it generates has been processed by an amplifier and
- fed to a loudspeaker. But if Ardour is recording the instrument’s signal,
- what is responsible for sending it to the amp+loudspeakers? It can get a
- lot more complex than that: if you are recording multiple performers at the
- same time, each performer needs to hear their own playing/singing, but they
- also probably need to hear some of their colleagues’ sound as well. You
- might be overdubbing yourself - playing a new line on an instrument while
- listening to tracks you’ve already recorded - how do you hear the new
- material as well as the existing stuff?
- </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ a microphone input plugged into the "line in" socket of the
+ interface. The signal levels delivered by microphones are very
+ small, and require amplification before they can be used by most
+ audio circuitry. In professional recording studios, this is done
+ using a dedicated box called a "pre-amplifier". If your audio
+ interface has a "mic input" socket, then it has its own
+ pre-amplifier built in, although its probably not a very good
+ one. If you make the mistake of plugging a microphone into the
+ "line in" socket, you will get either an inaudible or very quiet
+ signal.
+ </para>
+ </listitem>
- <para>
- Well, hopefully, you’re convinced that there are some questions to be
- dealt with surrounding monitoring, see <xref linkend="sn-monitoring"/> for
- more in depth information.
- </para>
- </section>
+ <listitem>
+ <para>
+ the wrong capture source selected in the audio interface’s
+ hardware mixer (see above)
+ </para>
+ </listitem>
- <section id="using-multiple-soundcards">
- <title>Can I use multiple soundcards</title>
- <para>
- There are really lots of great reasons why you should not even attempt to
- do this. But seriously, save your money for a while and buy yourself a
- properly designed multichannel soundcard.
- </para>
- </section>
+ <listitem>
+ <para>
+ the "capture" gain level in the audio interface’s hardware
+ mixer is turned down too low. You will need to use a hardware
+ mixer application (as described above) to increase this.
+ </para>
+ </listitem>
+ </itemizedlist>
- <section id="qjackctl">
- <title>Qjackctl</title>
- <para>
- JACK itself does not come with graphical user interface - to start JACK and
- control it you need to have access to a command line and a basic knowledge
- of Unix-like operating systems. However,
- <ulink url="http://qjackctl.sourceforge.net/">qjackctl</ulink> is a
- wonderful application that wraps JACK up with a graphical interface that is
- both nice to look at and useful at same time. qjackctl is the recommended
- way of using JACK.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/qjackctl.png"/>
- </imageobject>
- </mediaobject>
- <para>
- You should be able to start qjackctl from the “application menu” of
- your system, typically found on the panel/appbar/dock or whatever its
- called that lives at the top/bottom/left/right of your screen.
- </para>
+ <note>
+ <para>
+ You will notice in the mixer strip for each track in ardour that
+ you can change the selection of the monitoring source between
+ input/pre/post. Adjusting the fader while watching the ’input’
+ levels will NOT have any affect on the levels. As mentioned above,
+ ardour is dependent on external mixer settings for a source level.
+ </para>
+ </note>
+ </section>
+ </section>
- <para>
- [ need screenshot of GNOME/KDE/OSX menus here ]
- </para>
- </section>
+ <section id="monitoring-choices">
+ <title>Monitoring Choices</title>
+ <para>
+ Its unfortunate that we have to raise this issue at a point in the
+ manual where you, the reader, may not even knoiw what "monitoring"
+ means. However, it is such an absolutely critical aspect of using any
+ digital audio workstation that we need to at least cover the basics
+ here. The only people who don’t need to care about monitoring are
+ those who will never use ardour to record a live performance (even on
+ performed using a software synthesizer).
+ </para>
+
+ <para>
+ Monitoring is the term we use to describe listening to what ardour is
+ recording. If you are playing a guitar and recording it with ardour,
+ you can probably hear the guitar’s own sound, but there are many
+ situations where relying on the sound of the instrument is completely
+ inadequate. For example, with an electronic instrument, there is no
+ sound until the electrical signal that it generates has been processed
+ by an amplifier and fed to a loudspeaker. But if Ardour is recording
+ the instrument’s signal, what is responsible for sending it to the
+ amp+loudspeakers? It can get a lot more complex than that: if you are
+ recording multiple performers at the same time, each performer needs
+ to hear their own playing/singing, but they also probably need to hear
+ some of their colleagues’ sound as well. You might be overdubbing
+ yourself - playing a new line on an instrument while listening to
+ tracks you’ve already recorded - how do you hear the new material as
+ well as the existing stuff?
+ </para>
+
+ <para>
+ Well, hopefully, you’re convinced that there are some questions to
+ be dealt with surrounding monitoring, see
+ <xref linkend="sn-monitoring"/> for more in depth information.
+ </para>
+ </section>
+
+ <section id="using-multiple-soundcards">
+ <title>Can I use multiple soundcards</title>
+ <para>
+ There are really lots of great reasons why you should not even attempt
+ to do this. But seriously, save your money for a while and buy
+ yourself a properly designed multichannel soundcard.
+ </para>
+ </section>
+
+ <section id="qjackctl">
+ <title>Qjackctl</title>
+ <para>
+ JACK itself does not come with graphical user interface - to start
+ JACK and control it you need to have access to a command line and a
+ basic knowledge of Unix-like operating systems. However,
+ <ulink url="http://qjackctl.sourceforge.net/">qjackctl</ulink> is a
+ wonderful application that wraps JACK up with a graphical interface
+ that is both nice to look at and useful at same time. qjackctl is the
+ recommended way of using JACK.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/qjackctl.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ You should be able to start qjackctl from the “application menu”
+ of your system, typically found on the panel/appbar/dock or whatever
+ its called that lives at the top/bottom/left/right of your screen.
+ </para>
+
+ <para>
+ [ need screenshot of GNOME/KDE/OSX menus here ]
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/key_bindings.xml b/manual/xml/key_bindings.xml
index bd87d5d335..f3b50810a7 100644
--- a/manual/xml/key_bindings.xml
+++ b/manual/xml/key_bindings.xml
@@ -5,82 +5,78 @@
]>
<section id="sn-mouse-and-keyboard-bindings">
- <title>Mouse and Keyboard Bindings</title>
-
- <section id="sn-key-bindings">
- <title>Key Bindings</title>
-
- <para>
- Note that all keyboard bindings can be changed in either the system or the
- user's Ardour configuration file
- (<filename>$HOME/.ardour/ardour.rc</filename>).
- </para>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <title>Mouse and Keyboard Bindings</title>
+ <section id="sn-key-bindings">
+ <title>Key Bindings</title>
+ <para>
+ Note that all keyboard bindings can be changed in either the system or
+ the user's Ardour configuration file
+ (<filename>$HOME/.ardour/ardour.rc</filename>).
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="general_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="transport_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mixer_window_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_window_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_play_position_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_edit_cursor_position_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_canvas_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_zoom_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_aligning_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_standard_editing_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_range_operations_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_nudging_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_region_operations_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_locations_marks_key_bindings.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="editor_miscellaneous_key_bindings.xml" />
- </section>
+ </section>
- <section id="sn-mouse-operations">
- <title>Mouse Operations</title>
+ <section id="sn-mouse-operations">
+ <title>Mouse Operations</title>
+ <para>
+ Note that the definition of the "Delete" and "Edit" clicks can be
+ redefined by the user, either in their Ardour configuration file
+ (<filename>$HOME/.ardour/ardour.rc</filename>) or using the Options
+ Editor (Keyboard+Mouse tab).
+ </para>
- <para>
- Note that the definition of the "Delete" and "Edit" clicks can be redefined
- by the user, either in their Ardour configuration file
- (<filename>$HOME/.ardour/ardour.rc</filename>) or using the Options Editor
- (Keyboard+Mouse tab).
- </para>
-
- <para>
- You might wonder why we say Button1 ? Here is an
+ <para>
+ You might wonder why we say Button1 ? Here is an
<!--
<a href="/manual/intro/formatting#Mouse Buttons">explanation</a>.
-->
- </para>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="generic_mouse_actions.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_wheel_actions.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_object_mode.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_region_gain_mode.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_range_mode.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_zoom_mode.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_ruler.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_mixer_controls.xml" />
- </section>
-
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/known_issues.xml b/manual/xml/known_issues.xml
index 4430e49a5f..0cdeedd087 100644
--- a/manual/xml/known_issues.xml
+++ b/manual/xml/known_issues.xml
@@ -5,80 +5,90 @@
]>
<chapter id="sn-problems-bugs-known-issues">
- <title>Problems, Bugs and Known Issues</title>
- <section id="known-issues">
- <title> Known Issues </title>
- <para>
- This section documents known issues with the all versions of Ardour up to
- and including 1.0. It is not a replacement for our
- <ulink url="http://tracker.ardour.org/">bug tracking system</ulink>, but
- instead summarizes some known issues that are likely to be encountered by
- users and are not in the process of being fixed.
- </para>
+ <title>Problems, Bugs and Known Issues</title>
+ <section id="known-issues">
+ <title> Known Issues </title>
+ <para>
+ This section documents known issues with the all versions of Ardour up
+ to and including 1.0. It is not a replacement for our
+ <ulink url="http://tracker.ardour.org/">bug tracking system</ulink>,
+ but instead summarizes some known issues that are likely to be
+ encountered by users and are not in the process of being fixed.
+ </para>
- <itemizedlist>
- <listitem>
- <para>
- creating 3rd level feedback loops (e.g. bus 1 feeds bus 2 feeds bus 3;
- bus 3 feeds bus 1) may prevent a session from loading
- </para>
- </listitem>
- <listitem>
- <para>
- ardour's interpretation of "beats per minute" is different from most
- other programs and from convention. 1 "beat" is whatever the meter in
- effect defines. Thus, 120 bpm in a 4/4 meter is 120 quarter notes per
- minute; 120 bpm in a 3/8 meter is 120 eighth notes per minute.
- </para>
- </listitem>
- <listitem>
- <para>
- copying or cut-n-pasting two (or more) regions that have a crossfade
- between them to a new location or a new track does not copy the
- crossfade. Until a future version of Ardour changes this, you are advised
- to do region editing first, and create crossfades second.
- </para>
- </listitem>
- <listitem>
- <para>
- it is not possible to create pan automation control points using the
- mouse for stereo (or higher channel count) tracks and busses. you can
- create automation for these configurations by recording panning motion,
- and you can edit the data using the mouse.
- </para>
- </listitem>
- <listitem>
- <para>
- when importing an audio file directly into a track, there are no choices
- for the quality level of any necessary sample rate conversion. On any
- system that Ardour is running on, there is almost certainly a utility
- called <command>sndfile-resample</command> which uses the same sample
- rate conversion library as Ardour. This utility offers a great deal of
- control over the sample rate conversion process, including quality
- levels. Ardour uses the "best" quality internally. If you want a
- different quality, you can use this tool to produce a rate-converted file
- at the correct speed, and then import that into Ardour.
- </para>
- </listitem>
- <listitem>
- <para>
- when timestretch is used to alter the length of a region, any
- region-specific gain envelope is lost. The new region has the default
- unity gain throughout its duration.
- </para>
- </listitem>
- <listitem>
- <para>
- if you overdub on a playlist in an area containing cross-fades, the
- cross-fades will still be audible in spite of the newly overdubbed
- material being "on top" of them. Workaround is to mute or remove the
- crossfades before overdubbing. As a corollary to this, creating
- crossfades that span other crossfades will not work correctly in this
- version of Ardour.
- </para>
- </listitem>
- </itemizedlist>
- </section>
+ <itemizedlist>
+ <listitem>
+ <para>
+ creating 3rd level feedback loops (e.g. bus 1 feeds bus 2 feeds
+ bus 3; bus 3 feeds bus 1) may prevent a session from loading
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ ardour's interpretation of "beats per minute" is different from
+ most other programs and from convention. 1 "beat" is whatever the
+ meter in effect defines. Thus, 120 bpm in a 4/4 meter is 120
+ quarter notes per minute; 120 bpm in a 3/8 meter is 120 eighth
+ notes per minute.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ copying or cut-n-pasting two (or more) regions that have a
+ crossfade between them to a new location or a new track does not
+ copy the crossfade. Until a future version of Ardour changes this,
+ you are advised to do region editing first, and create crossfades
+ second.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ it is not possible to create pan automation control points using
+ the mouse for stereo (or higher channel count) tracks and busses.
+ you can create automation for these configurations by recording
+ panning motion, and you can edit the data using the mouse.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ when importing an audio file directly into a track, there are no
+ choices for the quality level of any necessary sample rate
+ conversion. On any system that Ardour is running on, there is
+ almost certainly a utility called
+ <command>sndfile-resample</command> which uses the same sample
+ rate conversion library as Ardour. This utility offers a great
+ deal of control over the sample rate conversion process, including
+ quality levels. Ardour uses the "best" quality internally. If you
+ want a different quality, you can use this tool to produce a
+ rate-converted file at the correct speed, and then import that
+ into Ardour.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ when timestretch is used to alter the length of a region, any
+ region-specific gain envelope is lost. The new region has the
+ default unity gain throughout its duration.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ if you overdub on a playlist in an area containing cross-fades,
+ the cross-fades will still be audible in spite of the newly
+ overdubbed material being "on top" of them. Workaround is to mute
+ or remove the crossfades before overdubbing. As a corollary to
+ this, creating crossfades that span other crossfades will not work
+ correctly in this version of Ardour.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/mackie.xml b/manual/xml/mackie.xml
new file mode 100644
index 0000000000..da9b6aafeb
--- /dev/null
+++ b/manual/xml/mackie.xml
@@ -0,0 +1,249 @@
+<?xml version="1.0" standalone="no"?>
+
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+
+]>
+
+<section id="sn-mackie">
+ <title>Using the Mackie driver for MCU and BCF2000</title>
+ <para>
+ Note: Mackie support is available only for ardour 2.0 beta12 or newer.
+ </para>
+ <para>
+ This will walk you through the process of configuring and using Mackie
+ MCU, or a BCF2000 in
+ <ulink url="http://www.behringerdownload.de/BCF2000/BCF2000_Emulation_modes.pdf">Logic
+ Control emulation mode</ulink>.
+ </para>
+
+ <section id="mackie-connecting-device">
+ <title>Connecting Device</title>
+ <para>
+ Make sure your surface is connected and you know which
+ <filename>/dev/snd/midi</filename> entry belongs to the device. You
+ can do this by saying <command>cat /proc/asound/cards</command> which
+ should result in something like
+<screen>
+ 0 [EWS88MT ]: ICE1712 - TerraTec EWS88MT
+ TerraTec EWS88MT at 0x1140, irq 21
+ 1 [VirMIDI ]: VirMIDI - VirMIDI
+ Virtual MIDI Card 1
+ 2 [BCF2000 ]: USB-Audio - BCF2000
+ BEHRINGER BCF2000 at usb-0000:00:1a.1-1, full speed
+</screen>
+ in this case the BCF2000 is on <filename>/dev/snd/midiC2D0</filename>.
+ </para>
+
+ <para>
+ While ardour is not running, edit your
+ <filename>.ardour2/ardour.rc</filename> and add at the top, with the
+ other ports:
+<programlisting>
+&lt;MIDI-port tag="mcu" device="/dev/snd/midiC2D0" type="alsa/raw" mode="duplex"/&gt;
+</programlisting>
+ If you have a BCF2000, and you'd like to use
+ <link linkend="mackie-bcf-mode">BCF mode</link>, you can also add
+ under the &lt;Config&gt; tag:
+<programlisting>
+&lt;Option name="mackie-emulation" value="bcf"/&gt;
+</programlisting>
+ </para>
+
+ <para>
+ It is also possible to add MCU extenders, although this is untested
+ because nobody we know has access to one right now. To do this, add
+ the following lines to <filename>~/.ardour2/ardour.rc</filename>
+<programlisting>
+&lt;MIDI-port tag="mcu_xt_1" device="/dev/snd/midiC3D0" type="alsa/raw" mode="duplex"/&gt;
+&lt;MIDI-port tag="mcu_xt_2" device="/dev/snd/midiC4D0" type="alsa/raw" mode="duplex"/&gt;
+</programlisting>
+ and so on, one for each of your extenders, up to a maximum of 9
+ extenders.
+ </para>
+ </section>
+
+ <section id="mackie-connecting-to-ardour">
+ <title>Connecting to Ardour</title>
+ <para>
+ Start up ardour. Go to Options/Control Surfaces. You should see
+ "Mackie" as one of the menu items. Turn it on. The faders on the
+ surface should jump to the correct positions. The mackie should work
+ as normal, except that any buttons not on the BCF won't work.
+ </para>
+ </section>
+
+ <section id="mackie-bcf-mode">
+ <title>BCF mode</title>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ 7 of the 8 sliders are used as route sliders, the remaining
+ right-hand one is used for the master slider
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ certain buttons have been remapped from the default Behringer
+ settings, which required either both hands, or one-handed
+ contortions to do simple things like rec-enable or mute a track.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The display shows the number of the first switched-in bank or Ar
+ if the first bank is in place.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ BCF mode bindings
+ <table id="tbl-mackie-bcf-key-bindings">
+ <title>BCF mode bindings</title>
+ <tgroup cols = "4">
+ <colspec colnum="1" colname="Strip" colwidth="1"/>
+ <colspec colnum="2" colname="Master Strip" colwidth= "1"/>
+ <colspec colnum="3" colname="Buttons 1" colwidth="1"/>
+ <colspec colnum="4" colname="Buttons 2" colwidth= "1"/>
+ <thead>
+ <row>
+ <entry>
+ Strips 1-7
+ </entry>
+
+ <entry>
+ Master Strip
+ </entry>
+
+ <entry namest="Buttons 1" nameend="Buttons 2">
+ Buttons
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ pan / solo if pressed
+ </entry>
+
+ <entry>
+ transport <footnote>
+ <para>
+ Making a pot pretend to be a shuttle wheel doesn't work
+ very well.
+ </para>
+ </footnote> / nothing
+ </entry>
+
+ <entry namest="Buttons 1" nameend="Buttons 2">
+ LCD display
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ mute
+ </entry>
+
+ <entry>
+ mute
+ </entry>
+
+ <entry>
+ shift 1
+ </entry>
+
+ <entry>
+ loop
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ rec
+ </entry>
+
+ <entry>
+ session rec
+ </entry>
+
+ <entry>
+ shift 2
+ </entry>
+
+ <entry>
+ click
+ </entry>
+ </row>
+
+ <row>
+ <entry morerows="4" valign="middle">
+ slider
+ </entry>
+
+ <entry morerows="4" valign="middle">
+ slider
+ </entry>
+
+ <entry>
+ punch in
+ </entry>
+
+ <entry>
+ punch out
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ home
+ </entry>
+
+ <entry>
+ end
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ previous bank (shift 1 is previous route)
+ </entry>
+
+ <entry>
+ next bank (shift 1 is next route)
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ previous marker
+ </entry>
+
+ <entry>
+ next marker
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ stop
+ </entry>
+
+ <entry>
+ play
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </para>
+ </section>
+<!--
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="Some_Subsection.xml" />
+ -->
+</section>
diff --git a/manual/xml/main_windows.xml b/manual/xml/main_windows.xml
index aa982bcbd9..56d6a17d2b 100644
--- a/manual/xml/main_windows.xml
+++ b/manual/xml/main_windows.xml
@@ -5,87 +5,88 @@
]>
<section id="sn-main-windows">
- <title>Windows</title>
- <para>
- When Ardour starts without a session, there is just a single window visible
- which we call the editor. However, the program has many more windows that
- can be displayed for various purposes:
- </para>
+ <title>Windows</title>
+ <para>
+ When Ardour starts without a session, there is just a single window
+ visible which we call the editor. However, the program has many more
+ windows that can be displayed for various purposes:
+ </para>
- <note>
- <para>
- All Ardour windows have their WMCLASS property set to 'ardour', so that you
- can configure your window manager to handle them in a certain way if you
- wish to.
- </para>
- </note>
+ <note>
+ <para>
+ All Ardour windows have their WMCLASS property set to 'ardour', so
+ that you can configure your window manager to handle them in a certain
+ way if you wish to.
+ </para>
+ </note>
- <section id="editor-window-summary">
- <title>Editor Window</title>
- <para>
- This is the primary Ardour window. It contains the main menubar, plus
- several tear-off windows, and the editor itself.
- </para>
- </section>
+ <section id="editor-window-summary">
+ <title>Editor Window</title>
+ <para>
+ This is the primary Ardour window. It contains the main menubar, plus
+ several tear-off windows, and the editor itself.
+ </para>
+ </section>
- <section id="transport-bar-summary">
- <title>Transport Bar Window</title>
- <para>
- This window provides complete control over all of Ardour's transport
- functionality. it is initially attached to the editor window, but can be
- torn off and kept as an independent window if you prefer.
- </para>
- </section>
+ <section id="transport-bar-summary">
+ <title>Transport Bar Window</title>
+ <para>
+ This window provides complete control over all of Ardour's transport
+ functionality. it is initially attached to the editor window, but can
+ be torn off and kept as an independent window if you prefer.
+ </para>
+ </section>
- <section id="mixer-window-summary">
- <title>Mixer Window</title>
- <para>
- This window will be displayed automatically whenever a Session is loaded,
- and provides a representation of the Session that is modelled on a mixing
- console. Each track and bus has its own Mixer Strip, and there are also
- various lists for things like Mix Groups.
- </para>
+ <section id="mixer-window-summary">
+ <title>Mixer Window</title>
+ <para>
+ This window will be displayed automatically whenever a Session is
+ loaded, and provides a representation of the Session that is modelled
+ on a mixing console. Each track and bus has its own Mixer Strip, and
+ there are also various lists for things like Mix Groups.
+ </para>
- <para>
- A more precise way to think about the difference between the editor and the
- mixer is that the editor is primarily for controlling the time flow of the
- Session, whereas the mixer is primarily for controlling the signal flow.
- </para>
- </section>
+ <para>
+ A more precise way to think about the difference between the editor
+ and the mixer is that the editor is primarily for controlling the time
+ flow of the Session, whereas the mixer is primarily for controlling
+ the signal flow.
+ </para>
+ </section>
- <section id="location-and-marker-display-window-summary">
- <title>Location and Marker Display Window</title>
- <para>
- This window is used to display, edit and set various Locations and markers
- within a Session.
- </para>
- </section>
+ <section id="location-and-marker-display-window-summary">
+ <title>Location and Marker Display Window</title>
+ <para>
+ This window is used to display, edit and set various Locations and
+ markers within a Session.
+ </para>
+ </section>
- <section id="options-editor-window-summary">
- <title>Options Editor Window</title>
- <para>
- This window is used to set the many global and per-session options for
- Ardour.
- </para>
- </section>
+ <section id="options-editor-window-summary">
+ <title>Options Editor Window</title>
+ <para>
+ This window is used to set the many global and per-session options for
+ Ardour.
+ </para>
+ </section>
- <section id="track-bus-inspector-window-summary">
- <title>Track/Bus Inspector Window</title>
- <para>
- This optional window provides a single point of control for configuring all
- I/O and processing for every track and bus. It doesn't provide anything not
- offered by other windows, but it does group several things together in one
- place. You may prefer to use or not use this window.
- </para>
- </section>
-
- <section id="big-clock-window-summary">
- <title>Big Clock Window</title>
- <para>
- This optional window provides a display of the playhead position in a large
- font, readable from some distance. it can be useful when using Ardour to
- record yourself and you need or want to keep track of time.
- </para>
- </section>
+ <section id="track-bus-inspector-window-summary">
+ <title>Track/Bus Inspector Window</title>
+ <para>
+ This optional window provides a single point of control for
+ configuring all I/O and processing for every track and bus. It doesn't
+ provide anything not offered by other windows, but it does group
+ several things together in one place. You may prefer to use or not use
+ this window.
+ </para>
+ </section>
+ <section id="big-clock-window-summary">
+ <title>Big Clock Window</title>
+ <para>
+ This optional window provides a display of the playhead position in a
+ large font, readable from some distance. it can be useful when using
+ Ardour to record yourself and you need or want to keep track of time.
+ </para>
+ </section>
</section>
diff --git a/manual/xml/midi_configuration.xml b/manual/xml/midi_configuration.xml
index 13dc039273..32eb2c71d1 100644
--- a/manual/xml/midi_configuration.xml
+++ b/manual/xml/midi_configuration.xml
@@ -5,278 +5,295 @@
]>
<section id="sn-midi-configuration">
- <title>Midi Configuration</title>
- <para>
- Although at this time Ardour does not support
- <glossterm linkend="gt-midi">MIDI</glossterm> sequencing, it does support a
- fairly rich set of interactions via MIDI with other devices. In particular:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Ardour can function as MIDI Time Code (MTC) master or slave
- </para>
- </listitem>
- <listitem>
- <para>
- Ardour can control or be controlled by other devices using MIDI Machine
- Control (MMC)
- </para>
- </listitem>
- <listitem>
- <para>
- Ardour can bind all gain faders, panners, mute/solo/rec-enable buttons and
- all plugin parameters to be controlled by MIDI Continuous Controller (CC)
- or Note On/Off messages.
- </para>
- </listitem>
- <listitem>
- <para>
- Ardour can send MIDI "feedback" whenever gain, pan or plugin state
- changes, so that external motorized control surfaces can reflect parameter
- changes caused by automation etc.
- </para>
- </listitem>
- </itemizedlist>
-
- <section id="specifying-midi-ports">
- <title>Specifying MIDI ports</title>
- <para>
- Ardour does not attempt to discover what MIDI ports exist on your system.
- This is a complex issue, and on systems like Linux and OS X that permit
- virtual ports to be created at any time, it is not trivial to get right
- (although future versions of Ardour may try).
- </para>
-
- <para>
- Instead, the MIDI ports that are available for Ardour to use are defined in
- your <filename>ardour.rc</filename> file. These port definitions are not
- session specific, on the assumption that your system's MIDI hardware
- probably doesn't change much from session to session. The default version
- of this file contains a single port that can be used for inter-application
- MIDI routing as well as MIDI I/O to whatever physical MIDI ports might be
- available on your computer. In many cases, you will not need to change
- them.
- </para>
-
- <para>
- When you first use Ardour, the
+ <title>Midi Configuration</title>
+ <para>
+ Although at this time Ardour does not support
+ <glossterm linkend="gt-midi">MIDI</glossterm> sequencing, it does
+ support a fairly rich set of interactions via MIDI with other devices.
+ In particular:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Ardour can function as MIDI Time Code (MTC) master or slave
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ardour can control or be controlled by other devices using MIDI
+ Machine Control (MMC)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ardour can bind all gain faders, panners, mute/solo/rec-enable
+ buttons and all plugin parameters to be controlled by MIDI
+ Continuous Controller (CC) or Note On/Off messages.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Ardour can send MIDI "feedback" whenever gain, pan or plugin state
+ changes, so that external motorized control surfaces can reflect
+ parameter changes caused by automation etc.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <section id="specifying-midi-ports">
+ <title>Specifying MIDI ports</title>
+ <para>
+ Ardour does not attempt to discover what MIDI ports exist on your
+ system. This is a complex issue, and on systems like Linux and OS X
+ that permit virtual ports to be created at any time, it is not trivial
+ to get right (although future versions of Ardour may try).
+ </para>
+
+ <para>
+ Instead, the MIDI ports that are available for Ardour to use are
+ defined in your <filename>ardour.rc</filename> file. These port
+ definitions are not session specific, on the assumption that your
+ system's MIDI hardware probably doesn't change much from session to
+ session. The default version of this file contains a single port that
+ can be used for inter-application MIDI routing as well as MIDI I/O to
+ whatever physical MIDI ports might be available on your computer. In
+ many cases, you will not need to change them.
+ </para>
+
+ <para>
+ When you first use Ardour, the
<!--
xlink linkend="files_and_environment"
-->
- <filename>ardour.rc</filename> file that you will have contains a single
- port definition. It defines a port that is almost guaranteed to be usable
- on your system ((Linux/ALSA users may need to ensure that the
- <filename>snd-seq</filename> kernel module gets loaded - many distributions
- do not do this by default)). This port is a "virtual port" it isn't
- actually a hardware MIDI port, but instead is a software port that can be
- connected to other software ports or to whatever hardware MIDI ports you
- have (see <xref linkend="midi-making-connections"/>).
- </para>
- </section>
+ <filename>ardour.rc</filename> file that you will have contains a
+ single port definition. It defines a port that is almost guaranteed to
+ be usable on your system ((Linux/ALSA users may need to ensure that
+ the <filename>snd-seq</filename> kernel module gets loaded - many
+ distributions do not do this by default)). This port is a "virtual
+ port" it isn't actually a hardware MIDI port, but instead is a
+ software port that can be connected to other software ports or to
+ whatever hardware MIDI ports you have (see
+ <xref linkend="midi-making-connections"/>).
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
- <section id="defining-additional-midi-ports">
- <title>Defining additional MIDI ports</title>
- <para>
- To define additional ports, find the line in <filename>ardour.rc</filename>
- that looks roughly like this:
- </para>
+ <section id="defining-additional-midi-ports">
+ <title>Defining additional MIDI ports</title>
+ <para>
+ To define additional ports, find the line in
+ <filename>ardour.rc</filename> that looks roughly like this:
+ </para>
<screen>
&lt;MIDI-port tag="hw:0" device="/dev/snd/midiC1D0" type="alsa/raw" mode="duplex"/&gt;
</screen>
- <para>
- On OSX/CoreMIDI it would look more like:
- </para>
+ <para>
+ On OSX/CoreMIDI it would look more like:
+ </para>
<screen width="50">
&lt;MIDI-port tag="coremidi" device="ardour" type="coremidi" mode="duplex"/&gt;
</screen>
- <para>
- You can then add another line right after it that looks similar but
- contains a different port definition.
- </para>
-
- <para>
- You will see there are 4 pieces of information required to define a MIDI
- port for use within Ardour. Your port definition
- </para>
-
- <section id="midi-tag">
- <title>Tag</title>
- <para>
- This is just a name of your own choosing. It is how the port will be
- referred to within Ardour. You could use a name that describes what is
- plugged into the port (e.g. "1600x", "Novation"), or a name that describes
- the computer device/system that provides the port (e.g. "HDSP",
- "Sequencer"), or a whimsical name of your own choice (e.g. "bowtie",
- "merlin").
- </para>
- </section>
-
- <section id="midi-type">
- <title>Type</title>
- <para>
- This is an operating system specific identifier that defines what kind of
- port this is. It can be set to one of three values:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- <literal>alsa/raw</literal> - the port corresponds to a physical MIDI
- port that is accessed directly without involving the ALSA MIDI routing
- subsystem.
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>alsa/sequencer</literal> - the port is a virtual port that can
- send and receive MIDI data via the ALSA MIDI routing subsystem.
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>coremidi</literal> - the port is a virtual port that can send
- and receive MIDI data via the CoreMidi inter-application MIDI routing
- subsystem.
- </para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section id="midi-device">
- <title>Device</title>
- <para>
- This is an operating specific and MIDI subsystem-specific name that
- actually identifies the device to be used for MIDI I/O.
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- for a raw ALSA hardware port, it is the name of the device file
- corresponding to the hardware MIDI port. A typical value might be
- <filename>/dev/snd/midiC0D0/</filename>.
- </para>
- </listitem>
- <listitem>
- <para>
- for an ALSA sequencer port, it is an arbitrary name for the port that
- will appear as part of the ALSA MIDI routing system
- </para>
- </listitem>
- <listitem>
- <para>
- for a CoreMIDI port, it is an arbitrary name for the port that will
- appear as in any CoreMIDI port selection dialogs.
- </para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section id="midi-mode">
- <title>Mode</title>
- <para>
- This specifies whether the port is available for input, output or both:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- <literal>read</literal> - the port is available for input only
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>write</literal> - the port is available for output only
- </para>
- </listitem>
- <listitem>
- <para>
- <literal>duplex</literal> - the port is available for input and output
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- You should probably always use <literal>duplex</literal> here. It is rare to need to open a
- port for unidirectional communication only.
- </para>
- </section>
- </section>
-
- <section id="midi-removing-ports">
- <title>Removing Midi Ports</title>
- <para>
- To remove a MIDI port, simply delete the line in your
- <filename>ardour.rc</filename> file that defines it.
- </para>
- </section>
-
- <section id="midi-making-connections">
- <title>Making Connections</title>
- <para>
- If you use actual physical hardware MIDI ports, then establishing
- connections to other MIDI equipment is simply a matter of connecting cables
- correctly. However, if you use "virtual ports" such as those offered by the
- ALSA router/sequencer or CoreMIDI, making connections is slightly more
- involved.
- </para>
-
- <para>
- Ardour does not come with any way of establishing MIDI connections from/to
- other software MIDI ports. This is a difficult task to get right, and
- Ardour may offer something in the future. For now, you need to use an
- external tool that is dedicated to this purpose, much the same way you
- would use a patchbay (audio/MIDI) with physical equipment.
- </para>
-
- <section id="midi-connections-alsa">
- <title>Linux/ALSA</title>
- <para>
- <application>qjackctl</application> (the same program that is recommended
- for controlling JACK) also includes an excellent MIDI connection manager.
- You could also use command line tools such as
- <application>aconnect</application>.
- </para>
- </section>
-
- <section id="midi-connection-osx">
- <title>OSX/CoreMIDI</title>
- <para>
- On OSX/CoreMIDI you need to connect the MIDI ports with a patchbay tool
- such as the excellent MIDI Patchbay from
- <ulink url="http://pete.yandell.com/software/">Pete Yandell</ulink>
- </para>
- </section>
- </section>
-
- <section id="midi-using-midi-ports">
- <title>Using MIDI ports</title>
- <para>
- Each port that is defined in <filename>ardour.rc</filename> can be used for
- any of the following functions:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- MTC input and output
- </para>
- </listitem>
- <listitem>
- <para>
- MMC input and output
- </para>
- </listitem>
- <listitem>
- <para>
- MIDI CC/Note input and output
- </para>
- </listitem>
- </itemizedlist>
- </section>
+ <para>
+ You can then add another line right after it that looks similar but
+ contains a different port definition.
+ </para>
+
+ <para>
+ You will see there are 4 pieces of information required to define a
+ MIDI port for use within Ardour. Your port definition
+ </para>
+
+ <section id="midi-tag">
+ <title>Tag</title>
+ <para>
+ This is just a name of your own choosing. It is how the port will be
+ referred to within Ardour. You could use a name that describes what
+ is plugged into the port (e.g. "1600x", "Novation"), or a name that
+ describes the computer device/system that provides the port (e.g.
+ "HDSP", "Sequencer"), or a whimsical name of your own choice (e.g.
+ "bowtie", "merlin").
+ </para>
+ </section>
+
+ <section id="midi-type">
+ <title>Type</title>
+ <para>
+ This is an operating system specific identifier that defines what
+ kind of port this is. It can be set to one of three values:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>alsa/raw</literal> - the port corresponds to a physical
+ MIDI port that is accessed directly without involving the ALSA
+ MIDI routing subsystem.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>alsa/sequencer</literal> - the port is a virtual port
+ that can send and receive MIDI data via the ALSA MIDI routing
+ subsystem.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>coremidi</literal> - the port is a virtual port that
+ can send and receive MIDI data via the CoreMidi
+ inter-application MIDI routing subsystem.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="midi-device">
+ <title>Device</title>
+ <para>
+ This is an operating specific and MIDI subsystem-specific name that
+ actually identifies the device to be used for MIDI I/O.
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ for a raw ALSA hardware port, it is the name of the device file
+ corresponding to the hardware MIDI port. A typical value might
+ be <filename>/dev/snd/midiC0D0/</filename>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ for an ALSA sequencer port, it is an arbitrary name for the port
+ that will appear as part of the ALSA MIDI routing system
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ for a CoreMIDI port, it is an arbitrary name for the port that
+ will appear as in any CoreMIDI port selection dialogs.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="midi-mode">
+ <title>Mode</title>
+ <para>
+ This specifies whether the port is available for input, output or
+ both:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>read</literal> - the port is available for input only
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>write</literal> - the port is available for output only
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>duplex</literal> - the port is available for input and
+ output
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ You should probably always use <literal>duplex</literal> here. It is
+ rare to need to open a port for unidirectional communication only.
+ </para>
+ </section>
+ </section>
+
+ <section id="midi-removing-ports">
+ <title>Removing Midi Ports</title>
+ <para>
+ To remove a MIDI port, simply delete the line in your
+ <filename>ardour.rc</filename> file that defines it.
+ </para>
+ </section>
+
+ <section id="midi-making-connections">
+ <title>Making Connections</title>
+ <para>
+ If you use actual physical hardware MIDI ports, then establishing
+ connections to other MIDI equipment is simply a matter of connecting
+ cables correctly. However, if you use "virtual ports" such as those
+ offered by the ALSA router/sequencer or CoreMIDI, making connections
+ is slightly more involved.
+ </para>
+
+ <para>
+ Ardour does not come with any way of establishing MIDI connections
+ from/to other software MIDI ports. This is a difficult task to get
+ right, and Ardour may offer something in the future. For now, you need
+ to use an external tool that is dedicated to this purpose, much the
+ same way you would use a patchbay (audio/MIDI) with physical
+ equipment.
+ </para>
+
+ <section id="midi-connections-alsa">
+ <title>Linux/ALSA</title>
+ <para>
+ <application>qjackctl</application> (the same program that is
+ recommended for controlling JACK) also includes an excellent MIDI
+ connection manager. You could also use command line tools such as
+ <application>aconnect</application>.
+ </para>
+ </section>
+
+ <section id="midi-connection-osx">
+ <title>OSX/CoreMIDI</title>
+ <para>
+ On OSX/CoreMIDI you need to connect the MIDI ports with a patchbay
+ tool such as the excellent MIDI Patchbay from
+ <ulink url="http://pete.yandell.com/software/">Pete Yandell</ulink>
+ </para>
+ </section>
+ </section>
+
+ <section id="midi-using-midi-ports">
+ <title>Using MIDI ports</title>
+ <para>
+ Each port that is defined in <filename>ardour.rc</filename> can be
+ used for any of the following functions:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ MTC input and output
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ MMC input and output
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ MIDI CC/Note input and output
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
</section>
diff --git a/manual/xml/mixer_strip_list.xml b/manual/xml/mixer_strip_list.xml
index 99afa3b21d..ca72916e85 100644
--- a/manual/xml/mixer_strip_list.xml
+++ b/manual/xml/mixer_strip_list.xml
@@ -5,86 +5,91 @@
]>
<section id="mixer-window-strip-list">
- <title> Strip List </title>
- <para>
- The Strip List provides a simple interface to the layout of the mixer strips
- on the mixer. Mixer strips on the mixer have two possible states - visible
- and hidden. Mixer strips can also be placed in any order on the mixer.
- Rearranging the order of the mixer strips has no effect on the signal flow
- of the session. The names of all tracks in your session are listed in their
- current order. Hidden mixer strips are darker in colour than visible ones. A
- single left click on a track name will remove the track's mixer strip from
- the mixer, and changing the colour of the item on the strip list. This
- action has no effect on signal flow. Dragging a track name vertically with
- the left mouse button will rearrange the mixer to reflect the order selected
- when the mouse button is released. Clicking the word "Strip" at
- the top of the strip list will open a drop-down list of shortcuts to actions
- that change the strip list (and consequently the state of the mixer).
- </para>
+ <title> Strip List </title>
+ <para>
+ The Strip List provides a simple interface to the layout of the mixer
+ strips on the mixer. Mixer strips on the mixer have two possible states
+ - visible and hidden. Mixer strips can also be placed in any order on
+ the mixer. Rearranging the order of the mixer strips has no effect on
+ the signal flow of the session. The names of all tracks in your session
+ are listed in their current order. Hidden mixer strips are darker in
+ colour than visible ones. A single left click on a track name will
+ remove the track's mixer strip from the mixer, and changing the colour
+ of the item on the strip list. This action has no effect on signal flow.
+ Dragging a track name vertically with the left mouse button will
+ rearrange the mixer to reflect the order selected when the mouse button
+ is released. Clicking the word "Strip" at the top of the strip list will
+ open a drop-down list of shortcuts to actions that change the strip list
+ (and consequently the state of the mixer).
+ </para>
- <variablelist>
- <title>Strip List Context Menu</title>
- <varlistentry>
- <term><guimenuitem>show all</guimenuitem></term>
- <listitem>
- <para>
- sets all hidden mixer strips to the visible state
- </para>
- </listitem>
- </varlistentry>
+ <variablelist>
+ <title>Strip List Context Menu</title>
+ <varlistentry>
+ <term><guimenuitem>show all</guimenuitem></term>
+ <listitem>
+ <para>
+ sets all hidden mixer strips to the visible state
+ </para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><guimenuitem>hide all</guimenuitem></term>
- <listitem>
- <para>
- sets all visible mixer strips to the hidden state.
- </para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><guimenuitem>hide all</guimenuitem></term>
+ <listitem>
+ <para>
+ sets all visible mixer strips to the hidden state.
+ </para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><guimenuitem>show all AudioTrack Mixer Strips</guimenuitem></term>
- <listitem>
- <para>
- sets all hidden mixer strips that are audio tracks to the visible state
- </para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><guimenuitem>show all AudioTrack Mixer Strips</guimenuitem></term>
+ <listitem>
+ <para>
+ sets all hidden mixer strips that are audio tracks to the visible
+ state
+ </para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><guimenuitem>hide all AudioTrack Mixer Strips</guimenuitem></term>
- <listitem>
- <para>
- sets all visible mixer strips that are audio tracks to the hidden state.
- </para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><guimenuitem>hide all AudioTrack Mixer Strips</guimenuitem></term>
+ <listitem>
+ <para>
+ sets all visible mixer strips that are audio tracks to the hidden
+ state.
+ </para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><guimenuitem>show all AudioBus Mixer Strips</guimenuitem></term>
- <listitem>
- <para>
- sets all hidden mixer strips that are audio buses to the visible state
- </para>
- </listitem>
- </varlistentry>
+ <varlistentry>
+ <term><guimenuitem>show all AudioBus Mixer Strips</guimenuitem></term>
+ <listitem>
+ <para>
+ sets all hidden mixer strips that are audio buses to the visible
+ state
+ </para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term><guimenuitem>hide all AudioBus Mixer Strips</guimenuitem></term>
- <listitem>
- <para>
- sets all visible mixer strips that are audio buses to the hidden state.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
+ <varlistentry>
+ <term><guimenuitem>hide all AudioBus Mixer Strips</guimenuitem></term>
+ <listitem>
+ <para>
+ sets all visible mixer strips that are audio buses to the hidden
+ state.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
- <para>
- At the bottom right of the strip list, a square box provides a method for
- resizing the pane. Holding down the left mouse button while dragging the
- square vertically will move the lower border of the strip list.
- </para>
- <!--
+ <para>
+ At the bottom right of the strip list, a square box provides a method
+ for resizing the pane. Holding down the left mouse button while dragging
+ the square vertically will move the lower border of the strip list.
+ </para>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
diff --git a/manual/xml/mixer_strips.xml b/manual/xml/mixer_strips.xml
index 0e96f05908..b381ced49a 100644
--- a/manual/xml/mixer_strips.xml
+++ b/manual/xml/mixer_strips.xml
@@ -6,494 +6,514 @@
<!-- XXX lots to do on this page -->
-<section id="mixer-window-mixer-strips">
- <title> Mixer Strips </title>
- <para>
- Each track and bus is represented in the mixer window by a <emphasis>mixer
- strip</emphasis> that contains various controls related to signal flow.
- There are two places in Ardour in which you can see mixer strips. The mixer
- window is the obvious one (and the one we deal with here), but you can also
- view a single mixer strip in the editor window by clicking the
- <guibutton>editor mixer</guibutton> button.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/mixerstrip.png"/>
- </imageobject>
- </mediaobject>
- <para>
- this image needs replacing with labels and better resolution The mixer strip
- for a bus is essentially identical to the one for an audio track, but it is
- missing certain controls that make no sense - you cannot record into a bus,
- so there is no record enable button, for example.
- </para>
-
- <para>
- The mixer strips are designed to visually model signal flow. The input
- button selects the input of the track that this mixer strip monitors. The
- outputs of the track (the 'tape recorder') are 'hard-wired' to the inputs of
- the mixer strip. Think of the input to the strip starting at the polarity
- switch, flowing down through the prefader inserts/plugins/sends section,
- through the gain fader, past the postfader inserts/plugins/sends section,
- the panner, and out through the output selector. In the case of a bus, there
- is no 'tape machine' inserted between the input selector and the actual
- input of the strip, but the signal flow is identical otherwise.
- </para>
-
- <section id="mixer-strip-narrow-strip-button">
- <title>Narrow Mixer Strip Button</title>
- <para>
- the button on the top left of the mixer strip is labelled with two arrows
- separated by a line. Left clicking this button will reduce the horizontal
- size of the mixer strip. Clicking it again will restore the previous size.
- The first click also has the effect of shortening the names of controls.
- Plugin lists become very small in this mode, however more faders are
- accessible without scrolling. Your needs may vary, hence the existence of
- this button.
- </para>
- </section>
-
- <section id="mixer-strip-hide-button">
- <title>Hide Button</title>
- <para>
- The button opposite the <emphasis>Narrow Mixer Strip Button</emphasis>
- hides the mixer strip from view. this button has no effect on signal flow
- or muting. When a mixer strip is hidden, it's entry in the strips list is
- darkened. To restore the mixer strip to the visible state, click it's entry
- in the strip list with the left mouse button.
- </para>
- </section>
-
- <section id="mixer-strip-track-name">
- <title>Track Name</title>
- <para>
- The track name displays the current name of the track as displayed in the
- editor window. right-clicking on the name brings up a drop-down menu that
- allows you to rename, activate, deactivate and remove the track. Selecting
- <guimenuitem>Rename</guimenuitem> opens a new window displaying the name of
- the track. to change it, type your change and press ok. to leave it
- unaltered, press cancel. Selecting <guimenuitem>remove</guimenuitem> opens
- a new window asking for confirmation of your track removal request.
- removing a track removes that track from the project. If the playlist used
- by the removed track is not used by any other track, it will also be
- removed.
- </para>
- </section>
-
- <section id="mixer-strip-group-button">
- <title>Group Button</title>
- <para>
- The group button displays the name of the currently selected mix group. if
- no group is selected, it will read no group. when clicked, a drop-down menu
- appears which lists the current mixer groups, along with the option no
- group. if a group is selected, any fader movement on one of the group
- member faders will be translated to the other members of the group.
- </para>
- </section>
-
- <section id="mixer-strip-input-selector">
- <title>Input Selector</title>
- <para>
- The input selector allows you to assign hardware or software inputs to the
- track that this mixer strip monitors. clicking on the input box makes a
- drop-down menu appear which lists ready-made combinations of jack ports,
- along with the options disconnect and edit. You can either select a preset
- hardware input combination from the drop-down list, or select
- <guimenuitem>edit</guimenuitem> to open the input selector window which
- allows finer control, such as changing the number of inputs to the track or
- using software devices as inputs. For more information on this window, see
- <xref linkend="sn-other-windows"/>. <guibutton>Disconnect</guibutton>
- removes all input assignments while leaving the number of ports untouched.
- </para>
- </section>
-
- <section id="mixer-strip-polarity-button">
- <title>Polarity Button</title>
- <para>
- The polarity button, when pressed, inverts the phase of the signal as it
- leaves the track and enters the mixer strip. it has no effect on the signal
- being recorded to disk. It has no effect on the timing of the signal,
- either.
- </para>
- </section>
-
- <section id="mixer-strip-solo-button">
- <title>Solo Button</title>
- <para>
- The solo button puts the mixer strip in solo mode. the solo indicator in
- the editor window will flash if any mixer strip is set to solo, and only
- those tracks that are set in solo will be routed through the system.
- </para>
- </section>
-
- <section id="mixer-strip-mute-button">
- <title>Mute Button</title>
- <para>
- The mute button mutes the output of the mixer strip.
- </para>
- </section>
-
- <section id="mixer-strip-track-speed-control">
- <title>Track Speed Control</title>
- <para>
- The track speed allows a varispeed setting to be applied to the track. a
- setting of <literal>1.0</literal> corresponds to the normal playback speed
- of the session. a setting of <literal>0.5</literal> will play at half
- normal playback speed. when altered, the track will be redrawn to reflect
- the new position of the audio resulting from the speed change. The Track
- Speed Control has three decimal places of precision. A left or right click
- on the displayed number will raise or lower the track speed by 0.1%. when
- the speed is not exactly 1, the display will be coloured red. Hovering over
- the displayed number will allow you to use the mouse wheel to set the
- desired speed. A middle click on the displayed number will return the speed
- to exactly 1.
- </para>
-
- <para></para>
- </section>
-
- <section id="mixer-strip-record-enable-button">
- <title>Record Enable Button</title>
- <para>
- The record enable button arms the track for recording. pressing this will
- change the way you monitor and meter the selected input signal depending on
- the state of the monitoring settings in the options editor, as well as the
- auto input setting in the editor.
- </para>
- </section>
-
- <section id="mixer-strip-automation-mode-buttons">
- <title>Automation Mode Buttons</title>
- <para>
- The automation mode buttons allow you to select a fader or pan automation
- mode from a drop-down list. see <xref linkend="sn-automation"/> for more
- information about automation modes.
- </para>
- </section>
-
- <section id="mixer-strip-redirect-boxes">
- <title>Redirect Boxes</title>
- <para>
- These dark areas above and below the fader allow you to place inserts,
- sends and plugins into the signal path before and after the fader
- respectively. you may also easily reorder them whilst playing.
- collectively, the objects that belong in these boxes are called redirects.
- If there are redirects present in the channel, they can be reordered by
- dragging them vertically. because plugins and inserts can have different
- numbers of inputs to outputs, sometimes you may reach a situation where the
- inputs and outputs cannot be all connected sensibly. in this case, your
- reordering change will be disallowed by the program.
- </para>
-
- <para>
- Right clicking within the dark area will bring up a drop-down menu which
- allows you to manipulate the redirects in various ways.
- </para>
-
- <variablelist>
- <title>Redirect Boxes</title>
- <varlistentry>
- <term><guimenuitem>new plugin</guimenuitem></term>
- <listitem>
- <para>
- selecting new plugin will open a dialog which lists the plugins
- available on your system. selecting a plugin which is compatible with
- the number of streams in the channel at that point will result in the
- plugin being placed in the redirect box in an inactive state. this is
- indicated by the brackets around the plugin name. double-clicking the
- plugin name will bring up a window that allows you to control the
- parameters of the plugin statically (including bypass) or using
- automation. all plugins that report their latency are time-compensated
- automatically in ardour.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenuitem>new insert</guimenuitem></term>
- <listitem>
- <para>
- places at least two new jack ports at that point in the mixer strip (one
- input, one output). these ports will then be available to any jack
- client (including Ardour itself), allowing another program (or channels
- within another program) to be inserted across the channel. hardware
- ports may also, of course, be used, allowing the insertion of outboard
- equipment. the insert will then appear in the redirect box in brackets
- indicating that it is inactive. to activate or deactivate an insert,
- right-click on it and select activate. double-clicking on the insert
- will bring up a dialog which allows to to assign its inputs and outputs
- to other jack ports.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenuitem>new send</guimenuitem></term>
- <listitem>
- <para>
- selecting new send will first bring up a dialog box that enables you to
- select the number of outputs the send has, along with the destination of
- each output. closing this dialog will reveal the name of the send in
- brackets, indicating that it is inactive. to activate the send, right
- click on it and select Activate. double-clicking on the send brings up
- the previous dialog, which will now include a fader which is provided
- for level control.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenuitem>clear</guimenuitem></term>
- <listitem>
- <para>
- selecting clear in the menu removes all redirects from the mixer strip
- (pre and post fader). you can remove an individual redirect by holding
- the shift key and right clicking it.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenuitem>cut</guimenuitem>, <guimenuitem>copy</guimenuitem>, <guimenuitem>paste</guimenuitem></term>
- <listitem>
- <para>
- these items allow you to cut, copy and paste plugins, including their
- current settings, between Redirect Boxes.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenuitem>rename</guimenuitem></term>
- <listitem>
- <para>
- selecting rename will bring up a dialog displaying the name of the
- selected redirect. change the name by typing into the text area and
- pressing ok.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenuitem>select all/deselect all</guimenuitem></term>
- <listitem>
- <para>
- these two options select or deselect all plugins in the channel. this
- could be used, for instance, in preparation to copy all plugins from a
- channel to another one, along with the current settings.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenuitem>activate/deactivate</guimenuitem></term>
- <listitem>
- <para>
- selecting either of these will activate or deactivate the currently
- selected redirect(s) respectively. deactivate is the equivalent of
- <guimenuitem>bypass</guimenuitem>.
- </para>
- <note>
- <para>
- note that you can bypass a plugin from it's parameter window as well as
- from here.
- </para>
- </note>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenuitem>activate all/deactivate all</guimenuitem></term>
- <listitem>
- <para>
- selecting either of these will activate or deactivate all redirect(s) in
- the mixer strip respectively. deactivate is the equivalent of
- <guimenuitem>bypass</guimenuitem> if you're a plugin.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guimenuitem>edit</guimenuitem></term>
- <listitem>
- <para>
- selecting edit brings up the controls relevent to the selected redirect.
- this is the equivalent to holding control and right-clicking on a
- redirect. note that the right click method will not bring up the
- controls of the selected redirect, only the one beneath the mouse
- pointer.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
-
- <section id="mixer-strip-pre-post-input-button">
- <title>Pre/Post/Input Button</title>
- <para>
- This button cycles between three metering modes, which determine which
- signal is fed to the meters. the modes are pre-fader (the signal at the
- input to the fader), post-fader and input (the level at the track input).
- left clicking cycles through the three modes one step at a time, while
- middle-clicking alternates between the current setting and the setting two
- steps ahead. this allows one-click direct a/b comparison between all
- available monitoring points.
- </para>
- </section>
-
- <section id="mixer-strip-gain-display">
- <title>Gain Display</title>
- <para>
- this control displays the current gain of the fader to the nearest 0.1dB.
- left clicking on the value will lower the gain by an amount dependent upon
- the fader position the graduations become smaller as the fader nears 0dB
- gain. right clicking increases the gain by the same amount. middle clicking
- resets the gain to 0dB.
- </para>
- </section>
-
- <section id="mixer-strip-unit-selector">
- <title>Unit Selector</title>
- <para>
- Right clicking on the meter bars allows you to select the range of signal
- levels displayed by the meters. the selected range will be displayed as a
- column of numbers next to the meter. /*XXX this feature is currently not
- working*/ Gain Level Display
- </para>
- </section>
-
- <section id="mixer-strip-peak-meter">
- <title>Peak Meter</title>
- <para>
- This control displays the highest peak since the last peak meter reset.
- Resetting the peak meter is achieved by left-clicking the displayed number.
- The peak meter monitors the signal selected by the <emphasis>Pre/Post/Input
- Button</emphasis> .. the same signal as the meters. It should be noted here
- that 0dBfs corresponds a value equal to the maximum input or output level
- of your audio hardware, independent of it's bit depth.
- </para>
- </section>
-
- <section id="mixer-strip-gain-fader">
- <title>Gain Fader</title>
- <para>
- The fader changes the signal level within the mixer strip before the
- post-fader plugins, which are before the output ports. 6dB of gain is
- allowed. there are several shortcuts available for the fader. Using the
- scroll wheel of your mouse while hovering above the fader will coarsely
- change its position. Holding the control key whilst mouse wheeling will
- give you finer control. Holding the shift key and clicking the fader will
- reset it to unity gain. Holding control and pressing the middle mouse
- button whilst over the fader will allow you to bind a midi control to it,
- provided you have an available midi device set in the options menu.
- </para>
- </section>
-
- <section id="mixer-strip-meters">
- <title>Meters</title>
- <para>
- The number of meters displayed next to the fader is dependent on the number
- of inputs or outputs the channel has, whichever is greater. The meters
- provide a colour-graduated scale from -50 dBfs to +6dBfs. They display the
- instantaneous value of the signal at the monitoring point selected by the
- Pre/Post/Input button. 0dBfs corresponds a value equal to the maximum input
- or output level of your audio hardware, independent of it's bit depth.
- Exceeding 0dBfs does not correspond to running out of headroom within the
- mixer, or in any signal path subsequent to that point within the Jack
- server. It merely means that if that signal is connected directly to a
- hardware port whose resolution is less than the 32-bit floating point
- resolution that Ardour uses (i.e. a soundcard), then that port will exceed
- it's maximum output level, resulting in distortion. hitting 0dB within the
- mixer (or any point in the Jack server) means that you have approximately
- 100dB of headroom remaining. as it is unlikely that you will reach this
- point, it is not represented in any special way by the meter. Naturally, if
- the input is selected as the monitoring point for the meter, exceeding
- 0dBfs means that the input of your a/d converter has clipped.
- </para>
- </section>
-
- <section id="mixer-strip-panner">
- <title>Panner</title>
- <para>
- The panner in Ardour is actually two panners. Because any mixer strip in
- Ardour can route any number of streams of audio anywhere, the idea of
- panning can be a complex one. To allow for the current stereo-centric
- mainstream world as well as the multi-speaker experimental one, one of two
- styles of panner will appear here depending on the number of outputs the
- channel strip has. In the simple case of mono channel input / stereo
- output, a single panner will be present. The current pan position is
- represented by a dot (the dot is the audio stream) which lies between the
- letters 'L' and 'R', which represent the left and right outputs
- respectively. To change the panning position of the stream, move the mouse
- while holding down the left mouse button. the dot will follow your mouse
- pointer. To introduce sudden changes to the pan setting, place the mouse
- pointer over the desired position and click the middle mouse button. The
- pan control will immediately snap to the mouse pointer position. The panner
- may be bypassed by right-clicking the control and selecting
- <guimenuitem>bypass</guimenuitem> from the drop-down menu. The panner will
- immediately be bypassed. The increased level you notice when the panner is
- bypassed is due to the way panning works. It is not a bug. <emphasis>XXX
- what gain law is used in the panner?</emphasis>
- </para>
-
- <para>
- In the case of a stereo input / stereo output combination, two panning
- controls will appear, one corresponding to each audio stream. You can
- <emphasis>link</emphasis> the controls together in two different ways in
- this situation, using the direction arrows next to the
- <guibutton>link</guibutton> button. Panners can be linked to travel either
- in opposite directions or to maintain a consistent stereo width across the
- travel of the control. These two modes are represented by the orientation
- of the two arrows next to the <guibutton>link</guibutton> button, which
- point in either the same or opposite directions. The
- <guibutton>link</guibutton> button must be engaged before you can change
- the <emphasis>link</emphasis> mode. To link all the panners in a mixer
- strip, left-click the <guibutton>link</guibutton> button, then select the
- desired link mode by pressing the button marked with arrows.
- </para>
-
- <para>
- Let's get a little more complicated by adding another output to the mixer
- strip. From this point onwards, the panning positions are represented with
- numbered dots on a square field. Orange dots represent the outputs, and the
- numbered dots represent the streams. the position of the outputs change
- according to the number of outputs in the strip. This happens in order to
- allow the most useful arrangement of the available space. At some point,
- adding an output will cause the outputs to line up from the top left of the
- panning square towards the centre. this is to allow for the 'multi-speaker
- big sweep' to occur - where the sound is panned from speaker to speaker
- around the room in sequence.
- </para>
-
- <para>
- Don't forget that you can bypass the panner by right clicking and selecting
- <guimenuitem>bypass</guimenuitem> from the drop-down menu. this may
- simplify your multi-speaker setup, as often in this type of project panning
- between all speakers or outputs is not required on all tracks.
- </para>
- </section>
-
- <section id="mixer-strip-output-selector">
- <title>Output Selector</title>
- <para>
- The output selector allows you to assign the outputs of each mixer strip.
- left-clicking the output selector causes a ready-made list of output ports
- to appear in a drop-down menu, along with edit and disconnect options.
- Selecting <guimenuitem>Edit</guimenuitem> will allow you to change the
- number of outputs the channel has, as well as select software and hardware
- ports to route signals to. For more information on the window that appears
- when you select this option, see the <xref linkend="sn-other-windows"/>.
- <guimenuitem>Disconnect</guimenuitem> will leave the number of output ports
- unchanged, but remove all assignments to output ports.
- </para>
- </section>
-
- <section id="mixer-strip-scratch-pad">
- <title>Scratch Pad</title>
- <para>
- This is the text area below the <guibutton>output</guibutton> button. it
- allows you to enter any notes that you feel may be relevant to that track.
- The notes are stored when you save the session.
- </para>
- </section>
+<section id="mixer-strips">
+ <title>Mixer Strips</title>
+ <para>
+ Each track and bus is represented in the mixer window by a
+ <emphasis>mixer strip</emphasis> that contains various controls related
+ to signal flow. There are two places in Ardour in which you can see
+ mixer strips. The mixer window is the obvious one (and the one we deal
+ with here), but you can also view a single mixer strip in the editor
+ window by clicking the <guibutton>editor mixer</guibutton> button.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/mixerstrip.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ this image needs replacing with labels and better resolution The mixer
+ strip for a bus is essentially identical to the one for an audio track,
+ but it is missing certain controls that make no sense - you cannot
+ record into a bus, so there is no record enable button, for example.
+ </para>
+
+ <para>
+ The mixer strips are designed to visually model signal flow. The input
+ button selects the input of the track that this mixer strip monitors.
+ The outputs of the track (the 'tape recorder') are 'hard-wired' to the
+ inputs of the mixer strip. Think of the input to the strip starting at
+ the polarity switch, flowing down through the prefader
+ inserts/plugins/sends section, through the gain fader, past the
+ postfader inserts/plugins/sends section, the panner, and out through the
+ output selector. In the case of a bus, there is no 'tape machine'
+ inserted between the input selector and the actual input of the strip,
+ but the signal flow is identical otherwise.
+ </para>
+
+ <section id="mixer-strip-narrow-strip-button">
+ <title>Narrow Mixer Strip Button</title>
+ <para>
+ the button on the top left of the mixer strip is labelled with two
+ arrows separated by a line. Left clicking this button will reduce the
+ horizontal size of the mixer strip. Clicking it again will restore the
+ previous size. The first click also has the effect of shortening the
+ names of controls. Plugin lists become very small in this mode,
+ however more faders are accessible without scrolling. Your needs may
+ vary, hence the existence of this button.
+ </para>
+ </section>
+
+ <section id="mixer-strip-hide-button">
+ <title>Hide Button</title>
+ <para>
+ The button opposite the <emphasis>Narrow Mixer Strip Button</emphasis>
+ hides the mixer strip from view. this button has no effect on signal
+ flow or muting. When a mixer strip is hidden, it's entry in the strips
+ list is darkened. To restore the mixer strip to the visible state,
+ click it's entry in the strip list with the left mouse button.
+ </para>
+ </section>
+
+ <section id="mixer-strip-track-name">
+ <title>Track Name</title>
+ <para>
+ The track name displays the current name of the track as displayed in
+ the editor window. right-clicking on the name brings up a drop-down
+ menu that allows you to rename, activate, deactivate and remove the
+ track. Selecting <guimenuitem>Rename</guimenuitem> opens a new window
+ displaying the name of the track. to change it, type your change and
+ press ok. to leave it unaltered, press cancel. Selecting
+ <guimenuitem>remove</guimenuitem> opens a new window asking for
+ confirmation of your track removal request. removing a track removes
+ that track from the project. If the playlist used by the removed track
+ is not used by any other track, it will also be removed.
+ </para>
+ </section>
+
+ <section id="mixer-strip-group-button">
+ <title>Group Button</title>
+ <para>
+ The group button displays the name of the currently selected mix
+ group. if no group is selected, it will read no group. when clicked, a
+ drop-down menu appears which lists the current mixer groups, along
+ with the option no group. if a group is selected, any fader movement
+ on one of the group member faders will be translated to the other
+ members of the group.
+ </para>
+ </section>
+
+ <section id="mixer-strip-input-selector">
+ <title>Input Selector</title>
+ <para>
+ The input selector allows you to assign hardware or software inputs to
+ the track that this mixer strip monitors. clicking on the input box
+ makes a drop-down menu appear which lists ready-made combinations of
+ jack ports, along with the options disconnect and edit. You can either
+ select a preset hardware input combination from the drop-down list, or
+ select <guimenuitem>edit</guimenuitem> to open the input selector
+ window which allows finer control, such as changing the number of
+ inputs to the track or using software devices as inputs. For more
+ information on this window, see <xref linkend="sn-other-windows"/>.
+ <guibutton>Disconnect</guibutton> removes all input assignments while
+ leaving the number of ports untouched.
+ </para>
+ </section>
+
+ <section id="mixer-strip-polarity-button">
+ <title>Polarity Button</title>
+ <para>
+ The polarity button, when pressed, inverts the phase of the signal as
+ it leaves the track and enters the mixer strip. it has no effect on
+ the signal being recorded to disk. It has no effect on the timing of
+ the signal, either.
+ </para>
+ </section>
+
+ <section id="mixer-strip-solo-button">
+ <title>Solo Button</title>
+ <para>
+ The solo button puts the mixer strip in solo mode. the solo indicator
+ in the editor window will flash if any mixer strip is set to solo, and
+ only those tracks that are set in solo will be routed through the
+ system.
+ </para>
+ </section>
+
+ <section id="mixer-strip-mute-button">
+ <title>Mute Button</title>
+ <para>
+ The mute button mutes the output of the mixer strip.
+ </para>
+ </section>
+
+ <section id="mixer-strip-track-speed-control">
+ <title>Track Speed Control</title>
+ <para>
+ The track speed allows a varispeed setting to be applied to the track.
+ a setting of <literal>1.0</literal> corresponds to the normal playback
+ speed of the session. a setting of <literal>0.5</literal> will play at
+ half normal playback speed. when altered, the track will be redrawn to
+ reflect the new position of the audio resulting from the speed change.
+ The Track Speed Control has three decimal places of precision. A left
+ or right click on the displayed number will raise or lower the track
+ speed by 0.1%. when the speed is not exactly 1, the display will be
+ coloured red. Hovering over the displayed number will allow you to use
+ the mouse wheel to set the desired speed. A middle click on the
+ displayed number will return the speed to exactly 1.
+ </para>
+
+ <para></para>
+ </section>
+
+ <section id="mixer-strip-record-enable-button">
+ <title>Record Enable Button</title>
+ <para>
+ The record enable button arms the track for recording. pressing this
+ will change the way you monitor and meter the selected input signal
+ depending on the state of the monitoring settings in the options
+ editor, as well as the auto input setting in the editor.
+ </para>
+ </section>
+
+ <section id="mixer-strip-automation-mode-buttons">
+ <title>Automation Mode Buttons</title>
+ <para>
+ The automation mode buttons allow you to select a fader or pan
+ automation mode from a drop-down list. see
+ <xref linkend="sn-automation"/> for more information about automation
+ modes.
+ </para>
+ </section>
+
+ <section id="mixer-strip-redirect-boxes">
+ <title>Redirect Boxes</title>
+ <para>
+ These dark areas above and below the fader allow you to place inserts,
+ sends and plugins into the signal path before and after the fader
+ respectively. you may also easily reorder them whilst playing.
+ collectively, the objects that belong in these boxes are called
+ redirects. If there are redirects present in the channel, they can be
+ reordered by dragging them vertically. because plugins and inserts can
+ have different numbers of inputs to outputs, sometimes you may reach a
+ situation where the inputs and outputs cannot be all connected
+ sensibly. in this case, your reordering change will be disallowed by
+ the program.
+ </para>
+
+ <para>
+ Right clicking within the dark area will bring up a drop-down menu
+ which allows you to manipulate the redirects in various ways.
+ </para>
+
+ <variablelist>
+ <title>Redirect Boxes</title>
+ <varlistentry>
+ <term><guimenuitem>new plugin</guimenuitem></term>
+ <listitem>
+ <para>
+ selecting new plugin will open a dialog which lists the plugins
+ available on your system. selecting a plugin which is compatible
+ with the number of streams in the channel at that point will
+ result in the plugin being placed in the redirect box in an
+ inactive state. this is indicated by the brackets around the
+ plugin name. double-clicking the plugin name will bring up a
+ window that allows you to control the parameters of the plugin
+ statically (including bypass) or using automation. all plugins
+ that report their latency are time-compensated automatically in
+ ardour.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenuitem>new insert</guimenuitem></term>
+ <listitem>
+ <para>
+ places at least two new jack ports at that point in the mixer
+ strip (one input, one output). these ports will then be
+ available to any jack client (including Ardour itself), allowing
+ another program (or channels within another program) to be
+ inserted across the channel. hardware ports may also, of course,
+ be used, allowing the insertion of outboard equipment. the
+ insert will then appear in the redirect box in brackets
+ indicating that it is inactive. to activate or deactivate an
+ insert, right-click on it and select activate. double-clicking
+ on the insert will bring up a dialog which allows to to assign
+ its inputs and outputs to other jack ports.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenuitem>new send</guimenuitem></term>
+ <listitem>
+ <para>
+ selecting new send will first bring up a dialog box that enables
+ you to select the number of outputs the send has, along with the
+ destination of each output. closing this dialog will reveal the
+ name of the send in brackets, indicating that it is inactive. to
+ activate the send, right click on it and select Activate.
+ double-clicking on the send brings up the previous dialog, which
+ will now include a fader which is provided for level control.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenuitem>clear</guimenuitem></term>
+ <listitem>
+ <para>
+ selecting clear in the menu removes all redirects from the mixer
+ strip (pre and post fader). you can remove an individual
+ redirect by holding the shift key and right clicking it.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenuitem>cut</guimenuitem>, <guimenuitem>copy</guimenuitem>, <guimenuitem>paste</guimenuitem></term>
+ <listitem>
+ <para>
+ these items allow you to cut, copy and paste plugins, including
+ their current settings, between Redirect Boxes.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenuitem>rename</guimenuitem></term>
+ <listitem>
+ <para>
+ selecting rename will bring up a dialog displaying the name of
+ the selected redirect. change the name by typing into the text
+ area and pressing ok.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenuitem>select all/deselect all</guimenuitem></term>
+ <listitem>
+ <para>
+ these two options select or deselect all plugins in the channel.
+ this could be used, for instance, in preparation to copy all
+ plugins from a channel to another one, along with the current
+ settings.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenuitem>activate/deactivate</guimenuitem></term>
+ <listitem>
+ <para>
+ selecting either of these will activate or deactivate the
+ currently selected redirect(s) respectively. deactivate is the
+ equivalent of <guimenuitem>bypass</guimenuitem>.
+ </para>
+
+ <note>
+ <para>
+ note that you can bypass a plugin from it's parameter window
+ as well as from here.
+ </para>
+ </note>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenuitem>activate all/deactivate all</guimenuitem></term>
+ <listitem>
+ <para>
+ selecting either of these will activate or deactivate all
+ redirect(s) in the mixer strip respectively. deactivate is the
+ equivalent of <guimenuitem>bypass</guimenuitem> if you're a
+ plugin.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guimenuitem>edit</guimenuitem></term>
+ <listitem>
+ <para>
+ selecting edit brings up the controls relevent to the selected
+ redirect. this is the equivalent to holding control and
+ right-clicking on a redirect. note that the right click method
+ will not bring up the controls of the selected redirect, only
+ the one beneath the mouse pointer.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+ <section id="mixer-strip-pre-post-input-button">
+ <title>Pre/Post/Input Button</title>
+ <para>
+ This button cycles between three metering modes, which determine which
+ signal is fed to the meters. the modes are pre-fader (the signal at
+ the input to the fader), post-fader and input (the level at the track
+ input). left clicking cycles through the three modes one step at a
+ time, while middle-clicking alternates between the current setting and
+ the setting two steps ahead. this allows one-click direct a/b
+ comparison between all available monitoring points.
+ </para>
+ </section>
+
+ <section id="mixer-strip-gain-display">
+ <title>Gain Display</title>
+ <para>
+ this control displays the current gain of the fader to the nearest
+ 0.1dB. left clicking on the value will lower the gain by an amount
+ dependent upon the fader position the graduations become smaller as
+ the fader nears 0dB gain. right clicking increases the gain by the
+ same amount. middle clicking resets the gain to 0dB.
+ </para>
+ </section>
+
+ <section id="mixer-strip-unit-selector">
+ <title>Unit Selector</title>
+ <para>
+ Right clicking on the meter bars allows you to select the range of
+ signal levels displayed by the meters. the selected range will be
+ displayed as a column of numbers next to the meter. /*XXX this feature
+ is currently not working*/ Gain Level Display
+ </para>
+ </section>
+
+ <section id="mixer-strip-peak-meter">
+ <title>Peak Meter</title>
+ <para>
+ This control displays the highest peak since the last peak meter
+ reset. Resetting the peak meter is achieved by left-clicking the
+ displayed number. The peak meter monitors the signal selected by the
+ <emphasis>Pre/Post/Input Button</emphasis> .. the same signal as the
+ meters. It should be noted here that 0dBfs corresponds a value equal
+ to the maximum input or output level of your audio hardware,
+ independent of it's bit depth.
+ </para>
+ </section>
+
+ <section id="mixer-strip-gain-fader">
+ <title>Gain Fader</title>
+ <para>
+ The fader changes the signal level within the mixer strip before the
+ post-fader plugins, which are before the output ports. 6dB of gain is
+ allowed. there are several shortcuts available for the fader. Using
+ the scroll wheel of your mouse while hovering above the fader will
+ coarsely change its position. Holding the control key whilst mouse
+ wheeling will give you finer control. Holding the shift key and
+ clicking the fader will reset it to unity gain. Holding control and
+ pressing the middle mouse button whilst over the fader will allow you
+ to bind a midi control to it, provided you have an available midi
+ device set in the options menu.
+ </para>
+ </section>
+
+ <section id="mixer-strip-meters">
+ <title>Meters</title>
+ <para>
+ The number of meters displayed next to the fader is dependent on the
+ number of inputs or outputs the channel has, whichever is greater. The
+ meters provide a colour-graduated scale from -50 dBfs to +6dBfs. They
+ display the instantaneous value of the signal at the monitoring point
+ selected by the Pre/Post/Input button. 0dBfs corresponds a value equal
+ to the maximum input or output level of your audio hardware,
+ independent of it's bit depth. Exceeding 0dBfs does not correspond to
+ running out of headroom within the mixer, or in any signal path
+ subsequent to that point within the Jack server. It merely means that
+ if that signal is connected directly to a hardware port whose
+ resolution is less than the 32-bit floating point resolution that
+ Ardour uses (i.e. a soundcard), then that port will exceed it's
+ maximum output level, resulting in distortion. hitting 0dB within the
+ mixer (or any point in the Jack server) means that you have
+ approximately 100dB of headroom remaining. as it is unlikely that you
+ will reach this point, it is not represented in any special way by the
+ meter. Naturally, if the input is selected as the monitoring point for
+ the meter, exceeding 0dBfs means that the input of your a/d converter
+ has clipped.
+ </para>
+ </section>
+
+ <section id="mixer-strip-panner">
+ <title>Panner</title>
+ <para>
+ The panner in Ardour is actually two panners. Because any mixer strip
+ in Ardour can route any number of streams of audio anywhere, the idea
+ of panning can be a complex one. To allow for the current
+ stereo-centric mainstream world as well as the multi-speaker
+ experimental one, one of two styles of panner will appear here
+ depending on the number of outputs the channel strip has. In the
+ simple case of mono channel input / stereo output, a single panner
+ will be present. The current pan position is represented by a dot (the
+ dot is the audio stream) which lies between the letters 'L' and 'R',
+ which represent the left and right outputs respectively. To change the
+ panning position of the stream, move the mouse while holding down the
+ left mouse button. the dot will follow your mouse pointer. To
+ introduce sudden changes to the pan setting, place the mouse pointer
+ over the desired position and click the middle mouse button. The pan
+ control will immediately snap to the mouse pointer position. The
+ panner may be bypassed by right-clicking the control and selecting
+ <guimenuitem>bypass</guimenuitem> from the drop-down menu. The panner
+ will immediately be bypassed. The increased level you notice when the
+ panner is bypassed is due to the way panning works. It is not a bug.
+ <emphasis>XXX what gain law is used in the panner?</emphasis>
+ </para>
+
+ <para>
+ In the case of a stereo input / stereo output combination, two panning
+ controls will appear, one corresponding to each audio stream. You can
+ <emphasis>link</emphasis> the controls together in two different ways
+ in this situation, using the direction arrows next to the
+ <guibutton>link</guibutton> button. Panners can be linked to travel
+ either in opposite directions or to maintain a consistent stereo width
+ across the travel of the control. These two modes are represented by
+ the orientation of the two arrows next to the
+ <guibutton>link</guibutton> button, which point in either the same or
+ opposite directions. The <guibutton>link</guibutton> button must be
+ engaged before you can change the <emphasis>link</emphasis> mode. To
+ link all the panners in a mixer strip, left-click the
+ <guibutton>link</guibutton> button, then select the desired link mode
+ by pressing the button marked with arrows.
+ </para>
+
+ <para>
+ Let's get a little more complicated by adding another output to the
+ mixer strip. From this point onwards, the panning positions are
+ represented with numbered dots on a square field. Orange dots
+ represent the outputs, and the numbered dots represent the streams.
+ the position of the outputs change according to the number of outputs
+ in the strip. This happens in order to allow the most useful
+ arrangement of the available space. At some point, adding an output
+ will cause the outputs to line up from the top left of the panning
+ square towards the centre. this is to allow for the 'multi-speaker big
+ sweep' to occur - where the sound is panned from speaker to speaker
+ around the room in sequence.
+ </para>
+
+ <para>
+ Don't forget that you can bypass the panner by right clicking and
+ selecting <guimenuitem>bypass</guimenuitem> from the drop-down menu.
+ this may simplify your multi-speaker setup, as often in this type of
+ project panning between all speakers or outputs is not required on all
+ tracks.
+ </para>
+ </section>
+
+ <section id="mixer-strip-output-selector">
+ <title>Output Selector</title>
+ <para>
+ The output selector allows you to assign the outputs of each mixer
+ strip. left-clicking the output selector causes a ready-made list of
+ output ports to appear in a drop-down menu, along with edit and
+ disconnect options. Selecting <guimenuitem>Edit</guimenuitem> will
+ allow you to change the number of outputs the channel has, as well as
+ select software and hardware ports to route signals to. For more
+ information on the window that appears when you select this option,
+ see the <xref linkend="sn-other-windows"/>.
+ <guimenuitem>Disconnect</guimenuitem> will leave the number of output
+ ports unchanged, but remove all assignments to output ports.
+ </para>
+ </section>
+
+ <section id="mixer-strip-scratch-pad">
+ <title>Scratch Pad</title>
+ <para>
+ This is the text area below the <guibutton>output</guibutton> button.
+ it allows you to enter any notes that you feel may be relevant to that
+ track. The notes are stored when you save the session.
+ </para>
+ </section>
</section>
diff --git a/manual/xml/mixer_window.xml b/manual/xml/mixer_window.xml
index 35a50c795f..8346773ee8 100644
--- a/manual/xml/mixer_window.xml
+++ b/manual/xml/mixer_window.xml
@@ -5,81 +5,85 @@
]>
<section id="sn-mixer-window">
- <title>The Mixer</title>
- <para>
- The mixer window provides a view of the session that mimics a traditional
- hardware mixing console. Rather than focusing on the arranging of regions
- along a timeline, the mixer is designed to allow you to manipulate the
- signal flow elements of a session - gain control, plugins, bussing and so
- forth.
- </para>
+ <title>The Mixer</title>
+ <para>
+ The mixer window provides a view of the session that mimics a
+ traditional hardware mixing console. Rather than focusing on the
+ arranging of regions along a timeline, the mixer is designed to allow
+ you to manipulate the signal flow elements of a session - gain control,
+ plugins, bussing and so forth.
+ </para>
- <para>
- The left area of the mixer contains three small vertical panes which allow
- various operations to be made on the larger area, which of course represents
- a mixing console.
- </para>
+ <para>
+ The left area of the mixer contains three small vertical panes which
+ allow various operations to be made on the larger area, which of course
+ represents a mixing console.
+ </para>
- <para>
- The lines that outline the three smaller panes all have a small square near
- their vertices. This square can be used to resize the four panes that form
- the mixer window. Dragging each of these squares with the left mouse button
- will move the border.
- </para>
+ <para>
+ The lines that outline the three smaller panes all have a small square
+ near their vertices. This square can be used to resize the four panes
+ that form the mixer window. Dragging each of these squares with the left
+ mouse button will move the border.
+ </para>
- <section id="mixer-window-layout">
- <title>Mixer Window Layout</title>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/mixer.png"/>
- </imageobject>
- </mediaobject>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <section id="mixer-window-layout">
+ <title>Mixer Window Layout</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/mixer.png"/>
+ </imageobject>
+ </mediaobject>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mixer_strips.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mixer_strip_list.xml" />
- <section id="mixer-window-group-list">
- <title> Group List </title>
- <para>
- The group list pane provides an interface to create and control the state
- of the mix groups present on the mixer. Mix groups provide a method of
- linking faders together, so that a movement on one fader will translate to
- all the other faders in the group.
- </para>
+ <section id="mixer-window-group-list">
+ <title> Group List </title>
+ <para>
+ The group list pane provides an interface to create and control the
+ state of the mix groups present on the mixer. Mix groups provide a
+ method of linking faders together, so that a movement on one fader
+ will translate to all the other faders in the group.
+ </para>
- <para>
- A new session will contail one group, called all. This preset group refers
- to all mixer strips?? <emphasis>what is 'all' doing here?</emphasis> Any
- new groups you create will be listed in this pane. Left clicking the
- <guibutton>Mix Groups</guibutton> button will open a window titled
- <literal>Name for a new mix group</literal>, which contains a dark text area.
- Enter a name for your new mix group in the text area. Left clicking
- <guibutton>cancel</guibutton> will close the <literal>Name for a new mix
- group</literal> window. The group list will be unaffected. Left clicking
- <guibutton>OK</guibutton> will create a new mix group. The new group will be
- listed in the group list pane with an empty box next to it's name. All
- mixer strips will now contain the name of the new group in their
- <guibutton>group</guibutton> button. Selecting the new group in a mixer
- strip will assign control of that channel's gain fader to the selected
- group, but <emphasis>only if the group is active</emphasis>. Left clicking
- the box next to the group name will activate the group.
- </para>
+ <para>
+ A new session will contail one group, called all. This preset group
+ refers to all mixer strips?? <emphasis>what is 'all' doing
+ here?</emphasis> Any new groups you create will be listed in this
+ pane. Left clicking the <guibutton>Mix Groups</guibutton> button
+ will open a window titled <literal>Name for a new mix
+ group</literal>, which contains a dark text area. Enter a name for
+ your new mix group in the text area. Left clicking
+ <guibutton>cancel</guibutton> will close the <literal>Name for a new
+ mix group</literal> window. The group list will be unaffected. Left
+ clicking <guibutton>OK</guibutton> will create a new mix group. The
+ new group will be listed in the group list pane with an empty box
+ next to it's name. All mixer strips will now contain the name of the
+ new group in their <guibutton>group</guibutton> button. Selecting
+ the new group in a mixer strip will assign control of that channel's
+ gain fader to the selected group, but <emphasis>only if the group is
+ active</emphasis>. Left clicking the box next to the group name will
+ activate the group.
+ </para>
- <para>
- At the bottom right of the group list, a square box provides a method for
- resizing the pane. Holding down the left mouse button while dragging the
- square vertically will move the lower border of the group list.
- </para>
- </section>
+ <para>
+ At the bottom right of the group list, a square box provides a
+ method for resizing the pane. Holding down the left mouse button
+ while dragging the square vertically will move the lower border of
+ the group list.
+ </para>
+ </section>
- <section id="mixer-window-snapshot-list">
- <title> Snapshot List </title>
- <para>
- Track Name Group Button Input Selector Solo Button Mute Button Polarity
- Button Track Speed Control Record Enable Button Automation Record Button
- Automation Playback Button Pre/Post Button Gain Display Unit Selector Gain
- Level Display Peak Meter Gain Fader Meters Output Selector
- </para>
- </section>
- </section>
+ <section id="mixer-window-snapshot-list">
+ <title> Snapshot List </title>
+ <para>
+ Track Name Group Button Input Selector Solo Button Mute Button
+ Polarity Button Track Speed Control Record Enable Button Automation
+ Record Button Automation Playback Button Pre/Post Button Gain
+ Display Unit Selector Gain Level Display Peak Meter Gain Fader
+ Meters Output Selector
+ </para>
+ </section>
+ </section>
</section>
diff --git a/manual/xml/mixer_window_key_bindings.xml b/manual/xml/mixer_window_key_bindings.xml
index d2a9c252a6..b207203585 100644
--- a/manual/xml/mixer_window_key_bindings.xml
+++ b/manual/xml/mixer_window_key_bindings.xml
@@ -5,80 +5,90 @@
]>
<section id="sn-mixer-window-key-bindings">
- <title>Mixer window key bindings</title>
- <table id="tbl-mixer-window-key-bindings">
- <title>Mixer Window Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>right arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- fast forward/faster
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap><keycap>right arrow</keycap><keycap>space</keycap>
- </keycombo>
- </entry>
- <entry>
- rapid fast forward
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>right arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- slow fast forward
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>left arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- rewind/faster
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap><keycap>left arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- rapid rewind
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>left arrow</keycap>
- </keycombo>
- </entry>
- <entry>
- slow rewind
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Mixer window key bindings</title>
+ <table id="tbl-mixer-window-key-bindings">
+ <title>Mixer Window Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>right arrow</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ fast forward/faster
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap><keycap>right
+ arrow</keycap><keycap>space</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ rapid fast forward
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>right arrow</keycap>
+ </keycombo>
+ </entry>
+
+ <entry>
+ slow fast forward
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>left arrow</keycap> </keycombo>
+ </entry>
+
+ <entry>
+ rewind/faster
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap><keycap>left arrow</keycap>
+ </keycombo>
+ </entry>
+
+ <entry>
+ rapid rewind
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>left arrow</keycap>
+ </keycombo>
+ </entry>
+
+ <entry>
+ slow rewind
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/mixing.xml b/manual/xml/mixing.xml
index 161f4b207b..6f181cb4e6 100644
--- a/manual/xml/mixing.xml
+++ b/manual/xml/mixing.xml
@@ -4,15 +4,16 @@
]>
-<chapter id="ch-mixing"><title>Mixing</title>
- <para>
- Placeholder for an intro to mixing
- </para>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+<chapter id="ch-mixing">
+ <title>Mixing</title>
+ <para>
+ Placeholder for an intro to mixing
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="automation.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="plugins.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="vst_plugins.xml" />
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
diff --git a/manual/xml/monitoring.xml b/manual/xml/monitoring.xml
index fdaee8da93..8479e16b8a 100644
--- a/manual/xml/monitoring.xml
+++ b/manual/xml/monitoring.xml
@@ -5,188 +5,197 @@
]>
<section id="sn-monitoring">
- <title>Monitoring</title>
- <para>
- If you are recording an acoustic instrument or voice with no pre-existing
- recorded material as an accompaniment, then you probably don't need to worry
- about monitoring. Just make sure you've made the right
- <link linkend="sn-jack">connections</link> and you should be ready to record
- without reading this section.
- </para>
-
- <para>
- However, if a musician is playing an instrument (it doesn't matter what
- kind) while listening to some pre-existing material, then it is important
- that some mechanism exists to allow her to hear both her own playing and the
- accompaniment. The same is true in a slightly different way if the
- instrument makes no sound until the electrical signal it creates has been
- amplified and fed to some loudspeakers. Listening to the performance in this
- way is called monitoring.
- </para>
-
- <para>
- So, if you are recording an electrical or software instrument/signal, and/or
- the musician wants to listen to existing material while performing, then you
- need to ensure that signal routing is setup to allow monitoring. You have 2
- basic choices:
- </para>
-
- <section id="hardware-monitoring">
- <title>Hardware Monitoring</title>
- <para>
- Hardware monitoring uses the capabilities of your audio interface to route
- an incoming signal (e.g. someone playing a guitar into a microphone) to an
- output connection (for example, the speaker outputs, or a dedicated analog
- monitoring stereo pair). Most audio interfaces can do this, but how you get
- them to do so, and what else they can do varies greatly. We can divide
- audio interfaces into 3 general categories:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- relatively simple, typically stereo, devices that allow the signal being
- recorded to be routed back to the main outputs (most "consumer" audio
- interfaces fit this description, along with anything that provides an
- "AC97-compliant CODEC")
- </para>
- </listitem>
- <listitem>
- <para>
- multichannel devices that allow a given input channel to be routed back
- to its corresponding output channel (the main example is the RME
- Digi9652)
- </para>
- </listitem>
- <listitem>
- <para>
- multichannel devices that allow any input channel, along with any
- playback channel, to be routed to any output channel (the RME HDSP and
- various interfaces based on the envy24/ice1712 chipsets, such as the
- M-Audio Delta 1010, EZ-8 and various Terratec cards)
- </para>
- </listitem>
- </itemizedlist>
-
- <section id="monitoring-consumer-audio-interfaces">
- <title>"Consumer" audio interfaces and monitoring</title>
- <para>
- For interfaces in the first category, there is no standard method of
- getting the signal routing correct. The variations in the wiring of
- hardware mixing chips, and the capabilities of those chips, means that you
- will have to get familiar with a hardware mixer control program and the
- details of your audio interface. In the simple cases, simply increasing
- the level named "Line In" or "Mic" in the hardware mixer control program
- will suffice. But this is not a general rule, because there is no general
- rule.
- </para>
-
- <para>
- The following diagram shows a fairly typical AC97-based audio interface
- schematic:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/simplemixer.png"/>
- </imageobject>
- </mediaobject>
- <para>
- Notice:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- there are multiple input connections, but only one can be used as the
- capture source
- </para>
- </listitem>
- <listitem>
- <para>
- it is (normally) possible to route the input signals back to the
- outputs, and independently control the gain for this "monitored" signal
- </para>
- </listitem>
- <listitem>
- <para>
- it may or may not be possible to choose the playback stream as the
- capture stream
- </para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section id="monitoring-prosumer-audio-interfaces">
- <title>High end "prosumer" interfaces and monitoring</title>
- <para>
- For the only interface in the second category, the RME Digi9652
- ("Hammerfall"), the direct monitoring facilities are simplistic but useful
- in some circumstances. They are best controlled using <emphasis>JACK
- hardware monitoring</emphasis>.
- </para>
-
- <para>
- When using one of the interfaces in the third category, most people find
- it useful to use hardware monitoring, but prefer to control it using a
- dedicated hardware mixer control program. If you have an RME HDSP system,
- then <command>hdspmixer</command> is the relevant program. For interfaces
- based on the envy24/ice1712/ice1724 chipsets, such as the Delta1010,
- Terratecs and others, <command>envy24ctl</command> is the right choice.
- Both programs offer access to very powerful matrix mixers that permit many
- different variations on signal routing, for both incoming signals and the
- signals being played back by the computer. You will need to spend some
- time working with these programs to grasp their potential and their usage
- in different situations.
- </para>
-
- <para>
- The following diagram gives a partial view of the monitoring schemantics
- for this class of audio interface. Each input can be routed back to any
- output, and each such routing has its own gain control. The diagram only
- shows the routings for "in1" to avoid becoming completely
- incomprehensible.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/matrixmixer.png"/>
- </imageobject>
- </mediaobject>
- </section>
- </section>
-
- <section id="jack-hardware-monitoring">
- <title>JACK hardware monitoring</title>
- <para></para>
- </section>
-
- <section id="software-monitoring">
- <title>Software monitoring</title>
- <para>
- Much simpler than hardware monitoring is "software monitoring". This means
- that any incoming signal (say, through a Line In connector) is delivered to
- software (such as Ardour) which can then deliver it back to any output it
- chooses, possibly having subjected it to various processing beforehand. The
- software can also mix signals together before delivering them back to the
- output. The fact that software monitoring can blend together incoming audio
- with pre-recorded material while adjusting for latency and other factors is
- the big plus for this method. The major downside is latency. There will
- always be a delay between the signal arriving at your audio interface
- inputs and it re-emerging from the outputs, and if this delay is too long,
- it can cause problems for the performer who is listening. They will sense a
- delay between pressing a key/pulling the bow/hitting the drum etc. and
- hearing the sound it produces.
- </para>
-
- <para>
- However, if your system is capable of low latency audio, its likely that
- you can use software monitoring effectively if it suits your goals.
- </para>
- </section>
-
- <section id="controlling-monitoring-within-ardour">
- <title>Controlling monitoring choices within Ardour</title>
- <para></para>
- </section>
+ <title>Monitoring</title>
+ <para>
+ If you are recording an acoustic instrument or voice with no
+ pre-existing recorded material as an accompaniment, then you probably
+ don't need to worry about monitoring. Just make sure you've made the
+ right <link linkend="sn-jack">connections</link> and you should be ready
+ to record without reading this section.
+ </para>
+
+ <para>
+ However, if a musician is playing an instrument (it doesn't matter what
+ kind) while listening to some pre-existing material, then it is
+ important that some mechanism exists to allow her to hear both her own
+ playing and the accompaniment. The same is true in a slightly different
+ way if the instrument makes no sound until the electrical signal it
+ creates has been amplified and fed to some loudspeakers. Listening to
+ the performance in this way is called monitoring.
+ </para>
+
+ <para>
+ So, if you are recording an electrical or software instrument/signal,
+ and/or the musician wants to listen to existing material while
+ performing, then you need to ensure that signal routing is setup to
+ allow monitoring. You have 2 basic choices:
+ </para>
+
+ <section id="hardware-monitoring">
+ <title>Hardware Monitoring</title>
+ <para>
+ Hardware monitoring uses the capabilities of your audio interface to
+ route an incoming signal (e.g. someone playing a guitar into a
+ microphone) to an output connection (for example, the speaker outputs,
+ or a dedicated analog monitoring stereo pair). Most audio interfaces
+ can do this, but how you get them to do so, and what else they can do
+ varies greatly. We can divide audio interfaces into 3 general
+ categories:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ relatively simple, typically stereo, devices that allow the signal
+ being recorded to be routed back to the main outputs (most
+ "consumer" audio interfaces fit this description, along with
+ anything that provides an "AC97-compliant CODEC")
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ multichannel devices that allow a given input channel to be routed
+ back to its corresponding output channel (the main example is the
+ RME Digi9652)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ multichannel devices that allow any input channel, along with any
+ playback channel, to be routed to any output channel (the RME HDSP
+ and various interfaces based on the envy24/ice1712 chipsets, such
+ as the M-Audio Delta 1010, EZ-8 and various Terratec cards)
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <section id="monitoring-consumer-audio-interfaces">
+ <title>"Consumer" audio interfaces and monitoring</title>
+ <para>
+ For interfaces in the first category, there is no standard method of
+ getting the signal routing correct. The variations in the wiring of
+ hardware mixing chips, and the capabilities of those chips, means
+ that you will have to get familiar with a hardware mixer control
+ program and the details of your audio interface. In the simple
+ cases, simply increasing the level named "Line In" or "Mic" in the
+ hardware mixer control program will suffice. But this is not a
+ general rule, because there is no general rule.
+ </para>
+
+ <para>
+ The following diagram shows a fairly typical AC97-based audio
+ interface schematic:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/simplemixer.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ Notice:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ there are multiple input connections, but only one can be used
+ as the capture source
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ it is (normally) possible to route the input signals back to the
+ outputs, and independently control the gain for this "monitored"
+ signal
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ it may or may not be possible to choose the playback stream as
+ the capture stream
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="monitoring-prosumer-audio-interfaces">
+ <title>High end "prosumer" interfaces and monitoring</title>
+ <para>
+ For the only interface in the second category, the RME Digi9652
+ ("Hammerfall"), the direct monitoring facilities are simplistic but
+ useful in some circumstances. They are best controlled using
+ <emphasis>JACK hardware monitoring</emphasis>.
+ </para>
+
+ <para>
+ When using one of the interfaces in the third category, most people
+ find it useful to use hardware monitoring, but prefer to control it
+ using a dedicated hardware mixer control program. If you have an RME
+ HDSP system, then <command>hdspmixer</command> is the relevant
+ program. For interfaces based on the envy24/ice1712/ice1724
+ chipsets, such as the Delta1010, Terratecs and others,
+ <command>envy24ctl</command> is the right choice. Both programs
+ offer access to very powerful matrix mixers that permit many
+ different variations on signal routing, for both incoming signals
+ and the signals being played back by the computer. You will need to
+ spend some time working with these programs to grasp their potential
+ and their usage in different situations.
+ </para>
+
+ <para>
+ The following diagram gives a partial view of the monitoring
+ schemantics for this class of audio interface. Each input can be
+ routed back to any output, and each such routing has its own gain
+ control. The diagram only shows the routings for "in1" to avoid
+ becoming completely incomprehensible.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/matrixmixer.png"/>
+ </imageobject>
+ </mediaobject>
+ </section>
+ </section>
+
+ <section id="jack-hardware-monitoring">
+ <title>JACK hardware monitoring</title>
+ <para></para>
+ </section>
+
+ <section id="software-monitoring">
+ <title>Software monitoring</title>
+ <para>
+ Much simpler than hardware monitoring is "software monitoring". This
+ means that any incoming signal (say, through a Line In connector) is
+ delivered to software (such as Ardour) which can then deliver it back
+ to any output it chooses, possibly having subjected it to various
+ processing beforehand. The software can also mix signals together
+ before delivering them back to the output. The fact that software
+ monitoring can blend together incoming audio with pre-recorded
+ material while adjusting for latency and other factors is the big plus
+ for this method. The major downside is latency. There will always be a
+ delay between the signal arriving at your audio interface inputs and
+ it re-emerging from the outputs, and if this delay is too long, it can
+ cause problems for the performer who is listening. They will sense a
+ delay between pressing a key/pulling the bow/hitting the drum etc. and
+ hearing the sound it produces.
+ </para>
+
+ <para>
+ However, if your system is capable of low latency audio, its likely
+ that you can use software monitoring effectively if it suits your
+ goals.
+ </para>
+ </section>
+
+ <section id="controlling-monitoring-within-ardour">
+ <title>Controlling monitoring choices within Ardour</title>
+ <para></para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/mouse_operations.xml b/manual/xml/mouse_operations.xml
index a03453863f..b1e06eacec 100644
--- a/manual/xml/mouse_operations.xml
+++ b/manual/xml/mouse_operations.xml
@@ -1,53 +1,42 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-mouse-operations">
-
- <title>Mouse Operations</title>
-
- <para>
- Note that the definition of the "Delete" and "Edit" clicks can be
- redefined by the user, either in their Ardour configuration file
- (<filename>$HOME/.ardour/ardour.rc</filename>) or using the Options Editor
- (Keyboard+Mouse tab).
- </para>
-
- <para>
- You might wonder why we say Button1 ? Here is an
- <!--
+ <title>Mouse Operations</title>
+ <para>
+ Note that the definition of the "Delete" and "Edit" clicks can be
+ redefined by the user, either in their Ardour configuration file
+ (<filename>$HOME/.ardour/ardour.rc</filename>) or using the Options
+ Editor (Keyboard+Mouse tab).
+ </para>
+
+ <para>
+ You might wonder why we say Button1 ? Here is an
+<!--
<a href="/manual/intro/formatting#Mouse Buttons">explanation</a>.
-->
- </para>
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="generic_mouse_actions.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_wheel_actions.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_object_mode.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_region_gain_mode.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_range_mode.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_zoom_mode.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_ruler.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="mouse_operations_mixer_controls.xml" />
-
- <!--
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/mouse_operations_mixer_controls.xml b/manual/xml/mouse_operations_mixer_controls.xml
index 67db5347b5..d2e42c44a4 100644
--- a/manual/xml/mouse_operations_mixer_controls.xml
+++ b/manual/xml/mouse_operations_mixer_controls.xml
@@ -5,169 +5,196 @@
]>
<section id="sn-mouse-operations-mixer-controls">
- <title>Mixer Controls</title>
- <table id="tbl-solo-mute-rec-buttons">
- <title>Solo, Mute and Rec enable buttons</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> click
- </entry>
- <entry>
- toggle for the track (or the entire mix group when the group is active)
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button2</mousebutton> click
- </entry>
- <entry>
- momentary switch
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
- click
- </entry>
- <entry>
- toggle for the entire mix group when the group is not active
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
- click
- </entry>
- <entry>
- toggle for all the tracks and busses
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo>
- click
- </entry>
- <entry>
- learn MIDI control
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <table id="tbl-solo-buttons">
- <title>Solo Buttons Only</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
- click
- </entry>
- <entry>
- toggle "lock" of current solo state ("solo safe")
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><mousebutton>Button1</mousebutton></keycombo>
- click
- </entry>
- <entry>
- solo only this track or active group, unsolo all others
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <table id="tbl-faders">
- <title>Faders</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- Button1 drag
- </entry>
- <entry>
- operate fader
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
- drag
- </entry>
- <entry>
- finer control
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
- drag
- </entry>
- <entry>
- finest control
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
- click
- </entry>
- <entry>
- reset fader
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo>
- click
- </entry>
- <entry>
- learn MIDI control
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Mixer Controls</title>
+ <table id="tbl-solo-mute-rec-buttons">
+ <title>Solo, Mute and Rec enable buttons</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> click
+ </entry>
+
+ <entry>
+ toggle for the track (or the entire mix group when the group is
+ active)
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button2</mousebutton> click
+ </entry>
+
+ <entry>
+ momentary switch
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
+ click
+ </entry>
+
+ <entry>
+ toggle for the entire mix group when the group is not active
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
+ click
+ </entry>
+
+ <entry>
+ toggle for all the tracks and busses
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo>
+ click
+ </entry>
+
+ <entry>
+ learn MIDI control
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table id="tbl-solo-buttons">
+ <title>Solo Buttons Only</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
+ click
+ </entry>
+
+ <entry>
+ toggle "lock" of current solo state ("solo safe")
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap><mousebutton>Button1</mousebutton></keycombo>
+ click
+ </entry>
+
+ <entry>
+ solo only this track or active group, unsolo all others
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table id="tbl-faders">
+ <title>Faders</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ Button1 drag
+ </entry>
+
+ <entry>
+ operate fader
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
+ drag
+ </entry>
+
+ <entry>
+ finer control
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
+ drag
+ </entry>
+
+ <entry>
+ finest control
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
+ click
+ </entry>
+
+ <entry>
+ reset fader
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo>
+ click
+ </entry>
+
+ <entry>
+ learn MIDI control
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/mouse_operations_object_mode.xml b/manual/xml/mouse_operations_object_mode.xml
index a013c9464c..59b96f8cb3 100644
--- a/manual/xml/mouse_operations_object_mode.xml
+++ b/manual/xml/mouse_operations_object_mode.xml
@@ -5,299 +5,328 @@
]>
<section id="sn-mouse-operations-object-mode">
- <title>Object Mode</title>
- <section id="sn-object-mode-region-operations">
- <title>Region Operations</title>
- <para>
- A region has several areas in its on-screen representation:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- the waveform (the majority of the region's display area, normally)
- </para>
- </listitem>
- <listitem>
- <para>
- the trim bar (the colored bar below the waveform)
- </para>
- </listitem>
- <listitem>
- <para>
- the name (in the trim bar, text)
- </para>
- </listitem>
- <listitem>
- <para>
- the fade handles (small squares that default to the upper left + right
- corners)
- </para>
- </listitem>
- <listitem>
- <para>
- the fade shape (filled or empty curves representing fade in + fade out)
- </para>
- </listitem>
- <listitem>
- <para>
- the gain envelope (hidden by default)
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Mouse operations on each area will do different things.
- </para>
-
- <table id="tbl-object-mode-region-operations">
- <title>Region Operations</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- Button1 click on waveform
- </entry>
- <entry>
- select region
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap>
- <mousebutton>Button1</mousebutton>
- </keycombo>
- click
- </entry>
- <entry>
- add region to selection, or deselect it if selected
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton>
- drag on "empty space"
- </entry>
- <entry>
- rubber-band selection of regions
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap>
- <mousebutton>Button1</mousebutton>
- </keycombo>
- drag on region
- </entry>
- <entry>
- rubber-band selection of regions
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton>
- click in trim bar
- </entry>
- <entry>
- set start of region
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button2</mousebutton>
- click in trim bar
- </entry>
- <entry>
- set end of region
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton>
- drag near ends of trim bar
- </entry>
- <entry>
- adjust start/end of region
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap>
- <mousebutton>Button1</mousebutton>
- </keycombo>
- drag in trim bar
- </entry>
- <entry>
- move audio inside region
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton>
- drag
- </entry>
- <entry>
- move region
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap>
- <mousebutton>Button1</mousebutton>
- </keycombo>
- drag
- </entry>
- <entry>
- copy region and move copy
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button2</mousebutton>
- drag
- </entry>
- <entry>
- fixed time move (for transfer to other tracks)
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap>
- <mousebutton>Button2</mousebutton>
- </keycombo>
- drag
- </entry>
- <entry>
- fixed time copy+move
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap>
- <mousebutton>Button2</mousebutton>
- </keycombo>
- click
- </entry>
- <entry>
- raise region
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><keycap>Shift</keycap>
- <mousebutton>Button2</mousebutton>
- </keycombo>
- click
- </entry>
- <entry>
- lower region
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
-
- <section id="object-mode-automation-operations">
- <title>Automation Operations</title>
- <para>
- In general Button2-drag will do a constrained drag: control points will
- stay at the same position in time if dragged up and down and they will stay
- at the same value if dragged sideways.
- </para>
-
- <table id="tbl-object-mode-automation-operations">
- <title>Region Operations</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> click in automation track
- </entry>
- <entry>
- add a new control point to the line
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> drag in an automation track
- </entry>
- <entry>
- rubber-band select control points
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> drag on control point
- </entry>
- <entry>
- move control point
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> drag on line
- </entry>
- <entry>
- move line segment vertically
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button2</mousebutton> drag on control-point
- </entry>
- <entry>
- constrained adjustment
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
- drag on control point
- </entry>
- <entry>
- move control point+all later points move with the same time
- displacement
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo>
- drag on control point
- </entry>
- <entry>
- constrained move control point + move all later points with the same
- time displacement
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </section>
+ <title>Object Mode</title>
+ <section id="sn-object-mode-region-operations">
+ <title>Region Operations</title>
+ <para>
+ A region has several areas in its on-screen representation:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ the waveform (the majority of the region's display area, normally)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ the trim bar (the colored bar below the waveform)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ the name (in the trim bar, text)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ the fade handles (small squares that default to the upper left +
+ right corners)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ the fade shape (filled or empty curves representing fade in + fade
+ out)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ the gain envelope (hidden by default)
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Mouse operations on each area will do different things.
+ </para>
+
+ <table id="tbl-object-mode-region-operations">
+ <title>Region Operations</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ Button1 click on waveform
+ </entry>
+
+ <entry>
+ select region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap>
+ <mousebutton>Button1</mousebutton> </keycombo> click
+ </entry>
+
+ <entry>
+ add region to selection, or deselect it if selected
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag on "empty space"
+ </entry>
+
+ <entry>
+ rubber-band selection of regions
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>Alt</keycap>
+ <mousebutton>Button1</mousebutton> </keycombo> drag on region
+ </entry>
+
+ <entry>
+ rubber-band selection of regions
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> click in trim bar
+ </entry>
+
+ <entry>
+ set start of region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button2</mousebutton> click in trim bar
+ </entry>
+
+ <entry>
+ set end of region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag near ends of trim bar
+ </entry>
+
+ <entry>
+ adjust start/end of region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap>
+ <mousebutton>Button1</mousebutton> </keycombo> drag in trim
+ bar
+ </entry>
+
+ <entry>
+ move audio inside region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag
+ </entry>
+
+ <entry>
+ move region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap>
+ <mousebutton>Button1</mousebutton> </keycombo> drag
+ </entry>
+
+ <entry>
+ copy region and move copy
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button2</mousebutton> drag
+ </entry>
+
+ <entry>
+ fixed time move (for transfer to other tracks)
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap>
+ <mousebutton>Button2</mousebutton> </keycombo> drag
+ </entry>
+
+ <entry>
+ fixed time copy+move
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap>
+ <mousebutton>Button2</mousebutton> </keycombo> click
+ </entry>
+
+ <entry>
+ raise region
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>Shift</keycap>
+ <mousebutton>Button2</mousebutton> </keycombo> click
+ </entry>
+
+ <entry>
+ lower region
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+
+ <section id="object-mode-automation-operations">
+ <title>Automation Operations</title>
+ <para>
+ In general Button2-drag will do a constrained drag: control points
+ will stay at the same position in time if dragged up and down and they
+ will stay at the same value if dragged sideways.
+ </para>
+
+ <table id="tbl-object-mode-automation-operations">
+ <title>Region Operations</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> click in automation track
+ </entry>
+
+ <entry>
+ add a new control point to the line
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag in an automation track
+ </entry>
+
+ <entry>
+ rubber-band select control points
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag on control point
+ </entry>
+
+ <entry>
+ move control point
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag on line
+ </entry>
+
+ <entry>
+ move line segment vertically
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button2</mousebutton> drag on control-point
+ </entry>
+
+ <entry>
+ constrained adjustment
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
+ drag on control point
+ </entry>
+
+ <entry>
+ move control point+all later points move with the same time
+ displacement
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo>
+ drag on control point
+ </entry>
+
+ <entry>
+ constrained move control point + move all later points with
+ the same time displacement
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/mouse_operations_range_mode.xml b/manual/xml/mouse_operations_range_mode.xml
index 3e772586e4..3ed66cb93d 100644
--- a/manual/xml/mouse_operations_range_mode.xml
+++ b/manual/xml/mouse_operations_range_mode.xml
@@ -5,91 +5,100 @@
]>
<section id="sn-mouse-operations-range-mode">
- <title>Range Mode</title>
- <table id="tbl-range-mode">
- <title>Range Operations</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton>
- drag outside of a range
- </entry>
- <entry>
- define a range
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton>
- drag on range handles
- </entry>
- <entry>
- change start/end of a range
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap>
- <mousebutton>Button1</mousebutton>
- </keycombo>
- drag
- </entry>
- <entry>
- define an additional range
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button2</mousebutton>
- click on another track
- </entry>
- <entry>
- move range to another track
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
- click on another track
- </entry>
- <entry>
- extend range to another track
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
- drag
- </entry>
- <entry>
- move continuous part of range
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap><mousebutton>Button1</mousebutton></keycombo>
- click
- </entry>
- <entry>
- seperate range into a new region
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Range Mode</title>
+ <table id="tbl-range-mode">
+ <title>Range Operations</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag outside of a range
+ </entry>
+
+ <entry>
+ define a range
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag on range handles
+ </entry>
+
+ <entry>
+ change start/end of a range
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap>
+ <mousebutton>Button1</mousebutton> </keycombo> drag
+ </entry>
+
+ <entry>
+ define an additional range
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button2</mousebutton> click on another track
+ </entry>
+
+ <entry>
+ move range to another track
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
+ click on another track
+ </entry>
+
+ <entry>
+ extend range to another track
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
+ drag
+ </entry>
+
+ <entry>
+ move continuous part of range
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap><mousebutton>Button1</mousebutton></keycombo>
+ click
+ </entry>
+
+ <entry>
+ seperate range into a new region
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/mouse_operations_region_gain_mode.xml b/manual/xml/mouse_operations_region_gain_mode.xml
index 668b3656b1..7883bb4ce0 100644
--- a/manual/xml/mouse_operations_region_gain_mode.xml
+++ b/manual/xml/mouse_operations_region_gain_mode.xml
@@ -5,61 +5,68 @@
]>
<section id="sn-mouse-operations-region-gain-mode">
- <title>Region Gain Mode</title>
- <table id="tbl-region-gain-mode">
- <title>Region Gain Envelope Operations</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> click
- </entry>
- <entry>
- add a new control point to the gain envelope
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> drag on control point
- </entry>
- <entry>
- move control point
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> drag on line
- </entry>
- <entry>
- move line segment
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
- drag on control point
- </entry>
- <entry>
- move control point+all later points
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Region Gain Mode</title>
+ <table id="tbl-region-gain-mode">
+ <title>Region Gain Envelope Operations</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
- <!--
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> click
+ </entry>
+
+ <entry>
+ add a new control point to the gain envelope
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag on control point
+ </entry>
+
+ <entry>
+ move control point
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag on line
+ </entry>
+
+ <entry>
+ move line segment
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
+ drag on control point
+ </entry>
+
+ <entry>
+ move control point+all later points
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
diff --git a/manual/xml/mouse_operations_ruler.xml b/manual/xml/mouse_operations_ruler.xml
index c7cecb7172..09b05850b1 100644
--- a/manual/xml/mouse_operations_ruler.xml
+++ b/manual/xml/mouse_operations_ruler.xml
@@ -5,92 +5,105 @@
]>
<section id="sn-mouse-operations-ruler">
- <title>Ruler Operations</title>
- <table id="tbl-marks-locations">
- <title>Marks, Locations</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> click in marker, tempo, meter ruler
- </entry>
- <entry>
- create a new marker
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> drag on a marker
- </entry>
- <entry>
- move marker
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
- drag on loop or punch mark
- </entry>
- <entry>
- move both ends of range at once
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
- click in marker
- </entry>
- <entry>
- hide marker but do not remove it
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <table id="tbl-punch-loop-ranges">
- <title>Punch/Loop Ranges</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- Button1 drag
- </entry>
- <entry>
- define a new punch or loop range
- </entry>
- </row>
- <row>
- <entry>
- other operations as for marks and locations above
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Ruler Operations</title>
+ <table id="tbl-marks-locations">
+ <title>Marks, Locations</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> click in marker, tempo, meter
+ ruler
+ </entry>
+
+ <entry>
+ create a new marker
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag on a marker
+ </entry>
+
+ <entry>
+ move marker
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>
+ drag on loop or punch mark
+ </entry>
+
+ <entry>
+ move both ends of range at once
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
+ click in marker
+ </entry>
+
+ <entry>
+ hide marker but do not remove it
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <table id="tbl-punch-loop-ranges">
+ <title>Punch/Loop Ranges</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag
+ </entry>
+
+ <entry>
+ define a new punch or loop range
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ other operations as for marks and locations above
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/mouse_operations_zoom_mode.xml b/manual/xml/mouse_operations_zoom_mode.xml
index e2b8812866..765c049432 100644
--- a/manual/xml/mouse_operations_zoom_mode.xml
+++ b/manual/xml/mouse_operations_zoom_mode.xml
@@ -5,59 +5,67 @@
]>
<section id="sn-mouse-operations-zoom-mode">
- <title>Zoom Mode</title>
- <table id="tbl-zoom-mode">
- <title>Zoom Operations</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> drag
- </entry>
- <entry>
- define the new visible area
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button1</mousebutton> click
- </entry>
- <entry>
- zoom in
- </entry>
- </row>
- <row>
- <entry>
- <mousebutton>Button2</mousebutton> click
- </entry>
- <entry>
- zoom out
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo>
- click
- </entry>
- <entry>
- zoom to session
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <title>Zoom Mode</title>
+ <table id="tbl-zoom-mode">
+ <title>Zoom Operations</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> drag
+ </entry>
+
+ <entry>
+ define the new visible area
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button1</mousebutton> click
+ </entry>
+
+ <entry>
+ zoom in
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <mousebutton>Button2</mousebutton> click
+ </entry>
+
+ <entry>
+ zoom out
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo>
+ click
+ </entry>
+
+ <entry>
+ zoom to session
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/mouse_wheel_actions.xml b/manual/xml/mouse_wheel_actions.xml
index 75a3bc6066..c750031af6 100644
--- a/manual/xml/mouse_wheel_actions.xml
+++ b/manual/xml/mouse_wheel_actions.xml
@@ -5,70 +5,76 @@
]>
<section id="sn-mouse-wheel-actions">
- <title>Mouse Wheel Actions</title>
- <table id="tbl-mouse-wheel-actions">
- <title>Mouse Wheel Actions</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
- <colspec colnum="2" colname="Result" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Mouse Action
- </entry>
- <entry>
- Result
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- Mouse Wheel
- </entry>
- <entry>
- scroll editor window up/down (except in Zoom mode)
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Alt</keycap>
- <mousebutton>Mouse Wheel</mousebutton>
- </keycombo>
- </entry>
- <entry>
- scroll editor window left/right
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap>
- <mousebutton>Mouse Wheel</mousebutton>
- </keycombo>
- </entry>
- <entry>
- zoom in/out
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap>
- <mousebutton>Mouse Wheel</mousebutton>
- </keycombo>
- </entry>
- <entry>
- step track height
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- <note>
- <para>
- The mouse wheel also moves the faders and other controls. In Zoom mode the
- mouse wheel zooms instead of scrolling the window.
- </para>
- </note>
+ <title>Mouse Wheel Actions</title>
+ <table id="tbl-mouse-wheel-actions">
+ <title>Mouse Wheel Actions</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Mouse Action" colwidth="1"/>
+ <colspec colnum="2" colname="Result" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Mouse Action
+ </entry>
+
+ <entry>
+ Result
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ Mouse Wheel
+ </entry>
+
+ <entry>
+ scroll editor window up/down (except in Zoom mode)
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Alt</keycap> <mousebutton>Mouse
+ Wheel</mousebutton> </keycombo>
+ </entry>
+
+ <entry>
+ scroll editor window left/right
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap> <mousebutton>Mouse
+ Wheel</mousebutton> </keycombo>
+ </entry>
+
+ <entry>
+ zoom in/out
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap> <mousebutton>Mouse
+ Wheel</mousebutton> </keycombo>
+ </entry>
+
+ <entry>
+ step track height
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <note>
+ <para>
+ The mouse wheel also moves the faders and other controls. In Zoom mode
+ the mouse wheel zooms instead of scrolling the window.
+ </para>
+ </note>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/opening_a_session.xml b/manual/xml/opening_a_session.xml
index 09441454ed..b717c31bc7 100644
--- a/manual/xml/opening_a_session.xml
+++ b/manual/xml/opening_a_session.xml
@@ -1,66 +1,53 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-opening-a-session">
-
- <title>Opening a Session</title>
-
- <para>
- You can open a session by either
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Choose
- <menuchoice>
- <guimenu>Session</guimenu>
- <guisubmenu>Open</guisubmenu>
- </menuchoice>
- or press
- <keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo>
- and then use the file selector to locate the
- session you want to open.
- </para>
- </listitem>
- <listitem>
- <para>
- start ardour from a command line, and specify the session folder as
- an argument.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- When specifying a session to open you can either specify the
- session folder or the session file. If you specify the folder, Ardour
- will open the primary session file within the folder. If you specify a
- session file (see <xref linkend="sn-snapshots"/>), Ardour will open
- that particular session.
- </para>
-
- <section id="recent-sessions">
- <title>Recent Sessions</title>
-
- <para>
- The
- <menuchoice>
- <guimenu>Session</guimenu>
- <guisubmenu>Recent</guisubmenu>
- </menuchoice>
- menu item will allow you to navigate
- directly to sessions that you have worked on recently. For sessions
- with more than one recent session file, expand the session subtree by
- clicking on the expansion box left of the session name.
- </para>
-
- </section>
-
- <!--
+ <title>Opening a Session</title>
+ <para>
+ You can open a session by either
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Choose <menuchoice> <guimenu>Session</guimenu>
+ <guisubmenu>Open</guisubmenu> </menuchoice> or press
+ <keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo> and
+ then use the file selector to locate the session you want to open.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ start ardour from a command line, and specify the session folder as
+ an argument.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ When specifying a session to open you can either specify the session
+ folder or the session file. If you specify the folder, Ardour will open
+ the primary session file within the folder. If you specify a session
+ file (see <xref linkend="sn-snapshots"/>), Ardour will open that
+ particular session.
+ </para>
+
+ <section id="recent-sessions">
+ <title>Recent Sessions</title>
+ <para>
+ The <menuchoice> <guimenu>Session</guimenu>
+ <guisubmenu>Recent</guisubmenu> </menuchoice> menu item will allow you
+ to navigate directly to sessions that you have worked on recently. For
+ sessions with more than one recent session file, expand the session
+ subtree by clicking on the expansion box left of the session name.
+ </para>
+ </section>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/other_windows.xml b/manual/xml/other_windows.xml
index d7dd436fc7..d3c2069937 100644
--- a/manual/xml/other_windows.xml
+++ b/manual/xml/other_windows.xml
@@ -5,230 +5,240 @@
]>
<section id="sn-other-windows">
- <title>Other Windows</title>
- <para>
- This page summarises various windows you will find in your travels through
- Ardour that aren't available from the <guimenuitem>windows</guimenuitem>
- menu in the editor. They aren't available because they are specific to a
- particular object, like a mixer strip, and are launched from the object
- itself.
- </para>
-
- <section id="input-output-connections-editor">
- <title>Input/Output Connections Editor</title>
- <para>
- Selecting <guimenuitem>edit</guimenuitem> from the input drop-down menu on
- a mixer strip will open this window, as will selecting
- <guimenuitem>edit</guimenuitem> from the output button. The Input/Output
- connections editor is one of the strangest interfaces known to man. After a
- small amount of use, however, you will find it quite natural to use.
- Because these two windows are identical except for 'input' being transposed
- with 'output', we will cover the Input Connections Editor here and leave it
- up to your imaginative self to work out what it all means in the output
- window.
- </para>
-
- <para>
- When the window opens, you will be see that it is divided into two main
- areas marked <guilabel>Inputs</guilabel> and <guilabel>Available
- Connections</guilabel> . A third area contains buttons marked
- <guibutton>rescan</guibutton>, <guibutton>OK</guibutton> and
- <guibutton>Cancel</guibutton>.
- </para>
-
- <para>
- The <guilabel>Inputs</guilabel> area has two buttons marked <guibutton>add
- input</guibutton> and <guibutton>clear connections</guibutton>. The
- <guibutton>add input</guibutton> button adds an audio stream to the mixer
- strip.
- </para>
-
- <para>
- In other words, if you currently have a two input channel, pressing
- <guibutton>add input</guibutton> will make it a three input channel. If you
- subsequently record on the corresponding track, each region will comprise
- of three channels of audio taken from the inputs you have set in the area
- below.
- </para>
-
- <para>
- Pressing <guibutton>clear connections</guibutton> will remove all
- connections you have assigned in the area below.
- </para>
-
- <para>
- Speaking of "the area below", if you've used a template to create your new
- session with, the input fields will aready be filled in with default values
- that are determined by the number of channels your hardware supports. It
- should be noted that by default, inputs are initially set to hardware
- ports, as presumably you will be recording from a hardware device
- initially. This doesn't indicate a preference on Ardour's part, as software
- inputs are just as valid to Ardour as hardware ones.
- </para>
-
- <para>
- Anyway, in "the area below", notice that one input (probably labelled
- <literal>in 1</literal>) is a lighter colour than the other. If you only
- have one input at the moment, press <guibutton>add input</guibutton> just
- to see the difference. You can remove an input by holding the control key
- while right-clicking on the input name.
- </para>
-
- <para>
- The lighter coloured input is the one that will be added to when an output
- in the <guilabel>Available connections</guilabel> area is clicked. If the
- wrong input is highlighted, you can highlight the correct one by
- left-clicking the text of the input name you desire.
- </para>
-
- <para>
- Note that you can "mux" as many inputs together as you like when doing
- this, they just pile up on top of the last one. Be warned, though, that
- they are all summed at unity gain. You can reach some fairly astonishing
- levels by doing this a lot.
- </para>
-
- <para>
- If you click an output from the <guilabel>Available connections</guilabel>
- area, the connection is added to that input's list, the connection is made
- active, and the next input is made a lighter colour, indicating that it is
- ready to accept your selection. This makes it a simple matter to assign
- many connections rapidly. The transport does not have to be stopped to
- change inputs or outputs (or anything, really) in Ardour.
- </para>
-
- <para>
- Removing assignments is achieved by left-clicking the relevant output in
- the <guilabel>inputs</guilabel> area. As with most objects in Ardour, you
- can also remove an assignment by holding the shift key while right-clicking
- it.
- </para>
-
- <para>
- The Available connections area lists all available connections, sorted into
- tabs which represent their associated hardware or software ports. The front
- tab is always <literal>alsa_pcm</literal>. this represents the physical
- ports on your computer. It should contain as many ports as hour hardware
- has inputs.
- </para>
-
- <para>
- The next tab is Ardour. This tab lists all the connections that Ardour has
- available, including inserts and sends. If you have some other Jack aware
- programs running, they will be given tabs in this area which will
- correspond to their Jack output ports.
- </para>
-
- <para>
- The <guibutton>rescan</guibutton> button searches for any new available
- outputs. It may be necessary to use it if you have started a Jack
- application after you open the window.
- </para>
-
- <para>
- The <guibutton>Cancel</guibutton> button closes the window <emphasis>XXX
- what really happens?</emphasis> , as does the <guibutton>OK</guibutton>
- button.
- </para>
- </section>
-
- <section id="ladspa-plugin-window">
- <title>The LADSPA Plugin Window</title>
- <para>
- This window opens when you double-left-click or control right-click a
- plugin on a mixer strip. It allows you to adjust, store and automate the
- controls presented by any LADSPA plugin. Because LADSPA plugins do not
- contain graphical interface information, this window adapts itself to suit
- the various controls presented by the plugin. The advantage of this system
- is that each plugin appears consistently within Ardour. The disadvantage is
- that with a few plugins, the controls seem to be laid out in a haphazard
- fashion. This is not usually the case, however.
- </para>
-
- <para>
- Each plugin window will have a <guibutton>bypass</guibutton> switch in the
- top left. Whenever you add a plugin, it's initial state will be bypass. The
- button will be red and appear depressed. To activate the plugin, press the
- <guibutton>bypass</guibutton> button. you should immediately hear the
- plugin inserted in the signal path. All plugins that report their latency
- are automatically time compensated sample-accurately.
- </para>
-
- <para>
- To the left of the bypass switch you will see the name of the plugin, the
- author and the number of inputs and outputs that the plugin makes use of.
- To the right will be a text entry area, a list selector and a
- <guibutton>Save</guibutton> button. To save a combination of settings,
- press the <guibutton>Save</guibutton> button. A window will appear asking
- for the name of the preset. Enter a name, press <guibutton>OK</guibutton>,
- and your new preset will appear on the list of saved settings.
- </para>
-
- <para>
- To restore a saved preset, select it from the list. The settings should
- immediately be restored as you release the mouse button.
- </para>
-
- <para>
- The rest of the window consists of sliders and buttons which represent the
- various controls available for the plugin. To move a slider, left click it
- and slide the mouse horizontally over the range of the control. You can see
- the numeric value and the bar change as you move the mouse. You can also
- press the control key while moving for finer adjustments.
- </para>
-
- <para>
- Next to each control is an automation mode button. The default state is
- <guimenuitem>off</guimenuitem>. To write automation information, press the
- button and select <guimenuitem>write</guimenuitem> from the drop-down list.
- After engaging the transport, movement of the control will be recorded for
- playback when the <guimenuitem>play</guimenuitem> automation mode is
- selected. <guimenuitem>Touch</guimenuitem> mode automatically switches from
- <guimenuitem>play</guimenuitem> to <guimenuitem>write</guimenuitem> as the
- control is first selected with the mouse button and released, respectively.
- The automation data is accessible from the editor window, along with the
- other automation data for the track.
- </para>
- </section>
-
- <section id="export-window">
- <title>The Export Window</title>
- <para>
- The export window appears when either <guimenuitem>export session to
- audiofile</guimenuitem> or <guimenuitem>export range to
- audiofile</guimenuitem> have been selected from the session menu. This
- window enables an audio file to be rendered from either the master bus or
- individual tracks in freewheel mode. A large range of audio file formats
- are supported, as is the ability to export a CUE or TOC file representing
- any CD index or track markers you may have in the session. Bit depth
- reduction can be performed with three types of dither, or no dither.
- </para>
- </section>
-
- <section id="crossfade-editor-window">
- <title>The Crossfade Editor Window</title>
- <para>
- The crossfade editor will appear whenever you select <menuchoice>
- <guimenu>crossfade</guimenu> <guisubmenu>edit</guisubmenu> </menuchoice>
- from any active or inactive crossfade in the editor window. This window
- allows you to customise the default crossfade that is automatically applied
- when two regions overlap. Provision is made for auditioning different
- elements of the crossfade, or the crossfade as a whole.
- </para>
- </section>
-
- <section id="locations-window">
- <title>the Locations Window</title>
- <para>
- The locations window provides a means to locate to and define points and
- ranges in your session. Points and ranges may also be 'promoted' to be CD
- Index or CD Track markers, respectively. Once promoted, they may be
- exported to a standard T.O.C. or CUE file along with the exported audio
- using the export window. The locations window will appear when <menuchoice>
- <guimenu>windows</guimenu> <guisubmenu>locations</guisubmenu> </menuchoice>
- is selected from the editor window.
- </para>
- </section>
+ <title>Other Windows</title>
+ <para>
+ This page summarises various windows you will find in your travels
+ through Ardour that aren't available from the
+ <guimenuitem>windows</guimenuitem> menu in the editor. They aren't
+ available because they are specific to a particular object, like a mixer
+ strip, and are launched from the object itself.
+ </para>
+
+ <section id="input-output-connections-editor">
+ <title>Input/Output Connections Editor</title>
+ <para>
+ Selecting <guimenuitem>edit</guimenuitem> from the input drop-down
+ menu on a mixer strip will open this window, as will selecting
+ <guimenuitem>edit</guimenuitem> from the output button. The
+ Input/Output connections editor is one of the strangest interfaces
+ known to man. After a small amount of use, however, you will find it
+ quite natural to use. Because these two windows are identical except
+ for 'input' being transposed with 'output', we will cover the Input
+ Connections Editor here and leave it up to your imaginative self to
+ work out what it all means in the output window.
+ </para>
+
+ <para>
+ When the window opens, you will be see that it is divided into two
+ main areas marked <guilabel>Inputs</guilabel> and <guilabel>Available
+ Connections</guilabel> . A third area contains buttons marked
+ <guibutton>rescan</guibutton>, <guibutton>OK</guibutton> and
+ <guibutton>Cancel</guibutton>.
+ </para>
+
+ <para>
+ The <guilabel>Inputs</guilabel> area has two buttons marked
+ <guibutton>add input</guibutton> and <guibutton>clear
+ connections</guibutton>. The <guibutton>add input</guibutton> button
+ adds an audio stream to the mixer strip.
+ </para>
+
+ <para>
+ In other words, if you currently have a two input channel, pressing
+ <guibutton>add input</guibutton> will make it a three input channel.
+ If you subsequently record on the corresponding track, each region
+ will comprise of three channels of audio taken from the inputs you
+ have set in the area below.
+ </para>
+
+ <para>
+ Pressing <guibutton>clear connections</guibutton> will remove all
+ connections you have assigned in the area below.
+ </para>
+
+ <para>
+ Speaking of "the area below", if you've used a template to create your
+ new session with, the input fields will aready be filled in with
+ default values that are determined by the number of channels your
+ hardware supports. It should be noted that by default, inputs are
+ initially set to hardware ports, as presumably you will be recording
+ from a hardware device initially. This doesn't indicate a preference
+ on Ardour's part, as software inputs are just as valid to Ardour as
+ hardware ones.
+ </para>
+
+ <para>
+ Anyway, in "the area below", notice that one input (probably labelled
+ <literal>in 1</literal>) is a lighter colour than the other. If you
+ only have one input at the moment, press <guibutton>add
+ input</guibutton> just to see the difference. You can remove an input
+ by holding the control key while right-clicking on the input name.
+ </para>
+
+ <para>
+ The lighter coloured input is the one that will be added to when an
+ output in the <guilabel>Available connections</guilabel> area is
+ clicked. If the wrong input is highlighted, you can highlight the
+ correct one by left-clicking the text of the input name you desire.
+ </para>
+
+ <para>
+ Note that you can "mux" as many inputs together as you like when doing
+ this, they just pile up on top of the last one. Be warned, though,
+ that they are all summed at unity gain. You can reach some fairly
+ astonishing levels by doing this a lot.
+ </para>
+
+ <para>
+ If you click an output from the <guilabel>Available
+ connections</guilabel> area, the connection is added to that input's
+ list, the connection is made active, and the next input is made a
+ lighter colour, indicating that it is ready to accept your selection.
+ This makes it a simple matter to assign many connections rapidly. The
+ transport does not have to be stopped to change inputs or outputs (or
+ anything, really) in Ardour.
+ </para>
+
+ <para>
+ Removing assignments is achieved by left-clicking the relevant output
+ in the <guilabel>inputs</guilabel> area. As with most objects in
+ Ardour, you can also remove an assignment by holding the shift key
+ while right-clicking it.
+ </para>
+
+ <para>
+ The Available connections area lists all available connections, sorted
+ into tabs which represent their associated hardware or software ports.
+ The front tab is always <literal>alsa_pcm</literal>. this represents
+ the physical ports on your computer. It should contain as many ports
+ as hour hardware has inputs.
+ </para>
+
+ <para>
+ The next tab is Ardour. This tab lists all the connections that Ardour
+ has available, including inserts and sends. If you have some other
+ Jack aware programs running, they will be given tabs in this area
+ which will correspond to their Jack output ports.
+ </para>
+
+ <para>
+ The <guibutton>rescan</guibutton> button searches for any new
+ available outputs. It may be necessary to use it if you have started a
+ Jack application after you open the window.
+ </para>
+
+ <para>
+ The <guibutton>Cancel</guibutton> button closes the window
+ <emphasis>XXX what really happens?</emphasis> , as does the
+ <guibutton>OK</guibutton> button.
+ </para>
+ </section>
+
+ <section id="ladspa-plugin-window">
+ <title>The LADSPA Plugin Window</title>
+ <para>
+ This window opens when you double-left-click or control right-click a
+ plugin on a mixer strip. It allows you to adjust, store and automate
+ the controls presented by any LADSPA plugin. Because LADSPA plugins do
+ not contain graphical interface information, this window adapts itself
+ to suit the various controls presented by the plugin. The advantage of
+ this system is that each plugin appears consistently within Ardour.
+ The disadvantage is that with a few plugins, the controls seem to be
+ laid out in a haphazard fashion. This is not usually the case,
+ however.
+ </para>
+
+ <para>
+ Each plugin window will have a <guibutton>bypass</guibutton> switch in
+ the top left. Whenever you add a plugin, it's initial state will be
+ bypass. The button will be red and appear depressed. To activate the
+ plugin, press the <guibutton>bypass</guibutton> button. you should
+ immediately hear the plugin inserted in the signal path. All plugins
+ that report their latency are automatically time compensated
+ sample-accurately.
+ </para>
+
+ <para>
+ To the left of the bypass switch you will see the name of the plugin,
+ the author and the number of inputs and outputs that the plugin makes
+ use of. To the right will be a text entry area, a list selector and a
+ <guibutton>Save</guibutton> button. To save a combination of settings,
+ press the <guibutton>Save</guibutton> button. A window will appear
+ asking for the name of the preset. Enter a name, press
+ <guibutton>OK</guibutton>, and your new preset will appear on the list
+ of saved settings.
+ </para>
+
+ <para>
+ To restore a saved preset, select it from the list. The settings
+ should immediately be restored as you release the mouse button.
+ </para>
+
+ <para>
+ The rest of the window consists of sliders and buttons which represent
+ the various controls available for the plugin. To move a slider, left
+ click it and slide the mouse horizontally over the range of the
+ control. You can see the numeric value and the bar change as you move
+ the mouse. You can also press the control key while moving for finer
+ adjustments.
+ </para>
+
+ <para>
+ Next to each control is an automation mode button. The default state
+ is <guimenuitem>off</guimenuitem>. To write automation information,
+ press the button and select <guimenuitem>write</guimenuitem> from the
+ drop-down list. After engaging the transport, movement of the control
+ will be recorded for playback when the <guimenuitem>play</guimenuitem>
+ automation mode is selected. <guimenuitem>Touch</guimenuitem> mode
+ automatically switches from <guimenuitem>play</guimenuitem> to
+ <guimenuitem>write</guimenuitem> as the control is first selected with
+ the mouse button and released, respectively. The automation data is
+ accessible from the editor window, along with the other automation
+ data for the track.
+ </para>
+ </section>
+
+ <section id="export-window">
+ <title>The Export Window</title>
+ <para>
+ The export window appears when either <guimenuitem>export session to
+ audiofile</guimenuitem> or <guimenuitem>export range to
+ audiofile</guimenuitem> have been selected from the session menu. This
+ window enables an audio file to be rendered from either the master bus
+ or individual tracks in freewheel mode. A large range of audio file
+ formats are supported, as is the ability to export a CUE or TOC file
+ representing any CD index or track markers you may have in the
+ session. Bit depth reduction can be performed with three types of
+ dither, or no dither.
+ </para>
+ </section>
+
+ <section id="crossfade-editor-window">
+ <title>The Crossfade Editor Window</title>
+ <para>
+ The crossfade editor will appear whenever you select <menuchoice>
+ <guimenu>crossfade</guimenu> <guisubmenu>edit</guisubmenu>
+ </menuchoice> from any active or inactive crossfade in the editor
+ window. This window allows you to customise the default crossfade that
+ is automatically applied when two regions overlap. Provision is made
+ for auditioning different elements of the crossfade, or the crossfade
+ as a whole.
+ </para>
+ </section>
+
+ <section id="locations-window">
+ <title>the Locations Window</title>
+ <para>
+ The locations window provides a means to locate to and define points
+ and ranges in your session. Points and ranges may also be 'promoted'
+ to be CD Index or CD Track markers, respectively. Once promoted, they
+ may be exported to a standard T.O.C. or CUE file along with the
+ exported audio using the export window. The locations window will
+ appear when <menuchoice> <guimenu>windows</guimenu>
+ <guisubmenu>locations</guisubmenu> </menuchoice> is selected from the
+ editor window.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/plugins.xml b/manual/xml/plugins.xml
index 5cc1212bcb..033217e41b 100644
--- a/manual/xml/plugins.xml
+++ b/manual/xml/plugins.xml
@@ -5,59 +5,54 @@
]>
<section id="sn-plugins">
- <title>Using Plugins</title>
- <para>
- Using Plugins in ardour is easy and fun!
- </para>
-
- <para>
- Fortunately for us, there's <ulink url="http://ladspa.org">LADSPA!!</ulink>
- Ladspa stands for <emphasis>L</emphasis>inux <emphasis>A</emphasis>udio
- <emphasis>D</emphasis>evelopers <emphasis>S</emphasis>imple
- <emphasis>P</emphasis>lugin <emphasis>A</emphasis> PI, and there is a great
- suite of Free plugins maintained by Steve Harris at
- <ulink url="http://plugin.org.uk">plugin.org.uk</ulink>.
- </para>
-
- <para>
- Once you have the plugins installed, restart Ardour (don't forget to save!)
- and open up the mixer window. See the black rectangle about 3/4 of the way
- down the mixer strip? That's the sends list. Think of a mixer strip as a
- signal path. Follow the signal as it flows from the top down through inputs,
- varispeed settings, volume controls, plugins and sends, pan control and then
- output. Right-click on the empty sends list and select <guimenuitem>New
- Plugin</guimenuitem> from the popup menu.
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/pluginmenu.jpg"/>
- </imageobject>
- </mediaobject>
-
- <para>
- You'll be presented with a list of available LADSPA plugins. experiment and
- choose the one that's right for you. I really like the VyNil effect. It
- creates an old worn out vynil record sound.
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/ladspa.jpg"/>
- </imageobject>
- </mediaobject>
-
- <para>
- In the screenshot below, you will find a bouquet of various LADSPA plugins.
- aaahhh... le mot juste...
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/plugins.jpg"/>
- </imageobject>
- </mediaobject>
-
+ <title>Using Plugins</title>
+ <para>
+ Using Plugins in ardour is easy and fun!
+ </para>
+
+ <para>
+ Fortunately for us, there's
+ <ulink url="http://ladspa.org">LADSPA!!</ulink> Ladspa stands for
+ <emphasis>L</emphasis>inux <emphasis>A</emphasis>udio
+ <emphasis>D</emphasis>evelopers <emphasis>S</emphasis>imple
+ <emphasis>P</emphasis>lugin <emphasis>A</emphasis> PI, and there is a
+ great suite of Free plugins maintained by Steve Harris at
+ <ulink url="http://plugin.org.uk">plugin.org.uk</ulink>.
+ </para>
+
+ <para>
+ Once you have the plugins installed, restart Ardour (don't forget to
+ save!) and open up the mixer window. See the black rectangle about 3/4
+ of the way down the mixer strip? That's the sends list. Think of a mixer
+ strip as a signal path. Follow the signal as it flows from the top down
+ through inputs, varispeed settings, volume controls, plugins and sends,
+ pan control and then output. Right-click on the empty sends list and
+ select <guimenuitem>New Plugin</guimenuitem> from the popup menu.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/pluginmenu.jpg"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ You'll be presented with a list of available LADSPA plugins. experiment
+ and choose the one that's right for you. I really like the VyNil effect.
+ It creates an old worn out vynil record sound.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/ladspa.jpg"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ In the screenshot below, you will find a bouquet of various LADSPA
+ plugins. aaahhh... le mot juste...
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/plugins.jpg"/>
+ </imageobject>
+ </mediaobject>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/preface.xml b/manual/xml/preface.xml
index a780e95060..ce364faeeb 100644
--- a/manual/xml/preface.xml
+++ b/manual/xml/preface.xml
@@ -1,20 +1,16 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
-<preface id="sn-preface">
-
- <title>Preface</title>
-
- <!--
+<preface id="sn-preface"><title>Preface</title>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="formatting_conventions.xml" />
- -->
-
- <!--
+ -->
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</preface>
diff --git a/manual/xml/recording.xml b/manual/xml/recording.xml
index 2b56bdf40a..6b3feb6112 100644
--- a/manual/xml/recording.xml
+++ b/manual/xml/recording.xml
@@ -5,15 +5,15 @@
]>
<chapter id="ch-recording">
- <title>Recording</title>
- <para>
- This section covers the main points of recording audio into an Ardour
- session.
- </para>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <title>Recording</title>
+ <para>
+ This section covers the main points of recording audio into an Ardour
+ session.
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="basic_recording.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="monitoring.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="setting_up_to_record.xml" />
</chapter>
diff --git a/manual/xml/renaming_tracks.xml b/manual/xml/renaming_tracks.xml
index 8004e19193..22aa34e72b 100644
--- a/manual/xml/renaming_tracks.xml
+++ b/manual/xml/renaming_tracks.xml
@@ -1,19 +1,59 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
-<section id="sn-renaming-tracks">
-
- <title>Renaming Tracks</title>
-
- <para>
- In the editor or mixer, the track name. - In the New Track Name dialog, type a new track name.
- </para>
+<section id="renaming-tracks">
+ <title>Renaming Tracks</title>
+ <para>
+ Tracks can be renamed from within the
+ <link linkend="sn-editor-window">Editor Window</link> or the
+ <link linkend="sn-mixer-window">Mixer Window</link>.
+ </para>
- <!--
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="Some_Subsection.xml" />
- -->
+ <para>
+ To change the name of a track in the Editor Window click within the
+ track name field in the <link linkend="track-controls">Track
+ Controls</link>, enter the new track name and press the
+ <keycap>Enter</keycap> key to confirm the change.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/track_name_field.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ If you decide not to rename a track after already changing the content
+ of the track name field but before confirming the change pressing the
+ <keycap>ESC</keycap> key will restore the original track name.
+ </para>
+ <tip>
+ <para>
+ Several tracks can be renamed quickly in sequence by using the
+ <keycap>Tab</keycap> key to move the focus between the track name
+ fields.
+ </para>
+ </tip>
+ <para>
+ To change the name of a track in Mixer Window click on the track name
+ button and choose <guimenuitem>Rename</guimenuitem> from the pop-up
+ menu.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/mixer_strip_name_button_popup.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ A dialog will then appear allowing you to rename the track, input the
+ new name and press <keycap>Enter</keycap> or click
+ <guimenuitem>Rename</guimenuitem> to confirm the name change.
+ </para>
+ <warning>
+ <para>
+ Changes to track names cannot be undone.
+ </para>
+ </warning>
</section>
diff --git a/manual/xml/saving_a_session.xml b/manual/xml/saving_a_session.xml
index 3fcd84a5b3..b430a90256 100644
--- a/manual/xml/saving_a_session.xml
+++ b/manual/xml/saving_a_session.xml
@@ -1,41 +1,32 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-saving-a-session">
+ <title>Saving a Session</title>
+ <para>
+ Ardour will save your session every time you add a new track/bus, and
+ after every capture. Saving regularly at other times will help ensure
+ that your work is preserved on your disk drive.
+ </para>
- <title>Saving a Session</title>
-
- <para>
- Ardour will save your session every time you add a new track/bus,
- and after every capture. Saving regularly at other times will help
- ensure that your work is preserved on your disk drive.
- </para>
+ <section id="save-the-session-file">
+ <title>Save the Session File</title>
+ <para>
+ Choose <menuchoice> <guimenu>Session</guimenu>
+ <guisubmenu>Save</guisubmenu> </menuchoice> to save the changes that
+ have been made to the session.
+ </para>
- <section id="save-the-session-file">
-
- <title>Save the Session File</title>
-
- <para>
- Choose
- <menuchoice>
- <guimenu>Session</guimenu>
- <guisubmenu>Save</guisubmenu>
- </menuchoice>
- to save the changes that have been made to the session.
- </para>
-
- <warning>
- <para>
- Saving a session writes a new session in place of the old one, and it
- cannot be undone.
- </para>
- </warning>
-
- </section>
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <warning>
+ <para>
+ Saving a session writes a new session in place of the old one, and
+ it cannot be undone.
+ </para>
+ </warning>
+ </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="snapshots.xml" />
-
</section>
diff --git a/manual/xml/sessions.xml b/manual/xml/sessions.xml
index 2205a284f9..3b8f0432c1 100644
--- a/manual/xml/sessions.xml
+++ b/manual/xml/sessions.xml
@@ -1,42 +1,27 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-sessions">
-
- <title>Sessions</title>
-
- <para>
- This chapter covers the basics of starting a new project with Ardour,
- including how to set up a session.
- </para>
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <title>Sessions</title>
+ <para>
+ This chapter covers the basics of starting a new project with Ardour,
+ including how to set up a session.
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="starting_up_your_system.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="creating_a_new_session.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="adding_tracks.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
- href="renaming_tracks.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="opening_a_session.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="saving_a_session.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="templates.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="closing_a_session.xml" />
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="cleaning_up_a_session.xml" />
-
</section>
diff --git a/manual/xml/setting_up_to_record.xml b/manual/xml/setting_up_to_record.xml
index bde52fd06a..88b94bd816 100644
--- a/manual/xml/setting_up_to_record.xml
+++ b/manual/xml/setting_up_to_record.xml
@@ -5,225 +5,229 @@
]>
<section id="sn-setting-up-to-record">
- <title>Setting Up To Record</title>
- <para>
- This page needs massive work
- </para>
-
- <para>
- It is very important that you check your system is connected and configured
- correctly before attempting to record. See Hardware Installation for more
- information on this topic.
- </para>
-
- <section id="setup-connections">
- <title>Connections</title>
- <para></para>
- </section>
-
- <section id="setup-levels">
- <title>Levels</title>
- <para></para>
- </section>
-
- <section id="setup-clipping">
- <title>Clipping</title>
- <para></para>
- </section>
-
- <section id="record-enabling-tracks">
- <title>Record Enabling Tracks</title>
- <para></para>
- </section>
-
- <section id="setup-monitoring">
- <title>Monitoring</title>
- <para></para>
- </section>
-
- <section id="setup-hardware-monitoring">
- <title>Hardware Monitoring</title>
- <para></para>
- </section>
-
- <section id="setup-software-monitoring">
- <title>Software Monitoring</title>
- <para></para>
- </section>
-
- <section id="setup-latency">
- <title>Latency</title>
- <para></para>
- </section>
-
- <section id="setup-external-monitoring">
- <title>External Monitoring</title>
- <para></para>
- </section>
-
- <section id="setup-auto-input">
- <title>Auto-Input</title>
- <para></para>
- </section>
-
- <section id="setup-track-naming">
- <title>Track Naming</title>
- <para></para>
- </section>
-
- <section id="setup-default-names">
- <title>Default names</title>
- <para></para>
- </section>
-
- <section id="disk-allocation">
- <title> Disk Allocation </title>
- <para>
- It is of course possible to use Ardour on a single-disk system, but you are
- more likely to have performance problems this way.
- </para>
-
- <para>
- If you have more than one disk available, we highly recommend using one
- "system" disk and one or more "audio" disks.
- </para>
-
- <section id="using-the-system-disk">
- <title>Using the system disk </title>
- <para>
- The "system" disk is the main disk on which your operating system and
- (usually) all your installed software reside.
- </para>
-
- <para>
- If you have any other disks available, it is usually
- <emphasis>not</emphasis>
- advisable to put your Ardour session and all its soundfiles on the main
- system disk. The reason is that this disk may be used at any time by the
- OS or other programs and, if Ardour is trying to play a large amount of
- disk data at that moment, in the worst case this can cause Ardour's
- playback to stop completely. (insert screenshot of error dialog here)
- </para>
-
- <para>
- Even so, if you have only two disks (the system disk and your audio disk),
- it is possible that a large session will reach the performance limits of a
- single dedicated audio disk. In this case, it may be better to put some
- audio data on the system disk as described in the Soft RAID section below.
- </para>
- </section>
-
- <section id="using-multiple-disks">
- <title> Using Multiple Disks </title>
- <section id="hardware-raid">
- <title>Hardware RAID</title>
- <para>
- You can of course use a normal RAID disk array to spread data across
- multiple disks. This is beyond the scope of this manual.
- </para>
- </section>
-
- <section id="soft-raid-path">
- <title>Ardour's "Soft" RAID Path</title>
- <para>
- It is possible to spread the resources for your Ardour session across
- multiple disks. This can increase the number of tracks or regions you can
- work with at once.
- </para>
-
- <para>
- There is no reason to do this if your computer has only one disk.
- </para>
-
- <para>
- To use the "soft RAID" feature, manually create a new directory on
- another disk. Open the Options Editor window. Click on the Paths/Files
- tab. In the "session RAID path" text box, you will see that the default
- value is the path to the directory where your current session lives. But
- this Session RAID Path can actually be a colon-separated list of
- directories. To add your new directory to this list, type a single colon
- after the existing Session RAID Path, followed by the full path to the
- new directory. Ardour will now record new tracks to either directory.
- (question: how does ardour decide which files go where?)
- </para>
-
- <para>
- You can squeeze some more disk performance out of an existing session by
- following the above procedure, then manually moving some files from the
- <code>sounds/</code>
- subdirectory of the existing session into a
- <code>sounds/</code>
- subdirectory of your new directory. Be very careful when doing this! If
- you accidentally delete these sound files, Ardour cannot magically fix it
- for you.
- </para>
-
- <note>
- <para>
- If you use the "soft" RAID feature described above, take care to
- remember this when making and restoring session backups! You will not be
- happy if you forget to back up one of your data directories; and
- restoring a backup won't work if you don't make sure that the "Session
- RAID Path" setting corresponds to the directories where you actually put
- the restored files.
- </para>
- </note>
- </section>
- </section>
- </section>
-
- <section id="recording-modes">
- <title> Recording modes </title>
- <section id="destructive-recording">
- <title> destructive recording </title>
- <para>
- When creating tracks, there are 2 different options: Normal tracks and
- Tape tracks. Tape tracks implement a "destructive" style of recording that
- is useful when you will be making multiple recordings to the same track,
- and you don't want to keep a separate "region" on disk for each take.
- There is no undo function (yet) and there is no way to edit a tape track
- (yet). So what is this good for? Well, consider the case where you are
- doing a final mixdown of a project. You could record-enable two Tape
- tracks, and send the master bus output to these tracks. Every time you
- play through a section of the project, the resulting mix will be recorded
- onto the continuous tape track. Once you reach the end of the project, you
- can send the resultant wav file directly to the next production step.
- There is no "rendering" step required. The utility of this increases when
- you are using an outboard, automated mixer. This type of recording is very
- common on a film dubbing stage.
- </para>
- </section>
- </section>
-
- <section id="setup-loop-recording">
- <title>loop recording</title>
- <para></para>
- </section>
-
- <section id="setup-punch-recording">
- <title>Punch Recording</title>
- <para></para>
- </section>
-
- <section id="recording-with-a-click-track">
- <title>Recording with a Click track</title>
- <para></para>
- </section>
-
- <section id="the-click-track">
- <title>The Click Track</title>
- <para>
- Enabling the click Routing the click Specifying click sounds Default Meter
- Default Tempo
- </para>
- </section>
-
- <section id="tempo">
- <title>Tempo</title>
- <para>
- manual tempo tap tempo
- </para>
- </section>
+ <title>Setting Up To Record</title>
+ <para>
+ This page needs massive work
+ </para>
+
+ <para>
+ It is very important that you check your system is connected and
+ configured correctly before attempting to record. See Hardware
+ Installation for more information on this topic.
+ </para>
+
+ <section id="setup-connections">
+ <title>Connections</title>
+ <para></para>
+ </section>
+
+ <section id="setup-levels">
+ <title>Levels</title>
+ <para></para>
+ </section>
+
+ <section id="setup-clipping">
+ <title>Clipping</title>
+ <para></para>
+ </section>
+
+ <section id="record-enabling-tracks">
+ <title>Record Enabling Tracks</title>
+ <para></para>
+ </section>
+
+ <section id="setup-monitoring">
+ <title>Monitoring</title>
+ <para></para>
+ </section>
+
+ <section id="setup-hardware-monitoring">
+ <title>Hardware Monitoring</title>
+ <para></para>
+ </section>
+
+ <section id="setup-software-monitoring">
+ <title>Software Monitoring</title>
+ <para></para>
+ </section>
+
+ <section id="setup-latency">
+ <title>Latency</title>
+ <para></para>
+ </section>
+
+ <section id="setup-external-monitoring">
+ <title>External Monitoring</title>
+ <para></para>
+ </section>
+
+ <section id="setup-auto-input">
+ <title>Auto-Input</title>
+ <para></para>
+ </section>
+
+ <section id="setup-track-naming">
+ <title>Track Naming</title>
+ <para></para>
+ </section>
+
+ <section id="setup-default-names">
+ <title>Default names</title>
+ <para></para>
+ </section>
+
+ <section id="disk-allocation">
+ <title> Disk Allocation </title>
+ <para>
+ It is of course possible to use Ardour on a single-disk system, but
+ you are more likely to have performance problems this way.
+ </para>
+
+ <para>
+ If you have more than one disk available, we highly recommend using
+ one "system" disk and one or more "audio" disks.
+ </para>
+
+ <section id="using-the-system-disk">
+ <title>Using the system disk </title>
+ <para>
+ The "system" disk is the main disk on which your operating system
+ and (usually) all your installed software reside.
+ </para>
+
+ <para>
+ If you have any other disks available, it is usually
+ <emphasis>not</emphasis> advisable to put your Ardour session and
+ all its soundfiles on the main system disk. The reason is that this
+ disk may be used at any time by the OS or other programs and, if
+ Ardour is trying to play a large amount of disk data at that moment,
+ in the worst case this can cause Ardour's playback to stop
+ completely. (insert screenshot of error dialog here)
+ </para>
+
+ <para>
+ Even so, if you have only two disks (the system disk and your audio
+ disk), it is possible that a large session will reach the
+ performance limits of a single dedicated audio disk. In this case,
+ it may be better to put some audio data on the system disk as
+ described in the Soft RAID section below.
+ </para>
+ </section>
+
+ <section id="using-multiple-disks">
+ <title> Using Multiple Disks </title>
+ <section id="hardware-raid">
+ <title>Hardware RAID</title>
+ <para>
+ You can of course use a normal RAID disk array to spread data
+ across multiple disks. This is beyond the scope of this manual.
+ </para>
+ </section>
+
+ <section id="soft-raid-path">
+ <title>Ardour's "Soft" RAID Path</title>
+ <para>
+ It is possible to spread the resources for your Ardour session
+ across multiple disks. This can increase the number of tracks or
+ regions you can work with at once.
+ </para>
+
+ <para>
+ There is no reason to do this if your computer has only one disk.
+ </para>
+
+ <para>
+ To use the "soft RAID" feature, manually create a new directory on
+ another disk. Open the Options Editor window. Click on the
+ Paths/Files tab. In the "session RAID path" text box, you will see
+ that the default value is the path to the directory where your
+ current session lives. But this Session RAID Path can actually be
+ a colon-separated list of directories. To add your new directory
+ to this list, type a single colon after the existing Session RAID
+ Path, followed by the full path to the new directory. Ardour will
+ now record new tracks to either directory. (question: how does
+ ardour decide which files go where?)
+ </para>
+
+ <para>
+ You can squeeze some more disk performance out of an existing
+ session by following the above procedure, then manually moving
+ some files from the
+ <code>sounds/</code>
+ subdirectory of the existing session into a
+ <code>sounds/</code>
+ subdirectory of your new directory. Be very careful when doing
+ this! If you accidentally delete these sound files, Ardour cannot
+ magically fix it for you.
+ </para>
+
+ <note>
+ <para>
+ If you use the "soft" RAID feature described above, take care to
+ remember this when making and restoring session backups! You
+ will not be happy if you forget to back up one of your data
+ directories; and restoring a backup won't work if you don't make
+ sure that the "Session RAID Path" setting corresponds to the
+ directories where you actually put the restored files.
+ </para>
+ </note>
+ </section>
+ </section>
+ </section>
+
+ <section id="recording-modes">
+ <title> Recording modes </title>
+ <section id="destructive-recording">
+ <title> destructive recording </title>
+ <para>
+ When creating tracks, there are 2 different options: Normal tracks
+ and Tape tracks. Tape tracks implement a "destructive" style of
+ recording that is useful when you will be making multiple recordings
+ to the same track, and you don't want to keep a separate "region" on
+ disk for each take. There is no undo function (yet) and there is no
+ way to edit a tape track (yet). So what is this good for? Well,
+ consider the case where you are doing a final mixdown of a project.
+ You could record-enable two Tape tracks, and send the master bus
+ output to these tracks. Every time you play through a section of the
+ project, the resulting mix will be recorded onto the continuous tape
+ track. Once you reach the end of the project, you can send the
+ resultant wav file directly to the next production step. There is no
+ "rendering" step required. The utility of this increases when you
+ are using an outboard, automated mixer. This type of recording is
+ very common on a film dubbing stage.
+ </para>
+ </section>
+ </section>
+
+ <section id="setup-loop-recording">
+ <title>loop recording</title>
+ <para></para>
+ </section>
+
+ <section id="setup-punch-recording">
+ <title>Punch Recording</title>
+ <para></para>
+ </section>
+
+ <section id="recording-with-a-click-track">
+ <title>Recording with a Click track</title>
+ <para></para>
+ </section>
+
+ <section id="the-click-track">
+ <title>The Click Track</title>
+ <para>
+ Enabling the click Routing the click Specifying click sounds Default
+ Meter Default Tempo
+ </para>
+ </section>
+
+ <section id="tempo">
+ <title>Tempo</title>
+ <para>
+ manual tempo tap tempo
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/snapshots.xml b/manual/xml/snapshots.xml
index 65ef5bcd42..dcb3d38b61 100644
--- a/manual/xml/snapshots.xml
+++ b/manual/xml/snapshots.xml
@@ -5,18 +5,18 @@
]>
<section id="sn-snapshots">
- <title>Snapshots</title>
- <para>
- Choose <menuchoice> <guimenu>Session</guimenu>
- <guisubmenu>Snapshot</guisubmenu> </menuchoice> to store the current state
- of the session without overwriting the primary session file. The snapshot
- dialog will appear, and you can (optionally) enter a name for the snapshot.
- The default name is based on the current time.
- </para>
+ <title>Snapshots</title>
+ <para>
+ Choose <menuchoice> <guimenu>Session</guimenu>
+ <guisubmenu>Snapshot</guisubmenu> </menuchoice> to store the current
+ state of the session without overwriting the primary session file. The
+ snapshot dialog will appear, and you can (optionally) enter a name for
+ the snapshot. The default name is based on the current time.
+ </para>
- <para>
- IMAGE
- </para>
+ <para>
+ IMAGE
+ </para>
<!--
<mediaobject>
<imageobject>
@@ -24,19 +24,19 @@
</imageobject>
</mediaobject>
-->
- <para>
- A snapshot is nothing more than a new session file. It still references the
- same audio and automation data as the primary session file.
- </para>
+ <para>
+ A snapshot is nothing more than a new session file. It still references
+ the same audio and automation data as the primary session file.
+ </para>
- <note>
- <para>
- Saving a snapshot does not change the status of the current session. It
- does not change what will happen when you choose <menuchoice>
- <guimenu>Session</guimenu> <guisubmenu>Save</guisubmenu> </menuchoice> at a
- later time. Note that a snapshot is not a new session.
- </para>
- </note>
+ <note>
+ <para>
+ Saving a snapshot does not change the status of the current session.
+ It does not change what will happen when you choose <menuchoice>
+ <guimenu>Session</guimenu> <guisubmenu>Save</guisubmenu> </menuchoice>
+ at a later time. Note that a snapshot is not a new session.
+ </para>
+ </note>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/starting_up_your_system.xml b/manual/xml/starting_up_your_system.xml
index 619ef2cdbb..684edb20b8 100644
--- a/manual/xml/starting_up_your_system.xml
+++ b/manual/xml/starting_up_your_system.xml
@@ -1,17 +1,14 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-starting-up-your-system">
-
- <title>Starting up your system</title>
-
- <para>
- In order for Ardour to be able to do anything at all, you need JACK
- to be running. See
- <xref linkend="sn-configuring-jack"/>
- for more details on how to start and configure JACK.
- </para>
-
+ <title>Starting up your system</title>
+ <para>
+ In order for Ardour to be able to do anything at all, you need JACK to
+ be running. See <xref linkend="sn-configuring-jack"/> for more details
+ on how to start and configure JACK.
+ </para>
</section>
diff --git a/manual/xml/synchronization.xml b/manual/xml/synchronization.xml
index aaf1bcb2f3..5c626feba8 100644
--- a/manual/xml/synchronization.xml
+++ b/manual/xml/synchronization.xml
@@ -5,14 +5,13 @@
]>
<chapter id="ch-synchronization">
- <title>Synchronization</title>
- <para>
- This section covers techniques and strategies for running Ardour in sync
- with other hardware and software.
- </para>
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <title>Synchronization</title>
+ <para>
+ This section covers techniques and strategies for running Ardour in sync
+ with other hardware and software.
+ </para>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="synchronization_concepts.xml" />
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="video_synchronization_via_mtc.xml" />
</chapter>
diff --git a/manual/xml/synchronization_concepts.xml b/manual/xml/synchronization_concepts.xml
index 765bb69fe5..0947baf340 100644
--- a/manual/xml/synchronization_concepts.xml
+++ b/manual/xml/synchronization_concepts.xml
@@ -5,158 +5,164 @@
]>
<section id="sn-synchronization_concepts">
- <title>Synchronization Concepts</title>
- <para>
- As soon as you start handling audio on more than one device, it is important
- to understand and to think about
- <emphasis>synchronization</emphasis>
- : how to get the devices to have the same sense of time and speed.
- </para>
+ <title>Synchronization Concepts</title>
+ <para>
+ As soon as you start handling audio on more than one device, it is
+ important to understand and to think about
+ <emphasis>synchronization</emphasis> : how to get the devices to have
+ the same sense of time and speed.
+ </para>
- <para>
- However, there are two fundamentally different kinds of synchronization:
- </para>
+ <para>
+ However, there are two fundamentally different kinds of synchronization:
+ </para>
- <section id="sample-clock">
- <title>Sample Clock</title>
- <para>
- As outlined in the <emphasis>introductory concepts</emphasis> section,
- digital audio is created by taking a "sample" of an analog signal level on
- a periodic basis, say 48000 times per seconds (the "sample rate"). A
- dedicated clock (the "sample clock") ((actually, an oscillating crystal,
- but technology people call such things clocks)) "ticks" at that rate, and
- every time it does, a new sample is measured. The way the clock is used to
- convert digital audio back to an analog signal (i.e. to be sent to some
- loudspeakers) is more complex, but the clock is still an absolutely
- fundamental part of the mechanism.
- </para>
+ <section id="sample-clock">
+ <title>Sample Clock</title>
+ <para>
+ As outlined in the <emphasis>introductory concepts</emphasis> section,
+ digital audio is created by taking a "sample" of an analog signal
+ level on a periodic basis, say 48000 times per seconds (the "sample
+ rate"). A dedicated clock (the "sample clock") ((actually, an
+ oscillating crystal, but technology people call such things clocks))
+ "ticks" at that rate, and every time it does, a new sample is
+ measured. The way the clock is used to convert digital audio back to
+ an analog signal (i.e. to be sent to some loudspeakers) is more
+ complex, but the clock is still an absolutely fundamental part of the
+ mechanism.
+ </para>
- <para>
- Whenever you connect two digital audio devices together in order to move
- audio data from one to the other, you <emphasis>must ensure they share the
- same sample clock</emphasis> . Why is this necessary? The oscillating
- crystals used for the sample clock are generally very stable (they always
- tick at the same speed), but there are always minute differences in the
- speed that any two clocks tick at. When used by themselves, this makes no
- difference, but connect two digital audio devices together and these minute
- differences will eventually accumulate over time. Eventually, one of the
- devices will be trying to read a sample "in the middle" of the other
- device's tick, and the result is a small click or pop in the audio stream.
- </para>
- </section>
+ <para>
+ Whenever you connect two digital audio devices together in order to
+ move audio data from one to the other, you <emphasis>must ensure they
+ share the same sample clock</emphasis> . Why is this necessary? The
+ oscillating crystals used for the sample clock are generally very
+ stable (they always tick at the same speed), but there are always
+ minute differences in the speed that any two clocks tick at. When used
+ by themselves, this makes no difference, but connect two digital audio
+ devices together and these minute differences will eventually
+ accumulate over time. Eventually, one of the devices will be trying to
+ read a sample "in the middle" of the other device's tick, and the
+ result is a small click or pop in the audio stream.
+ </para>
+ </section>
- <section id="timeline-sync">
- <title>Timeline Sync</title>
- <para>
- The concept of a timeline comes up over and over again when working with a
- digital audio workstation, and also with video editing systems. By
- "timeline" we mean nothing more than some way to define a "name" for the
- point where certain sounds (and/or visual images) occur. When you work in
- Ardour's editor window, the rulers near the top provide one or more
- timelines in different units. You can look at the editor window and say
- "this sound starts at 1 minute 32 seconds" or "this tracks fades out
- starting at bar 13 beat 22".
- </para>
+ <section id="timeline-sync">
+ <title>Timeline Sync</title>
+ <para>
+ The concept of a timeline comes up over and over again when working
+ with a digital audio workstation, and also with video editing systems.
+ By "timeline" we mean nothing more than some way to define a "name"
+ for the point where certain sounds (and/or visual images) occur. When
+ you work in Ardour's editor window, the rulers near the top provide
+ one or more timelines in different units. You can look at the editor
+ window and say "this sound starts at 1 minute 32 seconds" or "this
+ tracks fades out starting at bar 13 beat 22".
+ </para>
- <para>
- But what happens when you want to share a timeline between two different
- devices? For example, you may want to run a hardware video editor in
- conjunction with ardour, and always have the visual and audio playback be
- at the same point "in time". How do they each know what "in time" means?
- How do they know where the other one is? A mechanism for answering these
- questions provides <emphasis>timeline synchronization</emphasis> .
- </para>
+ <para>
+ But what happens when you want to share a timeline between two
+ different devices? For example, you may want to run a hardware video
+ editor in conjunction with ardour, and always have the visual and
+ audio playback be at the same point "in time". How do they each know
+ what "in time" means? How do they know where the other one is? A
+ mechanism for answering these questions provides <emphasis>timeline
+ synchronization</emphasis> .
+ </para>
- <para>
- Timeline synchronization is entirely different from sample clock
- synchronization. Two devices can share a sample clock, but never use
- timeline information. Two devices can be sharing timeline information, but
- run on different sample clocks - they might not even have sample clocks if
- they are analog devices.
- </para>
- </section>
+ <para>
+ Timeline synchronization is entirely different from sample clock
+ synchronization. Two devices can share a sample clock, but never use
+ timeline information. Two devices can be sharing timeline information,
+ but run on different sample clocks - they might not even have sample
+ clocks if they are analog devices.
+ </para>
+ </section>
- <section id="word-clock">
- <title>Word Clock</title>
- <para>
- "Word Clock" is the name given to a signal used
- to distribute the "ticks" of a sample clock to multiple devices. Most
- digital audio devices that are intended for professional use have a word
- clock connector and a way to tell the device to use either its internal
- sample clock (for standalone use), or to use the word clock signal as the
- sample clock. Because of the electrical characteristics of the signal, it is
- very important that any length of cable used to distribute word clock is
- "terminated" with a 75 ohm resistor at both ends. Unfortunately, some
- devices include this terminator themselves, some contain a switchable
- resistor and some do not. Worse still, the user manuals for many devices do
- not provide any information on their termination configuration. It is often
- necessary to ask the manufacturer in cases where it is not made very obvious
- from marking near the word clock connectors on the device.
- </para>
- </section>
+ <section id="word-clock">
+ <title>Word Clock</title>
+ <para>
+ "Word Clock" is the name given to a signal used to distribute the
+ "ticks" of a sample clock to multiple devices. Most digital audio
+ devices that are intended for professional use have a word clock
+ connector and a way to tell the device to use either its internal
+ sample clock (for standalone use), or to use the word clock signal as
+ the sample clock. Because of the electrical characteristics of the
+ signal, it is very important that any length of cable used to
+ distribute word clock is "terminated" with a 75 ohm resistor at both
+ ends. Unfortunately, some devices include this terminator themselves,
+ some contain a switchable resistor and some do not. Worse still, the
+ user manuals for many devices do not provide any information on their
+ termination configuration. It is often necessary to ask the
+ manufacturer in cases where it is not made very obvious from marking
+ near the word clock connectors on the device.
+ </para>
+ </section>
- <section id="timecode">
- <title>Timecode</title>
- <para>
- "Timecode" is a signal that contains positional or "timeline" information.
- There are several different kinds of timecode signal, but by far the most
- important is known as SMPTE. Its name is an acronym for the Society for
- Motion Picture T?? Engineering, and timecode is just one of the standards
- they defined, but its the most well known. Because of its origins in the
- film/video world, SMPTE is very centered on the time units that matter to
- film/video editors. The base unit is called a "frame" and corresponds to a
- single still image in a film or video. There are typically on the order of
- 20-30 frames per second, so the actual resolution of SMPTE timecode is not
- very good compared to audio-based units where there are tens of thousands
- of "frames" per second.
- </para>
- </section>
+ <section id="timecode">
+ <title>Timecode</title>
+ <para>
+ "Timecode" is a signal that contains positional or "timeline"
+ information. There are several different kinds of timecode signal, but
+ by far the most important is known as SMPTE. Its name is an acronym
+ for the Society for Motion Picture T?? Engineering, and timecode is
+ just one of the standards they defined, but its the most well known.
+ Because of its origins in the film/video world, SMPTE is very centered
+ on the time units that matter to film/video editors. The base unit is
+ called a "frame" and corresponds to a single still image in a film or
+ video. There are typically on the order of 20-30 frames per second, so
+ the actual resolution of SMPTE timecode is not very good compared to
+ audio-based units where there are tens of thousands of "frames" per
+ second.
+ </para>
+ </section>
- <section id="SMPTE">
- <title>SMPTE</title>
- <para>
- SMPTE defines time using a combinations of hours, minutes, seconds, frames
- and subframes, combined with the frame rate. In a film/video environment,
- SMPTE is typically stored on the film/video media, and sent from the device
- used to play it. There are different ways of storing it on the media - you
- may come across terms like LTR and VTC - but the crucial idea to grasp is
- that the film/video has a timecode signal "stamped" into it, so that it is
- always possible to determine "what time it is" when any given image is
- visible.
- </para>
+ <section id="SMPTE">
+ <title>SMPTE</title>
+ <para>
+ SMPTE defines time using a combinations of hours, minutes, seconds,
+ frames and subframes, combined with the frame rate. In a film/video
+ environment, SMPTE is typically stored on the film/video media, and
+ sent from the device used to play it. There are different ways of
+ storing it on the media - you may come across terms like LTR and VTC -
+ but the crucial idea to grasp is that the film/video has a timecode
+ signal "stamped" into it, so that it is always possible to determine
+ "what time it is" when any given image is visible.
+ </para>
- <para>
- SMPTE timecode is sent from one system to another as an analog audio
- signal. You could listen to it if you wanted to, though it sounds like a
- generally screeching and unpleasant noise. What the SMPTE standard defines
- is a way to encode and decode the hrs:mins:secs:frames:subframes time into
- or from this audio signal.
- </para>
- </section>
+ <para>
+ SMPTE timecode is sent from one system to another as an analog audio
+ signal. You could listen to it if you wanted to, though it sounds like
+ a generally screeching and unpleasant noise. What the SMPTE standard
+ defines is a way to encode and decode the
+ hrs:mins:secs:frames:subframes time into or from this audio signal.
+ </para>
+ </section>
- <section id="mtc">
- <title>MTC</title>
- <para>
- The other very common form of timecode is known as "MTC" (MIDI Time Code).
- However, MTC is actually nothing more than a different way to transmit
- SMPTE timecode. It uses the exact same units as SMPTE timecode, but rather
- than send the signal as audio MTC defines a transmission method that uses a
- MIDI cabable and a data protocol. MTC consumes a measurable, but small,
- percentage of the available bandwidth on a MIDI cable (on the order of
- 2-3%). Most of the time, it is wise to use a single cable for MTC and MMC
- (MIDI Machine Control) and not share it with "musical" MIDI data (the kind
- that an instrument would send while being played).
- </para>
- </section>
+ <section id="mtc">
+ <title>MTC</title>
+ <para>
+ The other very common form of timecode is known as "MTC" (MIDI Time
+ Code). However, MTC is actually nothing more than a different way to
+ transmit SMPTE timecode. It uses the exact same units as SMPTE
+ timecode, but rather than send the signal as audio MTC defines a
+ transmission method that uses a MIDI cabable and a data protocol. MTC
+ consumes a measurable, but small, percentage of the available
+ bandwidth on a MIDI cable (on the order of 2-3%). Most of the time, it
+ is wise to use a single cable for MTC and MMC (MIDI Machine Control)
+ and not share it with "musical" MIDI data (the kind that an instrument
+ would send while being played).
+ </para>
+ </section>
- <section id="jack-transport">
- <title>JACK Transport</title>
- <para>
- For Ardour and other programs that use <emphasis>JACK</emphasis>, there is
- another method of doing timeline synchronization that is not based on SMPTE
- or MTC.
- </para>
- </section>
+ <section id="jack-transport">
+ <title>JACK Transport</title>
+ <para>
+ For Ardour and other programs that use <emphasis>JACK</emphasis>,
+ there is another method of doing timeline synchronization that is not
+ based on SMPTE or MTC.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/templates.xml b/manual/xml/templates.xml
index e54e431d4a..0b39eb7d77 100644
--- a/manual/xml/templates.xml
+++ b/manual/xml/templates.xml
@@ -1,55 +1,47 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-templates">
+ <title>Session Templates</title>
+ <para>
+ Ardour allows you to create templates that specify the number of tracks
+ and busses, the I/O configuration and other aspects of the session. When
+ creating a new session, you can specify a template and it will be
+ created to match the template settings. To create a template, you will
+ need to be working on an existing session. Make sure that the session is
+ setup to in exactly the way you would like the template to be. Choose
+ <menuchoice> <guimenu>Session</guimenu> <guisubmenu>Save
+ Template</guisubmenu> </menuchoice>.
+ </para>
- <title>Session Templates</title>
-
- <para>
- Ardour allows you to create templates that specify the number of
- tracks and busses, the I/O configuration and other aspects of the
- session. When creating a new session, you can specify a template and it
- will be created to match the template settings. To create a template,
- you will need to be working on an existing session. Make sure that the
- session is setup to in exactly the way you would like the template to
- be. Choose
- <menuchoice>
- <guimenu>Session</guimenu>
- <guisubmenu>Save Template</guisubmenu>
- </menuchoice>.
- </para>
-
- <para>
- To open the Save Template dialog enter a name for the template and click
- <guibutton>Save</guibutton> or
- <keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo> to store
- the template using the current session configuration. Templates are
- basically session files without any audio data references. They are
- stored in your <filename>.ardour</filename> folder.
- </para>
-
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/save_template_dialog.png"/>
- </imageobject>
- </mediaobject>
-
- <section id="sn-using-a-template">
- <title>Using a template</title>
- <para>
- When opening a new session, instead of leaving the <guibutton>New setup</guibutton>
- button selected in the New Session dialog, click the <guibutton>Use template</guibutton>
- button, and then click on the name of the template you would like to
- use. Note that this option does not appear until you have saved at
- least one template.
- </para>
- </section>
-
- <!--
+ <para>
+ To open the Save Template dialog enter a name for the template and click
+ <guibutton>Save</guibutton> or
+ <keycombo><keycap>Ctrl</keycap><keycap>S</keycap></keycombo> to store
+ the template using the current session configuration. Templates are
+ basically session files without any audio data references. They are
+ stored in your <filename>.ardour</filename> folder.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/save_template_dialog.png"/>
+ </imageobject>
+ </mediaobject>
+ <section id="sn-using-a-template">
+ <title>Using a template</title>
+ <para>
+ When opening a new session, instead of leaving the <guibutton>New
+ setup</guibutton> button selected in the New Session dialog, click the
+ <guibutton>Use template</guibutton> button, and then click on the name
+ of the template you would like to use. Note that this option does not
+ appear until you have saved at least one template.
+ </para>
+ </section>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/tracks_and_busses.xml b/manual/xml/tracks_and_busses.xml
index 0485f9c44f..6b528b6f51 100644
--- a/manual/xml/tracks_and_busses.xml
+++ b/manual/xml/tracks_and_busses.xml
@@ -5,326 +5,283 @@
]>
<section id="sn-tracks-and-busses">
- <title>Tracks and Busses</title>
- <para>
- This chapter covers basic management of tracks. Tracks are probably the most
- important objects in Ardour. They represent the fundamental way to playback
- and record audio, MIDI, and image data.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/signal_flow.png"/>
- </imageobject>
- </mediaobject>
- <section id="creating-tracks">
- <title>Creating Tracks</title>
- <para>
- Tracks may be added to the session at any time.
- </para>
-
- <orderedlist>
- <title>Creating a new Track</title>
- <listitem>
- <para>
- Choose <menuchoice> <guimenu>Session</guimenu> <guisubmenu>Add
- Track/Bus</guisubmenu> </menuchoice>
- </para>
- </listitem>
- <listitem>
- <para>
- add_track.ps Add Track Dialog
- </para>
- </listitem>
- <listitem>
- <para>
- In the Add Tracks dialog, choose whether you wish to add a new Track or a
- new Bus.
- </para>
- </listitem>
- <listitem>
- <para>
- Enter the number of new tracks/busses you want to add.
- </para>
- </listitem>
- <listitem>
- <para>
- Choose the I/O configuration of the tracks/busses you are adding using
- the clickbox.
- </para>
- </listitem>
- </orderedlist>
- <para>
- After the track is created, it is recommended that you change its name from
- the generic name it will have been provided with. To rename a track:
- </para>
- <orderedlist>
- <title>Renaming a Track</title>
- <listitem>
- <para>
- In the editor or mixer, the track name, and select <guimenuitem>Rename</guimenuitem> from the
- dialog that appears. This will cause the "New Track Name" dialog to appear.
- </para>
- </listitem>
- <listitem>
- <para>
- In the New Track Name dialog, type a new track name, and then click the
- <guibutton>OK</guibutton> button in that dialog.
- </para>
- </listitem>
- </orderedlist>
- </section>
-
- <section id="deleting-tracks">
- <title>Deleting Tracks</title>
- <para>
- Deleting a track is permanent operation that cannot be undone. However,
- since the audio, MIDI, automation and other data associated with the track
- will remain as part of the session, and the actual playlist(s) that were in
- use by the track are still available. for use by other tracks. As a result,
- although inadvertently deleting a track is inconvenient, it doesn't result
- in any significant loss of information.
- </para>
-
- <section id="deleting-a-track">
- <title>deleting a track</title>
- <para>
- Click on the name of the track you want to delete. From the menu that
- appears, select <guimenuitem>Remove</guimenuitem>. A confirmation dialog will appear to ensure that
- you really meant to remove the track.
- </para>
- </section>
- </section>
-
- <section id="hiding-tracks">
- <title>Hiding Tracks</title>
- <para>
- The track list on the left edge of the Editor and Mixer can be used to hide
- or show specific tracks in either or both of those two windows. To hide a
- track, click to on the tracks name in the relevant track list. To show a
- track, click on its name in the track list. Visible tracks have their names
- shown in cyan, hidden ones in orange.
- </para>
-
- <para>
- You can also hide any track by clicking its hide button
- (images/hidebutton.ps).
- </para>
-
- <para>
- Hiding a track in the Editor has no effect on its visibility in the Mixer,
- and vice versa. Hiding a track in one or both windows does not affect the
- playback of that track's material.
- </para>
- </section>
-
- <section id="track-visibility">
- <title>Track Visibility</title>
- <section id="showing-all-tracks">
- <title>Showing all Tracks</title>
- <para>
- Click on the titlebar of the track list of the Editor or Mixer. From the
- menu that appears, select "Show All"
- </para>
- </section>
-
- <section id="hiding-all-tracks">
- <title>Hiding all Tracks</title>
- <para>
- Click on the titlebar of the track list of the Editor or Mixer. From the
- menu that appears, select "Hiding All".
- </para>
- </section>
-
- <section id="showing-classes-of-tracks">
- <title>Showing certain classes of tracks</title>
- <para>
- Click on the titlebar of the track list of the Editor or Mixer. From the
- menu that appears, select "Show All Audio Tracks", or "Show all Busses" as
- appropriate.
- </para>
- </section>
-
- <section id="hiding-classes-of-tracks">
- <title>Hiding certain classes of tracks</title>
- <para>
- Click on the titlebar of the track list of the Editor or Mixer. From the
- menu that appears, select "Hide All Audio Tracks", or "Hide all Busses" as
- appropriate.
- </para>
- </section>
-
- <section id="reordering-tracks">
- <title>Reordering Tracks</title>
- <para>
- Tracks may be reordered by clicking on their name in one of the track
- lists and dragging it to a new position in the list. Note that the order
- of tracks in the editor is totally independent of their order in the
- mixer.
- </para>
- </section>
- </section>
-
- <section id="io-configuration">
- <title>I/O Configuration</title>
- <para></para>
- </section>
-
- <section id="soloing-tracks">
- <title>Soloing Tracks</title>
- <para>
- "Soloing" a track refers to changing some aspect of the signal flow through
- Ardour that makes it possible to listen to one (or just a few) tracks at a
- time. It is often done during mixing and mastering to help an audio
- engineer listen carefully to parts of the mix.
- </para>
-
- <para>
- Tracks may be soloed at any time. When one or more tracks are soloed, all
- non-soloedntracks will no longer be audible.
- </para>
-
- <para>
- Soloing tracks does not affect the solo status of busses, nor vice versa.
- That is, soloing a track leaves all busses audible and soloing a track
- leaves all tracks "audible". You may not actually be able to hear the
- "audible" material if it is routed through a non-soloed bus.
- </para>
-
- <para>
- This design is intended to allow FX busses and master outs to be useful
- even when soloing. Soloing is made significantly more complex by the
- presence of control outs (see control_outs_soloing for more details on
- soloing with control outs).
- </para>
-
- <section id="rude-solo-light">
- <title>Rude Solo Light</title>
- <para>
- Whenever one or more tracks are soloed, the "rude solo light" in the
- transport window will flash. You can cancel any current solos by clicking
- on the "rude solo light".
- </para>
- </section>
-
- <section id="solo-modes">
- <title>Solo modes</title>
- <para>
- Ardour has two solo modes.
- </para>
-
- <variablelist>
- <title></title>
- <varlistentry>
- <term>solo latch</term>
- <listitem>
- <para>
- soloing a track adds it to the set of soloed tracks, so you may have
- any number of soloed tracks.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>solo unlatch</term>
- <listitem>
- <para>
- soloing a track unsolos any other soloed track, so you can have only
- one soloed track at a time.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
-
- <section id="changing-solo-mode">
- <title>Changing Solo Mode</title>
- <para>
- To change the solo mode, goto the Options editor (options_editor) and view
- the <guilabel>Misc</guilabel> tab.
- </para>
- </section>
-
- <section id="soloing-a-track">
- <title>Soloing a Track</title>
- <para>
- To toggle the solo state of a track, click on the solo button in either
- the mixer strip for the track or the track controls section in the editor.
- </para>
-
- <para>
- To toggle the solo state of all tracks in an edit or mix group, use Ctrl1
- on the solo button of a track in the group. If you do this in the Editor,
- the edit group will be used; in the Mixer, the mix group will be used.
- </para>
-
- <para>
- To toggle the solo state of all tracks, use
- <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
- on a track solo button.
- </para>
- </section>
-
- <section id="solo-safe">
- <title>Solo safe</title>
- <para>
- To protect a track's current solo status, use Shift1 on that track's solo
- button. The color of the button will change to a pale blue to indicate
- "solo safe" status. No changes to the solo state for that
- track are possible until "solo safe" has been unset for the track.
- </para>
- </section>
-
- <section id="momentary-solo">
- <title>Momentary solo</title>
- <para>
- Use 2 on a track's solo button to solo the track for as long as the mouse
- button is pressed.
- </para>
- </section>
- </section>
-
- <section id="track-display-size">
- <title>Track Display Size</title>
- <para>
- In the editor window, tracks always extend across the full extent of the
- track display area, but they can have varying heights. In the mixer window,
- tracks always from the top to the bottom of the mixer (as strips), but they
- can have varying widths.
- </para>
-
- <section id="changing-editor-track-height">
- <title>Changing editor track height</title>
- <para></para>
- </section>
-
- <section id="changing-mixer-track-width">
- <title>Changing mixer track width</title>
- <para></para>
- </section>
- </section>
-
- <section id="track-groups">
- <title>Grouping Tracks</title>
- <section id="creating-a-track-group">
- <title>Creating a Group</title>
- <para></para>
- </section>
-
- <section id="renaming-track-group">
- <title>Renaming a Group</title>
- <para></para>
- </section>
-
- <section id="changing-members-of-a-track-group">
- <title>Changing members of a group</title>
- <para></para>
- </section>
-
- <section id="deleting-a-track-group">
- <title>Deleting a Group</title>
- <para></para>
- </section>
- </section>
+ <title>Tracks and Busses</title>
+ <para>
+ This chapter covers basic management of tracks. Tracks are probably the
+ most important objects in Ardour. They represent the fundamental way to
+ playback and record audio, MIDI, and image data.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/signal_flow.png"/>
+ </imageobject>
+ </mediaobject>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="adding_tracks.xml" />
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="renaming_tracks.xml" />
+ <section id="deleting-tracks">
+ <title>Deleting Tracks</title>
+ <para>
+ Deleting a track is permanent operation that cannot be undone.
+ However, since the audio, MIDI, automation and other data associated
+ with the track will remain as part of the session, and the actual
+ playlist(s) that were in use by the track are still available. for use
+ by other tracks. As a result, although inadvertently deleting a track
+ is inconvenient, it doesn't result in any significant loss of
+ information.
+ </para>
+
+ <section id="deleting-a-track">
+ <title>deleting a track</title>
+ <para>
+ Click on the name of the track you want to delete. From the menu
+ that appears, select <guimenuitem>Remove</guimenuitem>. A
+ confirmation dialog will appear to ensure that you really meant to
+ remove the track.
+ </para>
+ </section>
+ </section>
+
+ <section id="hiding-tracks">
+ <title>Hiding Tracks</title>
+ <para>
+ The track list on the left edge of the Editor and Mixer can be used to
+ hide or show specific tracks in either or both of those two windows.
+ To hide a track, click to on the tracks name in the relevant track
+ list. To show a track, click on its name in the track list. Visible
+ tracks have their names shown in cyan, hidden ones in orange.
+ </para>
+
+ <para>
+ You can also hide any track by clicking its hide button
+ (images/hidebutton.ps).
+ </para>
+
+ <para>
+ Hiding a track in the Editor has no effect on its visibility in the
+ Mixer, and vice versa. Hiding a track in one or both windows does not
+ affect the playback of that track's material.
+ </para>
+ </section>
+
+ <section id="track-visibility">
+ <title>Track Visibility</title>
+ <section id="showing-all-tracks">
+ <title>Showing all Tracks</title>
+ <para>
+ Click on the titlebar of the track list of the Editor or Mixer. From
+ the menu that appears, select "Show All"
+ </para>
+ </section>
+
+ <section id="hiding-all-tracks">
+ <title>Hiding all Tracks</title>
+ <para>
+ Click on the titlebar of the track list of the Editor or Mixer. From
+ the menu that appears, select "Hiding All".
+ </para>
+ </section>
+
+ <section id="showing-classes-of-tracks">
+ <title>Showing certain classes of tracks</title>
+ <para>
+ Click on the titlebar of the track list of the Editor or Mixer. From
+ the menu that appears, select "Show All Audio Tracks", or "Show all
+ Busses" as appropriate.
+ </para>
+ </section>
+
+ <section id="hiding-classes-of-tracks">
+ <title>Hiding certain classes of tracks</title>
+ <para>
+ Click on the titlebar of the track list of the Editor or Mixer. From
+ the menu that appears, select "Hide All Audio Tracks", or "Hide all
+ Busses" as appropriate.
+ </para>
+ </section>
+
+ <section id="reordering-tracks">
+ <title>Reordering Tracks</title>
+ <para>
+ Tracks may be reordered by clicking on their name in one of the
+ track lists and dragging it to a new position in the list. Note that
+ the order of tracks in the editor is totally independent of their
+ order in the mixer.
+ </para>
+ </section>
+ </section>
+
+ <section id="io-configuration">
+ <title>I/O Configuration</title>
+ <para></para>
+ </section>
+
+ <section id="soloing-tracks">
+ <title>Soloing Tracks</title>
+ <para>
+ "Soloing" a track refers to changing some aspect of the signal flow
+ through Ardour that makes it possible to listen to one (or just a few)
+ tracks at a time. It is often done during mixing and mastering to help
+ an audio engineer listen carefully to parts of the mix.
+ </para>
+
+ <para>
+ Tracks may be soloed at any time. When one or more tracks are soloed,
+ all non-soloedntracks will no longer be audible.
+ </para>
+
+ <para>
+ Soloing tracks does not affect the solo status of busses, nor vice
+ versa. That is, soloing a track leaves all busses audible and soloing
+ a track leaves all tracks "audible". You may not actually be able to
+ hear the "audible" material if it is routed through a non-soloed bus.
+ </para>
+
+ <para>
+ This design is intended to allow FX busses and master outs to be
+ useful even when soloing. Soloing is made significantly more complex
+ by the presence of control outs (see control_outs_soloing for more
+ details on soloing with control outs).
+ </para>
+
+ <section id="rude-solo-light">
+ <title>Rude Solo Light</title>
+ <para>
+ Whenever one or more tracks are soloed, the "rude solo light" in the
+ transport window will flash. You can cancel any current solos by
+ clicking on the "rude solo light".
+ </para>
+ </section>
+
+ <section id="solo-modes">
+ <title>Solo modes</title>
+ <para>
+ Ardour has two solo modes.
+ </para>
+
+ <variablelist>
+ <title></title>
+ <varlistentry>
+ <term>solo latch</term>
+ <listitem>
+ <para>
+ soloing a track adds it to the set of soloed tracks, so you
+ may have any number of soloed tracks.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>solo unlatch</term>
+ <listitem>
+ <para>
+ soloing a track unsolos any other soloed track, so you can
+ have only one soloed track at a time.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+ <section id="changing-solo-mode">
+ <title>Changing Solo Mode</title>
+ <para>
+ To change the solo mode, goto the Options editor (options_editor)
+ and view the <guilabel>Misc</guilabel> tab.
+ </para>
+ </section>
+
+ <section id="soloing-a-track">
+ <title>Soloing a Track</title>
+ <para>
+ To toggle the solo state of a track, click on the solo button in
+ either the mixer strip for the track or the track controls section
+ in the editor.
+ </para>
+
+ <para>
+ To toggle the solo state of all tracks in an edit or mix group, use
+ Ctrl1 on the solo button of a track in the group. If you do this in
+ the Editor, the edit group will be used; in the Mixer, the mix group
+ will be used.
+ </para>
+
+ <para>
+ To toggle the solo state of all tracks, use
+ <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>
+ on a track solo button.
+ </para>
+ </section>
+
+ <section id="solo-safe">
+ <title>Solo safe</title>
+ <para>
+ To protect a track's current solo status, use Shift1 on that track's
+ solo button. The color of the button will change to a pale blue to
+ indicate "solo safe" status. No changes to the solo state for that
+ track are possible until "solo safe" has been unset for the track.
+ </para>
+ </section>
+
+ <section id="momentary-solo">
+ <title>Momentary solo</title>
+ <para>
+ Use 2 on a track's solo button to solo the track for as long as the
+ mouse button is pressed.
+ </para>
+ </section>
+ </section>
+
+ <section id="track-display-size">
+ <title>Track Display Size</title>
+ <para>
+ In the editor window, tracks always extend across the full extent of
+ the track display area, but they can have varying heights. In the
+ mixer window, tracks always from the top to the bottom of the mixer
+ (as strips), but they can have varying widths.
+ </para>
+
+ <section id="changing-editor-track-height">
+ <title>Changing editor track height</title>
+ <para></para>
+ </section>
+
+ <section id="changing-mixer-track-width">
+ <title>Changing mixer track width</title>
+ <para></para>
+ </section>
+ </section>
+
+ <section id="track-groups">
+ <title>Grouping Tracks</title>
+ <section id="creating-a-track-group">
+ <title>Creating a Group</title>
+ <para></para>
+ </section>
+
+ <section id="renaming-track-group">
+ <title>Renaming a Group</title>
+ <para></para>
+ </section>
+
+ <section id="changing-members-of-a-track-group">
+ <title>Changing members of a group</title>
+ <para></para>
+ </section>
+
+ <section id="deleting-a-track-group">
+ <title>Deleting a Group</title>
+ <para></para>
+ </section>
+ </section>
+
+ <section id="track-controls">
+ <title>Track Controls</title>
+ <para></para>
+ </section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="default_track_names.xml" />
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/transport_key_bindings.xml b/manual/xml/transport_key_bindings.xml
index 5ab88a0490..c2a3954b19 100644
--- a/manual/xml/transport_key_bindings.xml
+++ b/manual/xml/transport_key_bindings.xml
@@ -1,75 +1,82 @@
<?xml version="1.0" standalone="no"?>
+
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
]>
<section id="sn-transport-key-bindings">
+ <title>Transport Key Bindings</title>
+ <table id="tbl-transport-key-bindings">
+ <title>Transport Key Bindings</title>
+ <tgroup cols = "2">
+ <colspec colnum="1" colname="Key Binding" colwidth="1"/>
+ <colspec colnum="2" colname="Action" colwidth= "2"/>
+ <thead>
+ <row>
+ <entry>
+ Key Binding
+ </entry>
+
+ <entry>
+ Action
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <keycombo><keycap>space</keycap></keycombo>
+ </entry>
+
+ <entry>
+ Toggle transport motion
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>space</keycap></keycombo>
+ </entry>
+
+ <entry>
+ Raise the Editor Window
+ </entry>
+ </row>
- <title>Transport Key Bindings</title>
+ <row>
+ <entry>
+ <keycombo><keycap>Shift</keycap><keycap>r</keycap></keycombo>
+ </entry>
- <table id="tbl-transport-key-bindings">
- <title>Transport Key Bindings</title>
- <tgroup cols = "2">
- <colspec colnum="1" colname="Key Binding" colwidth="1"/>
- <colspec colnum="2" colname="Action" colwidth= "2"/>
- <thead>
- <row>
- <entry>
- Key Binding
- </entry>
- <entry>
- Action
- </entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <keycombo><keycap>space</keycap></keycombo>
- </entry>
- <entry>
- Toggle transport motion
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Ctrl</keycap><keycap>Shift</keycap><keycap>space</keycap></keycombo>
- </entry>
- <entry>
- Raise the Editor Window
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Shift</keycap><keycap>r</keycap></keycombo>
- </entry>
- <entry>
- Toggle transport record-enable state
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>Home</keycap></keycombo>
- </entry>
- <entry>
- Move playhead to start
- </entry>
- </row>
- <row>
- <entry>
- <keycombo><keycap>End</keycap></keycombo>
- </entry>
- <entry>
- Move playhead to end
- </entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <entry>
+ Toggle transport record-enable state
+ </entry>
+ </row>
- <!--
+ <row>
+ <entry>
+ <keycombo><keycap>Home</keycap></keycombo>
+ </entry>
+
+ <entry>
+ Move playhead to start
+ </entry>
+ </row>
+
+ <row>
+ <entry>
+ <keycombo><keycap>End</keycap></keycombo>
+ </entry>
+
+ <entry>
+ Move playhead to end
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
-->
-
</section>
diff --git a/manual/xml/user_interface_conventions.xml b/manual/xml/user_interface_conventions.xml
index b79fea1e87..61f80ad6ba 100644
--- a/manual/xml/user_interface_conventions.xml
+++ b/manual/xml/user_interface_conventions.xml
@@ -5,173 +5,177 @@
]>
<section id="sn-user-interface-conventions">
- <title>Interface Basics</title>
-
- <para>
- Although Ardour has a fairly conventional graphical user interface, there
- are a few elements that are unique to it and are probably new to you. This
- chapter provides a guide to using these aspects of the interface.
- </para>
-
- <section id="interface-mouse-clicks">
- <title>Mouse Clicks</title>
-
- <section id="interface-click">
- <title>Click</title>
-
- <para>
- When we say "click on" without specifying a mouse button, we mean use
- <mousebutton>Button1</mousebutton> to click on a user interface element (button, fader, menu, etc).
- </para>
- </section>
-
- <section id="interface-context-click">
- <title>Context Click</title>
-
- <para>
- As in most graphical user interfaces today, a "context click" (<mousebutton>Button3</mousebutton>) in
- many parts of the user interface will popup a context-specific menu,
- allowing you to set parameters or carry out operations. There are a lot of
- examples of this, but trying it on an audio region, a mixer mute button
- and a mixer strip name will show the general idea.
- </para>
- </section>
-
- <section id="interface-delete-edit-click">
- <title>Delete &amp; Edit Click</title>
-
- <para>
- There are two additional mouse/key combinations that you should be
- familiar and comfortable with. They are called "delete click" and "edit
- click", and by default they consist
- <keycombo><keycap>Shift</keycap><mousebutton>Button3</mousebutton></keycombo> click and
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button3</mousebutton></keycombo> click respectively. A delete click on most objects within
- Ardour's editor will delete that object. This includes regions, markers,
- curve control points and so on. An edit click on the any of the same kind
- of objects will pop up an editor dialog for that object.
- </para>
- </section>
- </section>
-
- <section id="interface-clocks">
- <title>Clocks</title>
-
- <para>
- There are several clocks in Ardour's user interface, some of them visible
- all the time, others in windows that are only shown by request. All these
- clocks are identical to each other in their functionality, although some
- can be edited by the user and some are for display only.
- </para>
-
- <para>
- Context clicking on a clock brings up a menu that allows you to modify the
- display mode of that clock. The choices are:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Audio Frames
- </para>
- </listitem>
- <listitem>
- <para>
- BBT (Bars,Beats,Ticks - musical tempo &amp; meter based time)
- </para>
- </listitem>
- <listitem>
- <para>
- SMPTE
- </para>
- </listitem>
- <listitem>
- <para>
- Min:Sec
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Each clock mode has a number of different fields. For example, SMPTE has
- hours, minutes, seconds, and video frames.
- </para>
-
- <para>
- To edit the value of a particular clock, click in the leftmost field you
- want to modify. You can then enter a new value for that field using numeric
- keys, along with '.' where appropriate. Editing will move the next field of
- the clock after you have entered the maximum number of digits for a field.
- To move to the next field before this press Tab. To finish editing, either
- press <keycap>Return</keycap> or use the <keycap>Tab</keycap> key to advance through all remaining fields.
- </para>
- </section>
-
- <section id="interface-bar-controllers">
- <title>Bar Controllers</title>
-
- <para>
- Bar controllers were inspired by a comment made by "Larry the O" in
- Electronic Musician in 2001.
- </para>
-
- <para>
- A bar controller is a user interface element that works rather differently
- than any standard element found in most programs. They are used to provide
- a combined method of displaying and modifying a parameter.
- </para>
-
- <para>
- To graphically edit the value of the parameter represented by a bar
- controller, press <mousebutton>Button1</mousebutton> and drag the controller left/right or up/down as
- appropriate. To edit the value with greater precision, double click the
- controller and it will transform into a data entry box. You can enter an
- exact value for the parameter, or use arrow buttons to increment/decrement
- the displayed value. When you are finished editing, the Enter or Tab keys
- will transform the data entry box back into the normal version of the bar
- controller.
- </para>
- </section>
-
- <section id="interface-click-boxes">
- <title>Click Boxes</title>
-
- <para>
- Click boxes were also inspired by Larry's comment.
- </para>
-
- <para>
- A click box is, as its name suggests, just a part of a window you can click
- on to change some parameter or control value.
- </para>
-
- <para>
- Clicking with 3 moves the parameter to the next value, clicking with 1
- moves to the previous value. Clicking and holding either button will
- automatically advance through the possible values in the appropriate
- direction.
- </para>
-
- <note>
- <para>
- we are slowly eliminating click boxes in favor of bar controllers
- </para>
- </note>
- </section>
-
- <section id="interface-panes">
- <title>Panes</title>
-
- <para>
- Panes are user interface elements that allow you to adjust the relative
- sizes of two sections of a window. The panes in Ardour work perfectly
- normally but have one additional feature: a Delete-click on the pane
- divider will completely hide one side of its two sections. Which section
- depends on the pane, and is not user configurable, but is neary always
- precisely what you'd want anyway. If the pane is already hidden, then
- Delete-click (on the still-visible pane) will restore it to the size it had
- before it was hidden.
- </para>
- </section>
+ <title>Interface Basics</title>
+ <para>
+ Although Ardour has a fairly conventional graphical user interface,
+ there are a few elements that are unique to it and are probably new to
+ you. This chapter provides a guide to using these aspects of the
+ interface.
+ </para>
+
+ <section id="interface-mouse-clicks">
+ <title>Mouse Clicks</title>
+ <section id="interface-click">
+ <title>Click</title>
+ <para>
+ When we say "click on" without specifying a mouse button, we mean
+ use <mousebutton>Button1</mousebutton> to click on a user interface
+ element (button, fader, menu, etc).
+ </para>
+ </section>
+
+ <section id="interface-context-click">
+ <title>Context Click</title>
+ <para>
+ As in most graphical user interfaces today, a "context click"
+ (<mousebutton>Button3</mousebutton>) in many parts of the user
+ interface will popup a context-specific menu, allowing you to set
+ parameters or carry out operations. There are a lot of examples of
+ this, but trying it on an audio region, a mixer mute button and a
+ mixer strip name will show the general idea.
+ </para>
+ </section>
+
+ <section id="interface-delete-edit-click">
+ <title>Delete &amp; Edit Click</title>
+ <para>
+ There are two additional mouse/key combinations that you should be
+ familiar and comfortable with. They are called "delete click" and
+ "edit click", and by default they consist
+ <keycombo><keycap>Shift</keycap><mousebutton>Button3</mousebutton></keycombo>
+ click and
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button3</mousebutton></keycombo>
+ click respectively. A delete click on most objects within Ardour's
+ editor will delete that object. This includes regions, markers,
+ curve control points and so on. An edit click on the any of the same
+ kind of objects will pop up an editor dialog for that object.
+ </para>
+ </section>
+ </section>
+
+ <section id="interface-clocks">
+ <title>Clocks</title>
+ <para>
+ There are several clocks in Ardour's user interface, some of them
+ visible all the time, others in windows that are only shown by
+ request. All these clocks are identical to each other in their
+ functionality, although some can be edited by the user and some are
+ for display only.
+ </para>
+
+ <para>
+ Context clicking on a clock brings up a menu that allows you to modify
+ the display mode of that clock. The choices are:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Audio Frames
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ BBT (Bars,Beats,Ticks - musical tempo &amp; meter based time)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ SMPTE
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Min:Sec
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Each clock mode has a number of different fields. For example, SMPTE
+ has hours, minutes, seconds, and video frames.
+ </para>
+
+ <para>
+ To edit the value of a particular clock, click in the leftmost field
+ you want to modify. You can then enter a new value for that field
+ using numeric keys, along with '.' where appropriate. Editing will
+ move the next field of the clock after you have entered the maximum
+ number of digits for a field. To move to the next field before this
+ press Tab. To finish editing, either press <keycap>Return</keycap> or
+ use the <keycap>Tab</keycap> key to advance through all remaining
+ fields.
+ </para>
+ </section>
+
+ <section id="interface-bar-controllers">
+ <title>Bar Controllers</title>
+ <para>
+ Bar controllers were inspired by a comment made by "Larry the O" in
+ Electronic Musician in 2001.
+ </para>
+
+ <para>
+ A bar controller is a user interface element that works rather
+ differently than any standard element found in most programs. They are
+ used to provide a combined method of displaying and modifying a
+ parameter.
+ </para>
+
+ <para>
+ To graphically edit the value of the parameter represented by a bar
+ controller, press <mousebutton>Button1</mousebutton> and drag the
+ controller left/right or up/down as appropriate. To edit the value
+ with greater precision, double click the controller and it will
+ transform into a data entry box. You can enter an exact value for the
+ parameter, or use arrow buttons to increment/decrement the displayed
+ value. When you are finished editing, the Enter or Tab keys will
+ transform the data entry box back into the normal version of the bar
+ controller.
+ </para>
+ </section>
+
+ <section id="interface-click-boxes">
+ <title>Click Boxes</title>
+ <para>
+ Click boxes were also inspired by Larry's comment.
+ </para>
+
+ <para>
+ A click box is, as its name suggests, just a part of a window you can
+ click on to change some parameter or control value.
+ </para>
+
+ <para>
+ Clicking with 3 moves the parameter to the next value, clicking with 1
+ moves to the previous value. Clicking and holding either button will
+ automatically advance through the possible values in the appropriate
+ direction.
+ </para>
+
+ <note>
+ <para>
+ we are slowly eliminating click boxes in favor of bar controllers
+ </para>
+ </note>
+ </section>
+
+ <section id="interface-panes">
+ <title>Panes</title>
+ <para>
+ Panes are user interface elements that allow you to adjust the
+ relative sizes of two sections of a window. The panes in Ardour work
+ perfectly normally but have one additional feature: a Delete-click on
+ the pane divider will completely hide one side of its two sections.
+ Which section depends on the pane, and is not user configurable, but
+ is neary always precisely what you'd want anyway. If the pane is
+ already hidden, then Delete-click (on the still-visible pane) will
+ restore it to the size it had before it was hidden.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/using_existing_audio.xml b/manual/xml/using_existing_audio.xml
index e32768b35c..1aba2db49d 100644
--- a/manual/xml/using_existing_audio.xml
+++ b/manual/xml/using_existing_audio.xml
@@ -5,408 +5,436 @@
]>
<chapter id="ch-using-existing-audio">
- <title>Using Existing Audio</title>
- <para>
- There are two primary ways to bring data into Ardour: recording it within a
- session from a live sound source or importing pre-existing audio files. This
- section covers the various ways to import audio into a session.
- </para>
-
- <section id="importing-and-embedding">
- <title>Importing and Embedding</title>
- <para>
- Importing and embedding are two different methods of using existing audio
- files on your computer (or network file system) within a session. They
- differ in one key respect:
- </para>
-
- <variablelist>
- <title></title>
- <varlistentry>
- <term>Importing</term>
- <listitem>
- <para>
- An existing audio file is copied to the session's sounds folder, and is
- converted into the session's native format (WAVE or Broadcast WAVE
- depending on your choice) and sample rate.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Embedding</term>
- <listitem>
- <para>
- An existing audio file is used as a the source for a region, but is not
- copied or modified in any way.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
-
- <section id="supported-external-audio-file-formats">
- <title>Supported External Audio File Formats</title>
- <para>
- The list of audio file formats that Ardour can import/embed is quite long.
- It is based on the functionality offered by libsndfile, an excellent and
- widely used software library by Australian programmer Erik de Castro Lopo.
- As libsndfile's capabilities expand, so will Ardour's abilities to import
- (and export) new formats. Ogg/Vorbis (an excellent, unpatented and license
- free audio compression format similar to MP3) is planned for the near
- future. Currently, supported formats include:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Microsoft WAV
- </para>
- </listitem>
- <listitem>
- <para>
- SGI/Apple AIFF/AIFC
- </para>
- </listitem>
- <listitem>
- <para>
- Sun AU/Snd
- </para>
- </listitem>
- <listitem>
- <para>
- Raw (headerless)
- </para>
- </listitem>
- <listitem>
- <para>
- Paris Audio File (PAF)
- </para>
- </listitem>
- <listitem>
- <para>
- Commodore IFF/SVX
- </para>
- </listitem>
- <listitem>
- <para>
- Sphere/NIST WAV
- </para>
- </listitem>
- <listitem>
- <para>
- IRCAM SF
- </para>
- </listitem>
- <listitem>
- <para>
- Creative VOC
- </para>
- </listitem>
- <listitem>
- <para>
- SoundForge W64
- </para>
- </listitem>
- <listitem>
- <para>
- GNU Octave MAT4.4
- </para>
- </listitem>
- <listitem>
- <para>
- Portable Voice Format
- </para>
- </listitem>
- <listitem>
- <para>
- Fasttracker 2 XI
- </para>
- </listitem>
- <listitem>
- <para>
- HMM Tool Kit HTK
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Sample encodings supported include:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Unsigned and signed 8, 16, 24 and 32 bit PCM
- </para>
- </listitem>
- <listitem>
- <para>
- IEEE 32 and 64 floating point
- </para>
- </listitem>
- <listitem>
- <para>
- U-LAW
- </para>
- </listitem>
- <listitem>
- <para>
- A-LAW
- </para>
- </listitem>
- <listitem>
- <para>
- IMA ADPCM
- </para>
- </listitem>
- <listitem>
- <para>
- MS ADPCM
- </para>
- </listitem>
- <listitem>
- <para>
- GSM 6.10
- </para>
- </listitem>
- <listitem>
- <para>
- G721/723 ADPCM
- </para>
- </listitem>
- <listitem>
- <para>
- 12/16/24 bit DWVW
- </para>
- </listitem>
- <listitem>
- <para>
- OK Dialogic ADPCM
- </para>
- </listitem>
- <listitem>
- <para>
- 8/16 DPCM
- </para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section id="using-audio-files">
- <title> Using audio files as tracks or regions? </title>
- <para>
- When you want to use existing audio files in an Ardour session, the first
- choice you need to make is whether you want to bring the files in as tracks
- or as new regions. Consider the two following scenarios:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- you have an 8 track recording of existing material, with 1 audio file per
- track
- </para>
- </listitem>
- <listitem>
- <para>
- you have a sample library containing 500 small audio files
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- In the first case, your goal is probably to have 8 tracks (at least), with
- each track containing a single audio file. In the second case, its a lot
- more likely that you simply want to be able to use any of the samples
- easily, but do not want any tracks created as a direct result of the
- import/embed. It is very important that you understand this distinction:
- many new users think there should be a "simple" way to import existing
- audio without understanding that the goal of importing/embedding is not
- always the same.
- </para>
-
- <para>
- Ardour provides two different options when importing. You can import/embed
- audio files as new tracks, or you can import/embed them into the region
- list, where they will be available as regions to put into new or existing
- tracks. You can also insert import/embed audio files directly into an
- existing track.
- </para>
- </section>
-
- <section id="importing-an-audio-file-as-a-new-track">
- <title> How to import an audio file as a new track </title>
- <para>
- Click on the <guimenuitem>Edit</guimenuitem> item in the editor's menu bar.
- From the popup menu that appears, choose <menuchoice>
- <guimenu>Import</guimenu> <guisubmenu>...as new tracks</guisubmenu>
- </menuchoice>. The Audio Library/File Chooser window will appear. After you
- have made your selection of files to import, click the button at the bottom
- of that window (it will say something like "Import selected regions as new
- tracks").
- </para>
- </section>
-
- <section id="embedding-an-audio-file-as-a-new-track">
- <title> How to embed an audio file as a new track </title>
- <section id="embedding-an-audio-file-drag-and-drop">
- <title> Drag-n-Drop </title>
- <para>
- If you use a file manager such as Nautilus or Konqueror ((basically, any
- tool that uses standard "list-of-URL's" encoding for drag-n-drop)), the
- simplest method to import files as tracks is to drag-n-drop. Select the
- files you want to embed in the file manager, drag the selection into
- Ardour and drop it over an area of the editor's track/arrange display
- where there are no tracks. The files will be embedded as 1 new track per
- file.
- </para>
- </section>
-
- <section id="embedding-audio-file-using-edit-menu">
- <title> Edit menu </title>
- <para>
- Click on the <guimenuitem>Edit</guimenuitem> item in the editor's menu
- bar. From the popup menu that appears, choose <menuchoice>
- <guimenu>Embed</guimenu> <guisubmenu>...as new tracks</guisubmenu>
- </menuchoice>. The Audio Library/File Chooser window will appear. After
- you have made your selection of files to embed, click the button at the
- bottom of that window (it will say something like "Embed selected regions
- as new tracks"). 1 new track will be created for each file.
- </para>
- </section>
- </section>
-
- <section id="importing-audio-as-a-new-region">
- <title> Importing as a new region </title>
- <para></para>
- </section>
-
- <section id="embedding-audio-as-a-new-region">
- <title> Embedding as a new region </title>
- <para></para>
-
- <section id="embedding-audio-drag-and-drop">
- <title> Drag-n-Drop </title>
- <para></para>
- </section>
-
- <section id="embedding-audio-region-list-menu">
- <title> Region List Menu </title>
- <para></para>
- </section>
- </section>
-
- <section id="how-to-import-embed">
- <title>How to import/embed</title>
- <para>
- Begin by clicking on the titlebar of the region list in the editor window.
- Select <guimenuitem>Import</guimenuitem> from the menu that appears, and
- the Sound File Database will be displayed. See sfdb for more details on
- using this dialog.
- </para>
-
- <para>
- Once you have found and selected the files you want to import, click the
- "Import Selected" button on the SFDB dialog. Each selected audio file will
- be copied into the session's sounds folder, converted into the session's
- native format and sample rate. One or more new regions will be placed in
- the "External" section of the region list, either one per channel of each
- file or, if "create multichannel regions" was selected in the SFBD dialog,
- one per file.
- </para>
-
- <para>
- If you use Nautilus as your file manager, you can easily import files into
- your project by dragging them onto the desired track, then releasing the
- mouse button. The file will then be
- <link linkend="gt-embed">embedded</link>
- into your session.
- </para>
-
- <para>
- At this time, no control over the conversion process is offered. If sample
- rate conversion is required, it will be carried out at the highest quality
- that Ardour can provide. This means that it can be rather slow (many
- minutes to import an audio file lasting a few minutes).
- </para>
- </section>
-
- <section id="how-to-embed-a-file">
- <title> How to embed a file </title>
- <para>
- There are two pathways for embedding an audio file into a session. One is
- initiated from the region list, and simply creates one or more new regions.
- The other is initiated from a specific track, and not only adds regions to
- the region list, but also inserts them into the track's playlist.
- </para>
-
- <section id="embedding-via-the-region-list">
- <title>Embedding via the region list</title>
- <orderedlist>
- <listitem>
- <para>
- click with 1 on the region list title bar.
- </para>
- </listitem>
- <listitem>
- <para>
- Select Import audio file from the menu that appears.
- </para>
- </listitem>
- <listitem>
- <para>
- The SFDB dialog appears.
- </para>
- </listitem>
- <listitem>
- <para>
- Select the files you want to import
- </para>
- </listitem>
- <listitem>
- <para>
- then click on the <guibutton>Embed Selected</guibutton> button.
- </para>
- </listitem>
- </orderedlist>
- <para>
- New regions are added to the External section of the region list.
- </para>
- </section>
-
- <section id="embedding-from-a-track">
- <title>Embedding from a track</title>
- <orderedlist>
- <listitem>
- <para>
- in the track you want to add the audiofile to.The track context menu
- will appear.
- </para>
- </listitem>
- <listitem>
- <para>
- Select EditInsert external sndfile from this menu. The SFDB dialog
- appears.
- </para>
- </listitem>
- <listitem>
- <para>
- Select the files you want to import
- </para>
- </listitem>
- <listitem>
- <para>
- then click on the <guibutton>Embed Selected</guibutton> button.
- </para>
- </listitem>
- </orderedlist>
- <para>
- New regions are added to the "External" section of the region list, and
- one is inserted into the track from which the embed was started.
- </para>
- </section>
- </section>
+ <title>Using Existing Audio</title>
+ <para>
+ There are two primary ways to bring data into Ardour: recording it
+ within a session from a live sound source or importing pre-existing
+ audio files. This section covers the various ways to import audio into a
+ session.
+ </para>
+
+ <section id="importing-and-embedding">
+ <title>Importing and Embedding</title>
+ <para>
+ Importing and embedding are two different methods of using existing
+ audio files on your computer (or network file system) within a
+ session. They differ in one key respect:
+ </para>
+
+ <variablelist>
+ <title></title>
+ <varlistentry>
+ <term>Importing</term>
+ <listitem>
+ <para>
+ An existing audio file is copied to the session's sounds folder,
+ and is converted into the session's native format (WAVE or
+ Broadcast WAVE depending on your choice) and sample rate.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Embedding</term>
+ <listitem>
+ <para>
+ An existing audio file is used as a the source for a region, but
+ is not copied or modified in any way.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
+
+ <section id="supported-external-audio-file-formats">
+ <title>Supported External Audio File Formats</title>
+ <para>
+ The list of audio file formats that Ardour can import/embed is quite
+ long. It is based on the functionality offered by libsndfile, an
+ excellent and widely used software library by Australian programmer
+ Erik de Castro Lopo. As libsndfile's capabilities expand, so will
+ Ardour's abilities to import (and export) new formats. Ogg/Vorbis (an
+ excellent, unpatented and license free audio compression format
+ similar to MP3) is planned for the near future. Currently, supported
+ formats include:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Microsoft WAV
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ SGI/Apple AIFF/AIFC
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Sun AU/Snd
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Raw (headerless)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Paris Audio File (PAF)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Commodore IFF/SVX
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Sphere/NIST WAV
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ IRCAM SF
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Creative VOC
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ SoundForge W64
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ GNU Octave MAT4.4
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Portable Voice Format
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Fasttracker 2 XI
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ HMM Tool Kit HTK
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Sample encodings supported include:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Unsigned and signed 8, 16, 24 and 32 bit PCM
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ IEEE 32 and 64 floating point
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ U-LAW
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ A-LAW
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ IMA ADPCM
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ MS ADPCM
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ GSM 6.10
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ G721/723 ADPCM
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ 12/16/24 bit DWVW
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ OK Dialogic ADPCM
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ 8/16 DPCM
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="using-audio-files">
+ <title> Using audio files as tracks or regions? </title>
+ <para>
+ When you want to use existing audio files in an Ardour session, the
+ first choice you need to make is whether you want to bring the files
+ in as tracks or as new regions. Consider the two following scenarios:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ you have an 8 track recording of existing material, with 1 audio
+ file per track
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ you have a sample library containing 500 small audio files
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ In the first case, your goal is probably to have 8 tracks (at least),
+ with each track containing a single audio file. In the second case,
+ its a lot more likely that you simply want to be able to use any of
+ the samples easily, but do not want any tracks created as a direct
+ result of the import/embed. It is very important that you understand
+ this distinction: many new users think there should be a "simple" way
+ to import existing audio without understanding that the goal of
+ importing/embedding is not always the same.
+ </para>
+
+ <para>
+ Ardour provides two different options when importing. You can
+ import/embed audio files as new tracks, or you can import/embed them
+ into the region list, where they will be available as regions to put
+ into new or existing tracks. You can also insert import/embed audio
+ files directly into an existing track.
+ </para>
+ </section>
+
+ <section id="importing-an-audio-file-as-a-new-track">
+ <title> How to import an audio file as a new track </title>
+ <para>
+ Click on the <guimenuitem>Edit</guimenuitem> item in the editor's menu
+ bar. From the popup menu that appears, choose <menuchoice>
+ <guimenu>Import</guimenu> <guisubmenu>...as new tracks</guisubmenu>
+ </menuchoice>. The Audio Library/File Chooser window will appear.
+ After you have made your selection of files to import, click the
+ button at the bottom of that window (it will say something like
+ "Import selected regions as new tracks").
+ </para>
+ </section>
+
+ <section id="embedding-an-audio-file-as-a-new-track">
+ <title> How to embed an audio file as a new track </title>
+ <section id="embedding-an-audio-file-drag-and-drop">
+ <title> Drag-n-Drop </title>
+ <para>
+ If you use a file manager such as Nautilus or Konqueror ((basically,
+ any tool that uses standard "list-of-URL's" encoding for
+ drag-n-drop)), the simplest method to import files as tracks is to
+ drag-n-drop. Select the files you want to embed in the file manager,
+ drag the selection into Ardour and drop it over an area of the
+ editor's track/arrange display where there are no tracks. The files
+ will be embedded as 1 new track per file.
+ </para>
+ </section>
+
+ <section id="embedding-audio-file-using-edit-menu">
+ <title> Edit menu </title>
+ <para>
+ Click on the <guimenuitem>Edit</guimenuitem> item in the editor's
+ menu bar. From the popup menu that appears, choose <menuchoice>
+ <guimenu>Embed</guimenu> <guisubmenu>...as new tracks</guisubmenu>
+ </menuchoice>. The Audio Library/File Chooser window will appear.
+ After you have made your selection of files to embed, click the
+ button at the bottom of that window (it will say something like
+ "Embed selected regions as new tracks"). 1 new track will be created
+ for each file.
+ </para>
+ </section>
+ </section>
+
+ <section id="importing-audio-as-a-new-region">
+ <title> Importing as a new region </title>
+ <para></para>
+ </section>
+
+ <section id="embedding-audio-as-a-new-region">
+ <title> Embedding as a new region </title>
+ <para></para>
+
+ <section id="embedding-audio-drag-and-drop">
+ <title> Drag-n-Drop </title>
+ <para></para>
+ </section>
+
+ <section id="embedding-audio-region-list-menu">
+ <title> Region List Menu </title>
+ <para></para>
+ </section>
+ </section>
+
+ <section id="how-to-import-embed">
+ <title>How to import/embed</title>
+ <para>
+ Begin by clicking on the titlebar of the region list in the editor
+ window. Select <guimenuitem>Import</guimenuitem> from the menu that
+ appears, and the Sound File Database will be displayed. See sfdb for
+ more details on using this dialog.
+ </para>
+
+ <para>
+ Once you have found and selected the files you want to import, click
+ the "Import Selected" button on the SFDB dialog. Each selected audio
+ file will be copied into the session's sounds folder, converted into
+ the session's native format and sample rate. One or more new regions
+ will be placed in the "External" section of the region list, either
+ one per channel of each file or, if "create multichannel regions" was
+ selected in the SFBD dialog, one per file.
+ </para>
+
+ <para>
+ If you use Nautilus as your file manager, you can easily import files
+ into your project by dragging them onto the desired track, then
+ releasing the mouse button. The file will then be
+ <link linkend="gt-embed">embedded</link> into your session.
+ </para>
+
+ <para>
+ At this time, no control over the conversion process is offered. If
+ sample rate conversion is required, it will be carried out at the
+ highest quality that Ardour can provide. This means that it can be
+ rather slow (many minutes to import an audio file lasting a few
+ minutes).
+ </para>
+ </section>
+
+ <section id="how-to-embed-a-file">
+ <title> How to embed a file </title>
+ <para>
+ There are two pathways for embedding an audio file into a session. One
+ is initiated from the region list, and simply creates one or more new
+ regions. The other is initiated from a specific track, and not only
+ adds regions to the region list, but also inserts them into the
+ track's playlist.
+ </para>
+
+ <section id="embedding-via-the-region-list">
+ <title>Embedding via the region list</title>
+ <orderedlist>
+ <listitem>
+ <para>
+ click with 1 on the region list title bar.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select Import audio file from the menu that appears.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The SFDB dialog appears.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select the files you want to import
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ then click on the <guibutton>Embed Selected</guibutton> button.
+ </para>
+ </listitem>
+ </orderedlist>
+ <para>
+ New regions are added to the External section of the region list.
+ </para>
+ </section>
+
+ <section id="embedding-from-a-track">
+ <title>Embedding from a track</title>
+ <orderedlist>
+ <listitem>
+ <para>
+ in the track you want to add the audiofile to.The track context
+ menu will appear.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select EditInsert external sndfile from this menu. The SFDB
+ dialog appears.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Select the files you want to import
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ then click on the <guibutton>Embed Selected</guibutton> button.
+ </para>
+ </listitem>
+ </orderedlist>
+ <para>
+ New regions are added to the "External" section of the region list,
+ and one is inserted into the track from which the embed was started.
+ </para>
+ </section>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/video_synchronization_via_mtc.xml b/manual/xml/video_synchronization_via_mtc.xml
index 4ee2fda698..3b5af0113d 100644
--- a/manual/xml/video_synchronization_via_mtc.xml
+++ b/manual/xml/video_synchronization_via_mtc.xml
@@ -5,104 +5,109 @@
]>
<section id="sn-video-sync-via-mtc">
- <title>Video Synchronization via MTC</title>
- <note>
- <para>
- if you do not have any MIDI I/O available on your system, then it is
- impossible to use MIDI Time Code.
- </para>
- </note>
+ <title>Video Synchronization via MTC</title>
+ <note>
+ <para>
+ if you do not have any MIDI I/O available on your system, then it is
+ impossible to use MIDI Time Code.
+ </para>
+ </note>
- <section id="ardour-as-mtc-master">
- <title>Using Ardour as an MTC Master</title>
- <para></para>
- </section>
+ <section id="ardour-as-mtc-master">
+ <title>Using Ardour as an MTC Master</title>
+ <para></para>
+ </section>
- <section id="ardour-as-mtc-slave">
- <title>Using Ardour as an MTC Slave</title>
- <orderedlist>
- <listitem>
- <para>
- ensure that you have defined at least one MIDI port in your ardour.rc
- file. The default configuration includes a single port that is part of
- the ALSA MIDI router/sequencer system.
- </para>
- </listitem>
- <listitem>
- <para>
- open the Options Editor.
- </para>
- </listitem>
- <listitem>
- <para>
- switch to the <guilabel>MIDI</guilabel> tab.
- </para>
- </listitem>
- <listitem>
- <para>
- if you have more than one MIDI port, click on the button in the <guilabel>MTC</guilabel> column
- for the port you plan where MTC will be received.
- </para>
- </listitem>
- <listitem>
- <para>
- if you have more than one MIDI port, then you should probably click on
- the button in the <guilabel>MMC</guilabel> column for the port you plan where MMC will be
- received. This is not required, but many devices that send MTC also send
- MIDI Machine Control commands and may not be able to control Ardour
- correctly unless Ardour is also responding to MMC.
- </para>
- </listitem>
- <listitem>
- <para>
- switch to the <guilabel>Sync</guilabel> tab. Open the <guilabel>Positional Sync</guilabel> selector to see the
- list of possible sources of timeline synchronization:
- </para>
- <variablelist>
- <title>Syncronization Options</title>
- <varlistentry>
- <term>Internal</term>
- <listitem>
- <para>
- use Ardour's own sense of position and time
- </para>
- </listitem>
- </varlistentry>
+ <section id="ardour-as-mtc-slave">
+ <title>Using Ardour as an MTC Slave</title>
+ <orderedlist>
+ <listitem>
+ <para>
+ ensure that you have defined at least one MIDI port in your
+ ardour.rc file. The default configuration includes a single port
+ that is part of the ALSA MIDI router/sequencer system.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ open the Options Editor.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ switch to the <guilabel>MIDI</guilabel> tab.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ if you have more than one MIDI port, click on the button in the
+ <guilabel>MTC</guilabel> column for the port you plan where MTC
+ will be received.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ if you have more than one MIDI port, then you should probably
+ click on the button in the <guilabel>MMC</guilabel> column for the
+ port you plan where MMC will be received. This is not required,
+ but many devices that send MTC also send MIDI Machine Control
+ commands and may not be able to control Ardour correctly unless
+ Ardour is also responding to MMC.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ switch to the <guilabel>Sync</guilabel> tab. Open the
+ <guilabel>Positional Sync</guilabel> selector to see the list of
+ possible sources of timeline synchronization:
+ </para>
- <varlistentry>
- <term>Slave to JACK</term>
- <listitem>
- <para>
- follow JACK Transport information
- </para>
- </listitem>
- </varlistentry>
+ <variablelist>
+ <title>Syncronization Options</title>
+ <varlistentry>
+ <term>Internal</term>
+ <listitem>
+ <para>
+ use Ardour's own sense of position and time
+ </para>
+ </listitem>
+ </varlistentry>
- <varlistentry>
- <term>Slave to MTC</term>
- <listitem>
- <para>
- follow incoming MTC information
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- <listitem>
- <para>
- choose <guimenuitem>Slave to MTC</guimenuitem>
- </para>
- </listitem>
- </orderedlist>
- <para>
- To test that Ardour is now slaved, press the <guibutton>Play</guibutton> button on the MTC
- master, or some other action that will cause it to start transmitting MTC.
- Ardour should jump to the position indicated by incoming MTC, and start
- playing. Press <guibutton>Stop</guibutton> on the master (or do some other action that will
- cause the master to stop sending MTC) and Ardour should stop at the precise
- time indicated by the master.
- </para>
- </section>
+ <varlistentry>
+ <term>Slave to JACK</term>
+ <listitem>
+ <para>
+ follow JACK Transport information
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Slave to MTC</term>
+ <listitem>
+ <para>
+ follow incoming MTC information
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </listitem>
+ <listitem>
+ <para>
+ choose <guimenuitem>Slave to MTC</guimenuitem>
+ </para>
+ </listitem>
+ </orderedlist>
+ <para>
+ To test that Ardour is now slaved, press the
+ <guibutton>Play</guibutton> button on the MTC master, or some other
+ action that will cause it to start transmitting MTC. Ardour should
+ jump to the position indicated by incoming MTC, and start playing.
+ Press <guibutton>Stop</guibutton> on the master (or do some other
+ action that will cause the master to stop sending MTC) and Ardour
+ should stop at the precise time indicated by the master.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/vst_plugins.xml b/manual/xml/vst_plugins.xml
index 8bff5a2b27..476b5fbb5d 100644
--- a/manual/xml/vst_plugins.xml
+++ b/manual/xml/vst_plugins.xml
@@ -5,44 +5,45 @@
]>
<section id="sn-vst-plugins">
- <title>Using VST Plugins</title>
- <section id="vst-why-so-hard">
- <title>Why is this harder than it should be?</title>
- <para>
- The owners of VST (Steinberg Technologies, now owned by Yamaha) give VST
- away to developers for free. Sounds great, but they do not those same
- developers the ability to pass what they get from Steinberg on to other
- developers.
- </para>
+ <title>Using VST Plugins</title>
+ <section id="vst-why-so-hard">
+ <title>Why is this harder than it should be?</title>
+ <para>
+ The owners of VST (Steinberg Technologies, now owned by Yamaha) give
+ VST away to developers for free. Sounds great, but they do not those
+ same developers the ability to pass what they get from Steinberg on to
+ other developers.
+ </para>
- <para>
- This conflicts with the terms of the license for Ardour and several
- software libraries used by Ardour. Steinberg have said quite often that
- they are not opposed in principle to changing their license to allow
- redistribution, but as of mid-summer 2006, it has not happened yet.
- </para>
+ <para>
+ This conflicts with the terms of the license for Ardour and several
+ software libraries used by Ardour. Steinberg have said quite often
+ that they are not opposed in principle to changing their license to
+ allow redistribution, but as of mid-summer 2006, it has not happened
+ yet.
+ </para>
- <para>
- All of this means that it is <emphasis>illegal</emphasis> for anyone to
- distribute a binary (ready-to-run) version of Ardour with support for VST
- plugins built in. If you want to use Ardour with VST plugins, you must
- <emphasis>compile it yourself</emphasis>.
- </para>
+ <para>
+ All of this means that it is <emphasis>illegal</emphasis> for anyone
+ to distribute a binary (ready-to-run) version of Ardour with support
+ for VST plugins built in. If you want to use Ardour with VST plugins,
+ you must <emphasis>compile it yourself</emphasis>.
+ </para>
- <para>
- This is not a trivial undertaking; see our
- <emphasis>build page</emphasis>
- for a full explanation even without VST support. This page documents some
- more required steps for the build if you want to include VST support.
- </para>
- </section>
+ <para>
+ This is not a trivial undertaking; see our <emphasis>build
+ page</emphasis> for a full explanation even without VST support. This
+ page documents some more required steps for the build if you want to
+ include VST support.
+ </para>
+ </section>
- <section id="building-ardour-with-vst-support">
- <title>Getting a version of Ardour with VST support</title>
- <para>
- ... to be completed.
- </para>
- </section>
+ <section id="building-ardour-with-vst-support">
+ <title>Getting a version of Ardour with VST support</title>
+ <para>
+ ... to be completed.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/what_is_different_about_ardour.xml b/manual/xml/what_is_different_about_ardour.xml
index 970eb369b6..ff41c30578 100644
--- a/manual/xml/what_is_different_about_ardour.xml
+++ b/manual/xml/what_is_different_about_ardour.xml
@@ -5,123 +5,127 @@
]>
<section id="sn-what-is-different-about-ardour">
- <title>What's Different about Ardour</title>
- <para>
- If you are someone who has used other audio software, particularly software
- generally referred to as a Digital Audio Workstation (or "DAW"), then there
- will be a number of things about Ardour that may puzzle you on your initial
- and early encounters with the program.
- </para>
+ <title>What's Different about Ardour</title>
+ <para>
+ If you are someone who has used other audio software, particularly
+ software generally referred to as a Digital Audio Workstation (or
+ "DAW"), then there will be a number of things about Ardour that may
+ puzzle you on your initial and early encounters with the program.
+ </para>
- <section id="no-default-session">
- <title>No default session</title>
- <para>
- You must explicitly create a
- <glossterm linkend="gt-session">Session</glossterm> before you can do
- anything else, and if you choose not to use one of the provided
- <glossterm linkend="gt-session-template">session templates</glossterm> ,
- you will also have to create
- <glossterm linkend="gt-track">tracks</glossterm> and
- <glossterm linkend="gt-bus">busses</glossterm> in order to record and/or
- edit existing audio material.
- </para>
- </section>
+ <section id="no-default-session">
+ <title>No default session</title>
+ <para>
+ You must explicitly create a
+ <glossterm linkend="gt-session">Session</glossterm> before you can do
+ anything else, and if you choose not to use one of the provided
+ <glossterm linkend="gt-session-template">session templates</glossterm>
+ , you will also have to create
+ <glossterm linkend="gt-track">tracks</glossterm> and
+ <glossterm linkend="gt-bus">busses</glossterm> in order to record
+ and/or edit existing audio material.
+ </para>
+ </section>
- <section id="where-do-plugins-and-sends-go">
- <title>Where do plugins and sends go?</title>
- <para>
- Ardour doesn't have any fixed number of "slots" for
- <glossterm linkend="gt-plugin">plugins</glossterm>, or
- <glossterm linkend="gt-send">sends</glossterm>, or
- <glossterm linkend="gt-insert">inserts</glossterm> : you can have as many
- per-track as your system has the horsepower handle. The two black boxes
- above and below the mixer strip's gain fader are
- <glossterm linkend="gt-redirect">redirect</glossterm> lists where you can
- add, reorder, remove and generally control plugins, sends, and inserts,
- both pre- and post-fader.
- </para>
- </section>
+ <section id="where-do-plugins-and-sends-go">
+ <title>Where do plugins and sends go?</title>
+ <para>
+ Ardour doesn't have any fixed number of "slots" for
+ <glossterm linkend="gt-plugin">plugins</glossterm>, or
+ <glossterm linkend="gt-send">sends</glossterm>, or
+ <glossterm linkend="gt-insert">inserts</glossterm> : you can have as
+ many per-track as your system has the horsepower handle. The two black
+ boxes above and below the mixer strip's gain fader are
+ <glossterm linkend="gt-redirect">redirect</glossterm> lists where you
+ can add, reorder, remove and generally control plugins, sends, and
+ inserts, both pre- and post-fader.
+ </para>
+ </section>
- <section id="no-builtin-eq">
- <title>No builtin EQ</title>
- <para>
- Most people don't think much of the EQ's built into other DAWs. Moreover,
- you cannot meaningfully do equalization with 3 knobs marked "Lo", "Mid" and
- "Hi". Since good-quality EQ plugins are available for no-cost on Linux,
- Ardour prefers to allow you to choose one which you prefer. Of course, you
- can save your session configurations as templates, so if you have a
- particular EQ that you prefer, you only need do this once.
- </para>
- </section>
+ <section id="no-builtin-eq">
+ <title>No builtin EQ</title>
+ <para>
+ Most people don't think much of the EQ's built into other DAWs.
+ Moreover, you cannot meaningfully do equalization with 3 knobs marked
+ "Lo", "Mid" and "Hi". Since good-quality EQ plugins are available for
+ no-cost on Linux, Ardour prefers to allow you to choose one which you
+ prefer. Of course, you can save your session configurations as
+ templates, so if you have a particular EQ that you prefer, you only
+ need do this once.
+ </para>
+ </section>
- <section id="no-visible-send-controls">
- <title>No visible send controls</title>
- <para>
- Although Ardour supports sends, there is no way to control them directly
- from the mixer interface - you don't get a dedicated knob on the mixer
- strip. However, if you bring up the send's own editor (for example, by
- double-clicking on its name in the redirect list), you will find a richer
- set of functionality than most other DAWs offer for controlling the
- behaviour of a send.
- </para>
- </section>
+ <section id="no-visible-send-controls">
+ <title>No visible send controls</title>
+ <para>
+ Although Ardour supports sends, there is no way to control them
+ directly from the mixer interface - you don't get a dedicated knob on
+ the mixer strip. However, if you bring up the send's own editor (for
+ example, by double-clicking on its name in the redirect list), you
+ will find a richer set of functionality than most other DAWs offer for
+ controlling the behaviour of a send.
+ </para>
+ </section>
- <section id="a-smaller-set-of-tools">
- <title>A smaller set of tools</title>
- <para>
- Most DAWs have evolved towards providing the so-called "smart tool" which
- allows you to use the mouse for several different kinds of operations
- without changing to a different tool. Ardour has taken this approach from
- the beginning, so that the "Object" tool actually allows you to carry out
- many different operations depending on how and where the mouse is used.
- Ardour does not provide a destructive "pencil" tool as some other DAWs do,
- for some fairly deep technical reasons. Needing to use a "pencil" tool for
- waveform repair nearly always indicates a problem with the setup of your
- session and/or recording hardware. The different tools that ardour does
- offer include the "Object" tool which has many different uses including
- region trimming/moving/copying, automation editing, and more; a "Range"
- tool for defining ranges of time; a "TimeFX" tool for timestretching; a
- "Gain" tool used exclusively for editing region gain envelopes; and a
- "Zoom" tool to manipulate temporal zoom. Many other operations are
- accessible via context menus or <link linkend="sn-key-bindings">keyboard
- bindings</link>
+ <section id="a-smaller-set-of-tools">
+ <title>A smaller set of tools</title>
+ <para>
+ Most DAWs have evolved towards providing the so-called "smart tool"
+ which allows you to use the mouse for several different kinds of
+ operations without changing to a different tool. Ardour has taken this
+ approach from the beginning, so that the "Object" tool actually allows
+ you to carry out many different operations depending on how and where
+ the mouse is used. Ardour does not provide a destructive "pencil" tool
+ as some other DAWs do, for some fairly deep technical reasons. Needing
+ to use a "pencil" tool for waveform repair nearly always indicates a
+ problem with the setup of your session and/or recording hardware. The
+ different tools that ardour does offer include the "Object" tool which
+ has many different uses including region trimming/moving/copying,
+ automation editing, and more; a "Range" tool for defining ranges of
+ time; a "TimeFX" tool for timestretching; a "Gain" tool used
+ exclusively for editing region gain envelopes; and a "Zoom" tool to
+ manipulate temporal zoom. Many other operations are accessible via
+ context menus or <link linkend="sn-key-bindings">keyboard
+ bindings</link>
<!--
a href="/manual/intro/mouse_and_keyboard">keyboard bindings/a
-->
- .
- </para>
- </section>
+ .
+ </para>
+ </section>
- <section id="no-restrictions-on-track-io-configuration">
- <title>No restrictions on track I/O configuration</title>
- <para>
- Tracks and busses in ardour do not come in pre-determined configurations.
- You can create a mono track, and convert it to a stereo track at any time.
- You can convert it to a track with 3 inputs and 7 outputs if you want,
- because Ardour also doesn't restrict track I/O configurations to a fixed
- set of mono/stereo/5.1/7.1 etc. In addition, because of Ardour's use of
- <link linkend="sn-configuring-jack">JACK</link> , a track with one input
- can actually receive data from many different locations. You can also
- connect any track to any number of other tracks and busses. In Ardour, the
- only difference between a track and a bus is that a track plays back
- pre-recorded material from your disk drives and can record to them. Both
- tracks and busses can have plugins, sends, inserts, automation data and
- more.
- </para>
- </section>
+ <section id="no-restrictions-on-track-io-configuration">
+ <title>No restrictions on track I/O configuration</title>
+ <para>
+ Tracks and busses in ardour do not come in pre-determined
+ configurations. You can create a mono track, and convert it to a
+ stereo track at any time. You can convert it to a track with 3 inputs
+ and 7 outputs if you want, because Ardour also doesn't restrict track
+ I/O configurations to a fixed set of mono/stereo/5.1/7.1 etc. In
+ addition, because of Ardour's use of
+ <link linkend="sn-configuring-jack">JACK</link> , a track with one
+ input can actually receive data from many different locations. You can
+ also connect any track to any number of other tracks and busses. In
+ Ardour, the only difference between a track and a bus is that a track
+ plays back pre-recorded material from your disk drives and can record
+ to them. Both tracks and busses can have plugins, sends, inserts,
+ automation data and more.
+ </para>
+ </section>
- <section id="your-audio-hardware-is-not-the-only-io-option">
- <title>Your audio hardware is not the only I/O option</title>
- <para>
- Because Ardour uses <glossterm linkend="gt-jack">JACK</glossterm> , your
- session isn't limited to receiving and sending audio to and from your audio
- interface. It can freely send and receive audio signals to any other JACK
- application, in some cases even JACK applications running on other
- computers. On the one hand, this makes understanding the I/O options for a
- track or bus a little more complex than in a conventional program, but it
- also adds incredible power to Ardour, as you will see later.
- </para>
- </section>
+ <section id="your-audio-hardware-is-not-the-only-io-option">
+ <title>Your audio hardware is not the only I/O option</title>
+ <para>
+ Because Ardour uses <glossterm linkend="gt-jack">JACK</glossterm> ,
+ your session isn't limited to receiving and sending audio to and from
+ your audio interface. It can freely send and receive audio signals to
+ any other JACK application, in some cases even JACK applications
+ running on other computers. On the one hand, this makes understanding
+ the I/O options for a track or bus a little more complex than in a
+ conventional program, but it also adds incredible power to Ardour, as
+ you will see later.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/why_is_it_called_ardour.xml b/manual/xml/why_is_it_called_ardour.xml
index c4b56f2819..55b659958a 100644
--- a/manual/xml/why_is_it_called_ardour.xml
+++ b/manual/xml/why_is_it_called_ardour.xml
@@ -5,201 +5,216 @@
]>
<section id="sn-why-is-it-called-ardour">
- <title>Why is it called "Ardour" and other questions</title>
- <section id="why-ardour">
- <title>Why "Ardour" ?</title>
- <para>
- The name "Ardour" came from considerations of how to pronounce the acronym
- <glossterm linkend="gt-hdr">HDR</glossterm> (Hard Disk Recorder). The most obvious attempt sounds like a
- vowelless "harder" and it then was then a short step to an unrelated by
- slightly homophonic word:
- </para>
-
- <para>
- <emphasis>ardour</emphasis>
- <quote>
- n 1: a feeling of strong eagerness (usually in favor of a person or
- cause); "they were imbued with a revolutionary ardor"; "he felt a kind of
- religious zeal" [syn: ardor, elan, zeal] 2: intense feeling of love [syn:
- ardor] 3: feelings of great warmth and intensity; "he spoke with great
- ardor" [syn: ardor, fervor, fervour, fervency, fire, fervidness]
- </quote>
- </para>
-
- <para>
- Given the work required to develop Ardour, and the personality of its
- primary author, the name seemed appropriate even without the vague
- relationship to <glossterm linkend="gt-hdr">HDR</glossterm> .
- </para>
-
- <para>
- 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 <glossterm linkend="gt-daw">Digital Audio Workstation</glossterm> whose source code and design belongs to a
- group of collaborators.
- </para>
- </section>
-
- <section id="why-write-another-daw">
- <title>Why write another DAW?</title>
- <para>
- 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. 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:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- they do not run on Linux
- </para>
- </listitem>
- <listitem>
- <para>
- they are not available in source code form, making modifications,
- improvements, bugfixes by technically inclined users or their friends or
- consultants impossible.
- </para>
- </listitem>
- </itemizedlist>
- </section>
-
- <section id="why-linux-and-osx">
- <title>Why Linux (and OS X) ?</title>
- <para>
- Not running on Linux is understandable, 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:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- older versions of Windows: plagued by abysmal stability and appalling
- security
- </para>
- </listitem>
- <listitem>
- <para>
- Windows XP: finally, a version of Windows that seems stable but still
- suffers from incredible security problems
- </para>
- </listitem>
- <listitem>
- <para>
- 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.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- Security matters today, and will matter more in the future as more and more
- live or semi-live network based collaborations take place.
- </para>
-
- <para>
- Let's contrast this with Linux, an operating system which:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- can stay up for months (or even years) without issues
- </para>
- </listitem>
- <listitem>
- <para>
- is endlessly configurable down to the tiniest detail
- </para>
- </listitem>
- <listitem>
- <para>
- 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)
- </para>
- </listitem>
- <listitem>
- <para>
- is fast and efficient
- </para>
- </listitem>
- <listitem>
- <para>
- runs on almost any computing platform ever created, including old "slow"
- systems
- </para>
- </listitem>
- <listitem>
- <para>
- is one of the most secure operating systems "out of the box"
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- More than anything, however, Ardour's primary author uses Linux and wanted
- a DAW that ran there.
- </para>
-
- <para>
- 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. 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.
- </para>
- </section>
-
- <section id="why-doesnt-ardour-run-on-windows">
- <title>Why doesn't Ardour run on Windows ?</title>
- <para>
- There have been several discussions about porting Ardour to Windows. The
- obstacles are relatively few in number, but rather substantial in
- significance. Ardour was written to run on operating systems that properly
- and efficiently support a portable operating system standard called <glossterm linkend="gt-posix">POSIX</glossterm>
- (endorsed by the US government and many other large organizations). Linux
- and OS X both do a good job of supporting POSIX, but Windows does not. In
- particular, the efficiency with which Windows handles certain aspects of
- the POSIX standard makes it very hard to port Ardour to that platform. It
- is not impossible that we will port Ardour at some point, but Windows
- continues to be a rather unsuitable platform for pro-audio work despite the
- improvements that have been made to it in the last few years.
- </para>
- </section>
-
- <section id="need-dsp-hardware">
- <title>Don't I need DSP hardware to run a good DAW?</title>
- <para>
- Please see XXX
- for a discussion of the merits of dedicated DSP hardware.
- </para>
- </section>
-
- <section id="ardour-is-complicated">
- <title>Isn't this a really complicated program?</title>
- <para>
- 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 we have more to do in this area, as well
- as polishing the user interface to improve its intuitiveness and work flow
- characteristics. 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 for basic audio
- concepts and a robust mental model/metaphor of what you are doing. Ardour
- is not a simple "audio recorder" - you can certainly use it to record
- stereo (or even mono) material in a single track, but the program has been
- designed around much richer capabilities than this.
- </para>
- </section>
+ <title>Why is it called "Ardour" and other questions</title>
+ <section id="why-ardour">
+ <title>Why "Ardour" ?</title>
+ <para>
+ The name "Ardour" came from considerations of how to pronounce the
+ acronym <glossterm linkend="gt-hdr">HDR</glossterm> (Hard Disk
+ Recorder). The most obvious attempt sounds like a vowelless "harder"
+ and it then was then a short step to an unrelated by slightly
+ homophonic word:
+ </para>
+
+ <para>
+ <emphasis>ardour</emphasis>
+ <quote>
+ n 1: a feeling of strong eagerness (usually in favor of a person or
+ cause); "they were imbued with a revolutionary ardor"; "he felt a
+ kind of religious zeal" [syn: ardor, elan, zeal] 2: intense feeling
+ of love [syn: ardor] 3: feelings of great warmth and intensity; "he
+ spoke with great ardor" [syn: ardor, fervor, fervour, fervency,
+ fire, fervidness]
+ </quote>
+ </para>
+
+ <para>
+ Given the work required to develop Ardour, and the personality of its
+ primary author, the name seemed appropriate even without the vague
+ relationship to <glossterm linkend="gt-hdr">HDR</glossterm> .
+ </para>
+
+ <para>
+ 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 <glossterm linkend="gt-daw">Digital Audio
+ Workstation</glossterm> whose source code and design belongs to a
+ group of collaborators.
+ </para>
+ </section>
+
+ <section id="why-write-another-daw">
+ <title>Why write another DAW?</title>
+ <para>
+ 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. 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:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ they do not run on Linux
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ they are not available in source code form, making modifications,
+ improvements, bugfixes by technically inclined users or their
+ friends or consultants impossible.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+
+ <section id="why-linux-and-osx">
+ <title>Why Linux (and OS X) ?</title>
+ <para>
+ Not running on Linux is understandable, 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:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ older versions of Windows: plagued by abysmal stability and
+ appalling security
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Windows XP: finally, a version of Windows that seems stable but
+ still suffers from incredible security problems
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ 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.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ Security matters today, and will matter more in the future as more and
+ more live or semi-live network based collaborations take place.
+ </para>
+
+ <para>
+ Let's contrast this with Linux, an operating system which:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ can stay up for months (or even years) without issues
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ is endlessly configurable down to the tiniest detail
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ 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)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ is fast and efficient
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ runs on almost any computing platform ever created, including old
+ "slow" systems
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ is one of the most secure operating systems "out of the box"
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ More than anything, however, Ardour's primary author uses Linux and
+ wanted a DAW that ran there.
+ </para>
+
+ <para>
+ 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. 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.
+ </para>
+ </section>
+
+ <section id="why-doesnt-ardour-run-on-windows">
+ <title>Why doesn't Ardour run on Windows ?</title>
+ <para>
+ There have been several discussions about porting Ardour to Windows.
+ The obstacles are relatively few in number, but rather substantial in
+ significance. Ardour was written to run on operating systems that
+ properly and efficiently support a portable operating system standard
+ called <glossterm linkend="gt-posix">POSIX</glossterm> (endorsed by
+ the US government and many other large organizations). Linux and OS X
+ both do a good job of supporting POSIX, but Windows does not. In
+ particular, the efficiency with which Windows handles certain aspects
+ of the POSIX standard makes it very hard to port Ardour to that
+ platform. It is not impossible that we will port Ardour at some point,
+ but Windows continues to be a rather unsuitable platform for pro-audio
+ work despite the improvements that have been made to it in the last
+ few years.
+ </para>
+ </section>
+
+ <section id="need-dsp-hardware">
+ <title>Don't I need DSP hardware to run a good DAW?</title>
+ <para>
+ Please see XXX for a discussion of the merits of dedicated DSP
+ hardware.
+ </para>
+ </section>
+
+ <section id="ardour-is-complicated">
+ <title>Isn't this a really complicated program?</title>
+ <para>
+ 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 we have more to do in this
+ area, as well as polishing the user interface to improve its
+ intuitiveness and work flow characteristics. 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 for basic audio concepts and a robust
+ mental model/metaphor of what you are doing. Ardour is not a simple
+ "audio recorder" - you can certainly use it to record stereo (or even
+ mono) material in a single track, but the program has been designed
+ around much richer capabilities than this.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/working_with_crossfades.xml b/manual/xml/working_with_crossfades.xml
index c82d6d7f27..412da4b844 100644
--- a/manual/xml/working_with_crossfades.xml
+++ b/manual/xml/working_with_crossfades.xml
@@ -5,214 +5,218 @@
]>
<section id="sn-working-with-crossfades">
- <title>Working with Crossfades</title>
- <para>
- Whenever you arrange any two audio regions so that they overlap in any way,
- you create the potential for a <link linkend="gt-crossfade">crossfade</link> between them:
- a smooth transition from one region to the other. Crossfades in Ardour are
- generated in realtime, and are not stored on disk. They are objects within a
- playlist just like regions, except that the only way to create a crossfade
- is by overlapping two regions, and the only way to remove a crossfade is to
- move one or both of the regions so that they no longer overlap. Note that
- crossfades are not always audible (they can be muted and unmuted at will),
- and can be edited in a variety of ways. We think of a crossfade as
- consisting of an overlap between two regions, plus two gain control curves
- that control the volume of the incoming and outgoing regions during the
- crossfade.
- </para>
-
- <section id="crossfade-types">
- <title>Types of crossfades</title>
- <para>
- Ardour comes with two basic kinds of crossfades, termed <emphasis>short
- crossfades</emphasis> and <emphasis>full crossfades</emphasis> . A full
- crossfade is a transition between two regions that spans the entire overlap
- between them. If the overlap is 2 seconds long, then the crossfade is 2
- seconds long. A short crossfade is a transition between two regions that
- lasts a fixed amount of time and serves simply to avoid audio glitches at
- the boundary of the two regions. The length of a short crossfade is a
- session-wide parameter than can be set via the <emphasis>option
- editor</emphasis> . The default is 15ms, and the length can vary from 1
- milliseconds to 0.5 seconds. In the current version of Ardour, it is not
- possible to change the length of a short becrossfade after it has been
- created, but it is possible to change most short crossfades to a full
- crossfade and vice versa. Full crossfades can have their length altered by
- changing the extent of the overlap between the two regions.
- </para>
-
- <para>
- Note that even though the absolute length of the crossfade is fixed,
- crossfades can be <emphasis>edited</emphasis> with complete freedom,
- allowing you change the effective length of a crossfade by altering the
- shapes of the fade in and fade out curves.
- </para>
- </section>
-
- <section id="crossfade-overlaps">
- <title>Overlaps</title>
- <para>
- There are several different ways to overlap two regions, and they result in
- different kinds of crossfades being placed at the boundaries of the two
- regions:
- </para>
-
- <section id="external-overlaps">
- <title>External overlaps</title>
- <para>
- An "external" overlap occurs when a region starts within another region,
- but extends beyond the other's end.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/overlaplaterhigher.png"/>
- </imageobject>
- </mediaobject>
-
- <para>
- Overlaps like this will cause an xfade to be placed at the start of the
- later region. Whether it is a full or short crossfade is controlled by the
- current crossfade type preference. If short crossfades have been chosen,
- the crossfade will last for the current short crossfade duration;
- otherwise the full crossfade will last for the entire overlap. The mute
- status of the crossfade will depend on the current state of the "New
- crossfades are muted" setting.
- </para>
-
- <para>
- In the example above, the later region is above the earlier one. It is
- also possible to create an overlap where the earlier region is in a higher
- layer:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/overlapearlyhigher.png"/>
- </imageobject>
- </mediaobject>
- <para>
- For an overlap of this type, the current crossfade type preference affects
- the placement of the crossfade. If full crossfades have been chosen, the
- crossfade will be placed at the start of the later region and will last
- for the entire overlap. If short crossfades have been chosen, the
- crossfade will start just before the end of the earlier region and will
- last for the chosen short crossfade duration. The mute status of the
- crossfade will depend on the current state of the "New crossfades are
- muted" setting.
- </para>
- </section>
-
- <section id="internal-overlaps">
- <title>Internal overlaps</title>
- <para>
- An "internal" overlap occurs when the start and end of one region both
- occur within the duration of another.
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/internalhigheroverlap.png"/>
- </imageobject>
- </mediaobject>
-
- <para>
- Overlaps of this type will cause two short crossfades to be place at the
- start of the later region and close to its end. Both crossfades will last
- for the current short crossfade duration, and are created in an un-muted
- state. These crossfades <emphasis>cannot</emphasis> be converted to full
- crossfades. It is important to realize that the purpose of these two
- crossfades is a little different than those created for the single-ended
- overlap cases above. They are created solely to avoid audio glitches at
- the transitions between the two regions, and are not intended to
- facilitate interesting crossfades between the upper and lower region.
- </para>
-
- <para>
- Notice that in the example above, the shorter region is above the longer
- one. It is also possible to create the following type of overlap, where
- the shorter region is below the longer one:
- </para>
- <mediaobject>
- <imageobject>
- <imagedata fileref="images/internalloweroverlap.png"/>
- </imageobject>
- </mediaobject>
-
- <para>
- Overlaps of this type will not cause any crossfades to be created. The
- uppermost region will be audible throughout its duration; the lowermost
- region will not be audible at all.
- </para>
- </section>
- </section>
-
- <section id="creating-crossfades">
- <title>Creating Crossfades</title>
- <para>
- To create a crossfade between two regions, move them so that they overlap.
- A crossfade is automatically created within the overlap (possibly two,
- dependening on the type of overlap, as explained above). Whether the
- crossfade is muted or not depends on two things:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- if the current crossfade type is set to "Short", the new crossfade will
- be created in an un-muted state
- </para>
- </listitem>
- <listitem>
- <para>
- if the current crossfade type is set to "Full", the mute status of the
- new crossfade is controlled from the <emphasis>option editor</emphasis>
- on the "Layers&amp;Fades" control panel. If "New crossfades are unmuted",
- the new crossfade will be unmuted.
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- A muted crossfade is not directly visible in the editor window, but can be
- accessed by context clicking within the overlap that it relates to. An
- unmuted crossfade has a yellow background that covers the entire overlap
- (to make its presence obvious at all times), and a pair of visible curves
- that show the gain control curves for the fade. These curves may not be
- visible at a particular zoom level, especially for short crossfades.
- </para>
- </section>
-
- <section id="editing-crossfades">
- <title>Editing Crossfades</title>
- <para>
- To carry out operations on a crossfade, context click anywhere in the
- overlap. For the short crossfades in the "internal" overlap case, you will
- need to zoom in until the crossfade becomes visible, and then context click
- on it. Each crossfade under the mouse pointer (there is normally only one)
- will appear in the context menu, and will lead to a submenu offering the
- following options:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- Mute/Unmute the crossfade
- </para>
- </listitem>
- <listitem>
- <para>
- Edit the crossfade
- </para>
- </listitem>
- <listitem>
- <para>
- change the crossfade from short to full or vice versa
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- The last option is not available for the short crossfades in the "internal"
- overlap case.
- </para>
- </section>
+ <title>Working with Crossfades</title>
+ <para>
+ Whenever you arrange any two audio regions so that they overlap in any
+ way, you create the potential for a
+ <link linkend="gt-crossfade">crossfade</link> between them: a smooth
+ transition from one region to the other. Crossfades in Ardour are
+ generated in realtime, and are not stored on disk. They are objects
+ within a playlist just like regions, except that the only way to create
+ a crossfade is by overlapping two regions, and the only way to remove a
+ crossfade is to move one or both of the regions so that they no longer
+ overlap. Note that crossfades are not always audible (they can be muted
+ and unmuted at will), and can be edited in a variety of ways. We think
+ of a crossfade as consisting of an overlap between two regions, plus two
+ gain control curves that control the volume of the incoming and outgoing
+ regions during the crossfade.
+ </para>
+
+ <section id="crossfade-types">
+ <title>Types of crossfades</title>
+ <para>
+ Ardour comes with two basic kinds of crossfades, termed
+ <emphasis>short crossfades</emphasis> and <emphasis>full
+ crossfades</emphasis> . A full crossfade is a transition between two
+ regions that spans the entire overlap between them. If the overlap is
+ 2 seconds long, then the crossfade is 2 seconds long. A short
+ crossfade is a transition between two regions that lasts a fixed
+ amount of time and serves simply to avoid audio glitches at the
+ boundary of the two regions. The length of a short crossfade is a
+ session-wide parameter than can be set via the <emphasis>option
+ editor</emphasis> . The default is 15ms, and the length can vary from
+ 1 milliseconds to 0.5 seconds. In the current version of Ardour, it is
+ not possible to change the length of a short becrossfade after it has
+ been created, but it is possible to change most short crossfades to a
+ full crossfade and vice versa. Full crossfades can have their length
+ altered by changing the extent of the overlap between the two regions.
+ </para>
+
+ <para>
+ Note that even though the absolute length of the crossfade is fixed,
+ crossfades can be <emphasis>edited</emphasis> with complete freedom,
+ allowing you change the effective length of a crossfade by altering
+ the shapes of the fade in and fade out curves.
+ </para>
+ </section>
+
+ <section id="crossfade-overlaps">
+ <title>Overlaps</title>
+ <para>
+ There are several different ways to overlap two regions, and they
+ result in different kinds of crossfades being placed at the boundaries
+ of the two regions:
+ </para>
+
+ <section id="external-overlaps">
+ <title>External overlaps</title>
+ <para>
+ An "external" overlap occurs when a region starts within another
+ region, but extends beyond the other's end.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/overlaplaterhigher.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ Overlaps like this will cause an xfade to be placed at the start of
+ the later region. Whether it is a full or short crossfade is
+ controlled by the current crossfade type preference. If short
+ crossfades have been chosen, the crossfade will last for the current
+ short crossfade duration; otherwise the full crossfade will last for
+ the entire overlap. The mute status of the crossfade will depend on
+ the current state of the "New crossfades are muted" setting.
+ </para>
+
+ <para>
+ In the example above, the later region is above the earlier one. It
+ is also possible to create an overlap where the earlier region is in
+ a higher layer:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/overlapearlyhigher.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ For an overlap of this type, the current crossfade type preference
+ affects the placement of the crossfade. If full crossfades have been
+ chosen, the crossfade will be placed at the start of the later
+ region and will last for the entire overlap. If short crossfades
+ have been chosen, the crossfade will start just before the end of
+ the earlier region and will last for the chosen short crossfade
+ duration. The mute status of the crossfade will depend on the
+ current state of the "New crossfades are muted" setting.
+ </para>
+ </section>
+
+ <section id="internal-overlaps">
+ <title>Internal overlaps</title>
+ <para>
+ An "internal" overlap occurs when the start and end of one region
+ both occur within the duration of another.
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/internalhigheroverlap.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ Overlaps of this type will cause two short crossfades to be place at
+ the start of the later region and close to its end. Both crossfades
+ will last for the current short crossfade duration, and are created
+ in an un-muted state. These crossfades <emphasis>cannot</emphasis>
+ be converted to full crossfades. It is important to realize that the
+ purpose of these two crossfades is a little different than those
+ created for the single-ended overlap cases above. They are created
+ solely to avoid audio glitches at the transitions between the two
+ regions, and are not intended to facilitate interesting crossfades
+ between the upper and lower region.
+ </para>
+
+ <para>
+ Notice that in the example above, the shorter region is above the
+ longer one. It is also possible to create the following type of
+ overlap, where the shorter region is below the longer one:
+ </para>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="images/internalloweroverlap.png"/>
+ </imageobject>
+ </mediaobject>
+ <para>
+ Overlaps of this type will not cause any crossfades to be created.
+ The uppermost region will be audible throughout its duration; the
+ lowermost region will not be audible at all.
+ </para>
+ </section>
+ </section>
+
+ <section id="creating-crossfades">
+ <title>Creating Crossfades</title>
+ <para>
+ To create a crossfade between two regions, move them so that they
+ overlap. A crossfade is automatically created within the overlap
+ (possibly two, dependening on the type of overlap, as explained
+ above). Whether the crossfade is muted or not depends on two things:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ if the current crossfade type is set to "Short", the new crossfade
+ will be created in an un-muted state
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ if the current crossfade type is set to "Full", the mute status of
+ the new crossfade is controlled from the <emphasis>option
+ editor</emphasis> on the "Layers&amp;Fades" control panel. If "New
+ crossfades are unmuted", the new crossfade will be unmuted.
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ A muted crossfade is not directly visible in the editor window, but
+ can be accessed by context clicking within the overlap that it relates
+ to. An unmuted crossfade has a yellow background that covers the
+ entire overlap (to make its presence obvious at all times), and a pair
+ of visible curves that show the gain control curves for the fade.
+ These curves may not be visible at a particular zoom level, especially
+ for short crossfades.
+ </para>
+ </section>
+
+ <section id="editing-crossfades">
+ <title>Editing Crossfades</title>
+ <para>
+ To carry out operations on a crossfade, context click anywhere in the
+ overlap. For the short crossfades in the "internal" overlap case, you
+ will need to zoom in until the crossfade becomes visible, and then
+ context click on it. Each crossfade under the mouse pointer (there is
+ normally only one) will appear in the context menu, and will lead to a
+ submenu offering the following options:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ Mute/Unmute the crossfade
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Edit the crossfade
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ change the crossfade from short to full or vice versa
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ The last option is not available for the short crossfades in the
+ "internal" overlap case.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/working_with_layers.xml b/manual/xml/working_with_layers.xml
index 4f6d248d55..bd843ca305 100644
--- a/manual/xml/working_with_layers.xml
+++ b/manual/xml/working_with_layers.xml
@@ -5,142 +5,145 @@
]>
<section id="sn-working-with-layers">
- <title>Working with layers</title>
- <para>
- It is possible to arrange regions in a playlist (track) so that they overlap
- - one starts before another finishes, for example. Because of this, its
- important that there is a clear and understandable rule for what you will
- hear when playing back these kinds of region arrangements.
- </para>
-
- <para>
- Every region in a playlist is assigned to a layer. There can only ever be
- one region on a given layer, although rearranging the playlist (track) may
- change which region is on which layer. At any given point along the
- timeline, you will hear the uppermost region at that point.
- </para>
-
- <para>
- Of course, nothing in digital audio is ever quite that simple, and so of
- course there are some complications:
- </para>
-
- <section id="layers-crossfades">
- <title> Crossfades </title>
- <para>
- Whenever two regions overlap, there is the potential for a
- <link linkend="sn-working-with-crossfades">crossfade</link> between them.
- If the crossfade is not muted, then you will hear the contents of the
- crossfade during the overlap, not just the uppermost region.
- </para>
- </section>
-
- <section id="region-opacity">
- <title> Region Opacity </title>
- <para>
- In a perverse nod to image manipulation programs, Ardour allows you to make
- regions transparent. By default, all regions are created opaque, which
- means that when they are playing, no region below them are audible.
- However, if you change the region to be transparent, the region will be
- audible together with any regions below it. This capability should probably
- not be abused - if you really want to mix sounds together in this way, they
- should probably live in their own tracks. Occasionally though, this can be
- useful trick.
- </para>
-
- <para>
- To change the opacity of a region, popup the region's editor, accessible by
- context clicking on the region. Then click on the "opaque" button, turning
- it on or off as desired.
- </para>
- </section>
-
- <section id="layering-styles">
- <title> Layering Styles </title>
- <para>
- When you are recording new material for a track, its typical to want to new
- material recorded "over" existing material in the track to be what you hear
- on playback. For example, if you overdub part of a guitar solo, you
- normally want the overdub to be audible, not hidden by the old version that
- was already there. By contrast, when editing using
- splitting/trimming/moving of regions to create a particular arrangement
- along the timeline, many people find that they want regions that start
- later on the timeline to be the ones that are audible.
- </para>
-
- <para>
- To facilitate these two contradictory desires, Ardour features three
- different styles for assigning regions to layers.
- </para>
-
- <variablelist>
- <title></title>
- <varlistentry>
- <term>Most recently added regions are higher</term>
- <listitem>
- <para>
- Use this style when recording/overdubbing new material. Edits of any
- kind do not modify the layering.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Most recently added/moved/trimmed regions are higher</term>
- <listitem>
- <para>
- Use this style when recording/overdubbing new material, but you want
- basic edits to cause regions to rise to the top.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Later regions are higher</term>
- <listitem>
- <para>
- Use this style when rearranging and editing regions.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>
- A new session has the layering style set to "Most recently
- added/moved/trimmed regions are higher". To change the layering style, open
- the <emphasis>options editor</emphasis> and select the "Layers&amp;Fades"
- page. There is an option there to select the style you want. Layering style
- may be changed at any time. The existing layering of all playlists is not
- changed when changing the layering model.
- </para>
- </section>
-
- <section id="modifying-layering-by-hand">
- <title> Modifying Layering By Hand </title>
- <para>
- If you want a particular region to be the uppermost when the current
- layering style has put it on a lower layer, context click on the region.
- Select the region from the menu that pops up, and in the submenu that
- appears, choose one of "Move region to lowest layer" or "Move region to
- upper layer". The layering for the playlist will be recalculated to ensure
- that the region is on the layer you chose. Note: these operations only have
- any effect if using one of the "Most recently .." layer models.
- </para>
-
- <para>
- You can see the precise layer a region is assigned in the popup region
- editor, accessible by context clicking on the region.
- </para>
-
- <note>
- <para>
- At one time, Ardour offered more explicit control over the layering,
- allowing you to move regions up or down to specific layers. This was found
- to be problematic, confusing, and generally rendered unnecessary by both
- of the layering styles the program now offers.
- </para>
- </note>
- </section>
+ <title>Working with layers</title>
+ <para>
+ It is possible to arrange regions in a playlist (track) so that they
+ overlap - one starts before another finishes, for example. Because of
+ this, its important that there is a clear and understandable rule for
+ what you will hear when playing back these kinds of region arrangements.
+ </para>
+
+ <para>
+ Every region in a playlist is assigned to a layer. There can only ever
+ be one region on a given layer, although rearranging the playlist
+ (track) may change which region is on which layer. At any given point
+ along the timeline, you will hear the uppermost region at that point.
+ </para>
+
+ <para>
+ Of course, nothing in digital audio is ever quite that simple, and so of
+ course there are some complications:
+ </para>
+
+ <section id="layers-crossfades">
+ <title> Crossfades </title>
+ <para>
+ Whenever two regions overlap, there is the potential for a
+ <link linkend="sn-working-with-crossfades">crossfade</link> between
+ them. If the crossfade is not muted, then you will hear the contents
+ of the crossfade during the overlap, not just the uppermost region.
+ </para>
+ </section>
+
+ <section id="region-opacity">
+ <title> Region Opacity </title>
+ <para>
+ In a perverse nod to image manipulation programs, Ardour allows you to
+ make regions transparent. By default, all regions are created opaque,
+ which means that when they are playing, no region below them are
+ audible. However, if you change the region to be transparent, the
+ region will be audible together with any regions below it. This
+ capability should probably not be abused - if you really want to mix
+ sounds together in this way, they should probably live in their own
+ tracks. Occasionally though, this can be useful trick.
+ </para>
+
+ <para>
+ To change the opacity of a region, popup the region's editor,
+ accessible by context clicking on the region. Then click on the
+ "opaque" button, turning it on or off as desired.
+ </para>
+ </section>
+
+ <section id="layering-styles">
+ <title> Layering Styles </title>
+ <para>
+ When you are recording new material for a track, its typical to want
+ to new material recorded "over" existing material in the track to be
+ what you hear on playback. For example, if you overdub part of a
+ guitar solo, you normally want the overdub to be audible, not hidden
+ by the old version that was already there. By contrast, when editing
+ using splitting/trimming/moving of regions to create a particular
+ arrangement along the timeline, many people find that they want
+ regions that start later on the timeline to be the ones that are
+ audible.
+ </para>
+
+ <para>
+ To facilitate these two contradictory desires, Ardour features three
+ different styles for assigning regions to layers.
+ </para>
+
+ <variablelist>
+ <title></title>
+ <varlistentry>
+ <term>Most recently added regions are higher</term>
+ <listitem>
+ <para>
+ Use this style when recording/overdubbing new material. Edits of
+ any kind do not modify the layering.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Most recently added/moved/trimmed regions are higher</term>
+ <listitem>
+ <para>
+ Use this style when recording/overdubbing new material, but you
+ want basic edits to cause regions to rise to the top.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Later regions are higher</term>
+ <listitem>
+ <para>
+ Use this style when rearranging and editing regions.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>
+ A new session has the layering style set to "Most recently
+ added/moved/trimmed regions are higher". To change the layering style,
+ open the <emphasis>options editor</emphasis> and select the
+ "Layers&amp;Fades" page. There is an option there to select the style
+ you want. Layering style may be changed at any time. The existing
+ layering of all playlists is not changed when changing the layering
+ model.
+ </para>
+ </section>
+
+ <section id="modifying-layering-by-hand">
+ <title> Modifying Layering By Hand </title>
+ <para>
+ If you want a particular region to be the uppermost when the current
+ layering style has put it on a lower layer, context click on the
+ region. Select the region from the menu that pops up, and in the
+ submenu that appears, choose one of "Move region to lowest layer" or
+ "Move region to upper layer". The layering for the playlist will be
+ recalculated to ensure that the region is on the layer you chose.
+ Note: these operations only have any effect if using one of the "Most
+ recently .." layer models.
+ </para>
+
+ <para>
+ You can see the precise layer a region is assigned in the popup region
+ editor, accessible by context clicking on the region.
+ </para>
+
+ <note>
+ <para>
+ At one time, Ardour offered more explicit control over the layering,
+ allowing you to move regions up or down to specific layers. This was
+ found to be problematic, confusing, and generally rendered
+ unnecessary by both of the layering styles the program now offers.
+ </para>
+ </note>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/working_with_playlists.xml b/manual/xml/working_with_playlists.xml
index f9710cca98..ccf56ccc3a 100644
--- a/manual/xml/working_with_playlists.xml
+++ b/manual/xml/working_with_playlists.xml
@@ -5,222 +5,229 @@
]>
<section id="sn-working-with-playlists">
- <title>Working with Playlists</title>
- <para>
- As described earlier <link linkend="gt-playlist">playlists</link> are one of
- the central objects in a digital audio workstation. A playlist is a list of
- <link linkend="gt-region">regions</link> ordered in time. It defines which
- parts of which source files should be played and when.
- </para>
-
- <para>
- Each track in Ardour is really just a mechanism for taking a playlist and
- generating the audio stream that it represents. As a result, editing a track
- really means modifying its playlist in some way. Since a playlist is a list
- of regions, most of the modifications involve manipulating regions: their
- position, length and so forth. This is covered in
- <xref linkend="sn-working-with-regions"/>. Here, we cover some of the things
- you can do with playlists as objects in their own right.
- </para>
-
- <section id="tracks-are-not-playlists">
- <title> Tracks are not Playlists </title>
- <para>
- It is important to understand that a track is <emphasis>not</emphasis> a
- playlist. A track is a mechanism for generating the audio stream
- represented by the playlist and passing it through a signal processing
- pathway. At any point in time, a track has a single playlist associated
- with it. When the track is used to record, that playlist will have one or
- more new regions added to it. When the track is used for playback, the
- contents of the playlist will be heard. Old tape operators will feel
- comfortable thinking of the playlist as the tape, and the track as the tape
- machine.
- </para>
-
- <para>
- However, you can change the playlist associated with a track at (almost)
- any time, and even share playlists between tracks. There is more on this
- <link linkend="playlist-operations">below</link>.
- </para>
- </section>
-
- <section id="playlists-are-cheap">
- <title> Playlists are cheap </title>
- <para>
- One thing you should be clear about is that playlists are cheap. They don't
- cost anything in terms of CPU consumption, and they have very minimal
- efforts on memory use. Don't be afraid of generating new playlists whenever
- you want to. They are not equivalent to tracks, which require extra CPU
- time and significant memory space, or audio files, which use disk space, or
- to plugins that require extra CPU time. If a playlist is not in use, it
- occupies a small amount of memory, and nothing more.
- </para>
- </section>
-
- <section id="playlists-as-takes">
- <title> Playlists as "Takes" or "Virtual Tracks" </title>
- <para>
- If you have a background in audio engineering, then it might be easiest for
- you to think of playlists as "takes". This isn't a particularly useful
- analogy by itself, and it can be misleading. But if you are working with
- music where most tracks feature single-pass recordings of a single
- instrument, then the idea of using one playlist per "take" can make life
- very convenient. Each time you need to record another take, create a new
- playlist list first. You will then end up with a simple way of switching
- back and forth between each version, or even listening to several at the
- same time.
- </para>
-
- <para>
- If you have some experience of other DAWs, then you might have come across
- the term "virtual track", normally defined as a track that isn't actually
- playing or doing anything, but can be mapped/assigned to a "real track".
- This concept is functionally identical to Ardour's playlists. We just like
- to be little more clear about what is actually happening rather than mixing
- old and new terminology ("virtual" and "track") into confusing terminology.
- </para>
- </section>
-
- <section id="playlist-operations">
- <title> Playlist Operations </title>
- <para>
- At this point, all operations on playlists start by clicking on the
- playlist button (labelled <guibutton>p</guibutton>) in the control area of a track in the
- editor. Clicking the button will popup a menu with the following choices:
- </para>
-
- <variablelist>
- <title></title>
- <varlistentry>
- <term><guilabel>Current</guilabel></term>
- <listitem>
- <para>
- shows the name of the current playlist used by this track
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Rename</guilabel></term>
- <listitem>
- <para>
- pops up a dialog that allows the current playlist to be renamed
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>New</guilabel></term>
- <listitem>
- <para>
- creates a new <emphasis>empty</emphasis> playlist, and switches this
- track to use it
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>New Copy</guilabel></term>
- <listitem>
- <para>
- creates a new playlist that is a copy of the current playlist, and
- switches this track to use it
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Clear Current</guilabel></term>
- <listitem>
- <para>
- removes all regions from the current playlist
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Select</guilabel></term>
- <listitem>
- <para>
- pops up a playlist browser to manually choose which playlist this track
- should use
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <section id="renaming-playlists">
- <title>Renaming Playlists</title>
- <para>
- Playlists are created with the name of the track of which they are
- associated, plus a version number. So, the first playlist for a track
- called "Cowbell" will be called "Cowbell.1". This name will be used to
- define the names of any regions added to the playlist by recording. You
- can change the name at any time, to anything you want. Ardour does not
- require that your playlist names are all unique, but it will make your
- life easier if they are. Suggested examples of user-assigned names for a
- playlist might include "Lead Guitar, 2nd take", "vocals (quiet)", and
- "downbeat cuica". Notice how these might be different from the associated
- track names, which for these examples might be "Lead Guitar", "Vocals" and
- "Cuica". The playlist name provides more information because it is about a
- specific version of the material that may (or may not) end up in the final
- version of the track.
- </para>
-
- <para>
- If you are going to rename your playlists, do so before recording new
- material to them.
- </para>
- </section>
-
- <section id="selecting-playlists">
- <title>Selecting Playlists</title>
- <para>
- If you click on the "Select" choice of the playlist button menu, a dialog
- will appear that displays all playlists in a tree-structure (many will be
- hidden). Playlists will be grouped by the track for which they were
- created, with all those created for the current track displayed. Other
- tracks are hidden in a collapsed tree that can be expanded as you wish to
- find other playlists.
- </para>
- </section>
-
- <section id="sharing-playlists">
- <title>Sharing Playlists</title>
- <para>
- It is entirely possible to share playlists between tracks. The only
- slightly unusual thing you may notice when sharing is that edits to the
- playlist made in one track will magically appear in the other. If you
- think about this for a moment, its an obvious consequence of sharing.
- </para>
-
- <para>
- You might not want this kind of behaviour, even though you still want two
- tracks to use the same (or substantially the same) playlist. To accomplish
- this, select the chosen playlist in the second track, and then use
- <guilabel>New Copy</guilabel> to generate an independent copy of it for
- that track. You can then edit this playlist without affecting the
- original.
- </para>
- </section>
-
- <section id="using-playlists-for-takes">
- <title>Using playlists for takes</title>
- <para>
- You have several choices here. You can obviously record new takes directly
- over an existing one, because of the non-destructive nature of digital
- audio editing. You can also use the <guilabel>Clear Current</guilabel>
- operation each time you want to start a new take. This is a
- non-destructive operation that removes all existing regions from the
- current playlist. Although you won't lose any information doing this, its
- probably not appropriate unless the last take was so awful that you want
- to discard it (although without the finality of <emphasis>Remove Last
- Capture</emphasis> ). Finally, and probably most useful, you can use the
- <guilabel>New</guilabel> operation in the playlist button menu to create a
- new empty playlist, ready for the next take. Later, you can
- <guilabel>Select</guilabel> your way back to previous or later takes as
- desired, either in this or some other track.
- </para>
- </section>
- </section>
+ <title>Working with Playlists</title>
+ <para>
+ As described earlier <link linkend="gt-playlist">playlists</link> are
+ one of the central objects in a digital audio workstation. A playlist is
+ a list of <link linkend="gt-region">regions</link> ordered in time. It
+ defines which parts of which source files should be played and when.
+ </para>
+
+ <para>
+ Each track in Ardour is really just a mechanism for taking a playlist
+ and generating the audio stream that it represents. As a result, editing
+ a track really means modifying its playlist in some way. Since a
+ playlist is a list of regions, most of the modifications involve
+ manipulating regions: their position, length and so forth. This is
+ covered in <xref linkend="sn-working-with-regions"/>. Here, we cover
+ some of the things you can do with playlists as objects in their own
+ right.
+ </para>
+
+ <section id="tracks-are-not-playlists">
+ <title> Tracks are not Playlists </title>
+ <para>
+ It is important to understand that a track is <emphasis>not</emphasis>
+ a playlist. A track is a mechanism for generating the audio stream
+ represented by the playlist and passing it through a signal processing
+ pathway. At any point in time, a track has a single playlist
+ associated with it. When the track is used to record, that playlist
+ will have one or more new regions added to it. When the track is used
+ for playback, the contents of the playlist will be heard. Old tape
+ operators will feel comfortable thinking of the playlist as the tape,
+ and the track as the tape machine.
+ </para>
+
+ <para>
+ However, you can change the playlist associated with a track at
+ (almost) any time, and even share playlists between tracks. There is
+ more on this <link linkend="playlist-operations">below</link>.
+ </para>
+ </section>
+
+ <section id="playlists-are-cheap">
+ <title> Playlists are cheap </title>
+ <para>
+ One thing you should be clear about is that playlists are cheap. They
+ don't cost anything in terms of CPU consumption, and they have very
+ minimal efforts on memory use. Don't be afraid of generating new
+ playlists whenever you want to. They are not equivalent to tracks,
+ which require extra CPU time and significant memory space, or audio
+ files, which use disk space, or to plugins that require extra CPU
+ time. If a playlist is not in use, it occupies a small amount of
+ memory, and nothing more.
+ </para>
+ </section>
+
+ <section id="playlists-as-takes">
+ <title> Playlists as "Takes" or "Virtual Tracks" </title>
+ <para>
+ If you have a background in audio engineering, then it might be
+ easiest for you to think of playlists as "takes". This isn't a
+ particularly useful analogy by itself, and it can be misleading. But
+ if you are working with music where most tracks feature single-pass
+ recordings of a single instrument, then the idea of using one playlist
+ per "take" can make life very convenient. Each time you need to record
+ another take, create a new playlist list first. You will then end up
+ with a simple way of switching back and forth between each version, or
+ even listening to several at the same time.
+ </para>
+
+ <para>
+ If you have some experience of other DAWs, then you might have come
+ across the term "virtual track", normally defined as a track that
+ isn't actually playing or doing anything, but can be mapped/assigned
+ to a "real track". This concept is functionally identical to Ardour's
+ playlists. We just like to be little more clear about what is actually
+ happening rather than mixing old and new terminology ("virtual" and
+ "track") into confusing terminology.
+ </para>
+ </section>
+
+ <section id="playlist-operations">
+ <title> Playlist Operations </title>
+ <para>
+ At this point, all operations on playlists start by clicking on the
+ playlist button (labelled <guibutton>p</guibutton>) in the control
+ area of a track in the editor. Clicking the button will popup a menu
+ with the following choices:
+ </para>
+
+ <variablelist>
+ <title></title>
+ <varlistentry>
+ <term><guilabel>Current</guilabel></term>
+ <listitem>
+ <para>
+ shows the name of the current playlist used by this track
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Rename</guilabel></term>
+ <listitem>
+ <para>
+ pops up a dialog that allows the current playlist to be renamed
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>New</guilabel></term>
+ <listitem>
+ <para>
+ creates a new <emphasis>empty</emphasis> playlist, and switches
+ this track to use it
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>New Copy</guilabel></term>
+ <listitem>
+ <para>
+ creates a new playlist that is a copy of the current playlist,
+ and switches this track to use it
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Clear Current</guilabel></term>
+ <listitem>
+ <para>
+ removes all regions from the current playlist
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Select</guilabel></term>
+ <listitem>
+ <para>
+ pops up a playlist browser to manually choose which playlist
+ this track should use
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <section id="renaming-playlists">
+ <title>Renaming Playlists</title>
+ <para>
+ Playlists are created with the name of the track of which they are
+ associated, plus a version number. So, the first playlist for a
+ track called "Cowbell" will be called "Cowbell.1". This name will be
+ used to define the names of any regions added to the playlist by
+ recording. You can change the name at any time, to anything you
+ want. Ardour does not require that your playlist names are all
+ unique, but it will make your life easier if they are. Suggested
+ examples of user-assigned names for a playlist might include "Lead
+ Guitar, 2nd take", "vocals (quiet)", and "downbeat cuica". Notice
+ how these might be different from the associated track names, which
+ for these examples might be "Lead Guitar", "Vocals" and "Cuica". The
+ playlist name provides more information because it is about a
+ specific version of the material that may (or may not) end up in the
+ final version of the track.
+ </para>
+
+ <para>
+ If you are going to rename your playlists, do so before recording
+ new material to them.
+ </para>
+ </section>
+
+ <section id="selecting-playlists">
+ <title>Selecting Playlists</title>
+ <para>
+ If you click on the "Select" choice of the playlist button menu, a
+ dialog will appear that displays all playlists in a tree-structure
+ (many will be hidden). Playlists will be grouped by the track for
+ which they were created, with all those created for the current
+ track displayed. Other tracks are hidden in a collapsed tree that
+ can be expanded as you wish to find other playlists.
+ </para>
+ </section>
+
+ <section id="sharing-playlists">
+ <title>Sharing Playlists</title>
+ <para>
+ It is entirely possible to share playlists between tracks. The only
+ slightly unusual thing you may notice when sharing is that edits to
+ the playlist made in one track will magically appear in the other.
+ If you think about this for a moment, its an obvious consequence of
+ sharing.
+ </para>
+
+ <para>
+ You might not want this kind of behaviour, even though you still
+ want two tracks to use the same (or substantially the same)
+ playlist. To accomplish this, select the chosen playlist in the
+ second track, and then use <guilabel>New Copy</guilabel> to generate
+ an independent copy of it for that track. You can then edit this
+ playlist without affecting the original.
+ </para>
+ </section>
+
+ <section id="using-playlists-for-takes">
+ <title>Using playlists for takes</title>
+ <para>
+ You have several choices here. You can obviously record new takes
+ directly over an existing one, because of the non-destructive nature
+ of digital audio editing. You can also use the <guilabel>Clear
+ Current</guilabel> operation each time you want to start a new take.
+ This is a non-destructive operation that removes all existing
+ regions from the current playlist. Although you won't lose any
+ information doing this, its probably not appropriate unless the last
+ take was so awful that you want to discard it (although without the
+ finality of <emphasis>Remove Last Capture</emphasis> ). Finally, and
+ probably most useful, you can use the <guilabel>New</guilabel>
+ operation in the playlist button menu to create a new empty
+ playlist, ready for the next take. Later, you can
+ <guilabel>Select</guilabel> your way back to previous or later takes
+ as desired, either in this or some other track.
+ </para>
+ </section>
+ </section>
</section>
diff --git a/manual/xml/working_with_ranges.xml b/manual/xml/working_with_ranges.xml
index f5d1899f44..f21e0f99b9 100644
--- a/manual/xml/working_with_ranges.xml
+++ b/manual/xml/working_with_ranges.xml
@@ -5,32 +5,32 @@
]>
<section id="sn-working-with-ranges">
- <title>Working with Ranges</title>
- <para>
- This section doesn't really exist it yet, but is a placeholder for the
- following
- </para>
+ <title>Working with Ranges</title>
+ <para>
+ This section doesn't really exist it yet, but is a placeholder for the
+ following
+ </para>
- <section id="bounce-range">
- <title>Bounce Range</title>
- <para>
- Currently, when bouncing a range to disk, files corresponding to each
- channel of the range's output are created. The file names begin with Audio,
- then the track number followed by ".1." Then, a 0 or 1 is added, depending
- on the channel. Finally, the file extension is added. The file type is
- determined by the native format selection in the options editor (the
- Paths/Files tab).
- </para>
+ <section id="bounce-range">
+ <title>Bounce Range</title>
+ <para>
+ Currently, when bouncing a range to disk, files corresponding to each
+ channel of the range's output are created. The file names begin with
+ Audio, then the track number followed by ".1." Then, a 0 or 1 is
+ added, depending on the channel. Finally, the file extension is added.
+ The file type is determined by the native format selection in the
+ options editor (the Paths/Files tab).
+ </para>
- <para>
- In a future version, "bounce range" will replace the range with a new
- region based on the bounced audio file which will include track FX, etc.
- Currently, no dialog box is offered to allow the user to name the bounced
- file or choose its location on disk. The bounced audio is just placed in
- the sounds directory of the project directory. There is currently no visual
- feedback that the bounce has been accomplished.
- </para>
- </section>
+ <para>
+ In a future version, "bounce range" will replace the range with a new
+ region based on the bounced audio file which will include track FX,
+ etc. Currently, no dialog box is offered to allow the user to name the
+ bounced file or choose its location on disk. The bounced audio is just
+ placed in the sounds directory of the project directory. There is
+ currently no visual feedback that the bounce has been accomplished.
+ </para>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xml/working_with_regions.xml b/manual/xml/working_with_regions.xml
index 7e3f687bcc..1c8cea8209 100644
--- a/manual/xml/working_with_regions.xml
+++ b/manual/xml/working_with_regions.xml
@@ -5,617 +5,639 @@
]>
<section id="sn-working-with-regions">
- <title>Working with Regions</title>
- <para>
- Regions are the basic elements of editing and composing in Ardour. Each
- region represents a single, contiguous section of one or more audio files.
- Regions are defined by a fixed set of attributes:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- the source audio file(s) they represent
- </para>
- </listitem>
- <listitem>
- <para>
- a starting point in the audio file(s)
- </para>
- </listitem>
- <listitem>
- <para>
- a length
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- When placed into a <glossterm linkend="gt-playlist">playlist</glossterm>,
- they gain additional attributes:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- a position along the timeline
- </para>
- </listitem>
- <listitem>
- <para>
- a layer
- </para>
- </listitem>
- </itemizedlist>
-
- <para>
- There are <emphasis>other attributes</emphasis> as well, but they do not
- define the region. Things you should know about regions:
- </para>
-
- <variablelist>
- <title></title>
- <varlistentry>
- <term>Regions are Cheap</term>
- <listitem>
- <para>
- By themselves, regions do not consume hardly any of your computer's
- resources. Each region requires a small amount of memory, and represents
- a rather small amount of CPU work if placed into an active track. So,
- don't worry about creating regions whenever you need to.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>Regions are not audio files</term>
- <listitem>
- <para>
- Although a region can represent an entire audio file, they are never
- equivalent to an audio file. Most regions represent just parts of an
- audio file(s) on disk, and removing a region from a track has nothing to
- do with removing the audio file(s) from the disk ((the
- <emphasis>Destroy</emphasis> operation, one of Ardour's few destructive
- operations, can affect this)). Changing the length of a region has no
- effect on the audio file(s) on disk. Splitting and copying regions does
- not alter the audio file in anyway, nor does it create new audio files
- ((the <emphasis>Export</emphasis> , <emphasis>Bounce</emphasis> and
- <emphasis>Reverse</emphasis> operations do create new audio files)).
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <section id="region-naming">
- <title>Region Naming</title>
- <para>
- Regions are initially named using either:
- </para>
-
- <itemizedlist>
- <listitem>
- <para>
- the name of the playlist for which they were recorded
- </para>
- </listitem>
- <listitem>
- <para>
- the name of the embedded/imported audio file they represent
- </para>
- </listitem>
- </itemizedlist>
-
- <section id="whole-file-region-names">
- <title>Whole File Region Names</title>
- <para>
- These are not audio files, but regions that represent the full extent of
- an audio file. Every time a new recording is done, or a new file is
- embedded/imported, a new region is created that represents the entire
- audio file(s) This region will have the name of the playlist/original
- file, followed by a "-" and then a number.
- </para>
-
- <para>
- For recorded regions, the number will increase each time a new recording
- is made. So, for example, if there is a playlist called "Didgeridoo", the
- first recorded whole file region for that playlist will be called
- "Digderidoo-1". The next one will be "Digeridoo-2" and so on.
- </para>
-
- <para>
- For imported/embedded files, the region name will be based on the file
- name, but with any final suffix (e.g. ".wav" or ".aiff") removed.
- </para>
-
- <para>
- Normally, whole file regions are not inserted into tracks/playlists, but
- regions derived from them are. The whole-file versions live in the editor
- region list where they act as an organizing mechanism for regions that are
- derived from them.
- </para>
- </section>
-
- <section id="normal-region-names">
- <title>Normal Region Names</title>
- <para>
- When a region is inserted into a track/playlist, its initial name will end
- in a version number, such as ".1" or ".103". For a recorded region, if the
- whole file region was "Hang drum-1", then the region in the track will
- appear with the name "Hang drum-1.1". For an imported/embedded region, if
- the whole file region was "Bach:Invention3", then the region in the track
- will appear with the name "Bach:Invention3.1".
- </para>
- </section>
-
- <section id="copied-region-names">
- <title>Copied Region Names</title>
- <para>
- If the region is a copy of another region, it will begin life with the
- same name as the original. When an operation is carried out that modifies
- one of the copies, that particular copy will be renamed by incrementing
- the version number.
- </para>
- </section>
-
- <section id="renaming-regions">
- <title>Renaming Regions</title>
- <para>
- You can rename a region at any time. Use the <emphasis>region context
- menu</emphasis> to popup the rename dialog. The new name does not need to
- have a version number in it (in fact, it probably should not). The region
- will retain its name until it is modified after being copied.
- </para>
- </section>
- </section>
-
- <section id="selecting-regions">
- <title>Selecting Regions</title>
- <para>
- In general, operations on regions apply to whichever regions are currently
- <emphasis>selected</emphasis> .
- </para>
-
- <para>
- To select a single region, click on it using
- <mousebutton>Button1</mousebutton>.
- </para>
-
- <para>
- To add an unselected region to the currently selected regions, click on it
- using
- <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>.
- </para>
-
- <para>
- To remove a selected region from the currently selected regions, click on
- it using
- <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>.
- </para>
- </section>
-
- <section id="removing-regions">
- <title>Removing Regions</title>
- <para>
- Select the region(s) to be removed. Then press the "Delete" key or use the
- standard key binding for "Cut" (
- <keycombo><keycap>Ctrl</keycap><keycap>X</keycap></keycombo> by default).
- </para>
-
- <para>
- Note that "removing" a region is a non-destructive operation. It has no
- effect on the audio file(s) stored on disk. If you really want to
- destructively remove the region, use the context menu for the region which
- has a "Destroy" item. This is not guaranteed to remove the audio file from
- your disk storage, but it generally will.
- </para>
- </section>
-
- <section id="moving-regions">
- <title>Moving Regions</title>
- <para>
- To move a region, make sure you are in <emphasis>object</emphasis> mouse
- mode. Move the mouse pointer into the waveform display part of the region,
- press <mousebutton>Button1</mousebutton> and drag. The region will follow the
- mouse pointer as you move it around. By default, the region can move freely
- along the timeline - see <xref linkend="sn-snap-settings"/> for information on how to
- force the region to align to certain kinds of points along the timeline.
- </para>
-
- <para>
- To move a region from one track to another, simply start a move as
- described above, but move the mouse pointer into the desired track. The
- region will follow the mouse pointer. Note that if you have other kinds of
- "tracks" visible, the region will remain where it is as the mouse pointer
- moves across them, and will then jump to the new track. This serves as a
- visual reminder that you cannot drag an audio region into an automation
- track or a bus, for example.
- </para>
-
- <section id="moving-more-than-one-region">
- <title>Moving more than one region</title>
- <para>
- To move multiple regions, select them before moving. Then click+drag on
- one of the selected regions. All the regions will move, keeping their
- positions relative to each other.
- </para>
- </section>
-
- <section id="region-fixed-time-motion">
- <title>Fixed-time motion</title>
- <para>
- Sometimes, you want to move a region to another track, but keeping its
- position along the timeline exactly the same. To do this, use
- <mousebutton>Button2</mousebutton> rather than <mousebutton>Button1</mousebutton>.
- </para>
- </section>
- </section>
-
- <section id="copying-regions">
- <title>Copying Regions</title>
- <para>
- To copy a region, make sure you are in <emphasis>object</emphasis> mouse
- mode. Move the mouse pointer into the waveform press the
- <keycap>Ctrl</keycap> key, keep it down while pressing
- <mousebutton>Button1</mousebutton> and drag. A new region is created and will
- follow the mouse pointer as it moves. See <xref linkend="moving-regions"/> for
- more details on moving the copied region around.
- </para>
-
- <section id="copying-more-than-one-region">
- <title>Copying more than one region</title>
- <para>
- To copy multiple regions, select them before copying. Then click+drag on
- one of the selected regions. All the regions will be copied and as they
- move, the will keep their positions relative to each other.
- </para>
- </section>
-
- <section id="region-fixed-time-copying">
- <title>Fixed-time copying</title>
- <para>
- If you want to copy region(s) to other track(s) but keep the copies at the
- exact position on the timeline as the originals, simply use
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo> instead of
- <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>.
- </para>
- </section>
- </section>
-
- <section id="trimming-regions">
- <title>Trimming Regions</title>
- <para></para>
- </section>
-
- <section id="auditioning-regions">
- <title>Auditioning Regions</title>
- <para></para>
- </section>
-
- <section id="region-gain-envelopes">
- <title>Region Gain Envelopes</title>
- <para></para>
- </section>
-
- <section id="region-context-menu">
- <!-- needs work -->
- <title>Region Context Menu</title>
- <para>
- If you context-click on a region, a popup menu will appear. At or near the
- top of that menu is a list of all regions that exist in the clicked-upon
- track under the mouse pointer. Each region entry (shown by name) points to
- a submenu that contains region-specific operations:
- </para>
-
- <variablelist>
- <title></title>
- <varlistentry>
- <term><guilabel>Popup region editor</guilabel></term>
- <listitem>
- <para>
- creates and displays the editor for this region, allowing even more
- specific control over the region than this menu
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Raise to top layer</guilabel></term>
- <listitem>
- <para>
- moves the region to the top layer of this track (works only in "Most
- recently added/moved/trimmed regions are higher" <emphasis>layer
- mode</emphasis>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Lower to bottom layer</guilabel></term>
- <listitem>
- <para>
- moves the region to the bottom layer of this track (works only in "Most
- recently added/moved/trimmed regions are higher" <emphasis>layer
- mode</emphasis>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Define sync point</guilabel></term>
- <listitem>
- <para>
- if the edit cursor is within this region, defines the region sync point
- at the edit cursor location.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Remove sync point</guilabel></term>
- <listitem>
- <para></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Audition</guilabel></term>
- <listitem>
- <para>
- plays this region via the <glossterm linkend="gt-auditioner">auditioner</glossterm>
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Export</guilabel></term>
- <listitem>
- <para>
- exports this region to a new audio file, via the export dialog (thus
- allowing resampling, dithering, format specification etc.)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Bounce</guilabel></term>
- <listitem>
- <para>
- re-records this region (with any plugins/inserts applied) to a new audio
- file, and replaces the region with one referring to the new file.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Lock</guilabel></term>
- <listitem>
- <para>
- prevents the region from being moved, trimmed, or modified in almost any
- way.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Unlock</guilabel></term>
- <listitem>
- <para>
- removes the lock on region modification
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Mute</guilabel></term>
- <listitem>
- <para>
- makes the region silent during playback
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Unmute</guilabel></term>
- <listitem>
- <para></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Toggle envelope visibility</guilabel></term>
- <listitem>
- <para>
- shows/hides the region gain envelope
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Toggle envelope active</guilabel></term>
- <listitem>
- <para>
- turns the region gain envelope on/off (the line is gray when the
- envelope is off, green when it is on)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Original position</guilabel></term>
- <listitem>
- <para>
- if the region was recorded (and Broadcast WAVE was the native file
- format) moves the region to its original capture position
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Normalize</guilabel></term>
- <listitem>
- <para>
- alters the gain processing of the region so that the loudest sample is
- at 0dBFS
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>DeNormalize</guilabel></term>
- <listitem>
- <para>
- undoes the effect of a normalize
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Reverse</guilabel></term>
- <listitem>
- <para>
- writes the region to a new audio file with the contents reversed, and
- replaces the region with one referring to the new file
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Nudge</guilabel></term>
- <listitem>
- <para>
- moves the region in various ways
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Nudge fwd</guilabel></term>
- <listitem>
- <para>
- moves the region forward by the amount shown in the nudge clock
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Nudge bwd</guilabel></term>
- <listitem>
- <para>
- moves the region backward by the amount shown in the nudge clock
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Nudge fwd by capture offset</guilabel></term>
- <listitem>
- <para>
- moves the region forward by the same offset that it might have been
- (incorrectly) adjusted by when captured
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Nudge bwd by capture offset</guilabel></term>
- <listitem>
- <para>
- moves the region backwards by the same offset that it might have been
- (incorrectly) adjusted by when captured
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Trim</guilabel></term>
- <listitem>
- <para></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Start to edit cursor</guilabel></term>
- <listitem>
- <para>
- adjusts the start of the region to the current position of the edit
- cursor (if possible)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Edit cursor to end</guilabel></term>
- <listitem>
- <para>
- adjusts the end of the region to the current position of the edit cursor
- (if possible)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Split</guilabel></term>
- <listitem>
- <para>
- if the edit cursor is within the region, splits the region at the editor
- cursor location
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Make mono regions</guilabel></term>
- <listitem>
- <para>
- if the region is a multi-channel one, creates new regions corresponding
- to each channel. The new regions are added to the editor's region list,
- not the track.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Duplicate</guilabel></term>
- <listitem>
- <para>
- pops up a dialog allowing the region to be copied 1 or more times. Each
- copy is placed directly after the original or previous copy.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Fill Track</guilabel></term>
- <listitem>
- <para>
- copies the region as many times as necessary to fill the track to the
- current session end mark. Each copy is placed directly after the
- original or previous copy.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Remove</guilabel></term>
- <listitem>
- <para>
- remove the region from the track (non-destructive)
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><guilabel>Destroy</guilabel></term>
- <listitem>
- <para>
- remove the region from the track and the editor region list, and if no
- other regions are referencing it, remove the audio file that the region
- is derived from. ( <emphasis>DESTRUCTIVE</emphasis> )
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </section>
+ <title>Working with Regions</title>
+ <para>
+ Regions are the basic elements of editing and composing in Ardour. Each
+ region represents a single, contiguous section of one or more audio
+ files. Regions are defined by a fixed set of attributes:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ the source audio file(s) they represent
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ a starting point in the audio file(s)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ a length
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ When placed into a
+ <glossterm linkend="gt-playlist">playlist</glossterm>, they gain
+ additional attributes:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ a position along the timeline
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ a layer
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <para>
+ There are <emphasis>other attributes</emphasis> as well, but they do not
+ define the region. Things you should know about regions:
+ </para>
+
+ <variablelist>
+ <title></title>
+ <varlistentry>
+ <term>Regions are Cheap</term>
+ <listitem>
+ <para>
+ By themselves, regions do not consume hardly any of your
+ computer's resources. Each region requires a small amount of
+ memory, and represents a rather small amount of CPU work if placed
+ into an active track. So, don't worry about creating regions
+ whenever you need to.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regions are not audio files</term>
+ <listitem>
+ <para>
+ Although a region can represent an entire audio file, they are
+ never equivalent to an audio file. Most regions represent just
+ parts of an audio file(s) on disk, and removing a region from a
+ track has nothing to do with removing the audio file(s) from the
+ disk ((the <emphasis>Destroy</emphasis> operation, one of Ardour's
+ few destructive operations, can affect this)). Changing the length
+ of a region has no effect on the audio file(s) on disk. Splitting
+ and copying regions does not alter the audio file in anyway, nor
+ does it create new audio files ((the <emphasis>Export</emphasis> ,
+ <emphasis>Bounce</emphasis> and <emphasis>Reverse</emphasis>
+ operations do create new audio files)).
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <section id="region-naming">
+ <title>Region Naming</title>
+ <para>
+ Regions are initially named using either:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>
+ the name of the playlist for which they were recorded
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ the name of the embedded/imported audio file they represent
+ </para>
+ </listitem>
+ </itemizedlist>
+
+ <section id="whole-file-region-names">
+ <title>Whole File Region Names</title>
+ <para>
+ These are not audio files, but regions that represent the full
+ extent of an audio file. Every time a new recording is done, or a
+ new file is embedded/imported, a new region is created that
+ represents the entire audio file(s) This region will have the name
+ of the playlist/original file, followed by a "-" and then a number.
+ </para>
+
+ <para>
+ For recorded regions, the number will increase each time a new
+ recording is made. So, for example, if there is a playlist called
+ "Didgeridoo", the first recorded whole file region for that playlist
+ will be called "Digderidoo-1". The next one will be "Digeridoo-2"
+ and so on.
+ </para>
+
+ <para>
+ For imported/embedded files, the region name will be based on the
+ file name, but with any final suffix (e.g. ".wav" or ".aiff")
+ removed.
+ </para>
+
+ <para>
+ Normally, whole file regions are not inserted into tracks/playlists,
+ but regions derived from them are. The whole-file versions live in
+ the editor region list where they act as an organizing mechanism for
+ regions that are derived from them.
+ </para>
+ </section>
+
+ <section id="normal-region-names">
+ <title>Normal Region Names</title>
+ <para>
+ When a region is inserted into a track/playlist, its initial name
+ will end in a version number, such as ".1" or ".103". For a recorded
+ region, if the whole file region was "Hang drum-1", then the region
+ in the track will appear with the name "Hang drum-1.1". For an
+ imported/embedded region, if the whole file region was
+ "Bach:Invention3", then the region in the track will appear with the
+ name "Bach:Invention3.1".
+ </para>
+ </section>
+
+ <section id="copied-region-names">
+ <title>Copied Region Names</title>
+ <para>
+ If the region is a copy of another region, it will begin life with
+ the same name as the original. When an operation is carried out that
+ modifies one of the copies, that particular copy will be renamed by
+ incrementing the version number.
+ </para>
+ </section>
+
+ <section id="renaming-regions">
+ <title>Renaming Regions</title>
+ <para>
+ You can rename a region at any time. Use the <emphasis>region
+ context menu</emphasis> to popup the rename dialog. The new name
+ does not need to have a version number in it (in fact, it probably
+ should not). The region will retain its name until it is modified
+ after being copied.
+ </para>
+ </section>
+ </section>
+
+ <section id="selecting-regions">
+ <title>Selecting Regions</title>
+ <para>
+ In general, operations on regions apply to whichever regions are
+ currently <emphasis>selected</emphasis> .
+ </para>
+
+ <para>
+ To select a single region, click on it using
+ <mousebutton>Button1</mousebutton>.
+ </para>
+
+ <para>
+ To add an unselected region to the currently selected regions, click
+ on it using
+ <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>.
+ </para>
+
+ <para>
+ To remove a selected region from the currently selected regions, click
+ on it using
+ <keycombo><keycap>Shift</keycap><mousebutton>Button1</mousebutton></keycombo>.
+ </para>
+ </section>
+
+ <section id="removing-regions">
+ <title>Removing Regions</title>
+ <para>
+ Select the region(s) to be removed. Then press the "Delete" key or use
+ the standard key binding for "Cut" (
+ <keycombo><keycap>Ctrl</keycap><keycap>X</keycap></keycombo> by
+ default).
+ </para>
+
+ <para>
+ Note that "removing" a region is a non-destructive operation. It has
+ no effect on the audio file(s) stored on disk. If you really want to
+ destructively remove the region, use the context menu for the region
+ which has a "Destroy" item. This is not guaranteed to remove the audio
+ file from your disk storage, but it generally will.
+ </para>
+ </section>
+
+ <section id="moving-regions">
+ <title>Moving Regions</title>
+ <para>
+ To move a region, make sure you are in <emphasis>object</emphasis>
+ mouse mode. Move the mouse pointer into the waveform display part of
+ the region, press <mousebutton>Button1</mousebutton> and drag. The
+ region will follow the mouse pointer as you move it around. By
+ default, the region can move freely along the timeline - see
+ <xref linkend="sn-snap-settings"/> for information on how to force the
+ region to align to certain kinds of points along the timeline.
+ </para>
+
+ <para>
+ To move a region from one track to another, simply start a move as
+ described above, but move the mouse pointer into the desired track.
+ The region will follow the mouse pointer. Note that if you have other
+ kinds of "tracks" visible, the region will remain where it is as the
+ mouse pointer moves across them, and will then jump to the new track.
+ This serves as a visual reminder that you cannot drag an audio region
+ into an automation track or a bus, for example.
+ </para>
+
+ <section id="moving-more-than-one-region">
+ <title>Moving more than one region</title>
+ <para>
+ To move multiple regions, select them before moving. Then click+drag
+ on one of the selected regions. All the regions will move, keeping
+ their positions relative to each other.
+ </para>
+ </section>
+
+ <section id="region-fixed-time-motion">
+ <title>Fixed-time motion</title>
+ <para>
+ Sometimes, you want to move a region to another track, but keeping
+ its position along the timeline exactly the same. To do this, use
+ <mousebutton>Button2</mousebutton> rather than
+ <mousebutton>Button1</mousebutton>.
+ </para>
+ </section>
+ </section>
+
+ <section id="copying-regions">
+ <title>Copying Regions</title>
+ <para>
+ To copy a region, make sure you are in <emphasis>object</emphasis>
+ mouse mode. Move the mouse pointer into the waveform press the
+ <keycap>Ctrl</keycap> key, keep it down while pressing
+ <mousebutton>Button1</mousebutton> and drag. A new region is created
+ and will follow the mouse pointer as it moves. See
+ <xref linkend="moving-regions"/> for more details on moving the copied
+ region around.
+ </para>
+
+ <section id="copying-more-than-one-region">
+ <title>Copying more than one region</title>
+ <para>
+ To copy multiple regions, select them before copying. Then
+ click+drag on one of the selected regions. All the regions will be
+ copied and as they move, the will keep their positions relative to
+ each other.
+ </para>
+ </section>
+
+ <section id="region-fixed-time-copying">
+ <title>Fixed-time copying</title>
+ <para>
+ If you want to copy region(s) to other track(s) but keep the copies
+ at the exact position on the timeline as the originals, simply use
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button2</mousebutton></keycombo>
+ instead of
+ <keycombo><keycap>Ctrl</keycap><mousebutton>Button1</mousebutton></keycombo>.
+ </para>
+ </section>
+ </section>
+
+ <section id="trimming-regions">
+ <title>Trimming Regions</title>
+ <para></para>
+ </section>
+
+ <section id="auditioning-regions">
+ <title>Auditioning Regions</title>
+ <para></para>
+ </section>
+
+ <section id="region-gain-envelopes">
+ <title>Region Gain Envelopes</title>
+ <para></para>
+ </section>
+
+ <section id="region-context-menu">
+<!-- needs work -->
+ <title>Region Context Menu</title>
+ <para>
+ If you context-click on a region, a popup menu will appear. At or near
+ the top of that menu is a list of all regions that exist in the
+ clicked-upon track under the mouse pointer. Each region entry (shown
+ by name) points to a submenu that contains region-specific operations:
+ </para>
+
+ <variablelist>
+ <title></title>
+ <varlistentry>
+ <term><guilabel>Popup region editor</guilabel></term>
+ <listitem>
+ <para>
+ creates and displays the editor for this region, allowing even
+ more specific control over the region than this menu
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Raise to top layer</guilabel></term>
+ <listitem>
+ <para>
+ moves the region to the top layer of this track (works only in
+ "Most recently added/moved/trimmed regions are higher"
+ <emphasis>layer mode</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Lower to bottom layer</guilabel></term>
+ <listitem>
+ <para>
+ moves the region to the bottom layer of this track (works only
+ in "Most recently added/moved/trimmed regions are higher"
+ <emphasis>layer mode</emphasis>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Define sync point</guilabel></term>
+ <listitem>
+ <para>
+ if the edit cursor is within this region, defines the region
+ sync point at the edit cursor location.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Remove sync point</guilabel></term>
+ <listitem>
+ <para></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Audition</guilabel></term>
+ <listitem>
+ <para>
+ plays this region via the
+ <glossterm linkend="gt-auditioner">auditioner</glossterm>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Export</guilabel></term>
+ <listitem>
+ <para>
+ exports this region to a new audio file, via the export dialog
+ (thus allowing resampling, dithering, format specification etc.)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Bounce</guilabel></term>
+ <listitem>
+ <para>
+ re-records this region (with any plugins/inserts applied) to a
+ new audio file, and replaces the region with one referring to
+ the new file.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Lock</guilabel></term>
+ <listitem>
+ <para>
+ prevents the region from being moved, trimmed, or modified in
+ almost any way.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Unlock</guilabel></term>
+ <listitem>
+ <para>
+ removes the lock on region modification
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Mute</guilabel></term>
+ <listitem>
+ <para>
+ makes the region silent during playback
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Unmute</guilabel></term>
+ <listitem>
+ <para></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Toggle envelope visibility</guilabel></term>
+ <listitem>
+ <para>
+ shows/hides the region gain envelope
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Toggle envelope active</guilabel></term>
+ <listitem>
+ <para>
+ turns the region gain envelope on/off (the line is gray when the
+ envelope is off, green when it is on)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Original position</guilabel></term>
+ <listitem>
+ <para>
+ if the region was recorded (and Broadcast WAVE was the native
+ file format) moves the region to its original capture position
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Normalize</guilabel></term>
+ <listitem>
+ <para>
+ alters the gain processing of the region so that the loudest
+ sample is at 0dBFS
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>DeNormalize</guilabel></term>
+ <listitem>
+ <para>
+ undoes the effect of a normalize
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Reverse</guilabel></term>
+ <listitem>
+ <para>
+ writes the region to a new audio file with the contents
+ reversed, and replaces the region with one referring to the new
+ file
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Nudge</guilabel></term>
+ <listitem>
+ <para>
+ moves the region in various ways
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Nudge fwd</guilabel></term>
+ <listitem>
+ <para>
+ moves the region forward by the amount shown in the nudge clock
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Nudge bwd</guilabel></term>
+ <listitem>
+ <para>
+ moves the region backward by the amount shown in the nudge clock
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Nudge fwd by capture offset</guilabel></term>
+ <listitem>
+ <para>
+ moves the region forward by the same offset that it might have
+ been (incorrectly) adjusted by when captured
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Nudge bwd by capture offset</guilabel></term>
+ <listitem>
+ <para>
+ moves the region backwards by the same offset that it might have
+ been (incorrectly) adjusted by when captured
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Trim</guilabel></term>
+ <listitem>
+ <para></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Start to edit cursor</guilabel></term>
+ <listitem>
+ <para>
+ adjusts the start of the region to the current position of the
+ edit cursor (if possible)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Edit cursor to end</guilabel></term>
+ <listitem>
+ <para>
+ adjusts the end of the region to the current position of the
+ edit cursor (if possible)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Split</guilabel></term>
+ <listitem>
+ <para>
+ if the edit cursor is within the region, splits the region at
+ the editor cursor location
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Make mono regions</guilabel></term>
+ <listitem>
+ <para>
+ if the region is a multi-channel one, creates new regions
+ corresponding to each channel. The new regions are added to the
+ editor's region list, not the track.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Duplicate</guilabel></term>
+ <listitem>
+ <para>
+ pops up a dialog allowing the region to be copied 1 or more
+ times. Each copy is placed directly after the original or
+ previous copy.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Fill Track</guilabel></term>
+ <listitem>
+ <para>
+ copies the region as many times as necessary to fill the track
+ to the current session end mark. Each copy is placed directly
+ after the original or previous copy.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Remove</guilabel></term>
+ <listitem>
+ <para>
+ remove the region from the track (non-destructive)
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term><guilabel>Destroy</guilabel></term>
+ <listitem>
+ <para>
+ remove the region from the track and the editor region list, and
+ if no other regions are referencing it, remove the audio file
+ that the region is derived from. (
+ <emphasis>DESTRUCTIVE</emphasis> )
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </section>
<!--
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="Some_Subsection.xml" />
diff --git a/manual/xmlformat/BUGS b/manual/xmlformat/BUGS
new file mode 100644
index 0000000000..d1e81954fa
--- /dev/null
+++ b/manual/xmlformat/BUGS
@@ -0,0 +1,55 @@
+xmlformat bugs
+
+Ruby version is slower than the Perl version, a difference that shows up
+particularly for larger documents. I haven't done any profiling to determine
+which parts of the program account for the differences.
+
+----------
+Within normalized elements, the line-wrapping algorithm preserves inline
+tags, but it doesn't take any internal line-breaks within those tags into
+account in its line-length calculations. Consider this element:
+
+<para>
+This is text with an inline <inline-element attr="This is
+an attribute
+value">element</inline-element> in the middle.
+</para>
+
+The opening <inline-element> tag is considered to have a length
+equal to its total number of characters. The line-wrapping algorithm
+could be made more complex to take the line-breaks into account.
+I haven't bothered, and may never bother. If such a change is made, no
+indenting should be applied that would change the attribute value.
+
+----------
+Line-wrapping length calculations don't take into account the possibility
+that text from a different element may occur on the same line if break
+values are set to zero. For example, with a wrap-length of 15, you could
+end up with output like this:
+
+<listitem><para>This is a line
+of text.</para></listitem><listitem><para>This is a line
+of text.</para></listitem>
+
+The middle line has more than 15 characters of text.
+
+This also shows that wrap-length doesn't take into account the length of
+tags of enclosing blocks on the same line, which can also be considered a
+bug.
+
+Fix: Set all your break values > 0.
+
+----------
+Normalization converts runs of spaces to single spaces. This means that
+if you write two spaces after periods in text, normalization will
+convert them to single spaces. Even if normalization didn't do that,
+the two spaces would be lost if line-wrapping is enabled and they occur
+at a line break.
+
+I don't know if this is really a bug, but it's something to be aware of.
+
+----------
+Doesn't recognize multi-byte files. In some cases, you can work around this.
+For example, an editor might save a file as Unicode even when the document
+contains only ASCII characters. Re-save the file as an ASCII file (or
+some single-byte encoding such as ISO-8859-1) and it should work.
diff --git a/manual/xmlformat/ChangeLog b/manual/xmlformat/ChangeLog
new file mode 100644
index 0000000000..0de7f5fb8e
--- /dev/null
+++ b/manual/xmlformat/ChangeLog
@@ -0,0 +1,28 @@
+Version 1.04 (released 2006-08-14)
+- Assign each token an input line number and display the line number in
+ error messages. This provides better information to the user about
+ the location of problems in input files.
+- Print the token stack when an error occurs. This provides some idea of
+ the context of the element that is malformed or has malformed content.
+
+Version 1.03 (released 2004-03-26)
+- In xmlformat.rb, made some changes needed for Ruby 1.8:
+ - Convert @@xml_spe parsing expression to Regexp with Regexp.new().
+ scan() method doesn't work with string argument now, apparently.
+ - In parsing patterns, change literal ] to \\] to suppress warnings
+- In xmlformat.pl:
+ - In parsing patterns, change literal ] to \\]. This isn't actually
+ necessary, but better preserves parallelism with Ruby version.
+
+Version 1.02 (released 2004-02-06)
+- Added --in-place/-i option for in-place reformatting. (Requires named
+ input file or files.)
+- Added --backup/-b option for making backup of each input file (used with
+ --in-place).
+- If multiple input files are named on the command line, they are processed
+ as separate documents, not as one combined input. (This was necessary
+ to make --in-place and --backup work correctly.)
+- Added a tutorial document.
+
+Version 1.01 (released 2004-01-18)
+- Initial public release.
diff --git a/manual/xmlformat/INSTALL b/manual/xmlformat/INSTALL
new file mode 100644
index 0000000000..59017c8abd
--- /dev/null
+++ b/manual/xmlformat/INSTALL
@@ -0,0 +1,29 @@
+There are two versions of xmlformat:
+
+- xmlformat.rb, written in Ruby
+- xmlformat.pl, written in Perl
+
+Both should produce identical results.
+
+To install xmlformat, copy the version you want to use to some public
+directory that is listed in your PATH variable. You may wish to rename
+the script to xmlformat so that you don't have to type the .rb or .pl
+extension each time you invoke it.
+
+Example:
+
+ cp xmlformat.rb /usr/local/bin/xmlformat
+(or)
+ cp xmlformat.pl /usr/local/bin/xmlformat
+
+If you want to install both versions, do not rename them:
+
+ cp xmlformat.rb /usr/local/bin/xmlformat.rb
+ cp xmlformat.pl /usr/local/bin/xmlformat.pl
+
+In this case you will need to specify the extension when invoking the program
+to indicate which version you want.
+
+If your Ruby or Perl programs are not at the location listed in the
+first line of the installed script, you'll need to edit that line
+to have the correct location.
diff --git a/manual/xmlformat/LICENSE b/manual/xmlformat/LICENSE
new file mode 100644
index 0000000000..14bd362640
--- /dev/null
+++ b/manual/xmlformat/LICENSE
@@ -0,0 +1,93 @@
+xmlformat is distributed under a BSD-style license. This license
+applies to the entire xmlformat distribution, with the exception of
+the REX parser (described below).
+
+Copyright (c) 2004, 2005, Kitebird, LLC. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+3. Neither the name of Kitebird nor the names of its contributors may
+ be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+----------------------------------------------------------------------
+The REX parser
+
+xmlformat contains code based on the REX parser, which is Copyright (c) 1998,
+Robert D. Cameron. REX is described in this document:
+
+ http://www.cs.sfu.ca/~cameron/REX.html
+
+The document contains a Perl implementation of REX:
+
+--- begin REX code ---
+# REX/Perl 1.0
+# Robert D. Cameron "REX: XML Shallow Parsing with Regular Expressions",
+# Technical Report TR 1998-17, School of Computing Science, Simon Fraser
+# University, November, 1998.
+# Copyright (c) 1998, Robert D. Cameron.
+# The following code may be freely used and distributed provided that
+# this copyright and citation notice remains intact and that modifications
+# or additions are clearly identified.
+
+$TextSE = "[^<]+";
+$UntilHyphen = "[^-]*-";
+$Until2Hyphens = "$UntilHyphen(?:[^-]$UntilHyphen)*-";
+$CommentCE = "$Until2Hyphens>?";
+$UntilRSBs = "[^\\]]*](?:[^\\]]+])*]+";
+$CDATA_CE = "$UntilRSBs(?:[^\\]>]$UntilRSBs)*>";
+$S = "[ \\n\\t\\r]+";
+$NameStrt = "[A-Za-z_:]|[^\\x00-\\x7F]";
+$NameChar = "[A-Za-z0-9_:.-]|[^\\x00-\\x7F]";
+$Name = "(?:$NameStrt)(?:$NameChar)*";
+$QuoteSE = "\"[^\"]*\"|'[^']*'";
+$DT_IdentSE = "$S$Name(?:$S(?:$Name|$QuoteSE))*";
+$MarkupDeclCE = "(?:[^\\]\"'><]+|$QuoteSE)*>";
+$S1 = "[\\n\\r\\t ]";
+$UntilQMs = "[^?]*\\?+";
+$PI_Tail = "\\?>|$S1$UntilQMs(?:[^>?]$UntilQMs)*>";
+$DT_ItemSE =
+"<(?:!(?:--$Until2Hyphens>|[^-]$MarkupDeclCE)|\\?$Name(?:$PI_Tail))|%$Name;|$S";
+$DocTypeCE = "$DT_IdentSE(?:$S)?(?:\\[(?:$DT_ItemSE)*](?:$S)?)?>?";
+$DeclCE =
+"--(?:$CommentCE)?|\\[CDATA\\[(?:$CDATA_CE)?|DOCTYPE(?:$DocTypeCE)?";
+$PI_CE = "$Name(?:$PI_Tail)?";
+$EndTagCE = "$Name(?:$S)?>?";
+$AttValSE = "\"[^<\"]*\"|'[^<']*'";
+$ElemTagCE = "$Name(?:$S$Name(?:$S)?=(?:$S)?(?:$AttValSE))*(?:$S)?/?>?";
+$MarkupSPE =
+"<(?:!(?:$DeclCE)?|\\?(?:$PI_CE)?|/(?:$EndTagCE)?|(?:$ElemTagCE)?)";
+$XML_SPE = "$TextSE|$MarkupSPE";
+
+
+sub ShallowParse {
+ my($XML_document) = @_;
+ return $XML_document =~ /$XML_SPE/g;
+}
+--- end REX code ---
+
+The Perl and Ruby implementations of xmlformat contain parsers that
+are based on the preceding code and are essentially the same, with the
+exception of changes to variable and function names.
+
diff --git a/manual/xmlformat/README b/manual/xmlformat/README
new file mode 100644
index 0000000000..53c4ff6c53
--- /dev/null
+++ b/manual/xmlformat/README
@@ -0,0 +1,35 @@
+xmlformat - an XML document formatter
+
+Paul DuBois
+paul@kitebird.com
+
+This is the distribution for xmlformat 1.04.
+If you find bugs, please let me know.
+
+The current version of xmlformat is always available at:
+ http://www.kitebird.com/software/
+
+xmlformat is free software, distributed under a BSD-style license.
+For specific licensing information, see the LICENSE file.
+
+For installation instructions, see the INSTALL file. xmlformat has two
+implementations, one in Ruby and one in Perl. They should produce
+identical output in all cases.
+
+Documentation is in the docs subdirectory.
+
+Tests are in the tests directory, though you run them in the main
+xmlformat directory:
+- To run all tests:
+ make test
+- To run all tests for the Ruby version:
+ ./runtest all
+- To run all tests for the Perl version:
+ ./runtest -p all
+- To run an individual test for the Ruby version:
+ ./runtest testname
+- To run an individual test for the Perl version:
+ ./runtest -p testname
+
+A test name is the name of its .xml file, minus the .xml suffix.
+For more information, see tests/Notes.
diff --git a/manual/xmlformat/xmlformat-ardour.conf b/manual/xmlformat/xmlformat-ardour.conf
new file mode 100644
index 0000000000..552dc17778
--- /dev/null
+++ b/manual/xmlformat/xmlformat-ardour.conf
@@ -0,0 +1,137 @@
+# Comments are treated as CDATA and not touched. It's best to set
+# them out from other text if possible. A doublespace is nice but
+# code is still code, so it's not really that important. (Down, inner
+# stickler...)
+#
+
+*DEFAULT
+ format = block
+ entry-break = 1
+ element-break = 1
+ exit-break = 1
+ subindent = 2
+ normalize = no
+ wrap-length = 76
+
+*DOCUMENT
+ format = block
+ wrap-length = 256
+ element-break = 2
+
+article book
+ element-break = 2
+
+articleinfo bookinfo
+ normalize = yes
+
+year holder
+ entry-break = 0
+ exit-break = 0
+ normalize = yes
+
+firstname surname othername
+ entry-break = 0
+ exit-break = 0
+ normalize = yes
+
+revnumber date authorinitials
+ entry-break = 0
+ exit-break = 0
+ normalize = yes
+
+revremark
+ normalize = yes
+
+row listitem
+ entry-break = 1
+ exit-break = 1
+ normalize = yes
+
+tbody
+ element-break = 2
+section chapter glossary
+ entry-break = 1
+ exit-break = 1
+ normalize = yes
+
+# "Normalize" means make smart whitespace decisions
+para simpara example important note warning caution itemizedlist variablelist varlistentry entry quote figure glossdiv glossentry
+ entry-break = 1
+ exit-break = 1
+ normalize = yes
+
+title titleabbrev
+ format = inline
+ normalize = yes
+
+table
+ entry-break = 1
+ exit-break = 1
+ normalize = yes
+
+emphasis literal abbrev
+ format = inline
+
+trademark
+ format = inline
+
+# Do not fubar <screen> or <programlisting>
+screen programlisting
+ format = verbatim
+
+# <entry> is special because a linebreak has meaning, best leave the
+# decisions up to the experts
+#entry
+# format = verbatim
+
+command application filename option userinput computeroutput replaceable glossterm
+ format = inline
+
+# The <primary> and <secondary> subelements of <indexterm> are still block
+firstterm
+ format = inline
+ normalize = yes
+
+indexterm
+ format = block
+ normalize = no
+
+primary secondary
+# format = inline
+ entry-break = 0
+ exit-break = 0
+ normalize = yes
+
+varlistentry
+ element-break = 1
+
+term
+ entry-break = 0
+ exit-break = 0
+
+menuchoice guilabel guimenu guisubmenu guimenuitem guibutton keycap keycombo mousebutton
+ format = inline
+
+wordasword systemitem citetitle footnote email
+ format = inline
+
+acronym
+ format = inline
+
+# Make <ulink> and <xref> less goofy in their use of whitespace
+ulink xref link
+ format = inline
+
+# Cover OMF files
+creator description format identifier language maintainer omf relation subject type
+ format = block
+ normalize = yes
+ entry-break = 1
+ exit-break = 1
+
+# Cover rpm-info files
+details rights version
+ format = block
+ entry-break = 0
+ exit-break = 0
+ normalize = yes
diff --git a/manual/xmlformat/xmlformat.pl b/manual/xmlformat/xmlformat.pl
new file mode 100755
index 0000000000..877f5f110f
--- /dev/null
+++ b/manual/xmlformat/xmlformat.pl
@@ -0,0 +1,1745 @@
+#! /usr/bin/perl -w
+# vim:set ts=2 sw=2 expandtab:
+
+# xmlformat - configurable XML file formatter/pretty-printer
+
+# Copyright (c) 2004, 2005 Kitebird, LLC. All rights reserved.
+# Some portions are based on the REX shallow XML parser, which
+# is Copyright (c) 1998, Robert D. Cameron. These include the
+# regular expression parsing variables and the shallow_parse()
+# method.
+# This software is licensed as described in the file LICENSE,
+# which you should have received as part of this distribution.
+
+# Syntax: xmlformat [config-file] xml-file
+
+# Default config file is $ENV{XMLFORMAT_CONF} or ./xmlformat.conf, in that
+# order.
+
+# Paul DuBois
+# paul@kitebird.com
+# 2003-12-14
+
+# The input document first is parsed into a list of strings. Each string
+# represents one of the following:
+# - text node
+# - processing instruction (the XML declaration is treated as a PI)
+# - comment
+# - CDATA section
+# - DOCTYPE declaration
+# - element tag (either <abc>, </abc>, or <abc/>), *including attributes*
+
+# Entities are left untouched. They appear in their original form as part
+# of the text node in which they occur.
+
+# The list of strings then is converted to a hierarchical structure.
+# The document top level is represented by a reference to a list.
+# Each list element is a reference to a node -- a hash that has "type"
+# and "content" key/value pairs. The "type" key indicates the node
+# type and has one of the following values:
+
+# "text" - text node
+# "pi" - processing instruction node
+# "comment" - comment node
+# "CDATA" - CDATA section node
+# "DOCTYPE" - DOCTYPE node
+# "elt" - element node
+
+# (For purposes of this program, it's really only necessary to have "text",
+# "elt", and "other". The types other than "text" and "elt" currently are
+# all treated the same way.)
+
+# For all but element nodes, the "content" value is the text of the node.
+
+# For element nodes, the "content" hash is a reference to a list of
+# nodes for the element's children. In addition, an element node has
+# three additional key/value pairs:
+# - The "name" value is the tag name within the opening tag, minus angle
+# brackets or attributes.
+# - The "open_tag" value is the full opening tag, which may also be the
+# closing tag.
+# - The "close_tag" value depends on the opening tag. If the open tag is
+# "<abc>", the close tag is "</abc>". If the open tag is "<abc/>", the
+# close tag is the empty string.
+
+# If the tree structure is converted back into a string with
+# tree_stringify(), the result can be compared to the input file
+# as a regression test. The string should be identical to the original
+# input document.
+
+use strict;
+
+use Getopt::Long;
+$Getopt::Long::ignorecase = 0; # options are case sensitive
+$Getopt::Long::bundling = 1; # allow short options to be bundled
+
+my $PROG_NAME = "xmlformat";
+my $PROG_VERSION = "1.04";
+my $PROG_LANG = "Perl";
+
+# ----------------------------------------------------------------------
+
+package XMLFormat;
+
+use strict;
+
+# ----------------------------------------------------------------------
+
+# Regular expressions for parsing document components. Based on REX.
+
+# SPE = shallow parsing expression
+# SE = scanning expression
+# CE = completion expression
+# RSB = right square brackets
+# QM = question mark
+
+my $TextSE = "[^<]+";
+my $UntilHyphen = "[^-]*-";
+my $Until2Hyphens = "$UntilHyphen(?:[^-]$UntilHyphen)*-";
+my $CommentCE = "$Until2Hyphens>?";
+my $UntilRSBs = "[^\\]]*\\](?:[^\\]]+\\])*\\]+";
+my $CDATA_CE = "$UntilRSBs(?:[^\\]>]$UntilRSBs)*>";
+my $S = "[ \\n\\t\\r]+";
+my $NameStrt = "[A-Za-z_:]|[^\\x00-\\x7F]";
+my $NameChar = "[A-Za-z0-9_:.-]|[^\\x00-\\x7F]";
+my $Name = "(?:$NameStrt)(?:$NameChar)*";
+my $QuoteSE = "\"[^\"]*\"|'[^']*'";
+my $DT_IdentSE = "$S$Name(?:$S(?:$Name|$QuoteSE))*";
+my $MarkupDeclCE = "(?:[^\\]\"'><]+|$QuoteSE)*>";
+my $S1 = "[\\n\\r\\t ]";
+my $UntilQMs = "[^?]*\\?+";
+my $PI_Tail = "\\?>|$S1$UntilQMs(?:[^>?]$UntilQMs)*>";
+my $DT_ItemSE =
+"<(?:!(?:--$Until2Hyphens>|[^-]$MarkupDeclCE)|\\?$Name(?:$PI_Tail))|%$Name;|$S";
+my $DocTypeCE = "$DT_IdentSE(?:$S)?(?:\\[(?:$DT_ItemSE)*\\](?:$S)?)?>?";
+my $DeclCE =
+"--(?:$CommentCE)?|\\[CDATA\\[(?:$CDATA_CE)?|DOCTYPE(?:$DocTypeCE)?";
+my $PI_CE = "$Name(?:$PI_Tail)?";
+my $EndTagCE = "$Name(?:$S)?>?";
+my $AttValSE = "\"[^<\"]*\"|'[^<']*'";
+my $ElemTagCE = "$Name(?:$S$Name(?:$S)?=(?:$S)?(?:$AttValSE))*(?:$S)?/?>?";
+my $MarkupSPE =
+"<(?:!(?:$DeclCE)?|\\?(?:$PI_CE)?|/(?:$EndTagCE)?|(?:$ElemTagCE)?)";
+my $XML_SPE = "$TextSE|$MarkupSPE";
+
+# ----------------------------------------------------------------------
+
+# Allowable options and their possible values:
+# - The keys of this hash are the allowable option names
+# - The value for each key is list of allowable option values
+# - If the value is undef, the option value must be numeric
+# If any new formatting option is added to this program, it
+# must be specified here, *and* a default value for it should
+# be listed in the *DOCUMENT and *DEFAULT pseudo-element
+# option hashes.
+
+my %opt_list = (
+ "format" => [ "block", "inline", "verbatim" ],
+ "normalize" => [ "yes", "no" ],
+ "subindent" => undef,
+ "wrap-length" => undef,
+ "entry-break" => undef,
+ "exit-break" => undef,
+ "element-break" => undef
+);
+
+# Object creation: set up the default formatting configuration
+# and variables for maintaining input and output document.
+
+sub new
+{
+my $type = shift;
+
+ my $self = {};
+
+ # Formatting options for each element.
+
+ $self->{elt_opts} = { };
+
+ # The formatting options for the *DOCUMENT and *DEFAULT pseudo-elements can
+ # be overridden in the configuration file, but the options must also be
+ # built in to make sure they exist if not specified in the configuration
+ # file. Each of the structures must have a value for every option.
+
+ # Options for top-level document children.
+ # - Do not change entry-break: 0 ensures no extra newlines before
+ # first element of output.
+ # - Do not change exit-break: 1 ensures a newline after final element
+ # of output document.
+ # - It's probably best not to change any of the others, except perhaps
+ # if you want to increase the element-break.
+
+ $self->{elt_opts}->{"*DOCUMENT"} = {
+ "format" => "block",
+ "normalize" => "no",
+ "subindent" => 0,
+ "wrap-length" => 0,
+ "entry-break" => 0, # do not change
+ "exit-break" => 1, # do not change
+ "element-break" => 1
+ };
+
+ # Default options. These are used for any elements in the document
+ # that are not specified explicitly in the configuration file.
+
+ $self->{elt_opts}->{"*DEFAULT"} = {
+ "format" => "block",
+ "normalize" => "no",
+ "subindent" => 1,
+ "wrap-length" => 0,
+ "entry-break" => 1,
+ "exit-break" => 1,
+ "element-break" => 1
+ };
+
+ # Run the *DOCUMENT and *DEFAULT options through the option-checker
+ # to verify that the built-in values are legal.
+
+ my $err_count = 0;
+
+ foreach my $elt_name (keys (%{$self->{elt_opts}})) # ... for each element
+ {
+ # Check each option for element
+ while (my ($opt_name, $opt_val) = each (%{$self->{elt_opts}->{$elt_name}}))
+ {
+ my $err_msg;
+
+ ($opt_val, $err_msg) = check_option ($opt_name, $opt_val);
+ if (!defined ($err_msg))
+ {
+ $self->{elt_opts}->{$elt_name}->{$opt_name} = $opt_val;
+ }
+ else
+ {
+ warn "LOGIC ERROR: $elt_name default option is invalid\n";
+ warn "$err_msg\n";
+ ++$err_count;
+ }
+ }
+ }
+
+ # Make sure that the every option is represented in the
+ # *DOCUMENT and *DEFAULT structures.
+
+ foreach my $opt_name (keys (%opt_list))
+ {
+ foreach my $elt_name (keys (%{$self->{elt_opts}}))
+ {
+ if (!exists ($self->{elt_opts}->{$elt_name}->{$opt_name}))
+ {
+ warn "LOGIC ERROR: $elt_name has no default '$opt_name' option\n";
+ ++$err_count;
+ }
+ }
+ }
+
+ die "Cannot continue; internal default formatting options must be fixed\n"
+ if $err_count > 0;
+
+ bless $self, $type; # bless object and return it
+}
+
+# Initialize the variables that are used per-document
+
+sub init_doc_vars
+{
+my $self = shift;
+
+ # Elements that are used in the document but not named explicitly
+ # in the configuration file.
+
+ $self->{unconf_elts} = { };
+
+ # List of tokens for current document.
+
+ $self->{tokens} = [ ];
+
+ # List of line numbers for each token
+
+ $self->{line_num} = [ ];
+
+ # Document node tree (constructed from the token list).
+
+ $self->{tree} = [ ];
+
+ # Variables for formatting operations:
+ # out_doc = resulting output document (constructed from document tree)
+ # pending = array of pending tokens being held until flushed
+
+ $self->{out_doc} = "";
+ $self->{pending} = [ ];
+
+ # Inline elements within block elements are processed using the
+ # text normalization (and possible line-wrapping) values of their
+ # enclosing block. Blocks and inlines may be nested, so we maintain
+ # a stack that allows the normalize/wrap-length values of the current
+ # block to be determined.
+
+ $self->{block_name_stack} = [ ]; # for debugging
+ $self->{block_opts_stack} = [ ];
+
+ # A similar stack for maintaining each block's current break type.
+
+ $self->{block_break_type_stack} = [ ];
+}
+
+# Accessors for token list and resulting output document
+
+sub tokens
+{
+my $self = shift;
+
+ return $self->{tokens};
+}
+
+sub out_doc
+{
+my $self = shift;
+
+ return $self->{out_doc};
+}
+
+
+# Methods for adding strings to output document or
+# to the pending output array
+
+sub add_to_doc
+{
+my ($self, $str) = @_;
+
+ $self->{out_doc} .= $str;
+}
+
+sub add_to_pending
+{
+my ($self, $str) = @_;
+
+ push (@{$self->{pending}}, $str);
+}
+
+
+# Block stack mainenance methods
+
+# Push options onto or pop options off from the stack. When doing
+# this, also push or pop an element onto the break-level stack.
+
+sub begin_block
+{
+my ($self, $name, $opts) = @_;
+
+ push (@{$self->{block_name_stack}}, $name);
+ push (@{$self->{block_opts_stack}}, $opts);
+ push (@{$self->{block_break_type_stack}}, "entry-break");
+}
+
+sub end_block
+{
+my $self = shift;
+
+ pop (@{$self->{block_name_stack}});
+ pop (@{$self->{block_opts_stack}});
+ pop (@{$self->{block_break_type_stack}});
+}
+
+# Return the current block's normalization status or wrap length
+
+sub block_normalize
+{
+my $self = shift;
+
+ my $size = @{$self->{block_opts_stack}};
+ my $opts = $self->{block_opts_stack}->[$size-1];
+ return $opts->{normalize} eq "yes";
+}
+
+sub block_wrap_length
+{
+my $self = shift;
+
+ my $size = @{$self->{block_opts_stack}};
+ my $opts = $self->{block_opts_stack}->[$size-1];
+ return $opts->{"wrap-length"};
+}
+
+# Set the current block's break type, or return the number of newlines
+# for the block's break type
+
+sub set_block_break_type
+{
+my ($self, $type) = @_;
+
+ my $size = @{$self->{block_break_type_stack}};
+ $self->{block_break_type_stack}->[$size-1] = $type;
+}
+
+sub block_break_value
+{
+my $self = shift;
+
+ my $size = @{$self->{block_opts_stack}};
+ my $opts = $self->{block_opts_stack}->[$size-1];
+ $size = @{$self->{block_break_type_stack}};
+ my $type = $self->{block_break_type_stack}->[$size-1];
+ return $opts->{$type};
+}
+
+
+# ----------------------------------------------------------------------
+
+# Read configuration information. For each element, construct a hash
+# containing a hash key and value for each option name and value.
+# After reading the file, fill in missing option values for
+# incomplete option structures using the *DEFAULT options.
+
+sub read_config
+{
+my $self = shift;
+my $conf_file = shift;
+my @elt_names = ();
+my $err_msg;
+my $in_continuation = 0;
+my $saved_line = "";
+
+ open (FH, $conf_file) or die "Cannot read config file $conf_file: $!\n";
+ while (<FH>)
+ {
+ chomp;
+
+ next if /^\s*($|#)/; # skip blank lines, comments
+ if ($in_continuation)
+ {
+ $_ = $saved_line . " " . $_;
+ $saved_line = "";
+ $in_continuation = 0;
+ }
+ if (!/^\s/)
+ {
+ # Line doesn't begin with whitespace, so it lists element names.
+ # Names are separated by whitespace or commas, possibly followed
+ # by a continuation character or a comment.
+ if (/\\$/)
+ {
+ s/\\$//; # remove continuation character
+ $saved_line = $_;
+ $in_continuation = 1;
+ next;
+ }
+ s/\s*#.*$//; # remove any trailing comment
+ @elt_names = split (/[\s,]+/, $_);
+ # make sure each name has an entry in the elt_opts structure
+ foreach my $elt_name (@elt_names)
+ {
+ $self->{elt_opts}->{$elt_name} = { }
+ unless exists ($self->{elt_opts}->{$elt_name});
+ }
+ }
+ else
+ {
+ # Line begins with whitespace, so it contains an option
+ # to apply to the current element list, possibly followed by
+ # a comment. First check that there is a current list.
+ # Then parse the option name/value.
+
+ die "$conf_file:$.: Option setting found before any "
+ . "elements were named.\n"
+ if !@elt_names;
+ s/\s*#.*$//;
+ my ($opt_name, $opt_val) = /^\s+(\S+)(?:\s+|\s*=\s*)(\S+)$/;
+ die "$conf_file:$.: Malformed line: $_\n" unless defined ($opt_val);
+
+ # Check option. If illegal, die with message. Otherwise,
+ # add option to each element in current element list
+
+ ($opt_val, $err_msg) = check_option ($opt_name, $opt_val);
+ die "$conf_file:$.: $err_msg\n" if defined ($err_msg);
+ foreach my $elt_name (@elt_names)
+ {
+ $self->{elt_opts}->{$elt_name}->{$opt_name} = $opt_val;
+ }
+ }
+ }
+ close (FH);
+
+ # For any element that has missing option values, fill in the values
+ # using the options for the *DEFAULT pseudo-element. This speeds up
+ # element option lookups later. It also makes it unnecessary to test
+ # each option to see if it's defined: All element option structures
+ # will have every option defined.
+
+ my $def_opts = $self->{elt_opts}->{"*DEFAULT"};
+
+ foreach my $elt_name (keys (%{$self->{elt_opts}}))
+ {
+ next if $elt_name eq "*DEFAULT";
+ foreach my $opt_name (keys (%{$def_opts}))
+ {
+ next if exists ($self->{elt_opts}->{$elt_name}->{$opt_name}); # already set
+ $self->{elt_opts}->{$elt_name}->{$opt_name} = $def_opts->{$opt_name};
+ }
+ }
+}
+
+
+# Check option name to make sure it's legal. Check the value to make sure
+# that it's legal for the name. Return a two-element array:
+# (value, undef) if the option name and value are legal.
+# (undef, message) if an error was found; message contains error message.
+# For legal values, the returned value should be assigned to the option,
+# because it may get type-converted here.
+
+sub check_option
+{
+my ($opt_name, $opt_val) = @_;
+
+ # - Check option name to make sure it's a legal option
+ # - Then check the value. If there is a list of values
+ # the value must be one of them. Otherwise, the value
+ # must be an integer.
+
+ return (undef, "Unknown option name: $opt_name")
+ unless exists ($opt_list{$opt_name});
+ my $allowable_val = $opt_list{$opt_name};
+ if (defined ($allowable_val))
+ {
+ return (undef, "Unknown '$opt_name' value: $opt_val")
+ unless grep (/^$opt_val$/, @{$allowable_val});
+ }
+ else # other options should be numeric
+ {
+ # "$opt_val" converts $opt_val to string for pattern match
+ return (undef, "'$opt_name' value ($opt_val) should be an integer")
+ unless "$opt_val" =~ /^\d+$/;
+ }
+ return ($opt_val, undef);
+}
+
+
+# Return hash of option values for a given element. If no options are found:
+# - Add the element name to the list of unconfigured options.
+# - Assign the default options to the element. (This way the test for the
+# option fails only once.)
+
+sub get_opts
+{
+my $self = shift;
+my $elt_name = shift;
+
+ my $opts = $self->{elt_opts}->{$elt_name};
+ if (!defined ($opts))
+ {
+ $self->{unconf_elts}->{$elt_name} = 1;
+ $opts = $self->{elt_opts}->{$elt_name} = $self->{elt_opts}->{"*DEFAULT"};
+ }
+ return $opts;
+}
+
+
+# Display contents of configuration options to be used to process document.
+# For each element named in the elt_opts structure, display its format
+# type, and those options that apply to the type.
+
+sub display_config
+{
+my $self = shift;
+# Format types and the additional options that apply to each type
+my $format_opts = {
+ "block" => [
+ "entry-break",
+ "element-break",
+ "exit-break",
+ "subindent",
+ "normalize",
+ "wrap-length"
+ ],
+ "inline" => [ ],
+ "verbatim" => [ ]
+};
+
+ foreach my $elt_name (sort (keys (%{$self->{elt_opts}})))
+ {
+ print "$elt_name\n";
+ my %opts = %{$self->{elt_opts}->{$elt_name}};
+ my $format = $opts{format};
+ # Write out format type, then options that apply to the format type
+ print " format = $format\n";
+ foreach my $opt_name (@{$format_opts->{$format}})
+ {
+ print " $opt_name = $opts{$opt_name}\n";
+ }
+ print "\n";
+ }
+}
+
+
+# Display the list of elements that are used in the document but not
+# configured in the configuration file.
+
+# Then re-unconfigure the elements so that they won't be considered
+# as configured for the next document, if there is one.
+
+sub display_unconfigured_elements
+{
+my $self = shift;
+
+ my @elts = keys (%{$self->{unconf_elts}});
+ if (@elts == 0)
+ {
+ print "The document contains no unconfigured elements.\n";
+ }
+ else
+ {
+ print "The following document elements were assigned no formatting options:\n";
+ foreach my $line ($self->line_wrap ([ join (" ", sort (@elts)) ], 0, 0, 65))
+ {
+ print "$line\n";
+ }
+ }
+
+ foreach my $elt_name (@elts)
+ {
+ delete ($self->{elt_opts}->{$elt_name});
+ }
+}
+
+# ----------------------------------------------------------------------
+
+# Main document processing routine.
+# - Argument is a string representing an input document
+# - Return value is the reformatted document, or undef. An undef return
+# signifies either that an error occurred, or that some option was
+# given that suppresses document output. In either case, don't write
+# any output for the document. Any error messages will already have
+# been printed when this returns.
+
+sub process_doc
+{
+my $self = shift;
+my ($doc, $verbose, $check_parser, $canonize_only, $show_unconf_elts) = @_;
+my $str;
+
+ $self->init_doc_vars ();
+
+ # Perform lexical parse to split document into list of tokens
+ warn "Parsing document...\n" if $verbose;
+ $self->shallow_parse ($doc);
+
+ if ($check_parser)
+ {
+ warn "Checking parser...\n" if $verbose;
+ # concatentation of tokens should be identical to original document
+ if ($doc eq join ("", @{$self->tokens ()}))
+ {
+ print "Parser is okay\n";
+ }
+ else
+ {
+ print "PARSER ERROR: document token concatenation differs from document\n";
+ }
+ return undef;
+ }
+
+ # Assign input line number to each token
+ $self->assign_line_numbers ();
+
+ # Look for and report any error tokens returned by parser
+ warn "Checking document for errors...\n" if $verbose;
+ if ($self->report_errors () > 0)
+ {
+ warn "Cannot continue processing document.\n";
+ return undef;
+ }
+
+ # Convert the token list to a tree structure
+ warn "Converting document tokens to tree...\n" if $verbose;
+ if ($self->tokens_to_tree () > 0)
+ {
+ warn "Cannot continue processing document.\n";
+ return undef;
+ }
+
+ # Check: Stringify the tree to convert it back to a single string,
+ # then compare to original document string (should be identical)
+ # (This is an integrity check on the validity of the to-tree and stringify
+ # operations; if one or both do not work properly, a mismatch should occur.)
+ #$str = $self->tree_stringify ();
+ #print $str;
+ #warn "ERROR: mismatch between document and resulting string\n" if $doc ne $str;
+
+ # Canonize tree to remove extraneous whitespace
+ warn "Canonizing document tree...\n" if $verbose;
+ $self->tree_canonize ();
+
+ if ($canonize_only)
+ {
+ print $self->tree_stringify () . "\n";
+ return undef;
+ }
+
+ # One side-effect of canonizing the tree is that the formatting
+ # options are looked up for each element in the document. That
+ # causes the list of elements that have no explicit configuration
+ # to be built. Display the list and return if user requested it.
+
+ if ($show_unconf_elts)
+ {
+ $self->display_unconfigured_elements ();
+ return undef;
+ }
+
+ # Format the tree to produce formatted XML as a single string
+ warn "Formatting document tree...\n" if $verbose;
+ $self->tree_format ();
+
+ # If the document is not empty, add a newline and emit a warning if
+ # reformatting failed to add a trailing newline. This shouldn't
+ # happen if the *DOCUMENT options are set up with exit-break = 1,
+ # which is the reason for the warning rather than just silently
+ # adding the newline.
+
+ $str = $self->out_doc ();
+ if ($str ne "" && $str !~ /\n$/)
+ {
+ warn "LOGIC ERROR: trailing newline had to be added\n";
+ $str .= "\n";
+ }
+
+ return $str;
+}
+
+# ----------------------------------------------------------------------
+
+# Parse XML document into array of tokens and store array
+
+sub shallow_parse
+{
+my ($self, $xml_document) = @_;
+
+ $self->{tokens} = [ $xml_document =~ /$XML_SPE/g ];
+}
+
+# ----------------------------------------------------------------------
+
+# Extract a tag name from a tag and return it.
+
+# Dies if the tag cannot be found, because this is supposed to be
+# called only with a legal tag.
+
+sub extract_tag_name
+{
+my $tag = shift;
+
+ die "Cannot find tag name in tag: $tag\n" unless $tag =~ /^<\/?($Name)/;
+ return $1;
+}
+
+# ----------------------------------------------------------------------
+
+# Assign an input line number to each token. The number indicates
+# the line number on which the token begins.
+
+sub assign_line_numbers
+{
+my $self = shift;
+my $line_num = 1;
+
+ $self->{line_num} = [ ];
+ for (my $i = 0; $i < @{$self->{tokens}}; $i++)
+ {
+ my $token = $self->{tokens}->[$i];
+ push (@{$self->{line_num}}, $line_num);
+ # count newlines and increment line counter (tr returns no. of matches)
+ $line_num += ($token =~ tr/\n/\n/);
+ }
+}
+
+# ----------------------------------------------------------------------
+
+# Check token list for errors and report any that are found. Error
+# tokens are those that begin with "<" but do not end with ">".
+
+# Returns the error count.
+
+# Does not modify the original token list.
+
+sub report_errors
+{
+my $self = shift;
+my $err_count = 0;
+
+ for (my $i = 0; $i < @{$self->{tokens}}; $i++)
+ {
+ my $token = $self->{tokens}->[$i];
+ if ($token =~ /^</ && $token !~ />$/)
+ {
+ my $line_num = $self->{line_num}->[$i];
+ warn "Malformed token at line $line_num, token " . ($i+1) . ": $token\n";
+ ++$err_count;
+ }
+ }
+ warn "Number of errors found: $err_count\n" if $err_count > 0;
+ return $err_count;
+}
+
+# ----------------------------------------------------------------------
+
+# Helper routine to print tag stack for tokens_to_tree
+
+sub print_tag_stack
+{
+my ($label, @stack) = @_;
+ if (@stack < 1)
+ {
+ warn " $label: none\n";
+ }
+ else
+ {
+ warn " $label:\n";
+ for (my $i = 0; $i < @stack; $i++)
+ {
+ warn " ", ($i+1), ": ", $stack[$i], "\n";
+ }
+ }
+}
+
+# Convert the list of XML document tokens to a tree representation.
+# The implementation uses a loop and a stack rather than recursion.
+
+# Does not modify the original token list.
+
+# Returns an error count.
+
+sub tokens_to_tree
+{
+my $self = shift;
+
+ my @tag_stack = (); # stack for element tags
+ my @children_stack = (); # stack for lists of children
+ my $children = [ ]; # current list of children
+ my $err_count = 0;
+
+ for (my $i = 0; $i < @{$self->{tokens}}; $i++)
+ {
+ my $token = $self->{tokens}->[$i];
+ my $line_num = $self->{line_num}->[$i];
+ my $tok_err = "Error near line $line_num, token " . ($i+1) . " ($token)";
+ if ($token !~ /^</) # text
+ {
+ push (@{$children}, text_node ($token));
+ }
+ elsif ($token =~ /^<!--/) # comment
+ {
+ push (@{$children}, comment_node ($token));
+ }
+ elsif ($token =~ /^<\?/) # processing instruction
+ {
+ push (@{$children}, pi_node ($token));
+ }
+ elsif ($token =~ /^<!DOCTYPE/) # DOCTYPE
+ {
+ push (@{$children}, doctype_node ($token));
+ }
+ elsif ($token =~ /^<!\[/) # CDATA
+ {
+ push (@{$children}, cdata_node ($token));
+ }
+ elsif ($token =~ /^<\//) # element close tag
+ {
+ if (!@tag_stack)
+ {
+ warn "$tok_err: Close tag w/o preceding open tag; malformed document?\n";
+ ++$err_count;
+ next;
+ }
+ if (!@children_stack)
+ {
+ warn "$tok_err: Empty children stack; malformed document?\n";
+ ++$err_count;
+ next;
+ }
+ my $tag = pop (@tag_stack);
+ my $open_tag_name = extract_tag_name ($tag);
+ my $close_tag_name = extract_tag_name ($token);
+ if ($open_tag_name ne $close_tag_name)
+ {
+ warn "$tok_err: Tag mismatch; malformed document?\n";
+ warn " open tag: $tag\n";
+ warn " close tag: $token\n";
+ print_tag_stack ("enclosing tags", @tag_stack);
+ ++$err_count;
+ next;
+ }
+ my $elt = element_node ($tag, $token, $children);
+ $children = pop (@children_stack);
+ push (@{$children}, $elt);
+ }
+ else # element open tag
+ {
+ # If we reach here, we're seeing the open tag for an element:
+ # - If the tag is also the close tag (e.g., <abc/>), close the
+ # element immediately, giving it an empty child list.
+ # - Otherwise, push tag and child list on stacks, begin new child
+ # list for element body.
+ if ($token =~ /\/>$/) # tag is of form <abc/>
+ {
+ push (@{$children}, element_node ($token, "", [ ]));
+ }
+ else # tag is of form <abc>
+ {
+ push (@tag_stack, $token);
+ push (@children_stack, $children);
+ $children = [ ];
+ }
+ }
+ }
+
+ # At this point, the stacks should be empty if the document is
+ # well-formed.
+
+ if (@tag_stack)
+ {
+ warn "Error at EOF: Unclosed tags; malformed document?\n";
+ print_tag_stack ("unclosed tags", @tag_stack);
+ ++$err_count;
+ }
+ if (@children_stack)
+ {
+ warn "Error at EOF: Unprocessed child elements; malformed document?\n";
+# TODO: print out info about them
+ ++$err_count;
+ }
+
+ $self->{tree} = $children;
+ return $err_count;
+}
+
+
+# Node-generating helper methods for tokens_to_tree
+
+# Generic node generator
+
+sub node { return { "type" => $_[0], "content" => $_[1] }; }
+
+# Generators for specific non-element nodes
+
+sub text_node { return node ("text", $_[0]); }
+sub comment_node { return node ("comment", $_[0]); }
+sub pi_node { return node ("pi", $_[0]); }
+sub doctype_node { return node ("DOCTYPE", $_[0]); }
+sub cdata_node { return node ("CDATA", $_[0]); }
+
+# For an element node, create a standard node with the type and content
+# key/value pairs. Then add pairs for the "name", "open_tag", and
+# "close_tag" hash keys.
+
+sub element_node
+{
+my ($open_tag, $close_tag, $children) = @_;
+
+ my $elt = node ("elt", $children);
+ # name is the open tag with angle brackets and attibutes stripped
+ $elt->{name} = extract_tag_name ($open_tag);
+ $elt->{open_tag} = $open_tag;
+ $elt->{close_tag} = $close_tag;
+ return $elt;
+}
+
+# ----------------------------------------------------------------------
+
+# Convert the given XML document tree (or subtree) to string form by
+# concatentating all of its components. Argument is a reference
+# to a list of nodes at a given level of the tree.
+
+# Does not modify the node list.
+
+sub tree_stringify
+{
+my $self = shift;
+my $children = shift || $self->{tree}; # use entire tree if no arg;
+my $str = "";
+
+ for (my $i = 0; $i < @{$children}; $i++)
+ {
+ my $child = $children->[$i];
+
+ # - Elements have list of child nodes as content (process recursively)
+ # - All other node types have text content
+
+ if ($child->{type} eq "elt")
+ {
+ $str .= $child->{open_tag}
+ . $self->tree_stringify ($child->{content})
+ . $child->{close_tag};
+ }
+ else
+ {
+ $str .= $child->{content};
+ }
+ }
+ return $str;
+}
+
+# ----------------------------------------------------------------------
+
+
+# Put tree in "canonical" form by eliminating extraneous whitespace
+# from element text content.
+
+# $children is a list of child nodes
+
+# This function modifies the node list.
+
+# Canonizing occurs as follows:
+# - Comment, PI, DOCTYPE, and CDATA nodes remain untouched
+# - Verbatim elements and their descendants remain untouched
+# - Within non-normalized block elements:
+# - Delete all-whitespace text node children
+# - Leave other text node children untouched
+# - Within normalized block elements:
+# - Convert runs of whitespace (including line-endings) to single spaces
+# - Trim leading whitespace of first text node
+# - Trim trailing whitespace of last text node
+# - Trim whitespace that is adjacent to a verbatim or non-normalized
+# sub-element. (For example, if a <programlisting> is followed by
+# more text, delete any whitespace at beginning of that text.)
+# - Within inline elements:
+# - Normalize the same way as the enclosing block element, with the
+# exception that a space at the beginning or end is not removed.
+# (Otherwise, <para>three<literal> blind </literal>mice</para>
+# would become <para>three<literal>blind</literal>mice</para>.)
+
+sub tree_canonize
+{
+my $self = shift;
+
+ $self->{tree} = $self->tree_canonize2 ($self->{tree}, "*DOCUMENT");
+}
+
+
+sub tree_canonize2
+{
+my $self = shift;
+my $children = shift;
+my $par_name = shift;
+
+ # Formatting options for parent
+ my $par_opts = $self->get_opts ($par_name);
+
+ # If parent is a block element, remember its formatting options on
+ # the block stack so they can be used to control canonization of
+ # inline child elements.
+
+ $self->begin_block ($par_name, $par_opts) if $par_opts->{format} eq "block";
+
+ # Iterate through list of child nodes to preserve, modify, or
+ # discard whitespace. Return resulting list of children.
+
+ # Canonize element and text nodes. Leave everything else (comments,
+ # processing instructions, etc.) untouched.
+
+ my @new_children = ();
+
+ while (@{$children})
+ {
+ my $child = shift (@{$children});
+
+ if ($child->{type} eq "elt")
+ {
+ # Leave verbatim elements untouched. For other element nodes,
+ # canonize child list using options appropriate to element.
+
+ if ($self->get_opts ($child->{name})->{format} ne "verbatim")
+ {
+ $child->{content} = $self->tree_canonize2 ($child->{content},
+ $child->{name});
+ }
+ }
+ elsif ($child->{type} eq "text")
+ {
+ # Delete all-whitespace node or strip whitespace as appropriate.
+
+ # Paranoia check: We should never get here for verbatim elements,
+ # because normalization is irrelevant for them.
+
+ die "LOGIC ERROR: trying to canonize verbatim element $par_name!\n"
+ if $par_opts->{format} eq "verbatim";
+
+ if (!$self->block_normalize ())
+ {
+ # Enclosing block is not normalized:
+ # - Delete child all-whitespace text nodes.
+ # - Leave other text nodes untouched.
+
+ next if $child->{content} =~ /^\s*$/;
+ }
+ else
+ {
+ # Enclosing block is normalized, so normalize this text node:
+ # - Convert runs of whitespace characters (including
+ # line-endings characters) to single spaces.
+ # - Trim leading whitespace if this node is the first child
+ # of a block element or it follows a non-normalized node.
+ # - Trim leading whitespace if this node is the last child
+ # of a block element or it precedes a non-normalized node.
+
+ # These are nil if there is no prev or next child
+ my $prev_child = $new_children[$#new_children];
+ my $next_child = $children->[0];
+
+ $child->{content} =~ s/\s+/ /g;
+ $child->{content} =~ s/^ //
+ if (!defined ($prev_child) && $par_opts->{format} eq "block")
+ || $self->non_normalized_node ($prev_child);
+ $child->{content} =~ s/ $//
+ if (!defined ($next_child) && $par_opts->{format} eq "block")
+ || $self->non_normalized_node ($next_child);
+
+ # If resulting text is empty, discard the node.
+ next if $child->{content} =~ /^$/;
+ }
+ }
+ push (@new_children, $child);
+ }
+
+ # Pop block stack if parent was a block element
+ $self->end_block () if $par_opts->{format} eq "block";
+
+ return \@new_children;
+}
+
+
+# Helper function for tree_canonize().
+
+# Determine whether a node is normalized. This is used to check
+# the node that is adjacent to a given text node (either previous
+# or following).
+# - No is node is nil
+# - No if the node is a verbatim element
+# - If the node is a block element, yes or no according to its
+# normalize option
+# - No if the node is an inline element. Inlines are normalized
+# if the parent block is normalized, but this method is not called
+# except while examinine normalized blocks. So its inline children
+# are also normalized.
+# - No if node is a comment, PI, DOCTYPE, or CDATA section. These are
+# treated like verbatim elements.
+
+sub non_normalized_node
+{
+my $self = shift;
+my $node = shift;
+
+ return 0 if !$node;
+ my $type = $node->{type};
+ if ($type eq "elt")
+ {
+ my $node_opts = $self->get_opts ($node->{name});
+ if ($node_opts->{format} eq "verbatim")
+ {
+ return 1;
+ }
+ if ($node_opts->{format} eq "block")
+ {
+ return $node_opts->{normalize} eq "no";
+ }
+ if ($node_opts->{format} eq "inline")
+ {
+ return 0;
+ }
+ die "LOGIC ERROR: non_normalized_node: unhandled node format.\n";
+ }
+ if ($type eq "comment" || $type eq "pi" || $type eq "DOCTYPE"
+ || $type eq "CDATA")
+ {
+ return 1;
+ }
+ if ($type eq "text")
+ {
+ die "LOGIC ERROR: non_normalized_node: got called for text node.\n";
+ }
+ die "LOGIC ERROR: non_normalized_node: unhandled node type.\n";
+}
+
+# ----------------------------------------------------------------------
+
+# Format (pretty-print) the document tree
+
+# Does not modify the node list.
+
+# The class maintains two variables for storing output:
+# - out_doc stores content that has been seen and "flushed".
+# - pending stores an array of strings (content of text nodes and inline
+# element tags). These are held until they need to be flushed, at
+# which point they are concatenated and possibly wrapped/indented.
+# Flushing occurs when a break needs to be written, which happens
+# when something other than a text node or inline element is seen.
+
+# If parent name and children are not given, format the entire document.
+# Assume prevailing indent = 0 if not given.
+
+sub tree_format
+{
+my $self = shift;
+my $par_name = shift || "*DOCUMENT"; # format entire document if no arg
+my $children = shift || $self->{tree}; # use entire tree if no arg
+my $indent = shift || 0;
+
+ # Formatting options for parent element
+ my $par_opts = $self->get_opts ($par_name);
+
+ # If parent is a block element:
+ # - Remember its formatting options on the block stack so they can
+ # be used to control formatting of inline child elements.
+ # - Set initial break type to entry-break.
+ # - Shift prevailing indent right before generating child content.
+
+ if ($par_opts->{format} eq "block")
+ {
+ $self->begin_block ($par_name, $par_opts);
+ $self->set_block_break_type ("entry-break");
+ $indent += $par_opts->{"subindent"};
+ }
+
+ # Variables for keeping track of whether the previous child
+ # was a text node. Used for controlling break behavior in
+ # non-normalized block elements: No line breaks are added around
+ # text in such elements, nor is indenting added.
+
+ my $prev_child_is_text = 0;
+ my $cur_child_is_text = 0;
+
+ foreach my $child (@{$children})
+ {
+ $prev_child_is_text = $cur_child_is_text;
+
+ # Text nodes: just add text to pending output
+
+ if ($child->{type} eq "text")
+ {
+ $cur_child_is_text = 1;
+ $self->add_to_pending ($child->{content});
+ next;
+ }
+
+ $cur_child_is_text = 0;
+
+ # Element nodes: handle depending on format type
+
+ if ($child->{type} eq "elt")
+ {
+ my $child_opts = $self->get_opts ($child->{name});
+
+ # Verbatim elements:
+ # - Print literally without change (use _stringify).
+ # - Do not line-wrap or add any indent.
+
+ if ($child_opts->{format} eq "verbatim")
+ {
+ $self->flush_pending ($indent);
+ $self->emit_break (0)
+ unless $prev_child_is_text && !$self->block_normalize ();
+ $self->set_block_break_type ("element-break");
+ $self->add_to_doc ($child->{open_tag}
+ . $self->tree_stringify ($child->{content})
+ . $child->{close_tag});
+ next;
+ }
+
+ # Inline elements:
+ # - Do not break or indent.
+ # - Do not line-wrap content; just add content to pending output
+ # and let it be wrapped as part of parent's content.
+
+ if ($child_opts->{format} eq "inline")
+ {
+ $self->add_to_pending ($child->{open_tag});
+ $self->tree_format ($child->{name}, $child->{content}, $indent);
+ $self->add_to_pending ($child->{close_tag});
+ next;
+ }
+
+ # If we get here, node is a block element.
+
+ # - Break and flush any pending output
+ # - Break and indent (no indent if break count is zero)
+ # - Process element itself:
+ # - Put out opening tag
+ # - Put out element content
+ # - Put out any indent needed before closing tag. None needed if:
+ # - Element's exit-break is 0 (closing tag is not on new line,
+ # so don't indent it)
+ # - There is no separate closing tag (it was in <abc/> format)
+ # - Element has no children (tags will be written as
+ # <abc></abc>, so don't indent closing tag)
+ # - Element has children, but the block is not normalized and
+ # the last child is a text node
+ # - Put out closing tag
+
+ $self->flush_pending ($indent);
+ $self->emit_break ($indent)
+ unless $prev_child_is_text && !$self->block_normalize ();
+ $self->set_block_break_type ("element-break");
+ $self->add_to_doc ($child->{open_tag});
+ $self->tree_format ($child->{name}, $child->{content}, $indent);
+ $self->add_to_doc (" " x $indent)
+ unless $child_opts->{"exit-break"} <= 0
+ || $child->{close_tag} eq ""
+ || !@{$child->{content}}
+ || (@{$child->{content}}
+ && $child->{content}->[$#{$child->{content}}]->{type} eq "text"
+ && $child_opts->{normalize} eq "no");
+ $self->add_to_doc ($child->{close_tag});
+ next;
+ }
+
+ # Comments, PIs, etc. (everything other than text and elements),
+ # treat similarly to verbatim block:
+ # - Flush any pending output
+ # - Put out a break
+ # - Add node content to collected output
+
+ $self->flush_pending ($indent);
+ $self->emit_break (0)
+ unless $prev_child_is_text && !$self->block_normalize ();
+ $self->set_block_break_type ("element-break");
+ $self->add_to_doc ($child->{content});
+ }
+
+ $prev_child_is_text = $cur_child_is_text;
+
+ # Done processing current element's children now.
+
+ # If current element is a block element:
+ # - If there were any children, flush any pending output and put
+ # out the exit break.
+ # - Pop the block stack
+
+ if ($par_opts->{format} eq "block")
+ {
+ if (@{$children})
+ {
+ $self->flush_pending ($indent);
+ $self->set_block_break_type ("exit-break");
+ $self->emit_break (0)
+ unless $prev_child_is_text && !$self->block_normalize ();
+ }
+ $self->end_block ();
+ }
+}
+
+
+# Emit a break - the appropriate number of newlines according to the
+# enclosing block's current break type.
+
+# In addition, emit the number of spaces indicated by indent. (indent
+# > 0 when breaking just before emitting an element tag that should
+# be indented within its parent element.)
+
+# Exception: Emit no indent if break count is zero. That indicates
+# any following output will be written on the same output line, not
+# indented on a new line.
+
+# Initially, when processing a node's child list, the break type is
+# set to entry-break. Each subsequent break is an element-break.
+# (After child list has been processed, an exit-break is produced as well.)
+
+sub emit_break
+{
+my ($self, $indent) = @_;
+
+ # number of newlines to emit
+ my $break_value = $self->block_break_value ();
+
+ $self->add_to_doc ("\n" x $break_value);
+ # add indent if there *was* a break
+ $self->add_to_doc (" " x $indent) if $indent > 0 && $break_value > 0;
+}
+
+
+# Flush pending output to output document collected thus far:
+# - Wrap pending contents as necessary, with indent before *each* line.
+# - Add pending text to output document (thus "flushing" it)
+# - Clear pending array.
+
+sub flush_pending
+{
+my ($self, $indent) = @_;
+
+ # Do nothing if nothing to flush
+ return if !@{$self->{pending}};
+
+ # If current block is not normalized:
+ # - Text nodes cannot be modified (no wrapping or indent). Flush
+ # text as is without adding a break or indent.
+ # If current block is normalized:
+ # - Add a break.
+ # - If line wrap is disabled:
+ # - Add indent if there is a break. (If there isn't a break, text
+ # should immediately follow preceding tag, so don't add indent.)
+ # - Add text without wrapping
+ # - If line wrap is enabled:
+ # - First line indent is 0 if there is no break. (Text immediately
+ # follows preceding tag.) Otherwise first line indent is same as
+ # prevailing indent.
+ # - Any subsequent lines get the prevailing indent.
+
+ # After flushing text, advance break type to element-break.
+
+ my $s = "";
+
+ if (!$self->block_normalize ())
+ {
+ $s .= join ("", @{$self->{pending}});
+ }
+ else
+ {
+ $self->emit_break (0);
+ my $wrap_len = $self->block_wrap_length ();
+ my $break_value = $self->block_break_value ();
+ if ($wrap_len <= 0)
+ {
+ $s .= " " x $indent if $break_value > 0;
+ $s .= join ("", @{$self->{pending}});
+ }
+ else
+ {
+ my $first_indent = ($break_value > 0 ? $indent : 0);
+ # Wrap lines, then join by newlines (don't add one at end)
+ my @lines = $self->line_wrap ($self->{pending},
+ $first_indent,
+ $indent,
+ $wrap_len);
+ $s .= join ("\n", @lines);
+ }
+ }
+
+ $self->add_to_doc ($s);
+ $self->{pending} = [ ];
+ $self->set_block_break_type ("element-break");
+}
+
+
+# Perform line-wrapping of string array to lines no longer than given
+# length (including indent).
+# Any word longer than line length appears by itself on line.
+# Return array of lines (not newline-terminated).
+
+# $strs - reference to array of text items to be joined and line-wrapped.
+# Each item may be:
+# - A tag (such as <emphasis role="bold">). This should be treated as
+# an atomic unit, which is important for preserving inline tags intact.
+# - A possibly multi-word string (such as "This is a string"). In this
+# latter case, line-wrapping preserves internal whitespace in the
+# string, with the exception that if whitespace would be placed at
+# the end of a line, it is discarded.
+
+# $first_indent - indent for first line
+# $rest_indent - indent for any remaining lines
+# $max_len - maximum length of output lines (including indent)
+
+sub line_wrap
+{
+my ($self, $strs, $first_indent, $rest_indent, $max_len) = @_;
+
+ # First, tokenize the strings
+
+ my @words = ();
+ foreach my $str (@{$strs})
+ {
+ if ($str =~ /^</)
+ {
+ # String is a tag; treat as atomic unit and don't split
+ push (@words, $str);
+ }
+ else
+ {
+ # String of white and non-white tokens.
+ # Tokenize into white and non-white tokens.
+ push (@words, ($str =~ /\S+|\s+/g));
+ }
+ }
+
+ # Now merge tokens that are not separated by whitespace tokens. For
+ # example, "<i>", "word", "</i>" gets merged to "<i>word</i>". But
+ # "<i>", " ", "word", " ", "</i>" gets left as separate tokens.
+
+ my @words2 = ();
+ foreach my $word (@words)
+ {
+ # If there is a previous word that does not end with whitespace,
+ # and the currrent word does not begin with whitespace, concatenate
+ # current word to previous word. Otherwise append current word to
+ # end of list of words.
+ if (@words2 && $words2[$#words2] !~ /\s$/ && $word !~ /^\s/)
+ {
+ $words2[$#words2] .= $word;
+ }
+ else
+ {
+ push (@words2, $word);
+ }
+ }
+
+ my @lines = ();
+ my $line = "";
+ my $llen = 0;
+ # set the indent for the first line
+ my $indent = $first_indent;
+ # saved-up whitespace to put before next non-white word
+ my $white = "";
+
+ foreach my $word (@words2) # ... while words remain to wrap
+ {
+ # If word is whitespace, save it. It gets added before next
+ # word if no line-break occurs.
+ if ($word =~ /^\s/)
+ {
+ $white .= $word;
+ next;
+ }
+ my $wlen = length ($word);
+ if ($llen == 0)
+ {
+ # New output line; it gets at least one word (discard any
+ # saved whitespace)
+ $line = " " x $indent . $word;
+ $llen = $indent + $wlen;
+ $indent = $rest_indent;
+ $white = "";
+ next;
+ }
+ if ($llen + length ($white) + $wlen > $max_len)
+ {
+ # Word (plus saved whitespace) won't fit on current line.
+ # Begin new line (discard any saved whitespace).
+ push (@lines, $line);
+ $line = " " x $indent . $word;
+ $llen = $indent + $wlen;
+ $indent = $rest_indent;
+ $white = "";
+ next;
+ }
+ # add word to current line with saved whitespace between
+ $line .= $white . $word;
+ $llen += length ($white) + $wlen;
+ $white = "";
+ }
+
+ # push remaining line, if any
+ push (@lines, $line) if $line ne "";
+
+ return @lines;
+}
+
+1;
+
+# ----------------------------------------------------------------------
+
+# Begin main program
+
+package main;
+
+
+my $usage = <<EOF;
+Usage: $PROG_NAME [options] xml-file
+
+Options:
+--help, -h
+ Print this message and exit.
+--backup suffix -b suffix
+ Back up the input document, adding suffix to the input
+ filename to create the backup filename.
+--canonized-output
+ Proceed only as far as the document canonization stage,
+ printing the result.
+--check-parser
+ Parse the document into tokens and verify that their
+ concatenation is identical to the original input document.
+ This option suppresses further document processing.
+--config-file file_name, -f file_name
+ Specify the configuration filename. If no file is named,
+ xmlformat uses the file named by the environment variable
+ XMLFORMAT_CONF, if it exists, or ./xmlformat.conf, if it
+ exists. Otherwise, xmlformat uses built-in formatting
+ options.
+--in-place, -i
+ Format the document in place, replacing the contents of
+ the input file with the reformatted document. (It's a
+ good idea to use --backup along with this option.)
+--show-config
+ Show configuration options after reading configuration
+ file. This option suppresses document processing.
+--show-unconfigured-elements
+ Show elements that are used in the document but for
+ which no options were specified in the configuration
+ file. This option suppresses document output.
+--verbose, -v
+ Be verbose about processing stages.
+--version, -V
+ Show version information and exit.
+EOF
+
+# Variables for command line options; most are undefined initially.
+my $help;
+my $backup_suffix;
+my $conf_file;
+my $canonize_only;
+my $check_parser;
+my $in_place;
+my $show_conf;
+my $show_unconf_elts;
+my $show_version;
+my $verbose;
+
+GetOptions (
+ # =i means an integer argument is required after the option
+ # =s means a string argument is required after the option
+ # :s means a string argument is optional after the option
+ "help|h" => \$help, # print help message
+ "backup|b=s" => \$backup_suffix, # make backup using suffix
+ "canonized-output" => \$canonize_only, # print canonized document
+ "check-parser" => \$check_parser, # verify parser integrity
+ "config-file|f=s" => \$conf_file, # config file
+ "in-place|i" => \$in_place, # format in place
+ "show-config" => \$show_conf, # show configuration file
+ # need better name
+ "show-unconfigured-elements" => \$show_unconf_elts, # show unconfigured elements
+ "verbose|v" => \$verbose, # be verbose
+ "version|V" => \$show_version, # show version info
+) or do { print "$usage\n"; exit (1); };
+
+if (defined ($help))
+{
+ print "$usage\n";
+ exit (0);
+}
+
+if (defined ($show_version))
+{
+ print "$PROG_NAME $PROG_VERSION ($PROG_LANG version)\n";
+ exit (0);
+}
+
+# --in-place option requires a named file
+
+warn "WARNING: --in-place/-i option ignored (requires named input files)\n"
+ if defined ($in_place) && @ARGV == 0;
+
+# --backup/-b is meaningless without --in-place
+
+if (defined ($backup_suffix))
+{
+ if (!defined ($in_place))
+ {
+ die "--backup/-b option meaningless without --in-place/-i option\n";
+ }
+}
+
+# Save input filenames
+my @in_file = @ARGV;
+
+my $xf = XMLFormat->new ();
+
+# If a configuration file was named explicitly, use it. An error occurs
+# if the file does not exist.
+
+# If no configuration file was named, fall back to:
+# - The file named by the environment variable XMLFORMAT_CONF, if it exists
+# - ./xmlformat.conf, if it exists
+
+# If no configuration file can be found at all, the built-in default options
+# are used. (These are set up in new().)
+
+my $env_conf_file = $ENV{XMLFORMAT_CONF};
+my $def_conf_file = "./xmlformat.conf";
+
+# If no config file was named, but XMLFORMAT_CONF is set, use its value
+# as the config file name.
+if (!defined ($conf_file))
+{
+ $conf_file = $env_conf_file if defined ($env_conf_file);
+}
+# If config file still isn't defined, use the default file if it exists.
+if (!defined ($conf_file))
+{
+ if (-r $def_conf_file && ! -d $def_conf_file)
+ {
+ $conf_file = $def_conf_file;
+ }
+}
+if (defined ($conf_file))
+{
+ warn "Reading configuration file...\n" if $verbose;
+ die "Configuration file '$conf_file' is not readable.\n" if ! -r $conf_file;
+ die "Configuration file '$conf_file' is a directory.\n" if -d $conf_file;
+ $xf->read_config ($conf_file)
+}
+
+if ($show_conf) # show configuration and exit
+{
+ $xf->display_config ();
+ exit(0);
+}
+
+my ($in_doc, $out_doc);
+
+# Process arguments.
+# - If no files named, read string, write to stdout.
+# - If files named, read and process each one. Write output to stdout
+# unless --in-place option was given. Make backup of original file
+# if --backup option was given.
+
+if (@ARGV == 0)
+{
+ warn "Reading document...\n" if $verbose;
+ {
+ local $/ = undef;
+ $in_doc = <>; # slurp input document as single string
+ }
+
+ $out_doc = $xf->process_doc ($in_doc,
+ $verbose, $check_parser, $canonize_only, $show_unconf_elts);
+ if (defined ($out_doc))
+ {
+ warn "Writing output document...\n" if $verbose;
+ print $out_doc;
+ }
+}
+else
+{
+ foreach my $file (@ARGV)
+ {
+ warn "Reading document $file...\n" if $verbose;
+ open (IN, $file)
+ or die "Cannot read $file: $!\n";
+ {
+ local $/ = undef;
+ $in_doc = <IN>; # slurp input document as single string
+ }
+ close (IN);
+ $out_doc = $xf->process_doc ($in_doc,
+ $verbose, $check_parser, $canonize_only, $show_unconf_elts);
+ next unless defined ($out_doc);
+ if (defined ($in_place))
+ {
+ if (defined ($backup_suffix))
+ {
+ warn "Making backup of $file to $file$backup_suffix...\n" if $verbose;
+ rename ($file, $file . $backup_suffix)
+ or die "Could not rename $file to $file$backup_suffix: $!\n";
+ }
+ warn "Writing output document to $file...\n" if $verbose;
+ open (OUT, ">$file") or die "Cannot write to $file: $!\n";
+ print OUT $out_doc;
+ close (OUT);
+ }
+ else
+ {
+ warn "Writing output document...\n" if $verbose;
+ print $out_doc;
+ }
+ }
+}
+
+warn "Done!\n" if $verbose;
+
+exit (0);
diff --git a/manual/xsl/html.xsl b/manual/xsl/html.xsl
new file mode 100644
index 0000000000..f8ddf14e34
--- /dev/null
+++ b/manual/xsl/html.xsl
@@ -0,0 +1,158 @@
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:exsl="http://exslt.org/common"
+ version="1.0"
+ exclude-result-prefixes="exsl">
+
+<xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets/xhtml/docbook.xsl"/>
+<xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets/xhtml/chunk-common.xsl"/>
+<xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets/xhtml/chunk-code.xsl"/>
+<xsl:import href="/usr/share/sgml/docbook/xsl-stylesheets/xhtml/manifest.xsl"/>
+
+<xsl:param name="html.stylesheet" select="'ardour_manual.css'"/>
+<xsl:param name="html.stylesheet.type" select="'text/css'"/>
+<xsl:param name="html.cleanup" select="1"/>
+<xsl:param name="html.ext" select="'.html'"/>
+<xsl:output method="html" indent="yes"/>
+
+<!-- Admonition Graphics -->
+<xsl:param name="admon.graphics" select="1"/>
+<xsl:param name="admon.graphics.path">./images/tango-icons/</xsl:param>
+<xsl:param name="callout.graphics.path">./images/tango-icons/</xsl:param>
+
+<!-- Remove table and inline style from admonitions -->
+
+<xsl:template name="graphical.admonition">
+ <xsl:variable name="admon.type">
+ <xsl:choose>
+ <xsl:when test="local-name(.)='note'">Note</xsl:when>
+ <xsl:when test="local-name(.)='warning'">Warning</xsl:when>
+ <xsl:when test="local-name(.)='caution'">Caution</xsl:when>
+ <xsl:when test="local-name(.)='tip'">Tip</xsl:when>
+ <xsl:when test="local-name(.)='important'">Important</xsl:when>
+ <xsl:otherwise>Note</xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <div xmlns="http://www.w3.org/1999/xhtml" class="{name(.)}">
+ <xsl:call-template name="anchor"/>
+ <xsl:if test="$admon.textlabel != 0 or title">
+ <h2 class="title">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </h2>
+ </xsl:if>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+
+<!--
+ I'm not using draft mode because with at least the version
+ of the stylesheets I have it inserts inline css. I'm not aware
+ of a non-hacky way around that so until I find a better
+ solution I'm using custom status fields:
+
+ ardour-draft
+
+ ardour-beta?
+ ardour-rc (release candidate)?
+
+-->
+
+<!-- Add css class for status -->
+<xsl:template name="body.attributes">
+ <xsl:if test="(ancestor-or-self::*[@status][1]/@status != '')">
+ <xsl:attribute name="class">
+ <xsl:value-of select="ancestor-or-self::*[@status][1]/@status"/>
+ </xsl:attribute>
+ </xsl:if>
+</xsl:template>
+
+<!-- titles after all elements -->
+<xsl:param name="formal.title.placement">
+figure after
+example after
+equation after
+table after
+procedure before
+</xsl:param>
+
+<!-- This sets the filename based on the ID. -->
+<xsl:param name="use.id.as.filename" select="'1'"/>
+
+<xsl:template match="command">
+ <xsl:call-template name="inline.monoseq"/>
+</xsl:template>
+
+<xsl:template match="application">
+ <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guibutton">
+ <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guiicon">
+ <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guilabel">
+ <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guimenu">
+ <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guimenuitem">
+ <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="guisubmenu">
+ <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="mousebutton">
+ <xsl:call-template name="inline.boldseq"/>
+</xsl:template>
+
+<xsl:template match="filename">
+ <xsl:call-template name="inline.monoseq"/>
+</xsl:template>
+
+<!-- TOC -->
+<xsl:param name="section.autolabel" select="1"/>
+<xsl:param name="section.label.includes.component.label" select="1"/>
+<xsl:param name="generate.legalnotice.link" select="1"/>
+<xsl:param name="generate.revhistory.link" select="1"/>
+<xsl:param name="generate.toc">
+set toc
+book toc
+article toc
+chapter toc
+qandadiv toc
+qandaset toc
+sect1 nop
+sect2 nop
+sect3 nop
+sect4 nop
+sect5 nop
+section toc
+part toc
+</xsl:param>
+
+<!-- Limit TOC depth to 1 level -->
+<xsl:param name="toc.section.depth">1</xsl:param>
+
+<!--
+<xsl:template name="nongraphical.admonition">
+ <div class="{name(.)}">
+ <h2 class="title">
+ <xsl:call-template name="anchor"/>
+ <xsl:if test="$admon.textlabel != 0 or title">
+ <xsl:apply-templates select="." mode="object.title.markup"/>
+ </xsl:if>
+ </h2>
+ <xsl:apply-templates/>
+ </div>
+</xsl:template>
+-->
+</xsl:stylesheet>