Ardour 4.0 released. The Ardour project is pleased to announce the release of Ardour 4.0. This release brings many technical improvements, as well as new features and over a thousand bug fixes. The biggest changes in this release: Better cross platform support. Ardour now runs on GNU/Linux, OS X and for the first time, Windows. 1126 freeware for Mac; 1545 freeware for PC; Latest Mac Freeware: 08/05 Praat 6.0.30; 07/01 8kut 2.2; 06/24 MU.LAB Free 7.4.11; 06/24 Tube Sat Vintage 1.0.2; 06/10.
This is the project that generates the static ardour manual website available atmanual.ardour.org. The site is built using python 3.
Get the code
Structure of the content
There are 2 different types of content:
- a master document which describes the overall structure of the manual
- normal content, which is described in the master document
The Master Document
This is a text file (master-doc.txt) which describes the structure of themanual. It does this through headers which tell the build script where thecontent lives, what its relationship to the overall structure is, as well as afew other things.
All headers have a similar structure, and have to have at least the followingminimal structure:
Keywords that go into the header are of the form:
Here are the keywords you can put in, and a brief description of what they do:
Keyword | Meaning |
---|---|
title | Sets the title for the content that follows |
menu_title | Sets the title for the content that follows which will appear in the menu link sidebar. If this is not specified, it defaults to the value of the title keyword |
part | Sets the hierarchy for the content that follows. It must be one of the following (listed in order of lowering hierarchy): part, chapter, subchapter |
link | Sets the unbreakable link to the content that follows. Links in the content should be prefixed with a double at-sign (@@) to tell the build system that the link is an internal one |
include | Tells the build system that the content lives in an external file; these normally live in the include/ directory. Note that the filename should not be prefixed with include/ |
exclude | Tells the implode and explode scripts that file referred to by the include keyword should be ignored. Note that the value of this keyword is ignored |
pdf-exclude | Does not include the content in the generated PDF, but links to its online contents. The value is also ignored. |
style | Sets an alternate CSS stylesheet; the name should match the one referred to (sans the .css suffix) in the source/css directory |
uri | Sets an absolute URI where this page will go in the hierachy of the created website. It does not change the document structure |
Normal content

Manual content goes into the include/
directory (or in the Master Documentitself); and consists of normal HTML, sans the usual headers that is normallyseen in regular HTML web pages. Any other content, such as css files, images,files and fixed pages goes into the source/
directory.
Adding source/images/horse.png
makes it available at the url/images/horse.png
after publishing it; things work similarly forsource/files/
and source/css/
.
CSS
The manual uses Bootstrap for its global layout, anda few custom CSS files that contains classes used for keys, menus,tables, etc... so it is recommanded to have a look at it first, or at least seehow other pages are made to keep the manual consistent in its appearance:
source/css/common.css
contains shared classes between all media and is included everywheresource/css/screen.css
adds classes used for screen display (html)source/css/pdf.css
adds classes used for print (pdf)source/css/luadocs.css
adds classes used in the Lua script documentation
More Advanced Stuff
You probably don't want or need to do any of this, but here are somenotes just in case you decide to anyway.
Run it locally
You may want the manual available on a machine that doesn't have constantinternet access. You will need git
, and python3
installed.
- Download code and build manual
Install and configure a web server on your machine. Any web server shouldwork, Apache, nginx, etc... The following steps are for nginx, using anotherserver means following the same procedure for the server you decide to use.
Install nginx
Configure nginx server block in
/etc/nginx/sites-available/default
Restart nginx server
The manual will now be available at http://localhost
Helper scripts: implode
and explode
The implode
and explode
scripts exist in order to accomodate differentworking styles. implode
takes all the files referenced by the include
keywords in the headers in the Master Document and automagically puts them intothe Master Document in their proper places. Note that any header that has anexclude
keyword will remain in the include/
directory. explode
does theinverse of implode
; it takes all the content in the Master Document and blowsit into individual files in the include/
directory.
Build options
The build.py
script that builds the manual accepts the following options:
Ardour Download For Windows
- '-v', or '--verbose', to display the high-level structure of the manual
- '-q', or '--quiet', to suppress all output (overrides -v)
- '-d', or '--devmode', to add content to pages to help developers debug them(link, file name, URL)
- '-n', or '--nopdf', to prevent the build script from generate a PDF from the content